采用notebook進行反激式開關電源的設計,代碼如下
%設計開始
%輸入交流最小值(V)
Uacmin = 85;
fprintf('輸入交流最小值:%dV\n',Uacmin)
%輸入交流最大值(V)
Uacmax = 265;
fprintf('輸入交流最大值:%dV\n',Uacmax)
%線電壓頻率(HZ)
Fline = 50;
fprintf('輸入線電壓頻率:%dHZ\n',Fline)
%輸出電壓(V)
Uo = [5 15];
%輸出整流管正向導通壓降(V)
Uf = [0.4];
%輸出電流(A)
Io = [0.8 0.5];
for i = 1:length(Uo);
fprintf('輸出電壓%d為%2.1fV,輸出電流為%3.2fA\n',i,Uo(i),Io(i))
end
%輸出功率(w)
Po = (Uo+Uf)*Io';
fprintf('輸出功率:%3.1fW\n',Po)
%效率
eta = 0.8;
fprintf('效率:%d%%\n',round(eta*100))
%整流橋導通時間(s)
Tc = 32e-4;
%整流濾波電容(uF) ///////////////////////////////////////
Cin = 33;
fprintf('濾波電容:%duF\n',Cin)
%輸入最小直流電壓(V)
Udcmin = sqrt(2*(Uacmin^2)-(2*Po*(1/(2*Fline) - Tc))/(eta*Cin*10^(-6)));
fprintf('輸入直流最小值:%dV\n',round(Udcmin))
%輸入最大直流電壓(V)
Udcmax = sqrt(2)*Uacmax;
fprintf('輸入直流最大值:%dV\n',round(Udcmax))
%最大占空比
Dmax = 0.45;
fprintf('設定最大占空比:%d%%\n',round(Dmax*100))
%開關管飽和導通壓降(V)
Uds = 10;
%反激電壓(V)
Uor = (Udcmin - Uds)*Dmax/(1-Dmax);
fprintf('反激電壓:%4.1fV\n',Uor);
%開關管最小耐壓(V)
Umos_min= Udcmax+1.4*1.5*Uor+20;
fprintf('開關管最小耐壓:%5.2fV\n',Umos_min)
%設定工作模式(CCM/DCM)
Krp = 1;
if(Krp >= 1)
fprintf('工作模式為DCM\n');
else
fprintf('工作模式為CCM\n');
end
%開關頻率(KHZ)
f = 60;
%選定磁芯EI22(mm^2)
Ae = 42;
%初級繞組平均電流(A)
Iavg = Po/(eta*Udcmin);
fprintf('初級繞組平均電流:%5.3fA\n',Iavg)
%初級繞組峰值電流(A)
Ipkp= Iavg*(2/((2-Krp)*Dmax));
fprintf('初級繞組峰值電流:%5.3fA\n',Ipkp)
%確定開關管的最大電流(A)
Imos_pk = 1.5*Ipkp;
fprintf('開關管能承受的最小電流:%5.3fA\n',Imos_pk)
%初級繞組有效值電流(A)
Irmsp = Ipkp*sqrt(Dmax*((Krp^2)/3-Krp+1));
fprintf('初級繞組有效值電流:%5.3fA\n',Irmsp)
%確定初級電感量Lp(mH)
Lp = Udcmin*Dmax/(f*Ipkp*Krp);
fprintf('初級繞組電感量:%3.2fmH\n',Lp);
%最大磁通密度(T) (0.2~0.3)
Bm = 0.22;
%原邊匝數(Turn)
Np = 1000*Lp*Ipkp/(Ae*Bm);
fprintf('原邊匝數:%d匝\n',round(Np));
Ns = Np*(Uo+Uf)/Uor;
for i = 1:length(Uo)
fprintf('第%d路輸出副邊繞組匝數:%d匝\n',i,round(Ns(i)));
end
%偏置電壓(V) (與具體芯片有關)
Ub = 15;
%偏置繞組輸出整流二極管正向導通壓降(V)
Ud = 0.7;
%偏置繞組匝數(Turn)
Nb = Np*(Ub+Ud)/Uor;
fprintf('偏置繞組匝數:%d匝\n',round(Nb));
%開氣隙前Al (nH/Turn^2) (與磁芯型號有關)
Al = 2400;
fprintf('開氣隙前電感系數:%3.2fnH/Turn^2\n',Al);
Alg = 10^6*Lp/(Np^2);
fprintf('開氣隙后電感系數:%3.2fnH/Turn^2\n',Alg);
%氣隙長度Lg(mm)
Lg = 0.4*pi*Ae*(1/Alg-1/Al);
fprintf('氣隙長度:%3.2fmm\n',Lg);
%集膚效應穿透深度(mm)
d = 66.1/sqrt(f*10^3);
fprintf('集膚效應穿透深度:%3.2fmm\n',d );
%電流密度(A/mm^2)
J = 5;
%原邊導線線徑(mm)
for i = 1:6;%最多6股并繞
Dp = 1.13*sqrt(Irmsp/(i*J));
if Dp <= 2*d
break;
end
end
if i > 1
fprintf('原邊導線線徑:%3.2fmm,%d股并繞\n',Dp,i);
else
fprintf('原邊導線線徑:%3.2fmm,單股\n',Dp);
end
%副邊電流峰值(A)
Ipks = Ipkp*((Uo+Uf).*Io/Po)*Np./Ns;
for i = 1:length(Uo)
fprintf('第%d路輸出副邊電流峰值:%3.2fA\n',i,Ipks(i));
end
%副邊電流有效值(A)
Irmss = Ipks*sqrt((1-Dmax)*((Krp^2)/3-Krp+1));
for i = 1:length(Uo)
fprintf('第%d路輸出副邊電流有效值:%3.2fA\n',i,Irmss(i));
end
for i = 1:length(Uo)
for j = 1:6%最多6股并繞
Ds(i) = 1.13*sqrt(Irmss(i)/(j*J));
if Ds(i) <= 2*d
if j > 1
fprintf('第%d路輸出副邊導線線徑:%3.2fmm,%d股并繞\n',i,Ds(i),j);
else
fprintf('第%d路輸出副邊導線線徑:%3.2fmm,單股\n',i,Ds(i));
end
break;
end
end
end
%輸出濾波電容上的紋波電流(A)
Irs = sqrt(Irmss.^2-Io.^2);
for i = 1:length(Uo)
fprintf('第%d路輸出濾波電容紋波電流:%3.2fA\n',i,Irs(i));
end
%輸出整流管最低耐壓(V)
Ubrs = 1.25*(Uo + Udcmax*Ns/Np);%取1.25倍余量
for i = 1:length(Uo)
fprintf('第%d路輸出整流管最低耐壓:%3.2fV\n',i,Ubrs(i));
end
%偏置繞組整流管最低耐壓(V)
Ubrb = 1.25*(Ub + Udcmax*Nb/Np);%取1.25倍余量
fprintf('偏置繞組整流管最低耐壓:%3.2fV\n',Ubrb);
%輸入整流橋最低耐壓(V)
Ubr = 1.25*Uacmax;%取1.25倍余量
fprintf('輸入整流橋最低耐壓:%3.2fV\n',Ubr);
%開關電源功率因數cosPhi
cosPhi = 0.6;
fprintf('開關電源功率因數設為:%3.2f\n',cosPhi );
%輸入整流橋最小有效值電流(A)
Ibr = 2*Po/(eta*Uacmin*cosPhi);%取2倍余量
fprintf('輸入整流橋最小額定電流:%3.2fA\n',Ibr);
%設計結束