You are on page 1of 32

Ý NGHĨA CỦA ĐiỀU KHIỂN SỐ

• Điều khiển chủ yếu là dùng thiết bị số (máy


tính, vi xử lý, PLC)
Ý NGHĨA CỦA ĐIỀU KHIỂN SỐ
• Các hệ thống điều khiển phân bố, nối mạng
MÔ HÌNH HỆ KHÔNG LIÊN TUC
(Hệ thời gian rời rạc-discrete time system)
Tín hiệu rời rạc

Khi hệ thống điều khiển có sự tham gia của máy tính thì tín hiệu được máy
tính xử lý là tín hiệu số, kết quả của chuyển đổi tín hiệu liên tục u(t) thành tín
hiệu rời rạc u*(t) bởi chuyển đổi ADC thông qua khóa lấy mẫu chu kỳ Ts và
lượng tử hóa.
Tín hiệu rời rạc này chuyển đổi bởi mạch cài và DAC, gọi chung là mạch giữ
bậc 0 (zero order hold), trở thành tín hiệu liên tục uh(t)
CHU KỲ LẤY MẪU
• Chọn chu kỳ lấy mẫu Ts</m , m là khổ sóng tối đa của
tín hiệu được lấy mẫu
• Thực tế chọn Ts nhỏ hơn giá trị /m chừng 10 lần do tín
hiệu thực sự thường có khổ sóng không giới hạn
• Tín hiệu cần thiết thường có xen lẫn nhiễu tần số cao do đó
cần phải có bộ lọc làm suy giảm thành phần tần số cao
này, nếu không sẽ gây ra aliasing (frequency folding)
BIẾN ÑỔI Z

u*(t) = u(tk) ở các thời điểm tk=kTs, ngoài ra u*(t) =0


 
u (t)  u(t)  δ(t  kTs )   u(kTs)δ(t  kTs )
*
 là hàm xung Dirac
k 0 k 0

Lấy biến đñổi Laplace hai vế


u (kTs )  uk , e  sTs  z
   
 st
U ( s )   u (kTs )   (t  kTs )e
*
  u (kTs )   (t  kTs )e  st
k 0 0 k 0 0

  u (kTs )e  skTs
k 0

Đặt z  e  sTs , u (kTs )  uk ,U * ( s )  U ( z )



U ( z )   uk z k
k 0
BIẾN ĐỔỈ Z

Biến ñổi Z của xk-m (trễ m chu kỳ) là z-m X(z)


 m

Biến ñổi Z của xk+m là z  X ( z )   x i z i 
m

 i 0 
Biến ñổi Z của akxk là X(z/a)
k

Biến ñổi của x


i 0
i là X(z).z/(z-1)

Biến ñổi kxk là -z dX(z)/dz

Giới hạn ñầu: x(0) = lim X(z) z -> 


Giới hạn cuối: x() = lim(z-1)X(z), z  1
Biến đổi z

Ví dụ: biến đổi z của tín hiệu nấc lấy mẫu



X ( z )   z  k  1  z 1  z  2  ..  z  n
k 0

Nhân z với hai vế rồi trừ với biểu thức cũ


( z  1) X ( z )  z
z
X ( z) 
z 1
Ví dụ: biến đổi Z của akxk là
  k
z z

k 0
a k
x k z k
 
k 0
x k (
a
)  X (
a
)

z
Ví dụ: biến đổi Z của e-kT là biến đổi của 1.(e-T)k T z
X ( z)  e 
z T
Ví dụ: dùng Matlab 1 z  e
>> syms t z ; ztrans (t) e T
ans =
z/(z-1)^2
BẢNG BIẾN ĐỔI Z

Laplace Z Hàm thời gian


1 1 Xung Dirac

1 z Hàm nấc
s z 1
1 Tz
s2 ( z  1) 2 t

1 z
sa z  e  aT e-at
1 Te  aT z
( s  a) 2 ( z  e  aT ) 2 te-at
BẢNG BIẾN ĐỔI Z

Laplace Z Hàm thời gian

b (e  aT sin bT ) z e  at sin bt
( s  a) 2  b 2 z 2  (2e aT cos bT ) z  e 2 aT
sa z 2  (e  aT cos bT ) z
( s  a) 2  b 2
e  at cos bt
z 2  (2e  aT cos bT ) z  e 2 aT
a (1  e  aT ) z
1  e  at
s( s  a) ( z  1)( z  e  aT )

ba
z z
 e  at  e  bt
( s  b)( s  a) z  e  aT z  e bT
Hàm truyền z hệ rời rạc

Hệ rời rạc biểu thị bằng phương trình sai phân

c(k+n)+an-1c(k+n-1)+…+a1c(k+1)+a0c(k)=
bmr(k+m)+bm-1r(k+m-1)+..+b1r(k+1)+b0r(k)
Lấy biến đổi Z hai vế, giả sử sơ kiện bằng 0

znC(z) + an-1zn-1C(z) +..+ a1zC(z) = bmzmR(z) + bm-1zm-1R(z) +..+


b1zR(z) + b0R(z)
Hàm truyền Z:
C ( z) bm z m  bm1 z m 1  ..  b1 z  b0
G( z)   n
R( z ) z  a n 1 z n 1  a n1 z n 1  ..  a1 z  a0
Phương trình trạng thái hệ rời rạc
Phương trình trạng thái hệ rời rạc
Từ hàm truyền hệ rời rạc ta có thể viết phương trình
trạng thái dưới dạng sau

x(k+1) = Fx(k) + Gr(k)


y(k) = Cx(k) + Dr(k)

Các ma trận được tạo ra giống như hệ liên tục

Ví dụ:
4 z 3  12 z 2  13z  7 4 z 3  12 z 2  13z  7
G( z)   3
( z  1) ( z  2)
2
z  4z 2  5z  2
MÔ HÌNH HỆ KHÔNG LIÊN TUC
(Hệ thời gian rời rạc-discrete time system)
Phương trình trạng thái hệ rời rạc, ví dụ
Dạng first companion
 x1 (k  1)  0 1 0  x1 (k )  0
 x ( k  1)   0 0 1   x2 (k )   0u (k )
 2  
 x3 (k  1)  2  5 4  x3 ( k )  1
 x1 (k ) 
y (k )  1  7 4  x2 (k )   4u (k )
 x3 (k ) 

2 1 3
Dạng Jordan G( z)  4   
( z  1) 2 z  1 z  2

 x1 (k  1)  1 1 0  x1 (k )  0
 x (k  1)  0 1 0  x2 (k )  1u (k )
 2  
 x3 (k  1)  0 0 2  x3 (k )  1
 x1 (k ) 
y ( k )   2 1 3  x2 ( k )   4u (k )
 x3 (k ) 
Ví dụ MATLAB
>> htz = tf ([4 -12 13 -7] ,conv ([1 -2], conv ([1 -1], [1 -1])))
Transfer function:
a=
c=
4 z^3 - 12 z^2 + 13 z - 7
x1 x2 x3
x1 x2 x3
-------------------------
x1 0 0 2
y1 4 9 17
z^3 - 4 z^2 + 5 z - 2
x2 1 0 -5
d=
Sampling time:
x3 0 1 4
unspecified u1
b=
>> ptttz = canon (htz, 'companion') y1 4
u1
Sampling time:
x1 1 unspecified
x2 0 Discrete-time model.
x3 0
Hàm truyền Z từ phương trình trạng thái

Tương tự như với hệ liên tục, hàm truyền Z tính theo công
thức
X(z) = (zI-F)-1 zx0 + (zI-F)-1 gU(z)
Y(z) = c (zI-F)-1 zx0 + [c (zI-F)-1g+d]U(z)
Y ( z)
Nếu x = 0
0 G( z)   c( zI  F ) 1 g  d
U ( z)
Tính x(k) và y(k)
Từ phương trình trạng thái x(k+1) = Fx(k) + gu(k)

Ta suy ra x(1) = Fx(0) + gu(0) ; x(2)=Fx(1)+gu(1)…


k 1
x(k )  F x(0)   F k 1i gu (i )
k

i 0
Đáp ứng hệ thống

Đặt (k) = Fk , (0) = I , (k) gọi là ma trận chuyển trạng thái


k 1
x(k )   (k ) x(0)    (k  1  i ) gu (i )
i 0

Tính (k)
Dùng Z đảo
(k)= Z-1[(zI-F)-1z]

Ví dụ:  0 1  z 1 
1
F   1
( zI  F )  
  0 .16  1 0 .16 z  1
 
Tính đáp ứng dùng Z đảo

 z 1 1 
 ( z  0.2)( z  0.8) ( z  0.2)( z  0.8) 
 
  0.16 z 
 ( z  0.2)( z  0.8) ( z  0.2)( z  0.8) 
 4/3 1/ 3 5/3 5/3 

 z  0.2 z  0.8 
 z  0.2 z  0.8 
 0.8 / 3 0.8 / 3 1/ 3 4/3 
   
 z  0.2 z  0.8 z  0.2 z  0.8 

 4 1 5 5 
 ( 0. 2) k
 ( 0. 8) k
(0.2) k  (0.8) k 
 (k )   3 3 3 3

 0.8 0.8 1 4
 (0.2) k  (0.8) k (0.2)  (0.8) 
k k

 3 3 3 3 
Tính đáp ứng dùng Z đảo

Cho g = [1 1]T ,c=[1 0], x0= [1 –1]T , u(t)=1(t), ta tính được


17 22 25
k
1  a k 1
y (k )   (0.2) k  (0.8) k 
6 9 18
Dùng công thức j0 a  1  a ; a  1
j

Dùng MATLAB
>> t=0:0.1:10;
>> u=ones(size(t));
>> F=[0 1;-0.16 -1];
>> g=[1;1];
>> c=[1 0];
>> d=0;rr=ss(F,g,c,d,0.1);
>> [y,x]=lsim(rr,u,t,x0);
>> stairs(t,y)
Tính Fk dùng định lý Cayley Hamilton

 0 1 
F  
  1  2 
1  2  1
F k   0 I  1 F

Các hệ số tính từ phương trình

k   0  1  0  (1  k )(1) k
kk 1  1 1   k ( 1) k

Suy ra (1  k ) k 
F k
 ( 1) 
k

 k 1 k 

Hàm truyền hệ liên tục lấy mẫu

1  e  sT
Khâu ZOH có hàm truyền T là thời gian lấy mẫu
s
Biến đổi Z của hệ thời gian rời rạc là
1  e  sT z  1 G( s)
G( z)  Z ( G ( s ))  Z( )
s z s
ký hiệu GhoG(z)
Tính đáp ứng dùng hàm truyền z

Y ( z) D ( z )Gh 0G ( z )

R ( z ) 1  D ( z )Gh 0GH ( z )

Với các thông số: D(z) = 1, H(s) = 1, G(s) =1/s(s+1); T = 1, r(t) là hàm nấc
z  1  G(s) z 1  1 
Gh 0G ( z )  ( )Z  ( )Z s 2 ( s  1) 
z  s  z  
z 1  1 1 1  z  1  Tz z z 
( )Z 2    ( )  
z s s s  1
 z   ( z  1)
2
z  1 z  e T 

z (T  1  e T )  (1  e T  Te T )

( z  1)( z  e T )
Tính đáp ứng dùng hàm truyền z

Với T=1 0.3679 z  0.2642


Gh 0G ( z ) 
z 2  1.3679 z  0.3679
Y ( z) 0.3679 z  0.2642

R( z ) z 2  z  0.6321
z 0.3679 z  0.2642 0.3679 z 2  0.2642 z
Y ( z)   3
z  1 z 2  z  0.6321 z  2 z 2  1.6321z  0.6321
 0.3679 z 1  z  2  1.3996 z 3  1.3996 z  4  1.1469 z 5
 0.8944 z  6  0.8015 z 7

Dùng Matlab Transfer function: Transfer function:


>> lt = tf([1],[1 1 0]); 0.3679 z + 0.2642
0.3679 z + 0.2642
>> ltd = c2d(lt,1,'zoh') -----------------
----------------------
>> htdk = feedback(ltd,1) z^2 - z + 0.6321
z^2 - 1.368 z + 0.3679
>> [y,t]=step(ltdk);
>> stairs(t,y)
Tính đáp ứng dùng hàm truyền z

1.4

1.2

0.8

0.6

0.4

0.2

0
0 5 10 15 20 25
PTTT hệ liên tục thời gian rời rạc

Hệ liên tục có tín hiệu vào là u+(t) từ khâu ZOH, pttt hệ liên tục :
x (t )  Ax(t )  bu  (t )
y (t )  cx(t )  du  (t )
Giải pttt t
x (t )  e A ( t t0 )
x (t0 )   e A( t  ) bu  ( ) d
t0
u+(t) = u(kT), kT< = t < = (k+1)T
Trong khoảng thời gian kT< = t < = (k+1)T
t
x(t )  e A ( t  kT )
x( kT )  [  e A( t  )bd ]u ( kT )
kT

( k 1)T
x ((k  1)t )  e AT
x ( kT )  [  e A[( k 1)T  )bd ]u ( kT )
kT

 Fx( kT )  gu ( kT )
T
Đặt  = -kT,  = T- g   e A bd
0
PTTT hệ liên tục thời gian rời rạc

Ví dụ: cho hệ rời rạc với k1 z 2  k 2 z  k3


D( z ) 
z ( z  1)
1
G(s)  , T  0.1s
s ( s  5)
Phương trình trạng thái hệ liên tục
0 1  0 
A
 5
, b  1  , c  1 0
0   
 1 
Dùng định lý Cayley Hamilton tính eAt e At

1 (1  e 5t 
5
0 e 5t 
 
1 1
(1  e 5T  1 0.0787 
F e AT
 5   0
0  0.6065
  
 5T
 e
T 1 5  1 1 1 5T 

0 5 (1  e ) d  5 (T   e
T
A 5 5   0.0043
g   e bd   T 
  1   0.0787 
0
 e
 5
d   (1  e  5T
)   
 0   5 
PTTT hệ liên tục thời gian rời rạc

PTTT khối D(z) dạng đồng hành thứ hai


 x3 ( k  1)  0 0  x3 ( k )   k3 
 x ( k  1)   1 1   x ( k )    k  k  e( k )
 4    4   2 1

 x3 ( k ) 
u ( k )   0 1    k1e( k )
x
 4 ( k ) 
e(k) là tín hiệu sai lệch: e(k) = r(k) - y(k) = r(k)-x1(k)
Phương trình trạng thái hệ kín
 x1 (k  1)  1  0.0043k1 0.0787 0 0.0043  x1 (k )   0.0043k1 
 x (k  1)   0.0787 k 0.6065 0 0.0787   x2 (k ) 0.0787 k1 
 2  1
 r (k )
 x3 (k  1)    k3 0 0 0   x3 (k )   k3 
      
 x4 (k  1)   (k1  k 2 ) 0 1 1   x4 (k )  k1  k 2 
 x1 (k ) 
 x (k )
y (k )  1 0 0 0  2 
 x3 (k ) 
 
x
 4 ( k )
Dùng Matlab
b=
u1
>> T=0.1; K1=1; K2=1; K3=1;
x1 0.004261
>> A=[0 1;0 -5]; b =[0;1]; c=[1 0]; d=0;
x2 0.07869
>> AR =[0 0;1 1]; BR=[K3;K1+K2]; CR=[0 1]; DR=K1;
x3 1
>> pttt1=ss (A,b,c,d);
x4 2
>> pttt1r = c2d(pttt1,T,'zoh');
c=
>> pttt2r = ss(AR,BR,CR,DR,T);
x1 x2 x3 x4
>> PTTTK = feedback(pttt1r*pttt2r,1)
y1 1 0 0 0
a= d=
x1 x2 x3 x4 u1
x1 0.9957 0.07869 0 0.004261 y1 0
x2 -0.07869 0.6065 0 0.07869 Sampling time: 0.1
x3 -1 0 0 0 Discrete-time model.
x4 -2 0 1 1
HÀM TRUYỀN Z HỆ CÓ TRỄ

Hàm truyền rời rạc:


Y (z)
U ( z)
  1 
  G ho (s)G(s)e  t ds  (1  z 1 ) Z G (s)e  t ds 
s 

Đặt td=NTs+Ts , 0  1
Y(z) 1 
 (1  z 1 )z  N Z G (s)e Tss 
U(z) s 
HÀM TRUYỀN Z HỆ CÓ TRỄ- VÍ DỤ
1
G (s) 
sa
1  N  e
 Ts 
Y(z)
 (1  z )z Z 

U(z)  s (s  a ) 
1  N  e 
 Ts
1 e  Ts
 (1  z )z Z   
a s sa 
 

1  e L1 
 Ts  e  Ts 
  g1 ( t )  u ( t  T )
L   s g1( t )  u ( t  T )
 s 1 eTs  a ( t  T )
L    g 2 (t )  e u ( t  T )
 e  Ts 
 sa 
L1    g 2 (t)  e
 a ( t  T )
u ( t  T)
 s  a 

u(t) là hàm nấc đơn vị


Tìm biến đổi z các hàm rời rạc g1(kT) và g2(kT)
HÀM TRUYỀN Z HỆ CÓ TRỄ- VÍ DỤ

Z(g1 (kT))   g1 (kT)z  k  z 1  z 2  z 3  ...
k 0

 1  1
 z 1 (1  z 1  z 2  z 3  ...)  z 1  1  
 1 z  z 1
Z(g 2 (kT))  e a ( T  T ) z 1  e a ( 2T  T ) z  2  e a (3T T ) z 3  ...

Đặt thông số mới m=1-


Z(g 2 (kT))  e amT z 1  e amT e aT z 2  e amT e 2aT z 3  ...

 e amT z 1 1  e aT z 1  e 2aT z 2  ... 
amT
amT 1   e 1
e z  aT 1   aT
1  e z  z  e

Sau cùng: Y (z) a


1

(1  e amT )z  e amT  e aT 

U(z) z N 1 (z  e aT )
BẢNG BIẾN ĐỔI CÓ TRỄ
e  Ts 1
s z 1
e  Ts mT T

s2 z  1 ( z  1) 2
2e  Ts  m 2 z 2  ( 2m  2m 2  1) z  ( m  1) 2 
2
T  
s3  ( z  1) 3 
e  Ts e amT
sa z  e aT
e  Ts 1 e amT e  bmT
[ 
(s  a )(s  b) b  a z  e aT z  e  bT
ae  Ts (1  e  amT ) z  (e amT  e aT )
s(s  a ) ( z  1)(z  e aT )
ae  Ts T amT  1 e  amT
 
s 2 (s  a ) ( z  1) 2 a ( z  1) a ( z  e  aT )
PTTT Hệ rời rạc có trễ

x (t )  Ax(t )  bu (t  t d )
Xét hệ SISO có thời gian trễ ttdd  NT  T , 0    1, m  1  

Nếu N = 0, ta thêm biến trạng thái xn+1


 x (k  1)   F g1   x( k )   g 2 
 x (k  1)    0      u ( k )
0   xn 1 ( k )  1 
 n 1  
T mT

e e
A A
F  e AT , g1  e AmT bd , g 2  bd
0 0

Nếu N>0,ta thêm N+1 biến trạng thái


 x(k  1)   F g1 g2 0 .. 0   x ( k )  0 
 xn 1 (k  1)    x (k ) 
  0 0 1 0 .. 0  n 1  0 
 xn  2 ( k  1)   .. x (k )   
.. .. .. .. ..  n  2
:    .. .. .. .. .. .. :    : u (k )
     0 
 xn  N ( k  1)   0 0 0 0 .. 1   xn  N ( k )   
x  0  x  1
 n  N 1 (k  1)  
0 0 0 0 ..
 n  N 1 (k ) 
PTTT Hệ rời rạc có trễ
VÍ DỤ
x 1 ( t )   x1 ( t )  u ( t  1.5) , T  1sec
Hệ rời rạc N  1,   0.5, m  0.5
F  e 1  0.3679
0.5
g 2   e  d  1  e 0.5  0.3935
0
0.5

e
 0.5 
g1  e d  e 0.5  e 1  0.2387
0

Phương trình rời rạc


x1(k+1)=0.3679x1(k)+0.2387u(k-2)+0.3935u(k-1)
Đặt biến x2(k)=u(k-2), x3(k)=u(k-1)
 x1 (k  1)  0.3679 0.2387 0.3935  x1 ( k )  0 
 x (k  1)   0 0 1   x ( k )   0  u ( k )
 2     2   
 x 3 (k  1)   0 0 0   x 3 (k )  1
y(k )  [1 0 0]x (k )

You might also like