problem to create a stable buck-boost state space model

4 ビュー (過去 30 日間)
Mohamed
Mohamed 2020 年 4 月 12 日
Hello Everybody,
I am working to build a state space system for a Buck-Boost converter using the mathematical symbolic formatting in matlab. The problem that I have that the code is generating matrices with unstable system, although the component values that were chosen were tested out of the code and they generated stable buck-boost system.
Can anybody help me to fix my mistakes?
I will incloud the code for reviewing.
Thank you
clear all;
close all;
clc;
%%
E0=48;
Laa=2e-3;
R=10;
Rl=10e-3;
C=5e-5;
V0=70;
% ron=10e-3; rL=10e-3; R=10; rC=10e-3; vd=0.7; L=2e-3; C=5e-5; Iload=10; Vin=48; d=0.5;
% E0=30;
% Laa=1e-3;
% R=2;
% Rl=2.134e-3;
% C=200e-6;
% V0=60;
R11=0.3;
% VG=50; rl=10e-3; L=400e-6; rc=0.05; C=100e-6; R=20; D=0.4; Io=0;
syms laa rl r ilp il E vcp vc D c rc;
eq1=-laa*ilp+E-il*rl-(1-D)*vc==0;
eq2=-c*vcp-(1-D)*il+(1-D)*(1/R)*vc==0;
eq1=subs(eq1,[E laa c r],[E0 Laa C R ]);
eq2=subs(eq2,[E laa c r],[E0 Laa C R ]);
sol=solve([subs(eq1,ilp,0),subs(eq2,vcp,0)],[il,vc]);
sol2=solve([subs(eq1,ilp,0),subs(eq2,vcp,0)],[il,D]);
sol.il;
sol.vc;
D_=0:0.001:1;
Vo_=subs(sol.vc,[D],[D_]);
Vo_1=subs(Vo_,[rl],[Rl]);
Vo_2=subs(Vo_,[rl],[R11]);
%duty cycle calculation
d1=double(subs(sol2.D(1),[vc rl],[V0 Rl]));
d2=double(subs(sol2.D(2),[vc rl],[V0 R11]));
alpha=min(d1,d2)
% alpha=0.55;
%I1
il1=subs(sol.il,[D rl],[alpha Rl]);
il1=double(subs(il1,'D',alpha))
%Vc1
Vc1=subs(sol.vc,[D rl],[alpha Rl]);
Vc1=double(subs(Vc1,'D',alpha))
eq1_=solve(eq1,ilp);
eq2_=solve(eq2,vcp);
ilp_A=[diff(eq1_,il) diff(eq1_,vc)];
vcp_A=[diff(eq2_,il) diff(eq2_,vc)];
ilp_B=[diff(eq1_,D) ];
vcp_B=[diff(eq2_,D) ];
A=[ilp_A; vcp_A];
B=[ilp_B; vcp_B];
A=[subs(ilp_A,[rl D],[Rl alpha]); subs(vcp_A,[rl D],[Rl alpha])];
B=[subs(ilp_B,[rl D vc],[Rl alpha Vc1]); 0];%subs(vcp_B,[rl D il],[Rl alpha il1])];
% for i=1:size(A,1)
% for j=1:size(A,2)
% A1(i,j)=double(A(i,j));
% end
% B1(i,1)=double(B(i,1));
%
%
% end
% A=A1
% B=B1
Caa=[0 1];
Daa=0;

回答 (0 件)

コミュニティ

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by