You are on page 1of 22

Phn I: Yu cu thit k.

1. Thit k h thng iu khin t ng c:


B iu khin PID c hm truyn:
1
+Tds)
WPID(s)=KP(1+
Ti.s
Vi cc tham s Kp,Ti,Td chnh nh c.
i tng l khu tr v khu qun tnh bc nht c hm truyn:
WT(s)=

Ls

Ts + 1

Vi tham s L,T cho trc: L/T=0.1; T=20.


H thng c s nh hnh v:

2. Tnh ton cc tham s Kp,Ti,Td m bo tnh n nh v cht lng ca h thng (


theo Ziegler-Nichols ).
3. Xt tnh n nh ca h thng. Tm cc im cc v im khng.
4. Kho st cht lng, v chn cc tham s vi cc quy lut P, PI, PID m bo cho h
thng c cht lng tt nht ( chnh nh bng tay ).
5. Tnh tham s ti u ca b iu khin PID dng hm least-squares ( sai s bnh
phng nh nht ) vi cc tham s L v T cho.

Phn II: Tnh ton vi MATLAB.

1. Tnh ton cc tham s Kp, Ti, Td m bo tnh n nh v cht lng ca h thng:


T cng thc thc nghim ca Ziegler-Nichols:
Lut iu khin
P
PI
PID

Ti

10L/3
2L

Kp
T/L
0.9T/L
1.2T/L

Td
0
0
0.5L

Vi cc tham s:
L/T=0.1
T=20
Ta c:
L=2
T=20
Khi ta c cc tham s iu khin nh sau:
Lut iu khin
P
PI
PID

Ti

6.667
4

Kp
10
9
12

Td
0
0
1

2. Xt h thng vi cc lut iu khin P, PI, PID :


T hm truyn ca i tng:
WT(s)=

Ls

Ts + 1

Khai trin Taylor ta c hm truyn ca khu tr gn ng ( ly n bc 3 ) nh sau:


>> T=20;L=0.1*T;
>> [num,den]=pade(L,3);
>> Wtre=tf(num,den)
Transfer function:
-s^3 + 6 s^2 - 15 s + 15
------------------------------s^3 + 6 s^2 + 15 s + 15
>> Wdt=tf(1,[T 1])*Wtre
Transfer function:
-s^3 + 6 s^2 - 15 s + 15
------------------------------------------------------

20 s^4 + 121 s^3 + 306 s^2 + 315 s + 15


Vi cc lut P, PI, PID ta c cc thng s Kp, Ti, Td khc nhau.
Ta kho st h thng vi cc lut iu khin khc nhau:
a)Lut P:
B iu khin chnh l khu khuych i vi h s khuych i:
Kp=10
S khi ca h thng:

Chng trnh Matlab nh sau:


>> Kp=T/L;
>> Wpid=Kp;
>> Who=Wpid*Wdt;
>> Wkin=feedback(Who,1)
Transfer function:
-10 s^3 + 60 s^2 - 150 s + 150
------------------------------------------------------20 s^4 + 111 s^3 + 366 s^2 + 165 s + 165
>> pzmap(Wkin)
>> step(Wkin)
>> [p,z]=pzmap(Wkin)
T ta c th cc im cc v im khng:

th hm qu :

Ta cc im cc v im khng:
p=
-2.6008 + 3.0343i
-2.6008 - 3.0343i
-0.1742 + 0.6973i
-0.1742 - 0.6973i

z=
1.8389 + 1.7544i
1.8389 - 1.7544i
2.3222
Nhn xt:
- ng c tnh tn ca h thng h khng bao ly im Nyquist nn h thng n nh:

Cc im cc v im khng u nm bn tri ca trc o ( tc l cc im cc


c phn thc nh hn 0 ). Qu trnh qu tt dn theo thi gian.
- Tuy vy cht lng h thng cha cao:
+ Thi gian qu ca h thng: tqd=23.9s.
max= 48.4%.
+ qu iu chnh l:
+ Thi gian tng tc: ttt= 1.59s.
Nh vy thi gian qu ca h thng ln, qu iu chnh cao, vt qu yu
cu cho php.

Chnh nh cc tham s h thng c cht lng tt nht:


>> Kp=4.13;
>> Wpid=Kp;
>> Who=Wpid*Wdt;
>> Wkin=feedback(Who,1)
Transfer function:
-4.13 s^3 + 24.78 s^2 - 61.95 s + 61.95
----------------------------------------------------------------20 s^4 + 116.9 s^3 + 330.8 s^2 + 253.1 s + 76.95
>> step(Wkin)

>> pzmap(Wkin)

>> [p,z]=pzmap(Wkin)
p=
-2.4440 + 2.3583i
-2.4440 - 2.3583i
-0.4778 + 0.3245i
-0.4778 - 0.3245i
z=
1.8389 + 1.7544i
1.8389 - 1.7544i
2.3222
Sau khi hiu chnh ta thu c cc c tnh sau:
- Thi gian qu : tqd= 8.23s.
-

qu iu chnh:

max= 1.02 %.
Nh vy so vi ban u, h thng t cht lng cao, im cc cch xa trc o

hn.
b) Lut PI:
B iu khin bao gm khu khuych i h s Kp v khu tch phn c hm truyn:
Ki
Wtp =
s
S khi ca h thng:

Ta c chng trnh Matlab nh sau:


>> T=20;L=0.1*T;
>> [num,den]=pade(L,3);
>> Wtre=tf(num,den)
Transfer function:
-s^3 + 6 s^2 - 15 s + 15
-------------------------------s^3 + 6 s^2 + 15 s + 15
>> Wdt=tf(1,[T 1])*Wtre
Transfer function:
-s^3 + 6 s^2 - 15 s + 15
-----------------------------------------------------20 s^4 + 121 s^3 + 306 s^2 + 315 s + 15
>> Kp=0.9*T/L;
>> Ti=10*L/3;
>> Ki=Kp/Ti;
>> Wpid=Kp+tf(Ki,[1 0])
Transfer function:
9 s + 1.35
------------s
>> Who=Wpid*Wdt;
>> Wkin=feedback(Who,1)
Transfer function:
-9 s^4 + 52.65 s^3 - 126.9 s^2 + 114.8 s + 20.25
-----------------------------------------------------------------------------20 s^5 + 112 s^4 + 358.6 s^3 + 188.1 s^2 + 129.8 s + 20.25
>> pzmap(Wkin)
>> step(Wkin)
>> [p,z]=pzmap(Wkin)
p=

-2.5593 + 2.9173i
-2.5593 - 2.9173i
-0.1453 + 0.5756i
-0.1453 - 0.5756i
-0.1907
z=
1.8389 + 1.7544i
1.8389 - 1.7544i
2.3222
-0.1500
Qu trnh qu ca h thng:

Cc im cc v im khng:

Nhn xt:
Vi cc thng s ban u ca b iu khin PI, h thng n nh nhng cht lng
cha cao:
- Thi gian qu ln: tqd= 29.7s.
- qu iu chnh cao: max= 71.2%.
- Thi gian tng tc: ttt= 1.66s.
Chnh nh cc tham s h thng c cht lng tt hn:
>> Kp=0.213;
>> Ti=10*L/3;
>> Ki=Kp/Ti;
>> Wpid=Kp+tf(Ki,[1 0])
Transfer function:
0.213 s + 0.03195
-----------------------s
>> Who=Wpid*Wdt;
>> Wkin=feedback(Who,1)
Transfer function:

-0.213 s^4 + 1.246 s^3 - 3.003 s^2 + 2.716 s + 0.4793


--------------------------------------------------------------------------------20 s^5 + 120.8 s^4 + 307.2 s^3 + 312 s^2 + 17.72 s + 0.4793
Ta nhn c qu trnh qu :

th cc im cc v im khng:

Ta thy rng:
- Thi gian qu : tqd= 141s.
- qu iu chnh: max= 3.82%.
- Cc im cc v im khng:

p=
-1.8924 + 1.7658i
-1.8924 - 1.7658i
-2.1960
-0.0293 + 0.0278i
-0.0293 - 0.0278i
z=
1.8389 + 1.7544i
1.8389 - 1.7544i
2.3222
-0.1500

c) Lut PID:
Hm truyn ca b iu khin PID:
WPID(s)=
S khi ca h thng:

Chng trnh Matlab nh sau:


>> T=20;L=T*0.1;
>> [num,den]=pade(L,3);
>> Wtre=tf(num,den)
Transfer function:
-s^3 + 6 s^2 - 15 s + 15
-----------------------s^3 + 6 s^2 + 15 s + 15

Kd s 2 + K p s + Ki
s

>> Wdt=tf(1,[L 1])*Wtre


Transfer function:
-s^3 + 6 s^2 - 15 s + 15
----------------------------------2 s^4 + 13 s^3 + 36 s^2 + 45 s + 15
>> Kp=1.2*T/L;
>> Ti=2*L;
>> Td=0.5*L;
>> Kd=Kp*Td;
>> Ki=Kp/Ti;
>> Wpid=tf([Kd Kp Ki],[1 0]);
>> Who=Wpid*Wdt;
>> Wkin=feedback(Who,1)
Transfer function:
12 s^5 - 60 s^4 + 111 s^3 - 18 s^2 - 135 s - 45
----------------------------------------------10 s^5 - 73 s^4 + 75 s^3 - 63 s^2 - 150 s - 45
>> pzmap(Wkin)
>> step(Wkin)
>> nyquist(Who)
>> [p,z]=pzmap(Wkin)
p=
6.3349
0.9673 + 1.4460i
0.9673 - 1.4460i
-0.5000
-0.4694
z=
1.8389 + 1.7544i
1.8389 - 1.7544i
2.3222
-0.5000
-0.5000

Sau khi chy chng trnh Matlab ta thu c cc kt qu sau:

Qu trnh qu ca h thng:

th cc im cc v im khng:

ng c tnh tn:

Nhn xt:
Vi cc thng s ban u ca b iu khin PID tnh theo cng thc thc nghim
ca Ziegler-Nichols th h thng khng n nh. Tn ti im cc nm bn phi trc
o, qu trnh qu khng tt dn theo thi gian.
Chnh nh h thng n nh vi cht lng tt nht:
>> Kp=0.16;Kd=0.16;Ki=0.13;
>> Wpid=tf([Kd Kp Ki],[1 0]);
>> Who=Wpid*Wdt;

>> Wkin=feedback(Who,1)
Transfer function:
-0.16 s^5 + 0.8 s^4 - 1.57 s^3 + 0.78 s^2 + 0.45 s + 1.95
-----------------------------------------------------------1.84 s^5 + 13.8 s^4 + 34.43 s^3 + 45.78 s^2 + 15.45 s + 1.95
>> step(Wkin)
>> pzmap(Wkin)
>> nyquist(Who)
>> [p,z]=pzmap(Wkin)
p=
-4.4659
-1.3086 + 1.5164i
-1.3086 - 1.5164i
-0.2084 + 0.1254i
-0.2084 - 0.1254i
z=
1.8389 + 1.7544i
1.8389 - 1.7544i
2.3222
-0.5000 + 0.7500i
-0.5000 - 0.7500i
Kt qu:
-

th qu trnh qu :

th cc im cc v im khng:

c tnh tn:

Ta thy rng:
- Thi gian qu : tqd= 18.1s.
- qu iu chnh: max= 0.516%.
- ng c tnh tn bao ly im Nyquist. H thng l mt h n nh.

Phn III: M hnh ha h thng bng Simulink


-

Mc ch: Tnh cc tham s ti u ca b iu khin PID, dng hm least-squares


(sai s bnh phng b nht) vi cc tham s L v T cho.

H thng t cht lng tt nht khi hm

J= e

(t )dt t gi tr nh nht vi cc

gi tr ti u Kp, Ki, Kd.


M hnh ha h thng bng Simulink:

Cc thng s trong s khi:


- Cc tham s Kp, Ki, Kd ca b iu khin PID:
Kp= 1.45; Ki= 0.23 ; Kd= 0.23 ;
- Cc thng s ca khu bo ha:
Upper limit: 1.5
Lower limit:-1.5
- Khu Rate Limiter:
Rising slew rate: 1
Falling slew rate: -1
- Khu c tr : time delay: 1
Sau khi cho chy , kick chut vo Scope ta c hnh v:

Ta thy:
- Thi gian qu tq= 59.7s.
- qu iu chnh: max=15%.
By gi ta thay cc bin Kp, Ki, Kd vo b iu khin PID .
tnh ton cc tham s ti u ta to cc file sau:
e.m:
function e=yout_1(pid,model,tspan)
opt=simset(solver,ode5);
assignpid(pid);
[t,x,y]=sim(model,tspan,opt);
e= y-1;
assignpid(pid):
function assignpid(pid)
assignin(base,Kp,pid(1));
assignin(base,Ki,pid(2));
assignin(base,Kd,pid(3));
pid.m:
function pid=lsqpid(pid0,model,tspan)
options=foptions;
options=[1 0.01 0.01];
pid= leastsq(yout_1,pid0,options,[],model,tspan);
Copy 3 file trn vo th mc C:\MATLAB\WORK
Tr li ca s Command ta thc hin nh sau:

>> pid0=[Kp Ki Kd];


>> pid=lsqpid(pid0,baitap,[0 500])

Ta c cc tham s ti u ca b iu khin:

f-COUNT RESID STEP-SIZE


GRAD/SD
LAMBDA
4 2.13046
1
-0.147
10 2.12166
0.265
-0.0341
1.34453
16 2.02559
1
-0.125 0.448162
22 2.00171
1
2.58e-005 0.224139
29 2.00144
2.21
-2.61e-008 0.0699182
36 2.00111
2.66
-3.92e-008 0.0191028
43 2.00098
1.32
-1.76e-009 0.00822764
49 2.00096
1.22
-8.86e-011 0.00822764
Optimization Terminated Successfully
pid =
1.0935 0.0731 0.3411
Kim tra

Tr li s Simulink , kick chut vo Scope ta nhn c hnh v sau:


Ta thy :
- Thi gian qu : tq=39s

qu iu chnh:

max=2.5%

KT LUN:
Cc tham s ti u ca b iu khin PID ng vi i tng bit hm truyn:
Kp =1.0935
Ki = 0.0731
Kd =-0.3411
Vi cc tham s ti u ny h thng t cht lng tt nht.

You might also like