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

-Khâu điều chỉnh PID có hàm truyền: WPID(s)=Kp(1+ s Ti. 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: Input + + + Output - + Ki=Kp/Ti; Kd=Kp.Td;

pdf17 trang | Chia sẻ: oanhnt | Lượt xem: 2166 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài tập dài môn học 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+ sTi. 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: Input + + + Output - + 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) Kp Ki/s KD.s 1 T.s+1 e- Ls 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 σmax= 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à σ 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ó σmax=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: σmax=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 σmax=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 :σmax=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:σmax=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= ∫∞ 0 )(2^ dtte 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=∑ = N i PIDie 1 )(2^ 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
Tài liệu liên quan