Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
347,8 KB
Nội dung
CH NG 6: MATLAB VÀ ĐI U KHI N T Đ NG §1 CÁC V N Đ CHUNG Các d ng mơ hình h th ng: Đ xây d ng mơ hình c a h th ng, MATLAB cung c p m t s l nh Mơ hình h th ng mô t b ng hàm truy n đ c xây d ng nh l nh tf(ts,ms) v i ts đa th c t s ms đa th c m u s Hàm zpk(z, p, k) v i z vec t m không, p vec t m c c k h s khuy ch đ i t o nên mơ hình m khơng m c c Hàm ss(a, b, c , d) v i a, b, c, d ma tr n t o nên mô hình khơng gian tr ng thái Ví d : Ta t o m t s mơ hình nh l nh MATLAB sau(l u ct6_1.m): clc ts = [1 2]; ms = [1 4]; sys1 = tf(ts,ms) sys2 = zpk([ 1],[ 1],3) sys3 = ss([1 2; 4],[1 1; 1],[0 1; 2; 1],0) K t qu là: Transfer function: s+2 s^2 + s + Zero/pole/gain: (s+6) (s 1)^2 (s+5) (s 1) a= x1 x2 x1 x2 x1 x2 u1 u2 1 b= 122 c= y1 y2 y3 x1 x2 d= u1 u2 y1 0 y2 0 y3 0 Continuous time model Đi m c c m zero c a hàm truy n: Đ bi n đ i h th ng cho b i hàm truy n thành h cho b i m c c, m zero h s khu ch đ i dùng hàm tf2zp Ta có th dùng hàm pole(sys) đ tìm m c c c a h th ng sys dung hàm zero(sys) đ tìm m khơng c a h th ng sys Ví d : Cho hàm truy n: s + 11s + 30s H(s) = s + 9s + 45s + 87 s + 50 Ta c n tìm m c c p, m zero z h s khu ch đ i k c a Ta dùng l nh MATLAB sau(l u ct6_2.m): ts = [1 11 30 0]; ms = [1 45 87 50]; [z,p,k] = tf2zp(ts,ms) z= p= 3.0 + 4.0i 3.0 4.0i 2.0 1.0 k= Nh v y: 123 s(s + 5)(s + 6) s(s + 5)(s + 6) = (s + 1)(s + 2)(s + + j)(s + − j) (s + 1)(s + 2)(s + 6s + 25) Khi có m c c, m zero h s khu ch đ i ta có th tìm l i hàm truy n b ng l nh zp2tf Ta dùng l nh MATLAB sau(l u ct6_3.m): z = [ 6; 5;0]; k = 1; p = [ 3+4*i; 4*i; 2; 1]; [ts,ms] = zp2tf(z,p,k) H(s) = ts = 11 30 ms = 45 87 50 Đ th y đ c s phân b m không m c c c a h th ng m t ph ng ph c ta dùng hàm pzmap Tr c c a đ thi đ c chia l i b ng l nh sgrid Các m không bi u th b ng vòng tròn m c c bi u th b ng d u × Ta xét l nh MATLAB sau(l u ct6_4.m): clc sys = zpk([ 1],[ 1],3) axis equal pzmap(sys) sgrid Khai tri n hàm truy n thành t ng phân th c đ n gi n: Cho hàm truy n, ta có th khai tri n thành t ng phân th c đ n gi n b ng l nh residue Hàm residue cho vec t c t ph n d r, vec t c t m c c p ph n nguyên k Ví d : Cho hàm truy n: s + 9s + H(s) = s + s + 4s + Ta khai tri n h b ng l nh MATLAB sau(l u ct6_5.m): ts = [2 1]; ms = [1 4]; [r,p,k] = residue(ts,ms) r= 0.0 0.25i 0.0 + 0.25i 124 2.0 p= 0.0 + 2.0i 0.0 2.0i 1.0 k= Nh v y: H(s) = + − 0.25 j − 0.25 j + + =2− + s+1 s +4 s + s + 2j s − 2j Ng c l i, có r, p, k ta có th tìm hàm truy n b ng l nh MATLAB sau(l u ct6_6.m): r = [0.0 0.25*i; 0+0.25*i; 2]; p = [0+2*i;0 2*i; 1]; k = 2; [ts,ms] = residue(r,p,k) ts = ms = 1 4 Bi n đ i hàm truy n thành không gian tr ng thái: Cho ph ng trình vi phân: dn y d n −1y dy a n n + a n −1 n −1 + L + a1 + a y = u( t ) dx dx dx Đ t x1 = y;x2 = y′;x3 = y′′ v.v ta có h ph ng trình tr ng thái: x′ = Ax + Bu y = Cx + Du g i ph ng trình khơng gian tr ng thái N u m t h u n t đ ng cho b i hàm truy n ta có th bi n đ i v không gian tr ng thái b ng l nh tf2ss Ví d : Cho hàm truy n : s2 + 7s + H(s) = s + 9s + 26s + 24 Ta bi n h v d ng không gian tr ng thái b ng l nh MATLAB sau(l u ct6_7m): 125 ts = [1 2]; ms = [1 26 24]; [a,b,c,d ] = tf2ss(ts,ms) a= 26 24 0 b= 0 c= d= Bi n đ i không gian tr ng thái thành hàm truy n: Đ bi n đ i h cho d i d ng không gian tr ng thái thành hàm truy n ta dùng l nh ss2tf Ta xét l nh sau(l u ct6_8.m) a = [0 0; 0 1; 3]; b = [10; 0; 0]; c = [1 0]; d = [0]; [ts,ms] = ss2tf(a,b,c,d,1) ts = 10.00 30.00 20.00 ms = 1.00 3.00 2.00 1.00 Nh v y hàm truy n là: 10(s + 3s + 2) G(s) = s + 3s + s + Nghi m c a ph ng trình tr ng thái: Đ tìm nghi m c a ph tr ng thái ta dùng l nh lsim Ví d : Cho ph ng trình tr ng thái c a m t h n tính ng trình 126 ⎤ ⎡ x1 ⎤ ⎡1⎤ ⎡ x& ⎤ ⎡ ⎢x& ⎥ = ⎢ 0 1⎥⎥ ⎢⎢x ⎥⎥ + ⎢⎢1⎥⎥ u( t ) ⎢ 2⎥ ⎢ ⎢⎣x& ⎥⎦ ⎢⎣− − 11 − ⎥⎦ ⎢⎣x ⎥⎦ ⎢⎣1⎥⎦ y = [1 0] x Cho u ki n đ u x(0) = [1 0.5 0.5] Tìm x(t), y(t) v i u(t) hàm đ n v Ta dùng l nh MATLAB sau(l u ct6_9.m): a = [0 0; 0 1; 11 6]; b = [1; 1; 1]; c = [1 0]; d = 0; x0 = [1 0.5 0.5]; t = 0:0.05:4; u = ones(1,length(t)); [y,x] = lsim(a,b,c,d,u,t,x0); plot(t,x,t,y) Do u ki n đ u nên nghi m y xu t phát t 1.5 Khi u(t) sin2πt ta tính đáp ng nh sau(l u ct6_10.m): a = [0 0;0 1; 11 6]; b = [1;1;1]; c = [1 0]; d = 0; x0 = [1 0.5 0.5]; t = 0:0.05:4; u = sin(2*pi*t); [y,x] = lsim(a,b,c,d,u,t,x0); plot(t,x,t,y) Bi n đ i s đ kh i: M t s đ kh i u n th ng r t ph c t p Vì v y ta th ng ph i bi n đ i v d ng đ n gi n b ng l nh connect Ví d : Xét s đ kh i sau: 1 + - + - - s+4 0.5 22 s+3 s+2 127 Xác đ nh ph ng trình tr ng thái hàm truy n c a toán b s đ : G i ni di t s m u s c a hàm truy n c a kh i th i Ta có l nh(l u ct6_11.m): n1=1;d1=1; n2=.5;d2=1; n3=4;d3=[1 4]; n4=1;d4=[1 2]; n5=1;d5=[1 3]; n6=2;d6=1; n7=5;d7=1; n8=1;d8=1; nblocks=8; blkbuild; q=[1 0 0 21 32000 43000 54000 63000 74000 0 0]; iu = [1]; iy = [5]; [A,B,C,D] = connect(a,b,c,d,q,iu,iy) A= 8.0 2.5 0.5 4.0 2.0 0 1.0 3.0 B= 0.5 0 C= 128 0 D= [ts,ms] = ss2tf(A,B,C,D,1) ts = 0 2.0 ms = 1.0 13.0 56.0 80.0 Hàm truy n c a h là: C(s) = R(s) s + 13s + 56s + 80 Ghép n i s đ kh i: Đ ghép n i t o nên m t h th ng t th ng ta có th s d ng m t s kh nh sau: u1 sys1 u2 y a sys1 y1 sys2 y2 u sys2 u1 sys1 b v1 y1 u1 sys1 z1 y u u2 sys2 y2 v2 c sys2 e y1 u2 sys2 z2 d v2 u nhi u h sys1 z1 y u sys1 y sys2 f a Ghép theo hàng: Ghép theo hàng (hình a) có nghĩa ghép đ u c a h th ng có đ u vào khác Hàm sys(sys1,sys2) th c hi n vi c ghép Ta có l nh MATLAB sau(l u ct6_12.m): clc sys1 = tf(1,[1 0]) 129 sys2 = ss(1,2,3,4) sys = [sys1,sys2] b Ghép theo c t: Ghép theo c t(hình b) có nghĩa ghép đ u c a h th ng có chung đ u vào Ta có l nh MATLAB sau(l u ct6_13.m): clc sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = [sys1;sys2] c Ghép theo đ ng chéo: Khi ghép theo đ ng chéo(hình c), ta có h th ng m i b o đ m cách ly h th ng ban đ u Đ ghép ta dùng l nh append Các l nh MATLAB(l u ct6_14.m) nh sau: clc sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = append(sys1,sys2) d Ghép song song: Ta dùng cách ghép nh hình d Hàm parallel dùng đ ghép song song h th ng Các l nh MATLAB (l u ct6_15.m) nh sau: clc sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = parallel(sys1,sys2) e Ghép tu n t : Ta dùng cách ghép nh hình e Hàm series dùng đ ghép tu n t h th ng Các l nh MATLAB(l u ct6_16.m) nh sau: clc sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = series(sys1,sys2) f Ghép có ph n h i: Ta dùng cách ghép nh hình f Hàm feedback dùng đ ghép có ph n h i h th ng Các l nh MATLAB (l u ct6_17.m) nh sau: clc sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = feedback(sys1,sys2) 130 g S d ng hàm connect: Hàm connect t o mơ hình khơng gian tr ng thái t h th ng Cú pháp c a hàm: sysc = connect(sys,Q,inputs,outputs) M t h th ng th ng đ c cho d i d ng kh i Ngay c s đ khơng ph c t p, vi c tìm đ c mơ hình khơng gian tr ng thái c a h th ng khó Đ tìm đ c mơ hình không gian tr ng thái, tr c h t ta dùng hàm append: sys = append(sys1,sys2, ,sysN) đ mô t m i h th ng sysj h th ng d ng đ ng chéo Ti p đ n dùng l nh: sysc = connect(sys,Q,inputs,outputs) đ n i h th ng rút mơ hình khơng gian tr ng thái sysc c a toàn b h th ng Ma tr n Q ch cách n i h th ng s đ M i đ u vào c a sys có m t hàng, ph n t đ u tiên c a m i hàng s đ u vào ph n t ti p theo c a m i hàng mô t đ u vào c a h th ng đ c l y t đâu Ví d đ u vào l y t đ u 2, 15 đ u vào c a 15 âm hàng t ng ng c a Q [ 15 6] Hàng không đ ph n t thêm s Ta tìm mơ hình khơng gian tr ng thái c a s đ sau: sys1 uc 10 s+5 sys2 u1 + - x& = Ax + Bu u2 y = Cx + Du 3 y1 y2 2(s + 1) s+2 sys3 Ta c n n i đ u vào đ u vào (u2) đ u (y2) vào đ u vào nên ma tr n Q là: Q = [3 4 0]; S đ có đ u vào t h th ng khác uc u1 (đ u vào c a sys) đ u đ a đ n h th ng khác y1 y2 (đ u c a sys) Nh v y ma trân inputs outputs là: inputs = [1 2]; outputs = [2 3]; Các l nh MATLAB th c hi n vi c bi n đ i s đ (l u ct6_18.m) nh sau: clc 131 A = [ 9.0201 17.7791 1.6943 3.2138 ]; B = [ 5112 5362 002 1.8470]; C = [ 3.2897 2.4544 13.5009 18.0745]; D = [ 5476 1410 6459 2958 ]; sys1 = tf(10,[1 5], inputname , uc ) sys2 = ss(A,B,C,D, inputname ,{ u1 u2 }, outputname ,{ y1 y2 }) sys3 = zpk( 1, 2,2) sys = append(sys1,sys2,sys3) Q = [3 4 0]; inputs = [1 2]; outputs = [2 3]; sysc = connect(sys,Q,inputs,outputs) §2 ĐÁP NG C A H TH NG Đáp ng c a h th ng b c hai: D ng chu n c a hàm truy n c a h th ng b c hai là: G(s) = s + 2ζωn s + ω2n Trong ωn t n s t nhiên ζ h s t t c a h th ng Đ t o hàm truy n bi t ωn ζ ta dùng l nh ord2 Ví d : Tìm hàm truy n ma tr n tr ng thái c a h th ng b c hai bi t ωn = 2.4 rad/s ζ = 0.4 Các l nh MATLAB (l u ct6_19.m) nh sau: [ts,ms] = ord2(2.4,0.4) [a,b,c,d] = ord2(2.4,0.4) Đáp ng th c t c a h m t dao đ ng t t d n có d ng: c( t ) = − e ζω n t sin(βωn t + θ) β Trong β = − ζ θ = tan −1 (β / ζ ) Ta g i tr th i gian đ dáp ng đ t t 10% giá tr cu i đ n 90% giá tr cu i; th i gian đ t đ n đ nh tp; đ nhanh đo b ng tr tp; th i gian t t ts Th i 132 gian đ t đ n đ nh đ = π c xác đ nh b ng cách cho đ o hàm c a c(t) b ng (4 1) ω − ζ2 Giá tr đ nh (percent overshoot p.o)khi kích thích b c nh y là: p.o = e ζπ 1− ζ × 100 (4 2) Đáp ng v i kích thích b c nh y tìm đ c nh hàm step cịn đáp kích thích xung tìm đ c nh hàm impulse Ví d : Tìm đáp ng c a khâu b c hai có hàm truy n : ω2n G(s) = s + 2ζωn s + ω2n ωn = ζ = 0.6.Các l n MATLAB (l u ct6_20.m) nh sau: clc ts = 25; ms = [1 25]; sys = tf(ts,ms) t = 0:0.02:2; c = step(sys,t); plot(t,c) xlabel( t(s) ); ylabel( c(t) ); Ví d : Cho h có s đ nh hình v : R(s) - d s(s + 1) ng v i C(s) 1+es Tìm d e đ p.o b ng 40% = 0.8s Các l nh MATLAB (l u ct6_21.m) nh sau: clc po = 40; z = log(100/po)/sqrt(pi^2+(log(100/po))^2)%theo (4 2) zn = 0.27999799333504 = 0.8; wn = pi/(tp*sqrt(1 z^2))% theo (4 1) ts = wn^2; 133 ... 3 y1 y2 2(s + 1) s+2 sys3 Ta c n n i đ u vào đ u vào (u2) đ u (y2) vào đ u vào nên ma tr n Q là: Q = [3 4 0]; S đ có đ u vào t h th ng khác uc u1 (đ u vào c a sys) đ u đ a đ n h th ng khác y1... s đ M i đ u vào c a sys có m t hàng, ph n t đ u tiên c a m i hàng s đ u vào ph n t ti p theo c a m i hàng mô t đ u vào c a h th ng đ c l y t đâu Ví d đ u vào l y t đ u 2, 15 đ u vào c a 15 âm... nh MATLAB (l u ct6_15.m) nh sau: clc sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = parallel(sys1,sys2) e Ghép tu n t : Ta dùng cách ghép nh hình e Hàm series dùng đ ghép tu n t h th ng Các l nh MATLAB( l