Bài tập điều khiển tự động
Trang 1Bà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+
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
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)
Ki/s
1 T.s+1
-Ls
Trang 2n =
-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
Trang 30.4086 - 0.3899i 0.5160 >> step(W)
MATLAB cho kết quả sau:
T=15;L=9;Kp=1.2*(T/L);n=3;Ti=2*L;Td=0.5*L;
Trang 4Hì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
Trang 5z =
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
Trang 6>> 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:
Trang 7Hì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:
Trang 8Hì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
Trang 9z =
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)
Trang 10Transfer 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á độ:
Trang 11Hì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
Trang 12Hì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
Trang 130.4086 + 0.3899i 0.4086 - 0.3899i 0.5160
e 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)
Trang 14options=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 :
Trang 15f-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
Trang 1638 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 :
Trang 17Hì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