2025-05-29 19:19:47 +02:00

76 lines
2.2 KiB
Matlab

%% Skript zu Auslegung eines Trsanformators für einen SMPS
clear all
close all
%%
p = 1.724e-6; %Spez. Widerstand der Litze [Ohm cm]
D_max = 0.75; %Maximaler Duty Cycle
V_in_min = 350; %Minimale Eingangsspannung [V]
V_in_nom = 511; %Nominelle Eingangsspannung [V]
V_FET = 0.3; %Spannungsabfall an FETs
V_D = 0.7; %Durchlassspannung Diode [V]
V_out = 24; %Ausgangsspannung
P_out = 1e3; %Maximale <Ausgangsleistung
P_loss = 0.01 * P_out; %Akzeptable Verlustleistung [W]
I_out = P_out/V_out; %Ausgangsstrom [A]
n = ((V_in_min-2*V_FET)*D_max)/(V_out+V_D); %Windungszahlverhältnis
D_nom = n * (V_out+V_D)/(V_in_nom-2*V_FET); %Nominaler Duty cycle
fs = 100e3; %Schaltfrequenz [Hz]
lam1 = V_in_nom *D_nom/fs; % Vs pro Schaltperiode
I_1_rms = I_out/n * sqrt(D_nom);
I_2_rms = 0.5 * I_out * sqrt(1+D_nom);
I_tot = I_1_rms + 2*I_2_rms / n;
K_fe = 15.76; %Core loss factor (Curve Fitting) [W/Tcm^3]
Ku = 0.3; %Füllfaktor der Wicklung
beta = 2.39; %Wert aus Curve Fitting
Kg_fe = (p*lam1*lam1*I_tot*I_tot*power(K_fe, 2/beta)) / (4*Ku*power(P_loss, (beta+2)/beta)) * 1e8;
%Angenommen EE40 Kern PC47 --> EE40 könnte Probleme mit Sättigung
%verursachen
Ac = 2.4; %[cm^2]
Wa = 2.29; %[cm^2]
MLT = 7.7; %[cm]
lm = 9.86; %[cm]
A_l = 5340;
%Peak AC Flux density [T]
dB = power((1e8*p*lam1*lam1*I_tot*I_tot/(2*Ku)) * (MLT/(Wa*lm*Ac*Ac*Ac) * 1/(beta*K_fe)),1/(beta+2));
%Primary turns
n1 = lam1 /(2*dB*Ac)*1e4;
n2 = n1/n;
%Runden
n1_r = round(n1);
n2_r = round(n2);
n_r = n1_r / n2_r;
%Area for windings alpha*Wa ergibt die verfügbare Fläche der Windung
alpha1 = I_1_rms/I_tot;
alpha2 = I_2_rms/(n_r*I_tot);
%Wire sizes
Aw1 = alpha1*Ku*Wa/n1_r; %[cm^2] Beispiel AWG 23
Aw2 = alpha2*Ku*Wa/n2_r; %[cm^2] Beispiel AWG 14
%DC Resistance
R1 = p * n1_r*MLT/Aw1;
R2 = p* n2*MLT/Aw2;
%Verluste berechnen
B_new = lam1/(2*n1_r*Ac) *1e4;
P_fe = K_fe * power(B_new,beta) * Ac * lm; %Core losses
P_cu = (p*lam1*lam1*I_tot*I_tot)/(4*Ku) * MLT/(Wa*Ac*Ac) * 1/(B_new*B_new) * 1e8;
P_tot = P_fe + P_cu;
%Magnetizing Inductance berechnen
Lm = A_l * n1_r * n1_r *1e-9;
I_1_rms / (Aw1*100)
I_2_rms / (Aw2*100)