You are on page 1of 28

Lý thuyết ĐKTĐ

chuyện thi cử
Người viết: Bùi Trung Hiếu
Ngành Điều khiển tự động
Khoa Điện-Điện tử
Trường ĐHBK tp Hồ Chí Minh
Lời thưa:
 Như đã biết, với Matlab, công việc học tập môn ĐKTĐ trở nên
rất đơn giản và thú vị. Tuy nhiên, để đối phó với kì thi, dù bạn
là một người học rất tốt lý thuyết nhưng không chú trọng đến
cách làm bài vẫn có thể bị điểm thấp.
 Đã một lần bị như thế, tôi đành phải bỏ ra một khoảng thời
gian để có thể thích nghi với công việc tất nhiên của SV: thi cử!
Trong bài này, tôi trình bày với các bạn 2 bài toán rất cơ bản
của lý thuyết ĐKTĐ.
 Vẽ biểu đồ Bode.
 Thiết kế một khâu rời rạc.

Tất nhiên, chúng sẽ được trình bày để giải với Caculator, tôi sử
dụng FX570MS.
Vẽ giản đồ Bode
với sự trợ giúp của FX570MS
 Với Matlab, công việc này rất đơn giản dùng dòng lệnh:
bode(hàm_truyền) với hàm truyền đã được khai báo
dưới dạng:
 Hàm_truyền=tf(tử_số,mẫu_số)
 Hàm_truyền=zpk(zero,cực, độ_lợi)

…các thông số phụ


 Tuy nhiên, để đối phó với kì thi, bạn phải vẽ được biểu
đồ Bode dùng Caculator, lý thuyết trong sách ĐKTĐ đã
hướng dẫn các bạn một cách rất chi tiết, tôi chỉ nêu
cách các bạn dùng Caculator để tính ra các kết quả chú
ý:
Vẽ giản đồ Bode biên độ
với sự trợ giúp của FX570MS
 Lý thuyết được trình bày chi tiết trong sách LT ĐKTĐ nhà
xuất bản ĐHQG tp Hồ Chí Minh trang 112-113.
1
 Bước 1: Xác định tất cả các tần số gãy ωi = và
Ti
xếp chúng theo trật tự tăng dần
 Bước 2: Dùng FX570MS ở Mode 2 (CMPLX) nhập
hàm truyền cần khảo sát, chú ý thay ω bằng A*i. Việc
khảo sát sẽ cần các tần số gãy, ta chỉ đơn giản thay
chúng để kiểm soát việc vẽ đúng hay sai.

 Xét ví dụ sau để làm rõ điều đó:


Vẽ giản đồ Bode biên độ
với sự trợ giúp của FX570MS (ví dụ1)
 Vẽ biểu đồ Bode biên độ gần đúng của hệ thống có hàm truyền:(đề
thi học kì 2 năm 2004-2005)

s + 10
G ( s ) = 100 e −0.5 s

s ( s + 1) ( s + 100 )
 Bước 1: Các tần số gãy (lưu ý hàm mũ không
ảnh hưởng tới Bode biên độ)
ω1 = 1, ω2 = 10, ω3 = 100
Nhận xét: Hàm truyền có một khâu tích phân lý tưởng
Vẽ giản đồ Bode biên độ
với sự trợ giúp của FX570MS (ví dụ1)
 Bước 2: Dùng Caculator (FX570MS):
Nhấn Mode→2(CMPLX) tức Complex
 Nhập số liệu như sau: (Tính bằng đơn vị dB)
20logAbs(100(Ai+10)÷(Ai)÷(Ai+1)÷(Ai+100))
(Tôi lấy A là biến số trong ví dụ trên)
Việc tiếp theo, bạn nhấn phím Calc, sau đó thay A bằng
các giá trị Calc: A? 0.01→’=’→ 60
Calc: A? 1→’=’→ 17
Calc: A? 10→’=’→-17
Calc: A? 100→’=’→-42
Calc: A? 1000→’=’→-80
Vẽ giản đồ Bode biên độ
với sự trợ giúp của FX570MS (ví dụ1)
 Nối các điểm trên lại, bạn sẽ có được bản đồ Bode
biên độ cần vẽ.
 Kết quả như sau:
Màu xanh: Bode dùng Matlab
Màu đỏ : Vẽ xấp xỉ các giá trị
Vẽ giản đồ Bode pha
với sự trợ giúp của FX570MS
 Trên, tôi đã trình bày cách vẽ Bode biên độ, còn cách
vẽ Bode pha, sẵn đây tôi cũng xin dẫn ra:

 Trong giáo trình ĐKTĐ, ta không thấy hướng dẫn


cách vẽ Bode pha, một mặt vì các bước tiến hành
của nó hơi rắc rối, mà kết quả cho cũng không thật
chính xác (Không đảm bảo sai số như Bode biên
độ(<=3dB)). Cách vẫn hay thường làm với SV là
thế các giá trị của tần số và lấy giá trị tương ứng.
Thường, SV lấy ArcTan hàm thích hợp, với lý thuyết
từ trang 112Sđd. Thật ra, ta có thể dùng chức năng
Argument của FX570MS để tính toán.
Vẽ giản đồ Bode pha
với sự trợ giúp của FX570MS
 Cơ sở lý thuyết:
 l  l
ϕ ( ω ) = ∠G ( jω ) = Arg ∏ G ( jω )  = ∑ ∠Gi ( jω )
 i =1  i =1
l
⇒ ϕ ( ω ) = ∑ ϕi ( ω )
i =1

 Sử dụng FX570MS, Mode→2 (CMPLX). Nhập hàm số


dạng:
l
ϕ ( ω ) = ∑ Arg ( Gi ( jω ) )
i =1
Vẽ giản đồ Bode pha
với sự trợ giúp của FX570MS
 Lưu ý:
 Phải phân rã các tích số của hàm truyền thành các tổng
Arg.
 Chuyển Arg của hàm mũ về dạng:
arg ( e −Ts
) = arg ( e ) = −Tω ( rad / s)
− Tjω

 Xét ví dụ sau để rõ hơn:


 Vẽ biểu đồ Bode pha của hàm truyền cho ở Ví dụ1
Vẽ giản đồ Bode pha
với sự trợ giúp của FX570MS (Ví dụ 2)
 Nhập hàm khảo sát như sau:(đơn vị: độ)
arg(Ai+10)-0.5A*180/pi-arg(Ai)-arg(Ai+1)-arg(Ai+100)
 Công việc tiếp theo:
 Calc A? 0.01 → -90.8
 Calc A? 0.1 → -98.05
 Calc A? 0.5 → -128
 Calc A? 1 → -158
 Calc A? 2 → -200
 Calc A? 10 → -421
 Calc A? 20 → -697
 Calc A? 50 → -1580
 Calc A? 100 → -3000
Màu xanh: Bode dùng Matlab
Màu đỏ : Vẽ xấp xỉ các giá trị
Vẽ giản đồ Bode pha
với sự trợ giúp của FX570MS
 Các sai lầm thường gặp:
 Khi làm việc với hàm mũ, không đưa về dạng –Tω mà
vẫn để ở dạng arg(exp(-Tjω)), bạn lưu ý là hàm mũ ở
miền số phức có chu kì tuần hoàn là 2Π.
 Khi làm việc với hàm mũ quên chuyển đơn vị từ rad
sang deg.
 Không phân rã các tích của hàm truyền thành các tổng
Arg khi gặp một số hàm bất thường gây sai kết quả.
 Việc tính toán khi thế các giá trị rất nhanh, không mất
nhiều thời gian, chỉ khoảng 3’-5’ để hoàn thành bài
Bode pha.
Kết luận về phương pháp vẽ Bode:
Như đã phân tích trên, việc vẽ Bode không phải là công
việc quá khó khăn, tuy nhiên, nó là công việc nặng về toán học, và
nếu bạn đã rất thành thục với cách vẽ bằng tay, dùng lý thuyết
trang 112-113(Sđd), khi bạn xác định các khâu của hàm truyền, có
thể bạn sẽ không mất thời gian khi vẽ Bode biên độ(khoảng 3’),
tuy nhiên, với bạn không cần xác định các khâu của hàm truyền,
vẫn có thể vẽ được mà không có trục trặc gì, bạn nên nhớ rằng
cách vẽ mà yêu cầu đề chỉ là vẽ gần đúng.
Thật ra, tôi có thể vẽ chính xác đến 99% giản đồ Bode
nếu dùng FX570MS. Lúc đó, tôi đang làm lại cái công việc của
một chiếc máy, và tôi chợt nghĩ, làm tốt công việc của một cái máy
thì có gì phải tự hào 
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Đây cũng là một dạng bài tập rất thường hay gặp trong
các kì thi, tôi cũng thử dùng FX570MS để giải:
Tôi lấy ví dụ trong sách giáo trình để đơn giản:(trang 280-281)
r(t) T eR(t) C(t)
+- e(t)
e(kT)
ZOH G ( s)

10
G ( s) = T = 0.1s
( s + 2 ) ( s + 3)
a. Thành lập hệ phương trình trạng thái mô tả hệ thống trên.
b. Tính đáp ứng của hệ đối với tín hiệu vào là hàm nấc đơn vị
(nhân quả)
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Bước 1: Một cách máy móc, ta tìm được các ma trận A, B,D mô
tả hệ liên tục:
C(s)
E (s)
R
G ( s)
 0 4 0
A=  B=  C = ( 1 0)
 −6 − 5   10 
Chú ý rằng hệ phương trình mô tả hệ liên tục có dạng:

 x&( t ) = Ax ( t ) + Ber ( t )

c ( t ) = Dx ( t )
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Bước 2: Tính ma trận quá độ.

 s+5 1 
 ( s + 2 ) ( s + 3) ( s + 2 ) ( s + 3) 
Φ ( s ) = ( sI − A) =
−1

 −6 s 
 
 ( s + 2 ) ( s + 3) ( s + 2 ) ( s + 3) 
Cách tìm ma trận nghịch đảo:

 a11 K a1n   A11 K A1n 


  −1 1  
A= M O M → A =  M O M
a L  det ( A ) A L
 n1 ann   n1 Ann 
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Với Aij là det một ma trận vuông cấp n-1 được tính bằng cách:

a11 a12 L a1 j L a1n


a21 a22 a2 j L a2n
M M O M M
Aij = ( −1)
i+ j

ai1 ai 2 aij ain


M M M O M
an1 an 2 L anj ann

Bỏ đi hàng i, cột j
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Tính Φ ( t ) = InverseLaplaceTransform ( Φ ( s ) )

 3e −2t − 2e −3t e −2 t − e −3 t 
⇒ Φ( t) =  −2 t −3t −2 t −3t 
 −6 e + 6 e −2e + 3e 
Cách tính Laplace ngược: Giả sử phương trình cần biến đổi có
dạng tử số/mấu số. Với bậc tử số bé hơn bậc mẫu số.
Ta chia ra 3 trường hợp sau:
1. Nghiệm mẫu số là nghiệm đơn.
2. Nghiệm mẫu số là nghiệm thực kép.
3. Nghiệm mẫu số là nghiệm phức liên hợp.
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
1. Nghiệm mẫu số là nghiệm thực đơn..
Num ( s ) Ts ( s )
F ( s) = =
Den ( s ) k
Ms ( s ) ∏ ( s − si )
i =1
Ts ( A )
→ Calc → A ? X i → ni
d  k

dX  ( ) ∏(
Ms A X − X i) , A 
 i =1 

k
⇒ ∑ ni e − X i t
i =1
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
2. Nghiệm mẫu số là nghiệm thực kép:

Num ( s ) Ts ( s )
F ( s) = =
Den ( s ) k
Ms ( s ) ∏ ( s − si )
2

i =1

Ts ( X )
→ Calc → X ? X i → mi1
 k

 Ms X
 ( ) ∏ ( X −Xj)
 k
 
⇒ ∑ ( mi1t + mi 2 ) e − X it
j =1
 j ≠i 
  i =1
 
d  Ts ( X ) 
 k
, A  → Calc → A ? X i → mi 2
Ms ( X ) ∏ ( X − X j )
dX  2

 j =1 
 j ≠i 
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
3. Nghiệm mẫu số là nghiệm phức liên hợp: s1,2 = -α±jβ

Num ( s ) Ts ( s )
F ( s) = =
Den ( s )
( )
k
Ms ( s ) ∏ ( s + α i ) + β i2
2

i =1

Ts ( A )
( )
Mode → 2 → Φ ( A ) = ( s + α i ) + β i2 F ( s ) =
2

( )
k
Ms ( A ) ∏ ( A + α j ) + β j2
2

i =1
j ≠i

→ Calc → A ? X i → real = Φ r → ( Shilft = ) imag = Φ i

e −α i t
k
⇒∑ ( Φ i cos ( β t ) + Φ r sin ( β t ) )
i =1 β i
Khảo sát hệ rời rạc dùng PP Kg trạng thái:

Tôi lấy một ví dụ đơn giản để làm rõ vấn đề này: F ( s) = s +5


2 2 
  
A+5

 s −1 s − 3

   s −2 +9

 
→ Calc → A?1 → n = 0.15    

 

   
d  X −1 X − 32   X − 22 + 9 , A
dX  

 
 

 
 
   
X +5
→ Calc → X ?3 → m1 = 0.4
( X − 1) ( ( X − 2 ) )
2
+9

 
d  X +5
, A → Calc → A ?3 → m2 = −0.23

(
dX ( X − 1) ( X − 2 ) + 9

2 
 )
A+5

 φr = −0.02
Mode → 2 → → Calc → A?2 + 3i → 
2  φi = 0.24

 A −1  A − 3  
  

f ( t ) = 0.15e + ( 0.4t − 0.23) e +


t e2t
3 (
0.24cos ( 3t ) − 0.02sin ( 3t )
3t
)
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Trở lại ví dụ của bài toán rời rạc, bây giờ ta tính các ma trận Ad,Bd,Dd :
Bước 3: Một cách máy móc, ta thế Ad = Ф(T)
T  
Bd = ∫ Φ τ Bdτ = 0.042
 0.975 0.078 
Ad =  



  Dd = D = 1 0
 −0.468 0.585  0.779
   
0 

Với lưu ý rằng, ta có thể dùng chức năng tích phân của FX570MS

Bước 4: Hệ pt trạng thái mô tả hệ thống rời rạc với tín hiệu vào r(kT)



x k +1 = A d− B dD d x k+ B dr k
       


c k  =D x k


d 
   

Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Dùng chức năng ma trận của FX570MS:
Mode ( ×3times ) → 2 ( MAT )
Shift → 4 → 1( edit ) → 1( A) → m ? 2 → n ? 2 → ...
Shift → 4 → 1( edit ) → 2 ( B ) → m ? 2 → n ?1 → ...
Shift → 4 → 1( edit ) → 3 ( C : D ) → m ?1 → n ? 2 → ...

Shift → 4 → 3 ( Mat ) → 1( A ) '− '


→ Shift → 4 → 3 ( Mat ) → 2 ( B ) '× '
→ Shift → 4 → 3 ( Mat ) → 3 ( C )
Khảo sát hệ rời rạc dùng PP Kg trạng thái:
Ta đã tìm được phương trình trạng thái: Nhập ma trận A là ma trận vừa
tìm được. Gán ma trận C=(0 0)T sau đó gán ma trận Ans là ma trận
C.(rõ ràng, có thể dùng tới ma trận cấp 3, tức đạo hàm cấp 3)

→ Mat ( A ) * Mat ( Ans ) − Mat ( B )


Ta cứ nhấn nút ‘=‘đến chừng nào k=n theo yêu cầu bài toán.

Đến đây, ta đã giải xong bài toán khảo sát hệ rời


rạc dùng pp kg trạng thái, tuy các bước tính đều có thể
dùng Caculator, nhưng bạn phải thực hành vài lần thì
mới mong có thể làm không sai sót.
Và tôi xin nhắc lại rằng, đây chỉ là biện pháp đối phó với thi cử, bạn
cần phải có sự tìm hiểu thích hợp khi dùng Matlab. Hiện tại, tôi sử
dụng chương trình matlab 7.0 và Mathematica 5.0, các chương
trình trên phục vụ rất tốt công việc tính toán.
Nếu bạn có hứng thú trao đổi với tôi
về phương pháp dùng Caculator để giải các
bài tập trong thi cử các môn ở trường ĐH
xin gởi mail về địa chỉ hộp thư:
buitrunghieu@khvt.com, rất vui lòng để trao
đổi kinh nghiệm sử dụng với bạn.

You might also like