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

CHƯƠNG 6: MATLAB VÀ ĐIỀU KHIỂN TỰ ĐỘNG  pps

21 204 0

Đ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 21
Dung lượng 416,12 KB

Nội dung

CHƯƠNG6:MATLABVÀĐIỀUKHIỂNTỰĐỘNG  §1.CÁCVẤNĐỀCHUNG 1.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làđathứctửsốvàmslàđathứcmẫusố.Hàm zpk(z, p, k) với zlà vec tơ điểm không, p là vec tơ điểm cực và k là hệsố khuyếchđại tạonênmôhìnhđiểmkhông‐điểmcực.Hàmss(a,b,cʹ,d)vớia,b, c,dlàcácmatrậntạonênmôhìnhkhônggian‐trạngthái. Ví dụ: Ta tạo ra một số mô hình nhờ các lệnh MATLAB sau(lưu trong ct6_1.m): clc ts=[12]; ms=[154]; sys1=tf(ts,ms)  sys2=zpk([‐611],[‐51],3)  sys3=ss([12;34],[11;01],[01;12;31],0) Kếtquảlà: Transfer function:  s+2 ‐‐‐‐‐‐‐‐‐‐‐‐‐ s^2+5s+4 Zero/pole/gain: 3(s+6)(s‐1)^2 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (s+5)(s‐1)  a= x1x2 x112 x234 b= u1u2 x111 x201 122  c= x1x2 y101 y212 y331 d= u1u2 y100 y200 y300 Continuous‐timemodel.  2.Điểmcựcvàđiể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điểmcực,điểmzerovàhệsốkhuếchđạidùnghàm tf2zp.Tacũngcóthểdùnghàmpole(sys)đểtìmđiểmcựccủahệthốngsys và dunghàmzero(sys)đểtìmđiểmkhôngcủahệthốngsys Vídụ:Chohàmtruyền:  50s87s45s9s s30s11s )s(H 234 23 + +++ ++ =  Tacầntìmcácđiểmcựcp,điểmzerozvàhệsốkhuếchđạikcủanó.Ta dùng cáclệnhMATLABsau(lưutrong ct6_2.m): ts=[111300]; ms=[19458750]; [z,p,k]=tf2zp(ts,ms) z= 0 ‐6 ‐5 p= ‐3.0+4.0i ‐3.0‐4.0i ‐2.0 ‐1.0 k= 1  Nhưvậy: 123  )25s6s)(2s)(1s( )6s)(5s(s )j43s)(j43s)(2s)(1s( )6s)(5s(s )s(H 2 ++++ + + = −+++++ + + =  Khicócácđiểmcực,điểmzerovàhệsốkhuếchđạitacóthểtìmlạihàm truyềnbằnglệnh zp2tf.TadùngcáclệnhMATLABsau(lưutrongct6_3.m): z=[‐6;‐5;0]; k=1; p=[‐3+4*i;‐3‐4*i;‐2;‐1]; [ts,ms]=zp2tf(z,p,k)  ts=   0111300 ms=   19458750 Đểthấyđượcsựphânbốđiểmkhôngvàđiểmcựccủahệthốngtrên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điểmkhôngbiểuthịbằngvòngtrònvàđiểmcựcbiểuthịbằngdấu ×.TaxétcáclệnhMATLABsau(lưutrongct6_4.m):  clc sys=zpk([‐611],[‐51],3) axisequal pzmap(sys) sgrid  3. Khai triển hàm truyền thành tổng các phân thứcđơn giản: Cho hàm truyền,tacóthểkhaitriểnnóthànhtổngcácphânthứcđơngiảnbằnglệnh residue.Hàmresiduechovectơcộtcácphầndưr,vectơcộtcácđiểmcựcpvà phầnnguyênk. Vídụ:Chohàmtruyền:  4s4ss 1s9s2 )s(H 23 3 +++ ++ =  TakhaitriểnhệbằngcáclệnhMATLABsau(lưutrong ct6_5.m): ts=[2091]; ms=[114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= 2 Nhưvậy:  4s 1 1s 2 2 j2s j25.0 j2s j25.0 1s 2 2)s(H 2 + + + −= − − + + + + − +=  Ngượclại,cór,p,ktacóthểtìmhàmtruyềnbằngcáclệnhMATLABsau(lưu trong 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= 2091 ms= 1144  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:  )t(uya dx yd a dx yd a dx yd a 01 1n 1n 1n n n n =++++ − − − L  Đặtx 1=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làphươngtrìnhkhônggian‐trạngthái Nếumộthệđiềukhiể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:  24s26s9s 2s7s )s(H 23 2 +++ ++ =  Ta biến hệ về dạng không gian‐trạng thái b ằng các lệnh MATLAB sau(lưu trong ct6_7m): 125 ts=[172]; ms=[192624]; [a,b,c,d]=tf2ss(ts,ms) a= ‐9‐26‐24 100 010 b= 1 0 0 c= 172 d= 0  5.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các lệnhsau(lưutrong ct6_8.m) a=[010;001;‐1‐2‐3]; b=[10;0;0]; c=[100]; d=[0]; [ts,ms]=ss2tf(a,b,c,d,1)  ts= 010.0030.0020.00  ms= 1.003.002.001.00  Nhưvậyhàmtruyềnlà:  1s2s3s )2s3s(10 )s(G 23 2 +++ ++ =   6. Nghiệm của phương trình trạng thái:Đểtìm nghiệm của phương trình 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ệtuyếntính 126   )t(u 1 1 1 x x x 6116 100 010 x x x 3 2 1 3 2 1 ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ −−− = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ & & & y=[110] x Chođiềukiệnđầu x(0)=[10.5‐0.5].Tìmx(t),y(t)vớiu(t)làhàmđơnvị.Ta dùngcáclệnhMATLABsau(lưutrong ct6_9.m): a=[010;001;‐6‐11‐6]; b=[1;1;1]; c=[1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điềukiệnđầunênnghiệmyxuấtpháttừ1.5 Khiu(t)làsin2πttatínhđápứngnhưsau(lưutrong ct6_10.m): a=[010;001;‐6‐11‐6]; b=[1;1;1]; c=[1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)  7.Biếnđổisơđồkhối :Mộtsơđồkhốiđiềukhiểnthườngrấtphứctạp.Vìv ậy tathườngphảibiếnđổinóvềdạngđơngiảnbằnglệnh connect. Vídụ:Xétsơđồkhốisau:       127 2 4 s 4 + 1 1 0.5 2s 1 + 3s 1 + 5 8 2 - + + - - 2 7 6 5 4 3    Xácđịnhphươngtrìnhtrạngtháivàhàmtruyềncủatoánbộsơđồ: Gọi ni và di là tử số và mẫu số của hàm truyền của khối thứ i. Ta có các lệnh(lưutrong 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00 21‐6‐7‐8  32000 43000 54000 63000 74000  850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 01.0‐3.0 B= 0.5 0 0 C= 128 001 D= 0 [ts,ms]=ss2tf(A,B,C,D,1) ts= 0002.0 ms= 1.013.056.080.0 Hàmtruyềncủahệlà:  80s56s13s 1 )s(R )s(C 23 +++ =   8.Ghépnốicácsơđồkhối:Đểghépnốitạonênmộthệthốngtừnhiềuhệ thốngcontacóthểsửdụngmộtsốkhảnăngnhưsau:  sys1 b sys2 y1 y2 u sys1 a sys2 u2 u 1 y            sys1 d sys2 y u 1 u2 z2 z1 v2 v 1 u u2 u1 sys1 c sys2 y1 y2  u e sys2 v2 sys1 y 1 z1     f u y sys1 sys2 y   a.Ghéptheohàng:Ghéptheohàng(hìnha)cónghĩalàghépđầuracủa các hệ thống con cóđầu vào khác nhau. Hàm sys(sys1,sys2) thực hiện việc ghépnày.TacócáclệnhMATLABsau(lưutrong 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làghépđầuracủa hệ thốngconcóchungđầuvào.TacócáclệnhMATLABsau(lưutrong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cáchệthốngconbanđầu.Đểghéptadùnglệnh append.CáclệnhMATLAB(lưutrong 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ưtrênhìnhd.Hàmparallel dùngđểghép song song các hệ thống con. Các lệnh MATLAB (lưu trong 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ưtrênhìnhe.Hàmseriesdùngđể ghéptuầntựcáchệthốngcon.CáclệnhMATLAB(lưutrong 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cáchệthốngcon.CáclệnhMATLAB(lưutrong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ramôhìnhkhônggian‐trạng tháitừcáchệthốngcon.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cáckhối.Ngaycảkhi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á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 consysjhệthốngdạngđường chéo.Tiếpđếndùng lệnh:  sysc=connect(sys,Q,inputs,outputs) đểnốicáchệthốngconvàrútramôhìnhkhônggian‐trạngtháisysccủatoàn bộhệthống.MatrậnQchỉracáchnốicáchệthốngcontrênsơđồ.Mỗiđầu vàocủasyscó mộthàng,trongđóphầntửđầutiêncủamỗihànglàsốđầu vào.các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7l ấytừđầura 2,15và6trongđóđầuvàocủa15âmthì hàngtươngứngcủaQlà[72‐156].Hàngnàokhôngđủphầntửthìthêmsố 0.Tatìmmôhìnhkhônggiantrạng‐tháicủ asơđồsau:  u1 DuCxy BuAxx += + = & 5s 10 + 2s )1s(2 + + sys1 3 3 2 1 u2 4 4 2 1 uc - + sys2  y1  y2      sys3  Tacầnnốiđầura1và4vàođầuvào3(u 2)vàđầura3(y2)vàođầuvào4nên matrậnQlà: Q=[31‐4 430]; Sơđồcó2đầuvàotừcáchệthốngkháclàucvàu1(đầuvào1 và2củasys)và 2đầurađưađếncáchệthốngkháclày 1vày2(đầura2và3củasys).Nh ưvậy matrâninputsvà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trongct6_18.m)nhưsau: clc 131

Ngày đăng: 01/08/2014, 21:20

TỪ KHÓA LIÊN QUAN

w