Tài liệu Bài tập dài môn học 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+ 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....
17 trang |
Chia sẻ: haohao | Lượt xem: 2175 | Lượt tải: 1
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
Các file đính kèm theo tài liệu này:
- Bài tập dài môn học Lý thuyết điều khiển tự động.pdf