1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình Matlap Chương 6_1

9 141 0

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

THÔNG TIN TÀI LIỆU

Nội dung

ms = [1 2*z*wn wn^2]; sys = tf(ts,ms); t = 0:0.02:4; c = step(sys,t); plot(t,c) T s đ kh i ta có: C(s) d = R(s) s + (de + 1)s + d Ph ng trình đ c tính là: s2 + (de + 1)s + d = s2 + 2ωnζs + ω2n V i ω2n = wn = 0.28 z = ζ = 4.0906 ta có d = 16.733 e = 0.077 Khi có m t hàm truy n ta có th xác đ nh h s t t ζ t n s t nhiên ωn b ng l nh damp Ví d : Cho h có hàm truy n: s + 5s + H(s) = s + 2s + Tìm h s t t ζ t n s t nhiên ωn Các l nh MATLAB (l u ct6_22.m) nh sau: h = tf([2 1],[1 3]); damp(h) Eigenvalue Damping Freq (rad/s) 1.00e+000 + 1.41e+000i 5.77e 001 1.73e+000 1.00e+000 1.41e+000i 5.77e 001 1.73e+000 Đáp ng mi n th i gian c a h th ng: a Đáp giá tr ban đ u: Đáp ng giá tr ban đ u mô t ph n ng c a h kích thích d u vào nh ng t n t i giá tr ban đ u c a vec t tr ng thái x0 Ph n ng đ c g i chuy n đ ng t c a h Đáp ng đ c xác đ nh b ng hàm initial Ta có l nh MATLAB tìm đáp ng ban đ u c a m t h th ng (l u ct6_23.m)nh sau: clc a = [ 0.5572 0.7814;0.7814 0]; c = [1.9691 6.4493]; x0 = [1 ; 0] sys = ss(a,[],c,[]); initial(sys,x0) 134 b Đáp ng xung Dirac: Ta tìm đáp ng c a h th ng v i xung nh hàm impulse Các l nh MATLAB (l u ct6_24.m)nh sau: clc a = [ 0.5572 0.7814;0.7814 0]; b = [1 1;0 2]; c = [1.9691 6.4493]; sys = ss(a,b,c,0); impulse(sys) Hình bên trái đáp ng c a kênh th nh t hình bên ph i đáp ng c a kênh th c Đáp ng đ i v i hàm b c nh y: Đ tìm đáp ng c a h th ng đ i v i hàm b c nh y ta dùng hàm step Các l nh MATLAB (l u ct6_25.m) nh sau: clc a = [ 0.5572 0.7814;0.7814 0]; b = [1 1;0 2]; c = [1.9691 6.4493]; sys = ss(a,b,c,0); step(sys) Hình bên trái đáp ng c a kênh th nh t hình bên ph i đáp ng c a kênh th d Đáp ng v i tín hi u b t k : Đ tìm đáp ng c a h th ng đ i v i hàm b t kì ta dùng hàm lsim Các l nh MATLAB (l u ct6_26.m) nh sau: clc [u,t] = gensig( square ,4,10,0.1); H = [tf([2 1],[1 3]) ; tf([1 1],[1 5])] lsim(H,u,t) Ta dùng hàm gensig đ t o m t xung hình vuông, chu k l y m u sau 0.1s 10 chu k Đáp ng mi n t n s c a h th ng: Cho m t hàm truy n c a m t h th ng,thay s b ng jω ta có hàm truy n đ t t n s c a h th ng Đ r ng băng c a h th ng ωB t n s mà t i biên đ c a g gi m 1/√2 T n s ng v i giá tr max c a G(ω) g i ωr có tr s là: ωr = ωn − 2ζ Đ v đ c tính t n biên pha c a m t h th ng ta dùng l nh freqs 135 Ví d : Cho hàm truy n c a m t h th ng là: G(s) = s + 2s + Tìm đ c tính t n biên pha c a h th ng b ng l nh MATLAB(l u ct6_27.m): w = 0:0.01:3; ms = [1 4]; ts = [4]; freqs(ts,ms,w); Ta có th t o đ th nh sau(l u ct6_28.m): ts = [4]; ms = [1 4]; w = 0:0.01:3; g = freqs(ts,ms,w); mag = abs(g); pha = angle(g); subplot(2,1,1); loglog(w,mag); grid on; subplot(2,1,2); semilogx(w,pha); grid on Ng c l i có đ c tính t n biên pha ta có th tìm l i đ c hàm truy n b ng l nh invfreqs Ví d : Tìm hàm truy n c a h th ng(l u ct6_29.m): ts = [1 4]; ms = [1 3]; [h,w] = freqz(b,a,64); [tsm,msm] = invfreqz(h,w,4,5) Ta có th xây d ng đ c tính t n th c o Ví d : Cho hàm truy n : 10 G(s) = s + 4.5s + 9s + 10 Tìm đ c tính t n th c o c a h b ng l nh MATLAB (l u ct6_30.m): ts = [10]; ms = [1 4.5 10]; w = [1:0.01:3]; 136 h = freqs(ts,ms,w); t = real(h); a = imag(h); subplot(2,1,1); plot(w,t) subplot(2,1,2); plot(w,a) Đ v đ th Bode c a h th ng ta dùng hàm bode Đ th th nh t nh t đ c tính biên t n logarit, đ c chia theo dB Đ th th hai đ c tính pha t n logarit chia theo đ Các d ng c a l nh bode g m: bode(sys) bode(sys,w) [bien, pha, w] = bode(sys) Đ v đ th Bode c a m t h th ng ta dùng l nh MATLAB(l u ct6_31.m) nh sau: clc g = tf([1 0.1 7.5],[1 0.12 0]); figure(1) bode(g) figure(2) bode(g,{0.1 , 100}) gd = c2d(g,0.5) figure(3) bode(g, r ,gd, b ) Hàm margin cho bi t d tr n đ nh c a h th ng D tr biên gm h s khuy ch đ i Fr mà n u ta thêm vào hàm truy n đ t c a h h h kín v a đ t đ c gi i h n n đ nh D tr pha pm đ c đ nh nghĩa kho ng cách góc pha ϕr t i 180° Hàm cho bi t gm t i t n s đ o pha wcg pm t i t n s c t pha wcp Hàm allmargin có tác d ng r ng h n hàm margin Các k t qu tr v c a allmargin g m: GMFrequency: giá tr t n s mà t i đ th pha c t đ ng th ng n m ngang 180° GainMargin: d tr biên giá tr đ o c a biên đ t i t n s GMFrequency PMFrequency: giá tr t n s mà t i đ th biên c t đ ng th ng n m ngang dB( ng v i h s khuy ch đ i 1) 137 PhaseMargin: d tr pha kho ng cách góc (> 0) t v trí PMFrequency đ n 180° DelayMargin: d tr th i gian tr giá tr th i gian tr mà n u v t quá, h th ng s m t n đ nh DMFrequency: giá tr t n s ng v i DelayMargin Stable: =1 mach vòng kín n đ nh; b ng tr ng h p khác Các đ i l ng có th đ c đ c t đ th t o b i margin Đ xác đ nh d tr n đ nh c a m t h th ng c th ta dùng l nh MATLAB(l u ct6_32.m) nh sau: clc sys = zpk([],[ 1 1],4) margin(sys) allmargin(sys) K t qu h th ng n đ nh Nó có DelayMargin = 0.3s Bây gi ta gán cho sys m t kho ng th i gian tr stabil.DelayMargin + 0.01, nghĩa v t th i gian tr n đ nh 0.01s K t qu tính toan m i c a allmargin s thông báo tính không n đ nh c a h th ng Các l nh MATLAB (l u ct6_33.m) nh sau: clc sys = zpk([],[ 1 1],4) margin(sys) stabil = allmargin(sys) sys.ioDelay = stabil.DelayMargin + 0.01; newstabil = allmargin(sys) M t kh khác đ mô t đ c tính t n s đ th Nyquist Nó bi u di n giá tr th c o thu c hàm truy n đ t ph c c a m ch vòng h F0(jω) d i t n s ω = ÷ ∞ h to đ ph c Đ ng cong m t o thành đ c g i qu đ o biên pha F0(jω) Trên c s tiêu chu n n đ nh Nyquist ta có th rút k t lu n v tính n đ nh c a h kín(có ph n h i đ n v âm) t đ th Nyquist Đ v đ th Nyquist ta dùng hàm Nyquist Ta có l nh MATLAB(l u ct6_34.m) nh sau: clc H = tf([2 1],[1 3]) nyquist(H) 138 §3 Đ C TÍNH C A H TH NG ĐI U KHI N Tính n đ nh: Tiêu chu n n đ nh nói r ng h s n đ nh n u nghi m c a ph ng trình đ c tính có ph n th c âm Ph ng trình đ c tính đa th c m u s c a hàm truy n Do v y ch c n tính nghi m c a đa th c đ c tính b ng l nh roots ta có th xác d nh h n đ nh hay không Ví d : Xét tính n đ nh c a h có ph ng trình đ c tính là: s4 + 10 s3 + 35s2 + 50s + 24 Các l nh MATLAB là: a = [1 10 35 50 24]; roots(a) ans = 4.0000 3.0000 2.0000 1.0000 Nh v y h n đ nh Đ nh y: Đ nh y c a h th ng đ c đo b ng t s ph n trăm s thay đ i c a hàm truy n theo s thay đ i ph n trăm c a thông s b Ví d đ nh y c a hàm truy n T(s) theo b đ c xác đ nh b ng: ∆T(s) / T(s) ∆T(s) T(s) S Tb = = ∆b / b ∆b b Khi ∆b g n đ n ta có: ∂T(s) b S Tb = ∂b T(s) Đ nh y tĩnh giá tr c a S t→0 Đ nh y đ ng đ c tính b ng cách thay s b ng jω v đ ng S theo ω Biên đ c a S(jω) đo sai s c a h th ng Ví d : Kh o sát h u n nh hình v sau: Thi t b b (s + 1) B bù K R(s) - C(s) h Sensor 139 Trong b có tr đ nh m c h có tr đ nh m c 0,5 Tìm đ nh y T(s) theo b, v modul hàm đ nh y theo ω v i hai giá tr bù K = K = 0.5 Tìm đ nh y T(s) theo h, v modul c a hàm đ nh y theo h v i K = K = 0.5 Hàm truy n c a h th ng là: Kb (Ts) = s + + Kbh V i b = h = 0.5 ta có ωB = + 2K Đ nh y c a T(s) theo b b = h = 0.5 là: ∂T(s) b s+1 s+1 S Tb = = = ∂b T(s) s + + Kbh s + + 2K ∂T(s) h − Kbh − 2K S Th = = = ∂b T(s) s + + Kbh s + + 2K Các l nh MATLAB (l u ct6_35.m) nh sau: k1 = 1; k2 = 0.5; ts = [1 1]; ms1 = [1 1+2*k1]; ms2 = [1 1+2*k2]; w = 0:0.01:15; stb1 = abs(freqs(ts,ms1,w)); stb2 = abs(freqs(ts,ms2,w)); subplot(2,1,1); plot(w,stb1,w,stb2); title( Do nhay cua T theo b ); ts1 = 2*k1; ts2 = 2*k2; stb1 = abs(freqs(ts1,ms1,w)); stb2 = abs(freqs(ts2,ms2,w)); subplot(212); plot(w,stb1,w,stb2); title( Do nhay cua T theo h ); Hình đ ng có ng v i K = 0.5 hình d i đ ng cao ng v i K = T hình v ta th y r ng đ nh y c a h th ng theo b gi m h s khu ch đ i c a vòng h K tăng đ nh y theo h tăng K tăng Rõ ràng đ nh y theo b tăng nhanh bên ωB Sai s xác l p: Kh o sát h nh hình v : 140 R(s) G(s) - C(s) H(s) Hàm truy n c a h kín là: C(s) G(s) = R(s) + H(s)G(s) Sai s c a h kín là: E(s) = R(s) – H(s)C(s) = R ( s) + H(s)G(s) S d ng đ nh lí giá tr cu i ta có: sR(s) e ss = lim s→∞ + G( s)H( s) Đ u vào b c nh y đ n v : 1 e ss = = + lim G(s)H(s) + K p s→∞ Đ u vào tăng n tính đ n v : 1 e ss = = + lim sG(s)H(s) K v s→∞ Đ u vào parabol đ n v : e ss = 1 = + lim s G(s)H(s) K a s→∞ Ta có th dùng Symbolic Math đ tính gi i h n §4 PHÂN TÍCH VÀ THI T K QU Đ O NGHI M Ph ng pháp kinh n đ tham s hoá khâu u n c a vòng u h nh ph ng pháp qu đ o nghi m Qu đ o nghi m qu đ o m c c, h p thành b i u c c c a h th ng, ph thu c vào h s khuy ch đ i ph n h i k va đ c bi u di m t ph ng ph c v i ph n th c Re(λ) = σ tr c hoành x ph n o Im(λ) = ω tr c tung y Đ v đ c qu đ o nghi m c a h th ng ta dung hàm rlocus Ta xét h th ng sau: u - Gc G0 k GM y 141 Cú pháp c a rlocus rlocus(sys[,k]) [r, k] = rlocus(sys) r = rlocus(sys, k) Mô hình sys l nh hàm truy n đ t c a h th ng h GoGcGM đ c xác đ nh b ng l nh MATLAB: sys = sysM*sysO*sysC mà ch a có h s khuy ch đ i ph n h i k, tham s tu ch n s đ c khai báo riêng Đi u có nghĩa sys đ c ghép n i b i mô hình riêng l Khi g i rlocus(sys[, k]) mà không yêu tr bi n v ta nh n đ c đ th qu đ o nghi m c a sys N u ta không khai báo h s khuyêch đ i vec t tham s tu ch n k, MATLAB s t đ ng quy t đ nh giá tr thích h p Sau dùng rlocus v qu đ o m c c ta tìm giá tr liên quan đ n m c c b t kì năm tên qu đ o b ng cách nh p chu t vào m t m qu đ o Lúc l nh rlocusfind đ c th c hi n Ta dùng l n MATLAB sau (l u ct6_36.m)đ v qu đ o nghi m c a m t h th ng: clc sys = zpk([],[ 0.1 j 1+j ], 1) rlocus(sys) [r, k] = rlocus(sys) sgrid Đ tr c quan ta có th dùng công c thi t k b ng cách nhâp l nh sisotool vào c a s l nh MATLAB 142 ... KHI N Tính n đ nh: Tiêu chu n n đ nh nói r ng h s n đ nh n u nghi m c a ph ng trình đ c tính có ph n th c âm Ph ng trình đ c tính đa th c m u s c a hàm truy n Do v y ch c n tính nghi m c a đa... tính b ng l nh roots ta có th xác d nh h n đ nh hay không Ví d : Xét tính n đ nh c a h có ph ng trình đ c tính là: s4 + 10 s3 + 35s2 + 50s + 24 Các l nh MATLAB là: a = [1 10 35 50 24]; roots(a)

Ngày đăng: 24/12/2015, 15:36

TỪ KHÓA LIÊN QUAN

w