1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 6: Matlab và điều khiển tự động

12 459 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Ngày đăng: 23/10/2013, 23:15

TỪ KHÓA LIÊN QUAN

w