You are on page 1of 32

Bi 1.

Cc c tnh ca h thng iu khin t ng


I. Mc ch.
S dng Matlab phn tch h thng :
- Kho st cc c tnh trong min thi gian, trong min tn s ca cc khu ng hc c bn.
- Xc nh hm truyn tng ng ca h thng.
- Kho st cc c tnh ca h thng kn v h thng h.
II. Ni dung.
1. Kho st cc c tnh ca cc khu ng hc c bn.
1.1. Khu tch phn
Hm truyn t ca khu tch phn W(s)=
Kho st cc c tnh trong min thi gian v cc c tnh trong min tn s trong 2
trng hp K=5, K=20.
a. K=5.
>>w = tf(5,[1 0]);
>> ltiview({'step','impulse','bode','nyquist'},w)

b. K=20.
>>w = tf(5,[1 0]);
>> ltiview({'step','impulse','bode','nyquist'},w)

1.2. Khu vi phn thc t.


Hm truyn:

W(s) =

Vi K = 20; T = 0.1
>> w = tf([20 0],[0.1 1]);
>> ltiview({'step','impulse','bode','nyquist'},w)

1.3. Khu qun tnh bc nht.


Hm truyn : W(s) =
a. Vi K = 20; T = 50
>> w = tf(20,[50 1]);
>> ltiview({'step','impulse','bode','nyquist'},w)
>>step(w) % Xac dinh cac tham so K va T tu do thi ham qua do bang cach ve tiep tuyen tai 0

b. Vi K = 20; T = 100
>> w = tf(20,[100 1]);
>> ltiview({'step','impulse','bode','nyquist'},w)
>>step(w) % Xac dinh cac tham so K va T tu do thi ham qua do bang cach ve tiep tuyen tai 0

1.4. Khu bc hai.


Hm truyn: W(s) =
Vi K = 20; T = 10; d ly cc gi tr : d1 = 0, d2 = 0.25, d3 = 0.5, d4 = 0.75, d5 = 1.
Kho st cc c tnh
a. Hm step(w)
>> w = tf(20,[100 20*0 1]);
>> step(w)
>> hold on
>> w = tf(20,[100 20*0.25 1]);
>> step(w)
>> w = tf(20,[100 20*0.5 1]);
>> step(w)
>> w = tf(20,[100 20*0.75 1]);
>> step(w)
>> w = tf(20,[100 20*1 1]);
>> step(w)
>> hold off

Nhn xt nh hng ca suy gim d n c tnh qu ca khu bc 2 :

Qua th hm step(w) trn ta thy khi d thay i t 0 n 1 :


- Bin dao ng ca hm qu cng gim.
- Thi gian dao ng gim , khu t c trng thi xc lp nhanh hn.
=> H s suy gim d tng nh hng tch cc n h thng.
b. Hm impulse(w)
>> w = tf(20,[100 20*0 1]);
>> impulse(w)
>> hold on
>> w = tf(20,[100 20*0.25 1]);
>> impulse(w)
>> w = tf(20,[100 20*0.5 1]);
>> impulse(w)
>> w = tf(20,[100 20*0.75 1]);
>> impulse(w)
>> w = tf(20,[100 20*1 1]);
>> impulse(w)
>> hold off

c. Hm nyquist(w)
>> w = tf(20,[100 20*0 1]);
>> nyquist(w)

>> w = tf(20,[100 20*0.25 1]);


>> nyquist(w)
>> hold on
>> w = tf(20,[100 20*0.5 1]);
>> nyquist(w)
>> w = tf(20,[100 20*0.75 1]);
>> nyquist(w)
>> w = tf(20,[100 20*1 1]);
>> nyquist(w)
>> hold off

d. Hm bode(w)
>> w = tf(20,[100 20*0 1]);
>> bode(w)
>> hold on
>> w = tf(20,[100 20*0.25 1]);
>> hold on
>> bode(w)
>> w = tf(20,[100 20*0.5 1]);
>> bode(w)
>> w = tf(20,[100 20*0.75 1]);
>> bode(w)
>> w = tf(20,[100 20*1 1]);
>> bode(w)
9

>> hold off

10

2. Tm hm truyn tng ng ca h thng.


Cho h thng:

2.1. Xc nh hm truyn ca h thng : h thng h v kn.


>> G1 = tf ( [ 1 1 ] , conv ( [ 1 3 ] , [ 1 5 ] ) ) ;
>> G2 = tf ( [ 1 0 ] , [ 1 2 8 ] ) ;
>> G3 = tf ( [ 1 ] , [ 1 0 ] ) ;
>> H1 = tf ( [ 1 ] , [ 1 2 ] ) ;
>> G13 = parallel(G1,G3) ;
>> G21 = feedback(G2,H1) ;
>> Gh = series(G13,G21)
Transfer function:
2 s^4 + 13 s^3 + 33 s^2 + 30 s
------------------------------------------------s^6 + 12 s^5 + 60 s^4 + 180 s^3 + 323 s^2 + 240 s
>> Gk= feedback(Gh,1)
Transfer function:
2 s^4 + 13 s^3 + 33 s^2 + 30 s
------------------------------------------------s^6 + 12 s^5 + 62 s^4 + 193 s^3 + 356 s^2 + 270 s
2.2 Kho st cc c tnh.
a. Cc c tnh trong min thi gian ca h thng kn.
>> ltiview({'step','impulse'},Gk)

11

b. Cc c tnh trong min tn s ca h thng h.


>> ltiview({'nyquist','bode'},Gh)

12

3. Kho st cc c tnh ca h thng.


Cho h thng :

- Vit chng trnh xc nh hm truyn t ca h thng vi K=8; 17.564411; K=20.


- Kho st cc c tnh trong min thi gian ca h thng kn v cc c tnh trong min tn s ca
h thng h.
a. K=8
>> W1 = tf(8, [1 2]);
>> W2 = tf(1,conv([0.5 1],[1 1]));
>> W3 = tf(1,[0.005 1]);
>> Wh = W1*W2*W3
Transfer function:
8
----------------------------------------------0.0025 s^4 + 0.5125 s^3 + 2.52 s^2 + 4.01 s + 2
>> Wk = feedback(W1*W2,W3)
Transfer function:
0.04 s + 8
-----------------------------------------------0.0025 s^4 + 0.5125 s^3 + 2.52 s^2 + 4.01 s + 10
>> ltiview({'nyquist','bode'},Wh)
% Cac dac tinh trong mien tan so cua he thong ho

13

>> ltiview({'step','impulse'},Wk)

% Cac dac tinh trong mien thoi gian cua he thong kin

14

b. K=17.564411
>> W1 = tf(17.564411, [1 2]);
>> Wh = W1*W2*W3
Transfer function:
17.56
----------------------------------------------0.0025 s^4 + 0.5125 s^3 + 2.52 s^2 + 4.01 s + 2
>> Wk = feedback(W1*W2,W3)
Transfer function:
0.08782 s + 17.56
--------------------------------------------------0.0025 s^4 + 0.5125 s^3 + 2.52 s^2 + 4.01 s + 19.56
>> ltiview({'nyquist','bode'},Wh)
% Cac dac tinh trong mien tan so cua he thong ho

>> ltiview({'step','impulse'},Wk)

% Cac dac tinh trong mien thoi gian cua he thong kin
15

c. K=20.
>> W1 = tf(20, [1 2]);
>> Wh = W1*W2*W3
Transfer function:
20
----------------------------------------------0.0025 s^4 + 0.5125 s^3 + 2.52 s^2 + 4.01 s + 2
>> Wk = feedback(W1*W2,W3)
Transfer function:
0.1 s + 20
-----------------------------------------------0.0025 s^4 + 0.5125 s^3 + 2.52 s^2 + 4.01 s + 22
>> ltiview({'nyquist','bode'},Wh)
% Cac dac tinh trong mien tan so cua he thong ho

16

>> ltiview({'step','impulse'},Wk)

% Cac dac tinh trong mien thoi gian cua he thong kin

17

Nhn xt v cc c tnh trong min thi gian v min tn s khi K thay i.


- Cc c tnh trong min tn s : dng c tnh ko thay i
- Cc c tnh trong min thi gian :
+ K=8 : h n nh.
+ K=17.564411 : h bin gii n nh.
+ K=20 : h khng n nh.
------------------------------------------------------------------------------------------------------------------------

Bi 2. ng dng Matlab kho st tnh n nh v cht lng ca h thng


I. Mc ch.
- Xc nh Kgh ca h thng theo iu kin n nh.
- Kho st c tnh ca h thng tuyn tnh c h s khuch i K thay i.
- Hiu chnh b PID nng cao cht lng h thng.
II. Ni dung.
1. Xc nh Kgh . Kho st cc c tnh khi K thay i.
Cho h thng c s :

Cc thng s ca nhm :
Nhm
K
2
0.11

K1
25

K2
7

T1
2

T2
0.2

T3
0.8

a. Xc nh Kgh.
Cch 1: Tnh theo cng thc

=> Kgh = 0.11


Cch 2 : V QNS ca h thng. T tm Kgh.

>> W1=tf(25,conv([2 1],[0.2 1]));


>> W2=tf(7,[0.8 1]);
>> W=W1*W2;
>> rlocus(W)
>> [K,p]=rlocfind(W)
Select a point in the graphics window
selected_point =
18

0.0092 + 3.0551i
K=
0.1098
p=
-6.7481
-0.0010 + 3.0597i
-0.0010 - 3.0597i

b. Kho st cc c tnh trong min thi gian ca h kn v trong min tn s ca h h khi K thay
i.
H kn
+ H thng n nh K < Kgh : K= 0.009 (ch tiu cht lng 20% )
>> W1=tf(25,conv([2 1],[0.2 1]));
>> W2=tf(7,[0.8 1]);
>> Wk=feedback(0.009*W1,W2);
>> ltiview({'step','impulse'},Wk)

19

+ H thng bin gii n nh K = Kgh : K= 0.11


>> Wk=feedback(0.11*W1,W2);
>> ltiview({'step','impulse'},Wk)

+ H thng khng n nh K > Kgh : K=0.15


20

>> Wk=feedback(0.15*W1,W2);
>> ltiview({'step','impulse'},Wk)

Nhn xt : Cc c tnh trong min thi gian ca h kn :

- K < Kgh : h thng n nh, qu trnh qu tt dn theo thi gian.


- K = Kgh : h thng bin gii n nh, qu trnh qu l dao ng c bin khng i.
- K > Kgh : h thng khng n nh, qu trnh qu tng dn theo thi gian.

H h

+ K=0.009
>> Wh=0.009*W1*W2;
>> ltiview({'nyquist','bode'},Wh)

21

+ K=0.11
>> Wh=0.11*W1*W2;
>> ltiview({'nyquist','bode'},Wh)

+ K=0.15
22

>> Wh=0.15*W1*W2;
>> ltiview({'nyquist','bode'},Wh)

Nhn xt : Cc c tnh trong min tn s ca h h :


- K < Kgh : im (-1, j0) nm ngoi ng c tnh tn s.
- K = Kgh : im (-1, j0) nm trn ng c tnh tn s.
- K > Kgh : im (-1, j0) nm trong ng c tnh tn s.

2. Hiu chnh b PID.


23

Cho h thng :

Cc thng s
Nhm
2

KPID
1

Ti
50

Td
5

0.05

KDT
4

T1
200

T
40

a. Qu trnh qu vi cc thng s ban u. Xc nh qu iu chnh, thi gian qu , sai lch


tnh.
>> Wpid=1*(1+tf(1,[50 0])+tf([5 0],[0.05*5 1]));
>> Wdt=tf(4,conv([200 1],[40 1]));
>> W=feedback(Wpid*Wdt,1);
>> step(W)

24

Vy qua th hm qu , ta xc nh c :
+ qu iu chnh : 52.8%
+ Thi gian qu : 828s
+ Sai lch tnh : 0
b. Hiu chnh b PID nng cao cht lng ca h thng.
Thay i cc tham s KPID, Ti, Td qu iu chnh 20 25%, thi gian qu nhanh hn.
Chn KPID = 1, Ti =100, Td = 10 ( tng Ti, Td).
>> Wpid=1*(1+tf(1,[100 0])+tf([10 0],[0.05*10 1]));
>> Wdt=tf(4,conv([200 1],[40 1]));
>> W=feedback(Wpid*Wdt,1);
>> step(W)

25

Vy sau khi hiu chnh b PID, h thng c cht lng tt hn trc :


+ qu iu chnh : 23%
+ Thi gian qu : 431s
------------------------------------------------------------------------------------------------------------------------

Bi 3. ng dng Simulink tng hp h thng iu khin t ng


I. Mc ch.
Xy dng m hnh h thng, tin hnh m phng xem xt nh hng ca b iu khin n
p ng qu ca h thng v nh gi cht lng h thng.
II. Ni dung.
1. Kho st m hnh h thng iu khin nhit .
Cc thng s ca nhm
Nhm
K
T1
2
200
30
Xy dng m hnh h thng l nhit vng h dng Simulink :

T2
300

+ Step : tn hiu hm bc thang th hin phn trm cng sut cung cp cho l nhit.
Ci t cc thng s: Step time=0, Initial=0, Final time=1, Stop time=1800.
+ Transfer Fcn Transfer Fcn1 : m hnh l nhit tuyn tnh ha.
Tin hnh m phng, lu tn hiu vo bin ScopeData
26

>> plot(ScopeData.time,ScopeData.signals.values) % Ve dap ung


>> grid on % Ke luoi
Ta thu c th qu trnh qu ca tn hiu

K tip tuyn ti im un, ta xc nh c gi tr cc tham s cho m hnh xp x L, T, K nh


hnh v.
=> M hnh xp x :
2. Kho st m hnh iu khin nhit dng phng php Ziegler-Nichols (iu khin PID).
Xy dng m hnh h thng iu khin nhit PID

- Tn hiu t vo l hm bc thang u(t)=100.


- B iu khin PID c cc thng s cn tnh ton.
- Transfer Fcn Transport Delay : m hnh l nhit tuyn tnh ha.
a. Tnh cc gi tr thng s Kp, KI, KD ca
khu PID theo phng php ZieglerNichols t cc thng s L, T, K trn :
K=200, T=380, L=20.
=> Kp = 0.114, KI = 0.0028, KD = 1.14
27

b. Chy m phng, v p ng.


Ci t cc thng s: Step time=0, Initial=0, Final time=100, Stop time=600
Nhp cc thng s cho b PID :

Nhp thng s cho m hnh l nhit tuyn tnh ha : K=200, T=380, L=20.
Chy m phng v lu p ng ca cc tn hiu Scope

=> Nhn xt: cht lng phng php iu khin PID : thi gian qu ngn, h thng nhanh t
ti trng thi xc lp.
28

c. Chnh nh cc thng s ca b PID ( qu iu chnh < 25%)


Chn Kp = 0.036, KI = 0.0004, KD = 0.54

=> qu iu chnh ca h thng nh hn so vi trng hp trc.


------------------------------------------------------------------------------------------------------------------------

Bi 4. H thng iu khin trong khng gian trng thi.


I. Mc ch.
Kho st h thng iu khin trong khng gian trng thi.
II. Ni dung.
Cho i tng c hm truyn :

Vi T1=18 (stt), T2=100, T3=5.


1. Xc nh phng trnh trng thi : x = Ax + Bu
y = Cx + Du
A, B, C, D l cc ma trn ca phng trnh trng thi.
>> W=tf(5,[18 1])*tf(1,conv([100 1],[5 1]))
Transfer function:
5
--------------------------------------9000 s^3 + 2390 s^2 + 123 s + 1
29

>> num=[5]
>> den=[9000 2390 123 1]
>> [A,B,C,D]=tf2ss(num,den)
A=
-0.2656 -0.0137 -0.0001
1.0000
0
0
0 1.0000
0
B=
1
0
0
C=
1.0e-003 *
0
0 0.5556
D=
0
2. Kim tra tnh iu khin c v tnh quan st c ca i tng.
>> co=ctrb(A,B) % Tinh ma tran dieu khien duoc
co =
1.0000 -0.2656 0.0569
0 1.0000 -0.2656
0
0 1.0000
>> rank(co) % Hang cua ma tran dieu khien duoc
ans =
3
>> ob=obsv(A,C) % Tinh ma tran quan sat duoc
ob =
1.0e-003 *
0
0 0.5556
0 0.5556
0
0.5556
0
0
>> rank(ob) % Hang cua ma tran quan sat duoc
ans =
3
3. Kim tra tnh n nh ca i tng da trn h phng trinh trng thi.
>> eig(A)
ans =
-0.2000
-0.0556
-0.0100
=> Cc gi tr ring ca ma trn A nm bn tri trc o : h n nh.

30

4. Kho st cc c tnh trong min thi gian v tn s ca i tng.


>> ltiview({'step','impulse','bode','nyquist'},ss(A,B,C,D))

5. Xy dng s cu trc trn Simulink.


a hm truyn t v dng :

Chy m phng v lu p ng ca tn hiu Scope ta thu c th qu trnh qu


31

=> Ging vi th hm qu v c cu trn.


6. Thit k b iu khin phn hi trng thi h kn nhn cc im s = -1, s = -2, s = -18 lm
cc im cc.
>> K=acker(A,B,[-1 -2 -18]) % Tim ma tran phan hoi trang thai theo ackerman
K=
20.7344 55.9863 35.9999

32

You might also like