Tải bản đầy đủ (.pdf) (15 trang)

Tài liệu Control System Toolbox & Simulink docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (511.98 KB, 15 trang )

Control System Toolbox & Simulink
1

     
          
      


Control System Toolbox & SIMULINK
ng dng  phân tích, thit k và mô phng các h thng tuyn tính
Trn ình Khôi Quc, BM. T ng hóa. Email :

GII THIU
MATLAB, tên vit tt ca t ting Anh MATrix LABoratory, là mt môi trng mnh
dành cho các tính toán khoa hoc. Nó tích hp các phép tính ma trn và phân tích s da trên các
hàm c bn. Hn na, cu trúc  ha hng i tng ca Matlab cho phép to ra các hình v
cht lng cao. Ngày nay, Matlab tr thành mt ngôn ng « chun » c s dng rng rãi trong
nhiu ngành và nhiu quc gia trên th gii.
V mt cu trúc, Matlab gm mt ca s chính và rt nhiu hàm vit s!n khác nhau. Các
hàm trên cùng l"nh vc #ng dng c xp chung vào mt th vi$n, iu này giúp ngi s dng
d% dng tìm c hàm cn quan tâm. Có th& k& ra mt s th vi$n trong Matlab nh sau :
- Control System (dành cho iu khi&n t ng)
- Finacial Toolbox (l"nh vc kinh t)
- Fuzzy Logic (iu khi&n m)
- Signal Processing (x lý tín hi$u)
- Statistics (toán hc và thng kê)
- Symbolic (tính toán theo bi&u th#c)
- System Identification (nhn dng)
- …
Mt tính cht rt mnh ca Matlab là nó có th& liên kt vi các ngôn ng khác. Matlab có th&
gi các hàm vit b'ng ngôn ng Fortran, C hay C++, và ngc li các hàm vit trong Matlab có


th& c gi t các ngôn ng này…
Các bn có th& xem phn Help trong Matlab & tham kho cách s dng và ví d ca tng
l$nh, hoc download (mi%n phí) các file help dng *.pdf ti trang Web ca Matlab  (a ch)

1 Control System Toolbox
Control System Toolbox là mt th vi$n ca Matlab dùng trong l"nh vc iu khi&n t ng.
Cùng vi các l$nh ca Matlab, tp l$nh ca Control System Toolbox s giúp ta thit k, phân tích
và ánh giá các ch) tiêu cht lng ca mt h$ thng tuyn tính.
1.1 nh ngha mt h thng tuyn tính
1.1.1 nh ngha bng hàm truyn
H thng mt tín hiu vào/ra

Câu l$nh: sys=tf(num,den,T)

- num: vect ch#a các h$ s ca a th#c  t s, bc t cao n thp theo toán t Laplace
(h$ liên tc) hoc theo toán t z (h$ gián on)
- den: vect ch#a các h$ s ca a th#c  m*u s, bc t cao n thp
- T: chu k+ ly m*u, ch) dùng cho h$ gián on (tính b'ng s)

Ví d:
(nh ngh"a mt hàm truyn trong Matlab
Control System Toolbox & Simulink
2

42
2
3)(
2
++
+

=
pP
p
pF num=3*[1 2];den=[1 2 4];sys1=tf(num,den);
4,056,0
6,0
*1,2)(
2
+−

=
zz
z
zF num=2.1*[1 -0.6];den=[1 -0.56];
T=0.5;sys2=tf(num,den,T)

H thng nhiu tín hiu vào/ra








Câu l$nh :
G11=tf(num11,den11,T); G12=tf(num12,den12,T);...; G1n=tf(num1n,den1n,T);
G21=tf(num21,den21,T); G22=tf(num22,den22,T);...; G2n=tf(num2n,den2n,T);

Gp1=tf(nump1,denp1,T); G12=tf(nump2,denp2,T);...; Gpn=tf(numpn,denpn,T);

sys=[G11,G12,...,G1n;G21;G22;...;G2n;...;Gp1,Gp2,...,Gpn];
1.1.2 nh ngha bng zero và cc
H thng mt tín hiu vào/ra

Câu l$nh: sys=zpk(Z,P,K,T)

- Z,P là các vect hàng ch#a danh sách các i&m zerô và cc ca h$ thng.
- K là h$ s khuch i
Chú ý: nu h$ thng không có i&m zerô (cc) thì ta t là []

Ví d:
)5(
2
)(
+
+
=
pp
p
pF Z=-2;P=[0 -5];K=1;sys=zpk(Z,P,K);

H thng nhiu tín hiu vào/ra
Câu l$nh :
G11=zpk(Z11,P11,T); G12=zpk(Z12,P12,T);...; G1n=zpk(Z1n,P1n,T);
G21=zpk(Z21,P21,T); G22=zpk(Z22,P22,T);...; G2n=zpk(Z2n,P2n,T);

Gp1=zpk(Zp1,Pp1,T); G12=zpk(Zp2,Pp2,T);...; Gpn=zpk(Zpn,Ppn,T);
sys=[G11,G12,...,G1n;G21;G22;...;G2n;...;Gp1,Gp2,...,Gpn];
1.1.3 Phng trình trng thái


Câu l$nh: sys=ss(A,B,C,D,T)

- A,B,C,D là các ma trn trng thái (nh ngh"a h$ thng
- T là chu k+ ly m*u.

G(r)
U
1

U
n

Y
1

Y
n
















=
)()()(
...
)()()(
)(...)()(
)(
21
22221
11211
rGrGrG
rGrGrG
rGrGrG
rG
pnpp
n
n
Control System Toolbox & Simulink
3

1.1.4 Chuyn i gia các dng biu din
- Chuy&n t phng trình trng thái sang hàm truyn
[num,den] = ss2tf(A,B,C,D)
- Chuy&n t dng zero/cc sang hàm truyn
[num,den] = zp2tf(Z,P,K)
- Chuy&n t hàm truyn sang phng trình trng thái
[A,B,C,D]=tf2ss(num,den)
1.1.5 Chuyn i gia h liên tc và gián on
S hóa mt h thng liên tc


Câu l$nh: sys_dis=c2d(sys,T,method)

- sys, sys_dis h$ thng liên tc và h$ thng gián on tng #ng
- Ts thi gian ly m*u
- method phng pháp ly m*u: ‘zoh’ ly m*u bc 0, ‘foh’ ly m*u bc 1, ‘tustin’
phng pháp Tustin…
Ví d: chuy&n mt khâu liên tc có hàm truyn
15.0
2
)(
+
=
p
pG sang khâu gián on b'ng
phng pháp gi m*u bc 0, chu k+ ly m*u T=0.01s
num=2
den=[0.5 1]
sysc=tf(num,den)
sysd=c2d(sysc,0.01,’zoh’)

H liên tc tng ng ca mt h thng gián on

Câu l$nh: sys=d2c(sys_dis,method)
1.2 Bin i s  tng ng
1.2.1 Mc ni tip








Câu l$nh: sys=series(sys1,sys2)
1.2.2 Mc song song
Câu l$nh: sys=parallel(sys1,sys2)
1.2.3 Mc phn hi
Câu l$nh: sys=feedback(sys1,sys2,sign)





sys1 sys2
U
Y
Control System Toolbox & Simulink
4








sign = +1 nu phn hi dng và sign=-1 (hoc không có sign) nu phn hi âm.
1.3 Phân tích h thng
1.3.1 Trong min thi gian
Hàm quá  h(t)

Câu l$nh: step(sys)

V hàm quá  ca h$ thng tuyn tính sys. Khong thi gian v và bc thi gian do Matlab t
chn.

Mt s trng hp khác
- step(sys,t_end): v hàm quá  t thi i&m t=0 n thi i&m t_end.
- step(sys,T): v hàm quá  trong khong thi gian T. T c (nh ngh"a nh sau
T=Ti:dt:Tf. i vi h$ liên tc, dt là bc v, i vi h$ gián on, dt=Ts là chu
k+ ly m*u.
- step(sys1,sys2,sys3,…) : v hàm h(t) cho nhiu h$ thng ng thi.
- [y,t]=step(sys): tính áp #ng h(t) và lu vào các bin y và t tng #ng
Hàm trng lng ω
ωω
ω(t)
Câu l$nh: impulse(sys)
1.3.2 Trong min tn s
c tính bode
Câu l$nh: bode(sys)

V c tính tn s Bode ca h$ thng tuyn tính sys. Di tn s v do Matlab t chn.

Mt s trng hp khác
- bode(sys,{w_start,w_end}): v c tính bode t tn s w_start n tn s w_end.
- bode(sys,w) v c tính bode theo vect tn s w. Vect tn s w c (nh ngh"a
b'ng hàm logspace. Ví d: w=logspace(-2,2,100) (nh ngh"a vect w gm 100 i&m,
t tn s 10
-2
n 10
2

.
- bode(sys1,sys2,sys3,…) v c tính bode ca nhiu h$ thng ng thi.
- [mag,phi,w]=bode(sys,…) lu tt c các i&m tính toán ca c tính bode vào vect
mag, phi #ng vi tn s w tng #ng.

Chú ý: i vi h$ thng gián on, di tn s & v phi th,a mãn (nh lý Shannon.
c tính Nyquist
Câu l$nh: nyquist(sys)
nyquist(sys,{w_start,w_end})
sys1
sys2
U Y
Control System Toolbox & Simulink
5

nyquist(sys,w)
nyquist(sys1,sys2,sys3,...,w)
[real,ima,w]=nyquist(sys,…)
c tính Nichols
Câu l$nh: nichols(sys)
nichols(sys,{w_start,w_end})
nichols(sys,w)
nichols(sys1, sys2, sys3,...,w)
[mag,phi,w]=nichols(sys,…)

Tính toán G(ω), arg[G(ω)] và v trong mt ph-ng Black.

Ví d: V các c tính tn s ca h$ thng sau

2

00
2
2
0
2
)(
ωξω
ω
++
=
pp
pG vi ω
0
=1rad/s và ξ=0,5
w0=1 ;xi=0.5 ;num=w0^2 ;den=[1 2*xi*w0^2 w0^2] ;G=tf(num,den);
w=logspace(-2,2,100) ;
bode(G,w) ; % v c tính bode trong di tn s w
nichols(G); % v c tính nichols trong di tn s t chn ca Matlab
nyquist(G); % v c tính nyquist
1.3.3 Mt s hàm  phân tích
Hàm margin
- margin(sys) v c tính Bode ca h$ thng SISO và ch) ra  d tr biên ,  d tr
pha ti các tn s tng #ng.
- [delta_L,delta_phi,w_L,w_phi]=margin(sys) tính và lu  d tr biên  vào bin
delta_L ti tn s w_L, lu  d tr v pha vào bin delta_phi ti tn s w_phi.
Hàm pole
vec_pol=pole(sys) tính các i&m cc ca h$ thng và lu vào bin vec_pol.
Hàm tzero
vec_zer=tzero(sys) tính các i&m zero ca h$ thng và lu vào bin vec_zer.
Hàm pzmap

- [vec_pol,vec_zer]=pzmap(sys) tính các i&m cc và zero ca h$ thng và lu vào các
bin tng #ng.
- pzmap(sys) tính các i&m cc, zero và bi&u di%n trên mt ph-ng ph#c.
Hàm dcgain
G0=dcgain(sys) tính h$ s khuch i t"nh ca h$ thng và lu vào bin G0.
1.3.4 Mt s hàm c bit trong không gian trng thái
Hàm ctrl
Câu l$nh: C_com=ctrl(A,B)
C_com=ctrl(sys)

Control System Toolbox & Simulink
6

Tính ma trn “iu khin c” C ca mt h$ thng. Ma trn C c (nh ngh"a nh sau:
C=[B AB A
2
B … A
n-1
B] vi A∈ℜ
nxn

Hàm obsv
Câu l$nh: O_obs=obsv(A,C)
O_obs=obsv(sys)

Tính ma trn “quan sát c” O ca mt h$ thng. Ma trn O c (nh ngh"a nh sau:
O=[C CA CA
2
… CA
n-1

]

Hàm ctrbf
Câu l$nh: [Ab,Bb,Cb,T,k]=ctrbf(A,B,C)

Chuy&n v dng chun (canonique) “iu khi&n c” ca mt h$ thng bi&u di%n di dng
phng trình trng thái.
Trong ó: A
b
=TAT
-1
, B
b
=TB, C
b
=CT
-1
, T là ma trn chuy&n  i.

Hàm obsvf
Câu l$nh: [Ab,Bb,Cb,T,k]=obsvf(A,B,C)

Chuy&n v dng chun “quan sát c“ ca mt h$ thng bi&u di%n di dng phng trình
trng thái.
Trong ó: A
b
=TAT
-1
, B
b

=TB, C
b
=CT
-1
, T là ma trn chuy&n  i.
1.4 Ví d tng hp
Cho mt h$ thng kín phn hi -1, trong ó hàm truyn ca h$ h là

2
00
2
2
0
2
*
)1(
)(
ωξω
ω
τ
+++
=
pppp
K
pG vi K=1, τ=10s, ω
0
=1rad/s và ξ=0.5
1. V c tính tn s Nyquist. Ch#ng t, r'ng h$ kín không n (nh.
2. V áp #ng quá  ca h$ kín.
3. & h$ thng n (nh, ngi ta hi$u ch)nh h$ s khuch i K=0.111. Xác (nh tn s ct,

 d tr biên  và  d tr v pha ca h$ thng trong trng hp này.
4. Xác (nh các thông s quá  (thi gian quá  ln nht T
max
,  quá iu ch)nh ln nht
σ
max
) ca h$ thng ã hi$u ch)nh.

TH.C HIN
Câu 1
>>K=1;to=10;w0=1;xi=0.5;
>>num1=K;den1=[to 1 0];
>>num2=w0^2;den2=[1 2*xi*w0 w0^2] ;
>>G=tf(num1,den1)*tf(num2,den2)
Transfer function:
1
----------------------------
10 s^4 + 11 s^3 + 11 s^2 + s
>>w=logspace(-3,2,100) ; % to vect tn s & v các c tính tn s
>>nyquist(G,w);
c tính c bi&u di&n trên hình 1.1

×