You are on page 1of 8

clc

clear

a) Xây dựng mạch lực của mạch buck

Các thông số lựa chọn:


Điện áp nguồn: 𝑉𝑖𝑛 = 28(𝐴 )

Yêu cầu thiết kế:


Điện áp đầu ra định mức: 𝑉𝑜𝑢𝑡 = 15(𝑉)
Dòng điện đầu ra định mức: 𝐼𝑜𝑢𝑡 = 5(𝐴)
𝑉𝑜𝑢𝑡 15
➔ Tải định mức 𝑅𝑙𝑜𝑎𝑑 = 𝐼𝑜𝑢𝑡
= 5
= 3(𝛺)
𝑉𝑜𝑢𝑡 15
Hệ số chuyển mạch: 𝐷 = 𝑉𝑖𝑛
= 28
Tần số cắt lựa chọn 𝑓𝑠 = 200000 (𝐻𝑧)

• Tính chọn 𝐿.
Với yêu cầu độ đập mạch 𝐼𝑟𝑖𝑝𝑝𝑙𝑒 = 30%𝐼𝑜𝑢𝑡
𝑉𝑖𝑛 − 𝑉𝑜𝑢𝑡
𝐿= 𝐷
𝑓𝑠. 𝐼𝑟𝑖𝑝𝑝𝑙𝑒

• Tính chọn C
𝐷(1 − 𝐷)
𝐶min ≥
∆𝑉
𝑓( 𝑜 )𝑅
𝑉𝑜
∆𝑉
Assuming ripple ( 𝑉 𝑜) to be less than 5%
𝑜
chose 𝐶 = 125.10−6

Vin = 28;
Vo = 15;
D=Vo/Vin;
Io = 5;
Rload = Vo/Io;%Nominal Rload
Iripple = 0.3*Io; %Irepple = 30% of rated Io
fs = 200e3;% Use 100 kHz switching frequency
%calculate inductor

Thong so L,c

L = ((Vin-Vo)/Iripple)*(Vo/Vin)/fs;
rL = 0.05;%Inductor resistant rL
C = 125e-6;%Use output capacitor of 330 uF, ESR = 10 mohm;
Resr = 25e-3;

b) Tổng hợp hàm truyền đạt


a) Hệ phương trình không gian bộ biến đổi:

𝑑𝑥
{ 𝑑𝑡 = 𝐴𝑥 + 𝐵𝑢
𝑌 = 𝐶𝑥 + 𝐷𝑢

b) Phương trình trạng thái 1 của mạch Buck: V mở D đóng

𝑑𝑖𝐿 𝑅. 𝑟𝑐 𝑅 1
𝐿 = −( + 𝑟𝐿 ) . 𝑖𝐿 − . 𝑣𝐶 + 𝑣𝑔
𝑑𝑡 𝑅 + 𝑟𝑐 (𝑅 + 𝑟𝑐 ) 𝐿
𝑑𝑣𝑐 𝑅 1
𝐶 = 𝑖 − 𝑣
𝑑𝑡 𝑅 + 𝑟𝑐 𝐿 𝑅 + 𝑟𝑐 𝑐
𝑅
𝑣𝑜 = (𝑟 𝑖 + 𝑣𝑐 )
{ 𝑅 + 𝑟𝑐 𝑐 𝐿

𝑖
Đặt 𝑥 = [ 𝐿 ] , 𝑢 = 𝑣𝑔 , 𝑌 = 𝑣𝑜
𝑣𝐶
Khi đó ta có

1 𝑅. 𝑟𝑐 𝑅
− ( + 𝑟𝐿 ) − 1
𝐿 𝑅 + 𝑟𝑐 𝐿(𝑅 + 𝑟𝑐 ) 𝑅. 𝑟𝑐 𝑅
𝐴1 = ; 𝐵1 = [𝐿] ; 𝐶1 = [ ] ; 𝐷1 = 0
𝑅 1 𝑅 + 𝑟𝐶 𝑅 + 𝑟𝐶
− 0
[ 𝐶(𝑅 + 𝑟𝑐) 𝐶(𝑅 + 𝑟𝑐 )]

c) Phương trình trạng thái 2 của mạch Buck V đóng D mở

𝑑𝑖𝐿 𝑅. 𝑟𝑐 𝑅 1
𝐿 = −( + 𝑟𝐿 ) . 𝑖𝐿 − . 𝑣𝐶 + 𝑣𝑔
𝑑𝑡 𝑅 + 𝑟𝑐 (𝑅 + 𝑟𝑐 ) 𝐿
𝑑𝑣𝑐 𝑅 1
𝐶 = 𝑖 − 𝑣
𝑑𝑡 𝑅 + 𝑟𝑐 𝐿 𝑅 + 𝑟𝑐 𝑐
𝑅
𝑣𝑜 = (𝑟 𝑖 + 𝑣𝑐 )
{ 𝑅 + 𝑟𝑐 𝑐 𝐿

𝑖
Với: 𝑥 = [ 𝐿 ] , 𝑢 = 𝑣𝑔 , 𝑌 = 𝑣𝑜 ta có:
𝑣𝐶
1 𝑅. 𝑟𝑐 𝑅
− ( + 𝑟𝐿 ) −
𝐿 𝑅 + 𝑟𝑐 𝐿(𝑅 + 𝑟𝑐 ) 𝑅. 𝑟𝑐 𝑅
𝐴2 = ; 𝐵2 = 0; 𝐶2 = [ ] ; 𝐷2 = 0
𝑅 1 𝑅 + 𝑟𝐶 𝑅 + 𝑟𝐶

[ 𝐶(𝑅 + 𝑟𝑐) 𝐶(𝑅 + 𝑟𝑐 )]

d) Mô hình trung bình của mạch Buck

𝑑𝑥
= [𝑑𝐴1 + (1 − 𝑑)𝐴2 ]𝑥 + [𝑑𝐵1 + (1 − 𝑑)𝐵2 ]𝑢
{ 𝑑𝑡
𝑦 = [𝑑𝐶1 + (1 − 𝑑)𝐶2 ]𝑥 + 𝑑 + [𝑑𝐷1 + (2 − 𝑑)𝐷2]𝑢

1 𝑅. 𝑟𝑐 𝑅
− ( + 𝑟𝐿 ) − 𝑑
𝑖̇ 𝐿 𝑅 + 𝑟𝑐 𝐿(𝑅 + 𝑟𝑐 ) 𝑖̇𝐿
[ 𝐿]= [ ] + [𝐿 ] 𝑣𝑔
𝑢̇ 𝐶 𝑅 1 𝑢𝐶
− 0
[ 𝐶(𝑅 + 𝑟𝑐) 𝐶(𝑅 + 𝑟𝑐 )]
𝑅. 𝑟𝑐 𝑅 𝑖̇
𝑢𝑜 = [ ][ 𝐿 ]
{ 𝑅 + 𝑟𝐶 𝑅 + 𝑟𝐶 𝑢𝐶

Điểm cẩn bằng của mô hình được xác định bằng việc cho đạo hàm bằng 0:

1 𝑅. 𝑟𝑐 𝑅
− ( + 𝑟𝐿 ) − 𝑑
0 𝐿 𝑅 + 𝑟𝑐 𝐿(𝑅 + 𝑟𝑐 ) 𝑖̇𝐿
[ ]= [ ] + [𝐿 ] 𝑣𝑔
0 𝑅 1 𝑢𝐶
− 0
[ 𝐶(𝑅 + 𝑟𝑐) 𝐶(𝑅 + 𝑟𝑐 )]
𝑅. 𝑟𝑐 𝑅 𝑖̇
𝑉𝑜 = [ ][ 𝐿 ]
{ 𝑅 + 𝑟𝐶 𝑅 + 𝑟𝐶 𝑢𝐶

(𝑅𝑟 + 𝑅𝑟𝐿 + 𝑟𝐶 𝑟𝐿 )𝐼𝐿 + 𝑅𝑉𝑜 = 𝐷(𝑅 + 𝑟𝐶 )𝑉𝑔


⇒{ 𝐶
𝑅𝐼𝐿 = 𝑈𝐶
1 𝑅.𝑟 𝑅
− ( 𝑐 + 𝑟𝐿 ) − 𝑑
𝑅.𝑟𝑐 𝑅
𝐿 𝑅+𝑟 𝐿(𝑅+𝑟𝑐 )
Đặt 𝐴𝑆𝑆 = [ 𝑅
𝑐
1 ] ; 𝐵𝑆𝑆 = [ 𝐿 ] ; 𝐶𝑆𝑆 = 𝑉𝑜 = [𝑅+𝑟 𝑅+𝑟𝐶
]
𝐶
𝐶(𝑅+𝑟𝑐)
− 𝐶(𝑅+𝑟 ) 0
𝑐

Từ đây ta có hàm truyền đạt giữa biến trạng thái và hệ số điều chế:

𝐺 (𝑠)
[ 𝑖𝑑 ] = (𝑠𝐼 − 𝐴𝑆𝑆 )−1 [(𝐴1 − 𝐴2 )𝑋 + (𝐵1 − 𝐵2 )𝑈]
𝐺𝑢𝑑 (𝑠)

Tính bằng matlab ta được:

6.426 ∗ 105 𝑠 + 1.709 ∗ 109


𝐺𝑖𝑑 (𝑠) =
𝑠 2 + 5866𝑠 + 3.475 ∗ 108

5.127 ∗ 109
𝐺𝑢𝑑 (𝑠) =
𝑠 2 + 5866𝑠 + 3.475 ∗ 108
5.127 ∗ 109
𝐺𝑢𝑖 (𝑠) =
6.462 ∗ 105 𝑠 + 1.709 ∗ 109

%Suppose Vosc = 1V and coefficient of output voltage divider is equal to


%1/ Vo
s = tf('s');

Trang thái 1 cua mach buck:

A1=[-1/L*((Rload*Resr)/(Rload+Resr)+rL) -
Rload/L/(Rload+Resr);Rload/C/(Rload+Resr) -1/C/(Rload+Resr)];
B1=[1/L;0];
C1=[Rload*Resr/(Rload+Resr) Rload/(Rload+Resr)];
D1=0;

Trang thai 2 cua mach buck

A2=A1;
B2=[0;0];
C2=C1;
D2=0;

Mo hinh trung binh mo ta mach buck:

Ass=D*A1+(1-D)*A2;
Css=D*C1+(1-D)*C2;
A3=tf(inv(s*[1 0;0 1]-Ass)*(B1-B2)*Vo);

Cac thong so Gid,Gud,Dui

Gid=A3(1,1)

Gid =

6.462e05 s + 2.136e09
-----------------------
s^2 + 6528 s + 4.343e08

Continuous-time transfer function.

Gud=A3(2,1)

Gud =

6.408e09
-----------------------
s^2 + 6528 s + 4.343e08

Continuous-time transfer function.

[num1 den1]=tfdata(Gud,'v');
[num2 den2]=tfdata(Gid,'v');
Gui=tf(num1,num2)

Gui =

6.408e09
---------------------
6.462e05 s + 2.136e09

Continuous-time transfer function.

c) Thiết kế bộ điều khiển

Mô hình trạng thái trung bình:

𝑑𝑖𝐿
𝐿 = 𝑑𝐸 − 𝑣𝐶 − 𝑟𝐿 𝑖𝐿 (1)
{ 𝑑𝑡
𝑑𝑣𝐶 𝑣𝐶
𝐶 = 𝑖𝐿 − (2)
𝑑𝑡 𝑅

Từ (1) ta có:

𝑑𝑖𝐿
𝐿 = 𝑑𝐸 − 𝑣𝐶 − 𝑟𝐿 𝑖𝐿 = 𝑓(𝑣𝑐 , 𝑖𝐿 )
𝑑𝑡

Tại điểm làm việc coi 𝑣𝐶 là không đổi:

0 = 𝑓(𝑑̅ , 𝑖̅𝐿 ) = 𝑑̅ 𝐸 − 𝑣𝐶 − 𝑟𝐿 𝑖̅𝐿

𝑑𝑖𝐿 𝜕𝑓 𝜕𝑓
𝐿 ≈ 𝑓(𝑑̅ , 𝑣
̅̅̅,
𝐶 𝑖̅𝐿 ) + ( ∆𝑑 + ∆𝑖 ) = 𝐸∆ 𝑑 − 𝑟𝐿 ∆ 𝑖𝐿
𝑑𝑡 𝜕𝑑 𝜕𝑖𝐿 𝐿 𝑑̅ ,𝑖̅
𝐿

𝑑∆𝑖𝐿
𝑑𝑖𝐿 = 𝑑∆𝑖𝐿 ⇒ 𝐿 = 𝐸∆ 𝑑 − 𝑟𝐿 ∆ 𝑖𝐿
𝑑𝑡
Laplace hóa ta được:

𝐿𝑠𝑖̃𝐿 (𝑠) = 𝐸𝑑̃ (𝑠) − 𝑟𝐿 𝑖̃𝐿 (𝑠)

𝐸
𝑖̃𝐿 (𝑠) 𝐸 𝑟𝐿
⇒ 𝐻𝑖𝑑 = = =
𝑑̃ (𝑠) 𝐿𝑠 + 𝑟𝐿 𝐿
𝑠+1
𝑟𝐿

Từ (2) ta có:

𝑑𝑣𝐶 𝑣𝐶
𝐶 = 𝑖𝐿 −
𝑑𝑡 𝑅

Giả sử mạch vòng dòng điện bên trong đảm bảo dòng 𝑖𝐿 bám theo lượng đặt 𝑖𝐿∗ đủ nhanh.
Khi đó ta có:

𝑑𝑣𝐶 𝑣𝐶
𝐶 = 𝑘𝑖𝐿∗ −
𝑑𝑡 𝑅

Tại điểm làm việc:

𝑑𝑣𝐶 𝑣̅𝑐
𝐶 = 0 ⇒ 𝑓(𝑖̅∗𝐿 , 𝑣
̅̅̅, ̅ ̅∗
𝐶 𝑅 ) = 𝑘𝑖𝐿 − ̅ = 0
𝑑𝑡 𝑅

Tuyến tính hóa quanh điểm làm việc ta được:

𝑑𝑣𝑐 𝜕𝑓 ∗ 𝜕𝑓 𝜕𝑓
𝐶 ≈ 𝑓(𝑖̅∗𝐿 , 𝑣
̅̅̅, ̅
𝐶 𝑅) + ∆𝑖 + ∆𝑣 + ∆𝑅
𝑑𝑡 𝜕𝑖𝐿∗ 𝐿 𝜕𝑣𝑐 𝑐 𝜕𝑅

1 𝑣𝐶
= 𝑘∆ 𝑖𝐿∗ − ∆ 𝑣𝐶 + 2 ∆ 𝑅
𝑅 𝑅
∆𝑣𝐶 1 𝑣𝐶
𝑑𝑣𝐶 = ∆𝑣𝐶 ⇒ 𝐶 = 𝑘∆ 𝑖𝐿∗ − ∆ 𝑣𝐶 + 2 ∆ 𝑅
𝑑𝑡 𝑅 𝑅

Laplace hóa ta được:

𝑣̃(𝑠)
𝐶 𝑣̃(𝑠)
𝐶 𝑘𝑅
𝐶𝑠𝑣̃𝑐 (𝑠) = 𝑘𝑖̃∗𝐿 (𝑠) − ⇒ ∗ =
𝑅 ̃
𝑖𝐿 (𝑠) 𝐶𝑠𝑅 +1

Ta thấy cả hai mô hình đều là khâu quán tính bậc nhất không có trễ với:

𝐸
𝑖̃𝐿 (𝑠) 𝑟𝐿
𝐻𝑖𝑑 (𝑠) = |𝑣 =0 =
𝑑̃ (𝑠) 𝐶 𝐿
𝑠+1
𝑟𝐿

𝑣̃(𝑠)
𝐶 𝑘𝑅
𝐻𝑣𝑖 (𝑠) = |𝑣
∗ (𝑠) 𝐶2 ∆𝑅=0
=
̃
𝑖𝐿 𝑅 𝐶𝑠𝑅 + 1

𝑘
Hai mô hình có dạng đăc trưng là: 𝐺(𝑠) = 𝑇𝑠+1
1
Ở đây ta sử dụng hai bộ PI có dạng: 𝐻𝑐 (𝑠) = 𝑘𝐶 (1 + )
𝑇𝑖𝑐 𝑠

Có hai hệ số lựa chọn mức tối ưu cao lần lượt là:

𝑇𝑜2 𝑇
𝑇𝑖𝑐 = (2𝜁 − 1)
𝑇 𝑇𝑜

𝑇
𝑘𝑐 = (2𝜁 − 1) /𝑘
𝑇𝑜

% Control to inductor current transfer function


Gid = (Vin/rL)/(s*L/rL+1);
T_L = L/rL;% Time constant of current loop
kdc=Vin/rL;
zeta=0.7;
Toc = 1e-4;% Choose natural oscilation frequency of 1/Toc
T_ic = (Toc*Toc/T_L)*(2*zeta*T_L/Toc-1);% Integrator time constant is set at
load time constant
kic=(2*zeta*T_L/Toc-1)/kdc;% Proportional gain of the PI controller
Gpic = kic*(1+1/(s*T_ic));% Current PI controller
bode(Gid,Gid*Gpic)% Plot bode graphic of the open current loop
%Voltage loop
Gvc = Rload/(s*C*Rload+1);% Input current control to output voltage transfer
function
T_V = C*Rload;% Time constant of current loop
kdcv=Rload;
zeta=0.7;
Tocv =5*Toc;% Take voltage loop time constant of 5 times againt of current loop
T_iv = (Tocv*Tocv/T_V)*(2*zeta*T_V/Tocv-1);% Integrator time constant is set at
load time
kiv=(2*zeta*T_V/Tocv-1)/kdcv;% Proportional gain
Gpiv = kiv*(1+1/(s*T_iv));% Voltage loop PI controller
bode(Gvc,Gvc*Gpiv,Gvc*Gpiv/(1+Gvc*Gpiv))% Plot Bode of voltage open loop

You might also like