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:
16 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3277 | Lượt tải: 0
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 cha ®¹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:
- Bài tập dài môn lý thuyết điều khiển tự động (làm với matlap).doc