Bài tập dài môn lý thuyết điều khiển tự động

Bài tập dài môn học Lý thuyết điều khiển tự động I.Thiết kế hệ thống điều khiển tự động có: -Khâu điều chỉnh PID có hàm truyền: WPID(s)=Kp(1+ +Td.s) -Đối tượng điều khiển là một khâu quán tính bậc nhất và khâu trễ có hàm truyền : WĐT(s)= e-Ls/(Ts+1) -Các tham số L,T của đối tương điều khiển: L=9;T=15 *Sơ đồ khối hệ thống điều khiển như sau:

doc16 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2714 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài tập dài môn lý thuyết điều khiển tự động, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bµi tËp dµi m«n häc Lý thuyÕt ®iÒu khiÓn tù ®éng I.ThiÕt kÕ hÖ thèng ®iÒu khiÓn tù ®éng cã: -Kh©u ®iÒu chØnh PID cã hµm truyÒn: WPID(s)=Kp(1+ +Td.s) -§èi t­îng ®iÒu khiÓn lµ mét kh©u qu¸n tÝnh bËc nhÊt vµ kh©u trÔ cã hµm truyÒn : W§T(s)= e-Ls/(Ts+1) -C¸c tham sè L,T cña ®èi t­¬ng ®iÒu khiÓn: L=9;T=15 *S¬ ®å khèi hÖ thèng ®iÒu khiÓn nh­ sau: Kp 1 T.s+1 Ki/s e-Ls Input + + + Output KD.s - + Ki=Kp/Ti; Kd=Kp.Td; II.TÝnh to¸n c¸c tham sè Kp,Ti,Td ®¶m b¶o tÝnh æn ®Þnh cña hÖ thèng: -Theo Ziegler-Nichols th× ®Ó ®¶m b¶o tÝnh æn ®Þnh cña hÖ thèng trªn cÇn cã c¸c tham sè Kp,Ti,Td tho¶ m·n b¶ng sau øng víi tõng bé ®iÒu khiÓn: C¸c bé ®iÒu khiÓn Kp Ti Td P T/L ¥ 0 PI 0.9T/L L/0.3 0 PID 1.2T/L 2L 0.5L III.XÐt tÝnh æn ®Þnh.T×m c¸c ®iÓm cùc vµ ®iÓm kh«ng. Kh¶o s¸t chÊt l­îng cña hÖ thèng víi tõng kh©u ®iÒu khiÓn. 1.Kh©u ®iÒu khiÓn P : a) Ch­¬ng tr×nh ch¹y trªn MATLAB: >>L=9;T=15;Kp=T/L;n=3; >> [n,d]=pade(L,n) n = -1.0000 1.3333 -0.7407 0.1646 d = 1.0000 1.3333 0.7407 0.1646 >> Wtre=tf(n,d) Transfer function: -s^3 + 1.333 s^2 - 0.7407 s + 0.1646 ------------------------------------ s^3 + 1.333 s^2 + 0.7407 s + 0.1646 >> Wdt=tf(1,[T 1])*Wtre Transfer function: -s^3 + 1.333 s^2 - 0.7407 s + 0.1646 --------------------------------------------- 15 s^4 + 21 s^3 + 12.44 s^2 + 3.21 s + 0.1646 >> Wpid=Kp; >> W=feedback(Wpid*Wdt,1) Transfer function: -1.667 s^3 + 2.222 s^2 - 1.235 s + 0.2743 ------------------------------------------------ 15 s^4 + 19.33 s^3 + 14.67 s^2 + 1.975 s + 0.439 >> [p z]=pzmap(W) p = -0.5895 + 0.6817i -0.5895 - 0.6817i -0.0549 + 0.1817i -0.0549 - 0.1817i z = 0.4086 + 0.3899i 0.4086 - 0.3899i 0.5160 >> step(W) MATLAB cho kÕt qu¶ sau: H×nh 1 -NhËn thÊy r»ng víi Kp nhËn gi¸ trÞ trong b¶ng Ziegler-Nichols th× hÖ thèng æn ®Þnh víi thêi gian qu¸ ®é lµ 77.7sec vµ chØ tiªu chÊt l­îng smax= 42% >20% b)ChØnh ®Þnh l¹i c¸c tham sè cña luËt ®iÒu khiÓn P Nh­ vËy víi Kp = T/L ch­a ®¹t møc chØ tiªu yªu cÇu lµ s max d­íi 20%.Ta chØnh l¹i gi¸ trÞ cña Kp b»ng 0.5*(T/L) th× ®­îc qu¸ tr×nh qu¸ ®é cña hÖ thèng vµ c¸c ®iÓm cùc ®iÓm kh«ng míi nh­ sau:(H×nh 2) T=15;L=9;Kp=1.2*(T/L);n=3;Ti=2*L;Td=0.5*L; H×nh 2 Tõ ®å thÞ trªn ta cã smax=4.25% < 20% vµ thêi gian qu¸ ®é lµ 59sec<77.7sec (Thêi gian qu¸ ®é thùc nghiÖm Z-N).VËy víi Kp=0.5*(T/L) lµ ®¹t yªu cÇu. -C¸c ®iÓm cùc vµ c¸c ®iÓm kh«ng míi: >> [p z]=pzmap(W) p = -1.0096 -0.2899 + 0.1343i -0.2899 - 0.1343i -0.0771 + 0.0474i -0.0771 - 0.0474i z = 0.4086 + 0.3899i 0.4086 - 0.3899i 0.5160 -0.4208 -0.0792 2.Kh©u ®iÒu chØnh PI a) Ch­¬ng tr×nh ch¹y trªn Matlab: >> L=9;T=15;Kp=0.9*(T/L);Ti=L/0.3;n=3; >> [n,d]=pade(L,n) n = -1.0000 1.3333 -0.7407 0.1646 d = 1.0000 1.3333 0.7407 0.1646 >> Wtre=tf(n,d) Transfer function: -s^3 + 1.333 s^2 - 0.7407 s + 0.1646 ------------------------------------ s^3 + 1.333 s^2 + 0.7407 s + 0.1646 >> Wdt=tf(1,[T 1])*Wtre Transfer function: -s^3 + 1.333 s^2 - 0.7407 s + 0.1646 --------------------------------------------- 15 s^4 + 21 s^3 + 12.44 s^2 + 3.21 s + 0.1646 >> Wpid=Kp*tf([Ti 1],[Ti 0]) Transfer function: 45 s + 1.5 ---------- 30 s >> W=feedback(Wpid*Wdt,1) Transfer function: -45 s^4 + 58.5 s^3 - 31.33 s^2 + 6.296 s + 0.2469 ------------------------------------------------------------ 450 s^5 + 585 s^4 + 431.8 s^3 + 64.96 s^2 + 11.23 s + 0.2469 >> [p z]=pzmap(W) p = -0.5801 + 0.6553i -0.5801 - 0.6553i -0.0574 + 0.1592i -0.0574 - 0.1592i -0.0250 z = 0.4086 + 0.3899i 0.4086 - 0.3899i 0.5160 -0.0333 >> step(W) MATLAB cho qu¸ tr×nh qu¸ ®é nh­ sau: H×nh 3 - HÖ thèng æn ®Þnh - ChØ tiªu chÊt l­îng: smax=8.75% - Thêi gian qu¸ ®é:104sec b)ChØnh ®Þnh l¹i c¸c tham sè cña luËt ®iÒu khiÓn PI -Ta tiÕn hµnh chØnh ®Þnh l¹i c¸c tham sè nh­ sau: Kp=1;Ti=24: * >> step(W) Qu¸ tr×nh qu¸ ®é míi nh­ sau: H×nh 4 -HÖ thèng æn ®Þnh -ChØ tiªu chÊt l­îng smax=0%<20% -Thêi gian qu¸ ®é:90.4sec<104sec(Thêi gian qu¸ ®é tÝnh theo c¸c tham sè trong b¶ng thùc nghiÖm Z-N) *C¸c ®iÓm cùc vµ ®iÓm kh«ng míi: >> [p z]=pzmap(W) p = -0.5630 + 0.5799i -0.5630 - 0.5799i -0.0871 + 0.1245i -0.0871 - 0.1245i -0.0331 z = 0.4086 + 0.3899i 0.4086 - 0.3899i 0.5160 -0.0455 3.Kh©u ®iÒu chØnh PID: a) Ch­¬ng tr×nh ch¹y trªn Matlab: >> L=9;T=15;Kp=1.2*(T/L);Ti=2*L;Td=0.5*L;n=3; >> [n,d]=pade(L,n) n = -1.0000 1.3333 -0.7407 0.1646 d = 1.0000 1.3333 0.7407 0.1646 >> Wtre=tf(n,d) Transfer function: -s^3 + 1.333 s^2 - 0.7407 s + 0.1646 ------------------------------------ s^3 + 1.333 s^2 + 0.7407 s + 0.1646 >> Wdt=tf(1,[T 1])*Wtre Transfer function: -s^3 + 1.333 s^2 - 0.7407 s + 0.1646 --------------------------------------------- 15 s^4 + 21 s^3 + 12.44 s^2 + 3.21 s + 0.1646 >> Wpid=Kp*tf([Ti*Td Ti 1],[Ti 0]) Transfer function: 162 s^2 + 36 s + 2 ------------------ 18 s >> W=feedback(Wpid*Wdt,1) Transfer function: -162 s^5 + 180 s^4 - 74 s^3 + 2.667 s^2 + 4.444 s + 0.3292 ---------------------------------------------------------- 108 s^5 + 558 s^4 + 150 s^3 + 60.44 s^2 + 7.407 s + 0.3292 >> [p z]=pzmap(W) p = -4.9063 -0.0556 + 0.2906i -0.0556 - 0.2906i -0.0746 + 0.0391i -0.0746 - 0.0391i z = 0.4086 + 0.3899i 0.4086 - 0.3899i 0.5160 -0.1111 + 0.0000i -0.1111 - 0.0000i >> step(W) *Qu¸ tr×nh qu¸ ®é: H×nh 5 -HÖ thèng æn ®Þnh. -ChØ tiªu chÊt l­îng :smax=250% >20% -Thêi gian qu¸ ®é : t=42.4sec b)ChØnh ®Þnh l¹i c¸c tham sè cña luËt ®iÒu khiÓn PID *Qu¸ tr×nh qu¸ ®é víi tham sè chØnh ®Þnh: Kp=0.2;Ti=8;Td=1 H×nh 6 -HÖ thèng æn ®Þnh -ChØ tiªu chÊt l­îng:smax=2.42% <20% -Thêi gian qu¸ ®é:t=20.4sec < 42.4sec(Thêi gian qu¸ ®é tÝnh theo tham sè trong b¶ng thùc nghiÖm Z-N) * C¸c ®iÓm cùc vµ c¸c ®iÓm kh«ng míi: p = -0.4453 + 0.3753i -0.4453 - 0.3753i -0.4644 -0.0342 + 0.0244i -0.0342 - 0.0244i z = -0.8536 0.4086 + 0.3899i 0.4086 - 0.3899i 0.5160 -0.1464 IV.TÝnh tham sè tèi ­u cña bé ®iÒu khiÓn PID dïng hµm Least-quares. 1.Hµm Least-quares. *Yªu cÇu cña ®Ò bµi lµ t×m c¸c tham sè Kp,Ki,Kd sao cho tæng sai sè trong suèt qu¸ tr×nh qu¸ ®é: J= lµ nhá nhÊt (min). *Do hÖ thèng xÐt lµ æn ®Þnh nªn ta chØ xÐt trong kho¶ng thêi gian [0 NT] + N ®ñ lín ®Õ cã sai sè taÞ ®ã gÇn b»ng 0. + T thêi gian lÊy mÉu. ÞEi phô thuéc vµo c¸c tham sè PID Þ J= 2.C¸c hµm ®Ó tÝnh to¸n c¸c tham sè tèi ­u PID. a) Hµm asignpid: function assignpid(pid) assignin('base','Kp',pid(1)); assignin('base','Ki',pid(2)); assignin('base','Kd',pid(3)); *Thùc hiÖn g¸n 3 tham sè cña kh©u PID b»ng c¸c tham sè Kp,Ki,Kd. b) Hµm yout_1: function e=yout_1(pid,model,tspan) opt=simset('solver','ode5'); assignpid(pid); [t,x,y]=sim('bai_tap',tspan,opt); e=y-1; *Thùc hiÖn c¸c chøc n¨ng: -TÝnh ra sai sè. -G¸n c¸c tham sè. -Tù ch¹y cöa sæ Simulink c) Hµm lsqpid: function pid=lsqpid(pid0,model,tspan) options=foptions; options=[1 0.01 0.01]; pid=leastsq('yout_1',pid0,options,[],'bai_tap',tspan); 3.Qu¸ tr×nh tÝnh to¸n trªn m¸y: a)S¬ l­îc qu¸ tr×nh tÝnh: -Dïng 2 cöa sæ Command window &Simulink trong Matlab. -Víi s¬ kiÖn ban ®Çu Simulink sÏ ch¹y vµ ®­a ra kÕt qu¶ sai sè cho Command.Command tÝnh to¸n vµ ®­a trë l¹i kÕt qu¶ thm sè PID cho Simulink.Simulink l¹i ch¹y vµ ®­a ra tham sè...Qu¸ tr×nh sÏ kÕt thóc khi møc sai sè lµ kh«ng thay ®æi. b)C¸c b­íc tiÕn hµnh. *B­íc 1:Copy 3 file võa t¹o vµo th­ môc Optim/Toolbox/Matlab. *B­íc 2:T¹o m« h×nh 'bai_tap' trªn Simulink: H×nh 7 >> T=15;L=9;Kp=1.39;Ti=16.5;Td=3; >>[n,d]=pade(L,3); >>Wtre=tf(n,d); >>Wdt=tf(1,[T 1])*Wtre; >>Wpid=Kp*(1+tf(1,[Ti 0])+tf([Td 0],[1])) ; >>W=feedback(Wpid*Wdt,1); >> step(W) Cöa sæ scope se cho kÕt qu¶ ra mµn h×nh : H×nh 8 -LÊy c¸c gi¸ trÞ Kp,Ki,Kd ®· chØnh ®Þnh nhËp vµo kh©u PID sÏ ®­îc kÕt qu¶ trªn:(H×nh 8) -G¸n c¸c tham sè trong kh©u PID lµ Kp,Ki,Kd. Thêi gian trÔ lµ 9s *B­íc 3:Trªn cöa sæ Command Window dïng 2 lÖnh sau: >>pid0=[1.39 0.2 1.56]; >>pid=lsqpid(pid0,' bai_tap',[0 500]) Mµn h×nh sÏ hiÖn ra kÕt qu¶ : > In C:\MATLAB6p5\toolbox\optim\leastsq.m at line 53 In C:\MATLAB6p5\work\lsqpid.m at line 4 f-COUNT RESID STEP-SIZE GRAD/SD LAMBDA 4 1542.38 1 -111 10 1522.7 0.206 -87.3 1633.72 16 1487.42 0.923 -0.00732 1634.33 25 1486.02 11.1 -0.0105 70.4185 31 1485.96 0.989 9.98e-006 70.4201 38 1485.96 2.18 -1.65e-005 22.0823 45 1485.95 2.48 7.21e-007 11.0412 52 1485.95 1.94 -9.9e-006 3.74873 59 1485.94 2.73 -1.05e-005 1.00495 66 1485.92 1.58 8.06e-005 1.00563 72 1485.9 1.11 -0.000112 1.0088 79 1485.88 1.65 -6.91e-005 1.00899 85 1485.87 1.07 8.62e-005 1.01183 92 1485.86 1.74 -8e-005 0.367525 99 1485.84 1.56 -4.61e-006 0.143634 105 1485.82 1.11 -4.2e-005 0.151586 111 1485.81 1.08 -6.12e-005 0.152571 117 1485.8 1.22 -4.21e-005 0.15354 123 1485.8 1.07 2.59e-005 0.153756 129 1485.8 1.2 -3.22e-005 0.153987 135 1485.8 1.13 1.38e-005 0.154009 141 1485.8 1.1 -1.3e-005 0.154077 147 1485.8 1.29 2.21e-006 0.0770384 153 1485.8 1 5.13e-008 0.0770649 159 1485.8 1.17 4.34e-007 0.0385324 Optimization Terminated Successfully pid = 1.7531 0.0609 5.7370 Cöa sæ scope se cho kÕt qu¶ ra mµn h×nh : H×nh 9 Thêi gian qu¸ ®é lµ 40,6 s ®é qu¸ ®é ®iÒu chØnh lµ 4.25% KÕt luËn : c¸c tham sè tèi ­u cña hÖ thèng lµ Kp*= 1.7531 Ki*= 0.0609 Kd*=5.7370

Các file đính kèm theo tài liệu này:

  • docBài tập dài môn lý thuyết điều khiển tự động (làm với matlap).doc