18
Khảo sát ứng dụng MATLAB trong điều khiển tự động NHÓM LỆNH VỀ QUỸ ĐẠO NGHIỆM (Roots Locus) 1. Lệnh PZMAP a) Công dụng: Vẽ biểu đồ cực-zero của hệ thống. b) Cú pháp: [p,z]= pzmap(num,den) [p,z]= pzmap(a,b,c,d) [p,z]= pzmap(a,b,c,d) c) Giải thích: Lệnh pzmap vẽ biểu đồ cực-zero của hệ LTI. Đối với hệ SISO thì hàmtruyền được vẽ. Nếu bỏ qua các đối số ngõ ra thì lệnh pzmap sẽ vẽ ra biều đồ c pzmap là phương tiện tìm ra các cực và zero tuyền đạt của hệ M pzmap(a,b,c,d) vẽ các cực và zero của hệ không gian trạng thái t các hệ thống MIMO, lệnh sẽ vẽ tất cả các zero truyền đạt từ tất cả c ra. Trong mặt phẳng phức, các cực được biểu diễn bằng dấu × còn các zero được biểu diễn bằ dấu o. pzmap(num,den) vẽ các cực và zero của hàm truyền trong mặt phẳng den chứa các hệ số tử số và mẫu số theo chiều giảm dần số mũ của s. pzmap(p,z) vẽ các cực và zero trong mặt phẳng phức. Vector cột p vector cột z chứa tọa độ các zero trong mặt phẳng phức. Lệnh này vẽ sẵn trong mặt phẳng phức. Nếu giữ lại các đối số ngõ ra thì : [p,z]= pzmap(num,den) [p,z]= pzmap(a,b,c,d) [p,z]= pzmap(a,b,c,d) tạo ra các ma trận p và z trong đó p chứa các cực còn z chứa các d) Ví dụ: (Trích trang 11-174 sách ‘ Control system Toolbox’ ) Vẽ các cực và zero của hệ liên tục có hàm truyền : 3 2 1 5 2 ) ( 2 2 + + + + = s s s s s H num = [2 5 1]; den = [1 2 3]; pzmap(num,den) title(‘Bieu do cuc-zero’)

Quy dao nghiem

Embed Size (px)

Citation preview

Kho st ng dng MATLAB trong iu khin t ng

NHM LNH V QU O NGHIM (Roots Locus)1. Lnh PZMAP a) Cng dng: V biu cc-zero ca h thng. b) C php: [p,z]= pzmap(num,den) [p,z]= pzmap(a,b,c,d) [p,z]= pzmap(a,b,c,d) c) Gii thch: Lnh pzmap v biu cc-zero ca h LTI. i vi h SISO th cc cc v zero ca hmtruyn c v. Nu b qua cc i s ng ra th lnh pzmap s v ra biu cc-zero trn mn hnh. pzmap l phng tin tm ra cc cc v zero tuyn t ca h MIMO. pzmap(a,b,c,d) v cc cc v zero ca h khng gian trng thi trong mt phng phc. i vi cc h thng MIMO, lnh s v tt c cc zero truyn t t tt c cc ng vo ti tt c cc ng ra. Trong mt phng phc, cc cc c biu din bng du cn cc zero c biu din bng du o. pzmap(num,den) v cc cc v zero ca hm truyn trong mt phng phc. Vector num v den cha cc h s t s v mu s theo chiu gim dn s m ca s. pzmap(p,z) v cc cc v zero trong mt phng phc. Vector ct p cha ta cc cc v vector ct z cha ta cc zero trong mt phng phc. Lnh ny v cc cc v zero c tnh sn trong mt phng phc. Nu gi li cc i s ng ra th : [p,z]= pzmap(num,den) [p,z]= pzmap(a,b,c,d) [p,z]= pzmap(a,b,c,d) to ra cc ma trn p v z trong p cha cc cc cn z cha cc zero. d) V d: (Trch trang 11-174 sch Control system Toolbox) V cc cc v zero ca h lin tc c hm truyn : 2 s 2 + 5s + 1 H (s) = 2 s + 2s + 3 num = [2 5 1]; den = [1 2 3]; pzmap(num,den) title(Bieu do cuc-zero)

Kho st ng dng MATLAB trong iu khin t ng

2. Lnh RLOCFIND a) Cng dng: Tm li qu o nghim vi tp hp nghim cho trc. b) C php: [k,poles]= rlocfind(a,b,c,d) [k,poles]= rlocfind(num,den) [k,poles]= rlocfind(a,b,c,d,p) [k,poles]= rlocfind(num,den,p) c) Gii thch: Lnh rlocfind to ra li qu o nghim kt hp vi cc cc trn quo nghim. Lnh rlocfind c dng cho h SISO lin tc v gin on. [k,poles]= rlocfind(a,b,c,d) to ra du x trong ca s ha m ta dng chn mt im trn qu o nghim c sn. li ca im ny c to ra trong k v cc cc ng vi li ny nm trong poles. s dng lnh ny th qu o nghim phi c sn trong ca s ha. [k,poles]= rlocfind(num,den) to ra du x trong ca s ha m ta dng chn mt im trn qu o nghim ca h thng c hm truyn G = num/den trong c num v den cha cc h s a thc theo chiu gim dn s m ca s hoc z. [k,poles]= rlocfind(a,b,c,d,p) hoc [k,poles]= rlocfind(num,den,p) to ra vector li k v vector cc cc kt hp pole vi mi thnh phn trong mi vector ng vi mi nghim trong p. d) V d: (Trch t trang 11-180 sch Control System Toolbox) Xc nh li hi tip cc cc vng kn ca h thng c h s tt dn = 0.707 v c hm truyn :

Kho st ng dng MATLAB trong iu khin t ng 2 s 2 + 5s + 1 H (s) = 2 s + 2s + 3 num = [2 5 1]; den = [1 2 3]; % V qu o nghim: rlocus(num,den);title(Do loi quy dao nghiem); % Tm li ti im c chn: rlocfind(num,den); Sau khi nhp xong lnh, trn mn hnh ca Matlab s xut hin dng ch: Select a point in the graphics window v trn hnh v c thc ta ko chut v chn im ta c qu o nghim:

3. Lnh RLOCUS a) Cng dng: Tm qu o nghim Evans. b) C php: r = rlocus(num,den) r = rlocus(num,den,k) r = rlocus(a,b,c,d) r = rlocus(a,b,c,d,k) c) Gii thch:

Kho st ng dng MATLAB trong iu khin t ng Lnh rlocus tm qu o nghim Evans ca h SISO. Qu o nghim c dng nghin cu nh hng ca vic thay i li hi tip ln v tr cc ca h thng, cung cp cc thng tin v p ng thi gian v p ng tn s. i vi i tng iu khin c hm truyn G(s) v khu b chnh hi tip k*f(s), hm truyn vng kn l : g ( s) g ( s) h( s ) = = 1 + kg ( s ) f ( s ) q ( s ) Nu b qua cc i s ng ra th lnh rlocus s v ra qu o trn mn hnh. Lnh rlocus dng cho c h lin tc v gin on. r = rlocus(num,den) v qu o nghim ca hm truyn : num( s) q(s) = 1 + k =0 den( s) vi vector li k c xc nh t ng. Vector num v den ch ra h t s v mu s theo chiu gim dn s ca s hoc z. num( s ) num(1) s nn 1 + num(2) s nn 2 + ...... + num(nn) = den( s ) den(1) s nd 1 + den(2) s nd 2 + ...... + den(nd ) r = rlocus(a,b,c,d) v ra qu o nghim ca h khng gian trng ti SISO lin tc v gin on vi vector li c xc nh t ng r = rlocus(num,den,k) hoc r = rlocus(a,b,c,d,k) v ra qu o nghim vi vector li k do ngi s dng xc nh. Vector k cha cc gi tr v li m nghim h vng kn c tnh. Nu s dng cc i s ng ra th : [r,k] = rlocus(num,den) [r,k] = rlocus(num,den,k) [r,k] = rlocus(a,b,c,d) [r,k] = rlocus(a,b,c,d,k) to ra ma trn ng ra cha cc nghim v vector li k. Ma trn r c length(k) hng v (length(den) 1) ct, ng ra cha v tr cc nghim phc. Mi hng trong ma trn tng ng vi mt li trong vector k. Qu o nghim c th c v bng lnh plot(r,x). d) V d: (Trch t trang 11-183 sch Control System Toolbox) Tm v v qu o nghim ca h thng c hm truyn : 2 s 2 + 5s + 1 H (s) = 2 s + 2s + 3 % Xc nh hm truyn : num = [2 5 1]; den = [1 2 3]; % V qu o nghim : rlocus(num,den) title(Quy dao nghiem)

Kho st ng dng MATLAB trong iu khin t ng

4. Lnh SGRID a) Cng dng: To li cho qu o nghim v biu cc-zero lin tc. b) C php: sgrid sgrid(new) sgrid(z,wn) sgrid(z,wn,new) c) Gii thch: Lnh sgrid to li cho qu o nghim v biu cc-zero lin tc trong mt phng s. ng li v l cc ng hng s t s tt dn () v tn s t nhin ( n). ng t s tt dn c v t 0 ti 1 theo tng nc l 0.1. sgrid(new) xa mn hnh ha trc khi v v thit lp trng thi hold on qu o nghim hay biu cc-zero c v ln li bng cc lnh : sgrid(new) rlocus(num,den) hoc pzmap(num,den) sgrid(z,wn) v cc ng hng s t l tt dn c ch nh trong vector z v v ng tn s t nhin c ch nh trong vector wn. sgrid(z,wn,new) xa mn hnh ha trc khi v cc ng t s tt dn v tn s t nhin c ch nh trong vector z v wn. Trng thi hold on c thit lp. d) V d: Trch t trang 11-200 sch Control System Toolbox V li trong mt phng s trn qu o nghim ca h thng c hm truyn : num = [2 5 1]; % ta c th thay i 2 dng num=, den= thnh dng lnh sau:

Kho st ng dng MATLAB trong iu khin t ng den = [1 2 3]; % H(s)=tf([2 5 1],[1 2 3]); rlocus(num,den) title(Quy dao nghiem) sgrid

5. Lnh ZGRID a) Cng dng: V li t l tt dn v tn s t nhin cho qu o nghim gin on. b) C php: zgrid zgrid(new) zgrid(z,wn) zgrid(z,wn,new) c) Gii thch: Lnh zgrid to li qu o cho nghim hoc biu cc-zero trong mt phng z. Cc ng hng s t l tt dn () v tn s t nhin chun ha s c v. c thay i t 0 ti 1 theo tng nc thay i l 0.1 v tn s t nhin c v t 0 ti vi tng nc thay i l /. zgrid(new) xa mn hnh ha trc khi v li v thit lp trng thi hold on qu o nghim hoc biu cc-zero c v ln li s dng cc lnh : zgrid('new') rlocus(num,den) hoc pzmap(num,den)

Kho st ng dng MATLAB trong iu khin t ng zgrid(z,wn) v hng s tt dn c ch nh trong vector z v v hng s tn s t nhin cho cc tn s chun ha c ch nh trong vector wn. Cc tn s chun ha c th c v bng lnh zgrid(z,wn/Ts) vi tn s l thi gian ly mu. zgrid(z,wn,new) xa mn hnh ha trc khi v t s tt dn v tn s t nhin c ch nh trong vector z v wn. Trng thi hold on c thit lp. zgrid([ ],[ ]) s v ra vng trn n v. d) V d: Trch t 11-236 sch Control System Toolbox V li trong mt phng cho qu o nghim ca h thng c hm truyn : 2 z 2 3.4 z + 1.5 H ( z) = 2 z 1.6 s + 0.8 num = [2 -3.4 1.5]; den = [1 -1.6 0.8]; axis(square) zgrid(new) rlocus(num,den) title(Ve luoi cho quy dao nghiem)

Kho st ng dng MATLAB trong iu khin t ng

CC BI TPV QU O NGHIMBi 1: KGH =

k vi k = 2 s(s + 4)(s + 5)

num = 2; den = [1 9 20 0]; rlocus(num,den)

10 8 6 4 2 0 -2 -4 -6 -8 -10 -7

Imag Ax is

-6

-5

-4

-3 -2 Real Axis

-1

0

1

2

Kho st ng dng MATLAB trong iu khin t ng

T th cho ta: 1. im cc: 0 ,-4,-5. 2. Qu o nghim c 3 nhnh. 3. im zero v cng ( ). 4. im tch c xc nh bng cch t ca s MATLAB ta nhp: num = 2; den = [1 9 20 0]; rlocus(num,den); rlocfind(num,den) Sau khi nhp lnh th trn ca s lnh s xut hin hng ch: Select a point in the graphics window (hy chn 1 im trn th minh ha). Trn th s c thc cho ta chn im ko r chut chn im cn chn. selected_point = -1.4516 im tch c gi tr: -1.4516 Giao im ca qu o nghim vi trc o (tng t nh tm im tch): +4.472j, -4.472j. T gi tr ti giao im ca qu o nghim vi trc o ta th vo phng trnh c trng: F(s) = s3+9s2+20s+k = 0 F(jw) = -jw3-9w2+20jw+k = 0 kgh = 180 Kt lun: h thng s n nh khi 0 < k < 180 Bi 2: KGH =

k s(s + 4)(s + 4s + 20 )2

(k = 2)

num = 2; den = [1 8 36 80 0]; rlocus(num,den)

Kho st ng dng MATLAB trong iu khin t ng

5 4 3 2 1 0 -1 -2 -3 -4 -5 -6

Imag Ax is

-5

-4

-3

-2 Real Axis

-1

0

1

2

T th cho ta: 1. im cc: 0,-4,-2+4j,-2-4j; 2. Qu o nghim c 4 nhnh 3. im zero v hn ( ) 4. im tch c xc nh bng cch t ca s MATLAB ta nhp: num = 2; den = [1 8 36 80 0]; rlocus(num,den); rlocfind(num,den); Sau khi nhp lnh th trn ca s lnh s xut hin hng ch: Select a point in the graphics window (hy chn 1 im trn th minh ha). Trn th s c thc cho ta chn im ko r chut chn im cn chn. selected_point = -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j im tch c gi tr: -2, -2.0184 + 2.4561j, -2.0184 - 2.4561j Giao im ca qu o nghim vi trc o (tng t nh tm im tch): +3.16j, -3.16j T gi tr ti giao im ca qu o nghim vi trc honh ta th vo phng trnh c trng: F(jw) = w4-8jw3-36w2+80jw+k kgh = 260 Kt lun : h thng s n nh khi 0 < k < 260 Bi 3: KGH =

num = 2; den =[1 0 0 ]; rlocus(num,den)

k (k = 2) s2

Kho st ng dng MATLAB trong iu khin t ng

1.5

1

0.5 Imag Ax is

0

-0.5

-1

-1.5 -1

-0.8

-0.6

-0.4

-0.2

0 0.2 Real Ax is

0.4

0.6

0.8

1

T th ta c: 1. im cc : 0 2. Qu o nghim c 2 nhnh 3. im zero v hn ( ) im tch c gi tr: 0 Kt lun: h thng khng n nh. Bi 4: KGH =

num = 2; den =[1 0 0 0]; rlocus(num,den)

k s3

Kho st ng dng MATLAB trong iu khin t ng

1 0.8 0.6 0.4 0.2 Imag Ax is 0 -0.2 -0.4 -0.6 -0.8 -1 -1

-0.8

-0.6

-0.4

-0.2

0 0.2 Real Ax is

0.4

0.6

0.8

1

T th ta c: 1. im cc: 0. 2. Qu o nghim c 3 nhnh. 3. im zero v hn (). 4. im tch c gi tr: 0 Kt lun: h thng khng n nh (v hai nhnh ca qu o nghim s lun nm na phi mt phng phc). Bi 5: KGH =

k (k = 1, t = 2) s(ts+ 1)

num = 1; den = [2 1 0]; rlocus(num,den)

Kho st ng dng MATLAB trong iu khin t ng

2 1.5 1 0.5 Imag Ax is 0 -0.5 -1 -1.5 -2 -1

-0.8

-0.6

-0.4

-0.2

0 0.2 Real Ax is

0.4

0.6

0.8

1

1. im cc : 0,-0.5 2. Qu o nghim c 2 nhnh 3. im zero v hn ( ) 4. im tch c c xc nh bng cch t ca s MATLAB ta nhp: num = 1; den = [2 1 0 ]; rlocus(num,den); rlocfind(num,den) Sau khi nhp lnh th trn ca s lnh s xut hin hng ch: Select a point in the graphics window (hy chn 1 im trn th minh ha). Trn th s c thc cho ta chn im ko r chut chn im cn chn. selected_point = -0.253 im tch c gi tr: -0.253Kt lun: h thng lun n nh (v qu o nghim lun nm na tri mt phng phc). Bi 6: KGH =

num = [1 1]; den = [1 0 0]; rlocus(num,den)

k(ts+ 1 ) (k = 1, t = 1) 2 s

Kho st ng dng MATLAB trong iu khin t ng

1 0.8 0.6 0.4 0.2 Imag Ax is 0 -0.2 -0.4 -0.6 -0.8 -1 -3

-2.5

-2

-1.5

-1 -0.5 Real Axis

0

0.5

1

1. im cc: 0 2. Qu o nghim c 2 nhnh 3. im zero , -1 4. im tch c c xc nh bng cch t ca s MATLAB ta nhp: num = [1 1]; den = [1 0 0]; rlocus(num,den); rlocfind(num,den) Sau khi nhp lnh th trn ca s lnh s xut hin hng ch: Select a point in the graphics window (hy chn 1 im trn th minh ha). Trn th s c thc cho ta chn im ko r chut chn im cn chn. selected_point = -2 im tch c gi tr: -2. Kt lun: h thng bin n nh. Bi 7: KGH =

k (k = 1, t1 = 2, t2 = 1) (t1s + 1)(t2s + 1)

num = 1; den = [2 3 1]; rlocus(num,den)

Kho st ng dng MATLAB trong iu khin t ng

2 1.5 1 0.5 Im ag Ax is 0 -0.5 -1 -1.5 -2 -2

-1.5

-1

-0.5 Re a l A x i s

0

0.5

1

1. im cc: -0.5, -1. 2. Qu o nghim c 2 nhnh 3. im zero v hn ( ) 4. im tch c c xc nh bng cch t ca s MATLAB ta nhp: num = 1; den = [2 3 1]; rlocus(num,den); rlocfind(num,den) Sau khi nhp lnh th trn ca s lnh s xut hin hng ch: Select a point in the graphics window (hy chn 1 im trn th minh ha). Trn th s c thc cho ta chn im ko r chut chn im cn chn. selected_point = -0.75. im tch c gi tr: -0.75 Kt lun: h thng lun n nh. Bi 8: KGH =

( s + 1)( s 1)( s+ 4) 2

k

(k = 10)

num =10; den = [ 1 8 15 -8 -16]; rlocus(num,den)

Kho st ng dng MATLAB trong iu khin t ng

5 4 3 2 1 Im ag Ax is 0 -1 -2 -3 -4 -5 -6

-5

-4

-3

-2 -1 Real Ax is

0

1

2

3

1. im cc : 1, -1 v 1 cc kp -4. 2. Qu o nghim c 4 nhnh. 3. im zero: c 4 zero v cng ( ). 4. im tch c c xc nh bng cch t ca s MATLAB ta nhp: num =10; den = [ 1 8 15 -8 -16]; rlocus(num,den); rlocfind(num,den) Sau khi nhp lnh th trn ca s lnh s xut hin hng ch: Select a point in the graphics window (hy chn 1 im trn th minh ha). Trn th s c thc cho ta chn im ko r chut chn im cn chn. selected_point = 0.2308, -4 im tch c gi tr: 0.2308, -4 Kt lun: H thng lun khng n nh v tn ti 1 nghim ca phng trnh c trng nm bn phi mt phng phc. Bi 9: Trch t trang 5-19 sch Control System Toolbox Bi ny tng hp cc lnh: h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]); subplot(221) bode(h) subplot(222) step(h) subplot(223) pzmap(h) subplot(224)

Kho st ng dng MATLAB trong iu khin t ng plot(rand(1,100) plot(rand(1,100))B o d e D ia g ra m s P h a s e (d e g ); M a g n it u d e (d B )From : U(1) 20 1 .5

S te p R e s p o n s eFrom: U(1 )

0

A m p lit u d e

1 To: Y (1)

-20 100 To: Y (1)

0 .5

0

-100 1 0 -1 100 101

0 0 2 4 6 8 10 12

F re q u e n c y (ra d / s e c ) P o le -z e ro m a p 14

T im e (s e c . ) b a i to n g h o p

0 .82

Im a g A x i s

0 .60

0 .4-2

0 .2-4 -3 -2 -1 0 1

0 0 50 100

R e a l A x is

Bi 10: Cho hm truyn nh sau: s +4 G s) = ( (s + 1)(s + 2) Vit theo cu trc sau ta c c th biu din qu o nghim: num=[1 4]; den=conv([1 1],[1 2]) rlocus(num,den) Kt qu nh hnh sau:

Kho st ng dng MATLAB trong iu khin t ng