Вы находитесь на странице: 1из 5

buck-boost-cmc.

wxm

Buck-Boost Converter

state 1, 0 < t < d Ts

(%i1) A1: matrix([0, 0], [0, 0]);


(%o1)

0 0
0 0

(%i2) B1: matrix([1/L, 0], [0, -1/C]);


1

(%o2)

0 -

1
C

state 2, d Ts < t < Ts

(%i3) A2: matrix([0, 1/L], [-1/C, 0]);


1

(%o3)
-

(%i4) B2: matrix([0, 0], [0, -1/C]);


0

(%o4)

0 -

1
C

DC operating point values

(%i5) X0: matrix([Il], [Vc]);


(%o5)

Il
Vc

1 / 5

buck-boost-cmc.wxm

2 / 5

(%i6) U0: matrix([Vin], [Iout]);


(%o6)

Vin
Iout

A, B, and E

(%i7) A: ratsimp(A2 + (A1 - A2) * D0, D0);


0

(%o7)

D0 - 1

D0 - 1

(%i8) B: ratsimp(B2 + (B1 - B2) * D0, D0);


D0

(%o8)

L
0

1
C

(%i9) E: (A1 - A2) . X0 + (B1 - B2) . U0;


Vin

(%o9)

Vc
L

Il
C

DC solution

(%i10)

sdc: A . X0 + B . U0;
Vin D0

(%o10)

L
Il

(%i11)
(%o11)

Vc

D0 - 1
C

D0 - 1
L

sdc[1, 1];
Vin D0
L

Vc

Iout
C

D0 - 1
L

buck-boost-cmc.wxm

3 / 5

(%i12)

solve(sdc[1, 1], Vc);

(%o12)

[ Vc =

(%i13)

sdc[2,
1];

(%o13)

Il

Vin D0
D0 - 1

D0 - 1

Iout
C

(%i14)

solve(sdc[2, 1], Il);

(%o14)

[ Il =

Iout
D0 - 1

system poles

(%i15)

S: s * ident(2) - A;
D0 - 1

s
(%o15)
-

(%i16)

D0 - 1

DENOM: determinant(S);

(%o16)

(%i17)

poles: solve(DENOM, s);

(%o17)

[s= -

D0 - 1
C L

+ s2

%i D0 - %i

C L

,s=

%i D0 - %i

C L

input to state transfer functions

(%i18)

Si: invert(S);
s

D0 - 1
CL

(%o18)

+s

@ D0 - 1
CL

+s

D0 - 1

@ D0 - 1

D0 - 1
2

-0
1

2A

CL

D0 - 1
CL

+s

+s

2A

buck-boost-cmc.wxm
(%i19)

4 / 5

H0: ratsimp(Si . B, s);


s C D0
s

D0 - 1

C L + D0 - 2 D0 + 1

(%o19)

C L + D0 - 2 D0 + 1

D0 - D0
s

(%i20)

s L

C L + D0 - 2 D0 + 1

C L + D0 - 2 D0 + 1

Hvv: H0[2, 1];


2

D0 - D0

(%o20)

C L + D0 - 2 D0 + 1

(%i21)

Hvi: H0[2, 2];

(%o21)

s L
s

(%i22)

s C D0
s

C L + D0 - 2 D0 + 1

Hii: H0[1, 2];


D0 - 1

(%o23)

s
(%i24)

C L + D0 - 2 D0 + 1

Hiv: H0[1, 1];

(%o22)

(%i23)

C L + D0 - 2 D0 + 1

H1: ratsimp(Si . E, s);


- Il D0 + s

(%o24)

(%i25)
(%o25)

(%o26)

Vin - Vc
2

C + Il

C L + D0 - 2 D0 + 1

Il s L + Vin - Vc D0 - Vin + Vc
2

C L + D0 - 2 D0 + 1

Hvd: H1[2,
1];

Il s L + Vin - Vc
s

(%i26)

C L + D0 - 2 D0 + 1

Hid: H1[1,
1];

- Il D0 + s
s

D0 - Vin + Vc

Vin - Vc
2

C + Il

C L + D0 - 2 D0 + 1

current mode control transfer functions

buck-boost-cmc.wxm
(%i27)
(%o27)

Gvc: ratsimp(Hvd/Hid,
s);

Il s L + Vin - Vc D0 - Vin + Vc

- Il D0 + s Vin - Vc C + Il

(%i28)

Gvv: ratsimp(Hvv - Gvc * Hiv, s);

(%o28)

(%i29)

Gvi: ratsimp(Hvi - Gvc * Hii, s);

(%o29)

Il D0

- Il D0 + s Vin - Vc C + Il
Vin - Vc

- Il D0 + s Vin - Vc C + Il

5 / 5

Вам также может понравиться