Sei sulla pagina 1di 3

%subpunctul A-calcul Ron_max;

clear all;close all;clc;


syms Rg RL1 Ron RL2 R Vg VD D ;
A=[Rg+RL1+(Ron/D) (1-D)/D 0;((1-D)/D)*RL2
B=[Vg-((1-D)/D)*VD; 0;0]

-1

1;(1-D)/D

-1/R]

x=inv(A)*B
Vo=x(3)
I1=x(1)
clear all;
Vg=12;Rg=80e-3;RL1=20e-3;RL2=15e-3;VD=0.4;Vo=24;Io=1;eta=0.85;
R=Vo/Io;
D=Vo/(Vo+eta*Vg);
syms Ron;
Expresie=-(-1+D)*D*R/(Rg*D^2+RL1*D^2+D*Ron+RL2-2*RL2*D+RL2*D^2+R2*D*R+D^2*R)*(Vg-(1-D)/D*VD)-Vo;
Ron_calc=solve(Expresie);
Ron_max=eval(Ron_calc)
%subpunctul B-calcul domeniu modificare factor de umplere
clear Ron;
Ron=Ron_max/2;
% Vg_variabil=10:0.1:15;
% Io_variabil=0.5:0.05:1;
% syms D;
% for i=1:length(Vg_variabil)
%
for j=1:length(Io_variabil)
%
Vg=Vg_variabil(i);
%
Io=Io_variabil(j);
%
R=Vo/Io;
%
Expresie=-(-1+D)*D*R/(Rg*D^2+RL1*D^2+D*Ron+RL2-2*RL2*D+RL2*D^2+R2*D*R+D^2*R)*(Vg-(1-D)/D*VD)-Vo;
%
D_matrice=solve(Expresie);
%
D1=eval(D_matrice(1));
%
D2=eval(D_matrice(2));
%
if D1<D2
%
D_final(i,j)=D1;
%
else
%
D_final(i,j)=D2;
%
end
%
%
end
% end
% D_minim=min(min(D_final)) %cele 2 posibilitati de factor de umplere;
% D_maxim=max(max(D_final))

%subpunctul B-calcul pierderi de putere;


Vg=12; Io=1;
R=Vo/Io;
syms D;
Expresie=-(-1+D)*D*R/(Rg*D^2+RL1*D^2+D*Ron+RL2-2*RL2*D+RL2*D^2+R2*D*R+D^2*R)*(Vg-(1-D)/D*VD)-Vo;%expresie calculata la pct A;
D_matrice=solve(Expresie);
D1=eval(D_matrice(1));
D2=eval(D_matrice(2));
if D1<D2
D=D1;
else
D=D2;
end
I1=1/(Rg*D^2+RL1*D^2+D*Ron+RL2-2*RL2*D+RL2*D^2+R-2*D*R+D^2*R)*D^2*(Vg-(1D)/D*VD);%formula de calcul a curentului I1;
Pg=Vg*I1% putere intrare convertor;
Po=Io*Vo%putere iesire convertor;
P_gen=Rg*(I1^2)%pierderi pe acumulatorul in gol;
P_bobina1=I1^2*RL1%pierderi pe bobina L1;
P_bobina2=Io^2*RL2%pierderi pe bobina L2;
Pierderi_tranzistor=(Ron/D)*I1^2%pierderi tranzistor;
Pierderi_dioda=((1-D)/D)*VD*I1%pierderi dioda;
Bilant=(P_bobina1+P_bobina2+Pierderi_tranzistor+Pierderi_dioda+Po+Rg*(I1^2))
%pierderi gen =Rg*(I1^2)
%subpunctul B-calcul tensiune medie pe C1;
Uc1=Vo*1/D
%subpunctul C;
Io_variabil=0.5:0.05:1;
Vg=12;
syms D;
for i=1:length(Io_variabil)
Io=Io_variabil(i);
R=Vo/Io;
Expresie=-(-1+D)*D*R/(Rg*D^2+RL1*D^2+D*Ron+RL2-2*RL2*D+RL2*D^2+R2*D*R+D^2*R)*(Vg-(1-D)/D*VD)-Vo;
D_matrice=solve(Expresie);
D1=eval(D_matrice(1));
D2=eval(D_matrice(2));
if D1<D2
D_e=D1;
else
D_e=D2;
end
eta(i)=((1-D_e)/D_e)*Vo/Vg;
end
plot(Io_variabil,eta)%reprezentare randament;

Potrebbero piacerti anche