Professional Documents
Culture Documents
TRƯỜNG ĐHBK HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Bài tập số 1
Đề số 4
Dùng máy tính khảo sát quá trình quá độ của hệ điều khiển tự động
MỤC LỤC
1. Đề bài………………………………………………………….4
MATLAB SIMULINK………………………………..……….18
*************
Dùng máy tính khảo sát quá trình quá độ của hệ điều khiển tự động
Cho sơ đồ cấu trúc của hệ thống như hình vẽ:
K 1.K 2
(1 T 1.s )(1 T 2.s ) K1.K 2
Wk (s ) 2
K1.K 2 T 1.T 2.s (T 1 T 2) s K1.K 2.K 3 1
1 .K 3
(1 T 1.s)(1 T 2.s )
Xét sự ổn định của hệ thống:
Phương trình đặc tính của hệ kín :
T1.T 2.s 2 (T1 T 2) s K1.K 2.K 3 1 0.
Để hệ thống ổn định, theo tiêu chuẩn Huzwit ta có :
T1 T 2 0
(T 1 T 2).( K1.K 2.K 3 1) 0
2 z 1
Thay s .
T z 1
Ta có :
K 1.K 2
Wz
2 z 1 2 2 z 1 1
T 1.T 2( . ) (T 1 T 2)( . ) K1.K 2.K 3 1
T z 1 T z 1
K1.K 2.T 2 ( z 1) 2
T1.T 2.4.( z 1) 2 (T1 T 2)T ( z 1).2.( z 1) ( K1.K 2.K 3 1)T 2 ( z 1) 2
Đặt
K1.K 2.T 2 ( z 2 2 z 1)
Wz
( Az 2 Bz C )
A 4 .T 1 .T 2 (T 1 T 2 ). 2T ( K 1 . K 2 . K 3 1)T 2
B ( 2 . K 1 . K 2 .K 3 1)T 2 8 .T 1 .T 2
C 4 .T 1 .T 2 (T 1 T 2 ). 2T ( K 1 . K 2 . K 3 1)T 2
Ta có hàm sai phân như sau:
Y ( z ) K1.K 2.T 2 ( z 2 2 z 1)
W ( z)
U ( z) Az 2 Bz C
A.z 2 .Y ( z ) B.z.Y ( z ) C.Y ( z ) K 1.K 2.T 2 .( z 2 .U ( z ) 2.z.U ( z ) U ( z ))
Dùng tính chất dịch hàm gốc của biến đổi Z, ta tìm được phương trình sai phân
tương ứng:
A.Y (k 2) B.Y (k 1) C.Y (k ) K1.K 2.T 2 (U ( k 2) 2.U (k 1) U ( k ))
Với tín hiệu vào nhảy cấp U(t)=1(t) nên ta có:
U(k+2) = U(k+1) = U(k) = 1.
Vậy ta có:
A.Y (k 2) B.Y (k 1) C.Y (k ) 4.K1.K 2.T 2
Cuối cùng ta tìm được phương trình sai phân của hệ là:
Y (k 2) ( B.Y (k 1) C.Y (k ) 4.K1.K 2.T 2 ) / A
‘Form 1
Option Explicit
Private Sub CmdCreateForms_Click()
Dim xm As Double 'de lam bien trung gian trong viec khac do truc t va y
Dim ym As Double
'Phan kiem tra cac bien dua vao tu giao dien nguoi dung
GVHD: Đỗ Mạnh Cường 6
Bé m«n T§HXNCN Nhãm4 - T§H1 - K52
txtt.SelLength = Len(txtt.Text)
txtt.SetFocus
Exit Sub
End If
'*******gan bien*************************
k1 = txtk1.Text
k2 = txtk2.Text
k3 = txtk3.Text
t1 = txtt1.Text
t2 = txtt2.Text
t = txtt.Text
'*************************************************
a = 4 * t1 * t2 + 2 * t * (t1 + t2) + t * t * (1 + k1 * k2 * k3)
b = -8 * t1 * t2 + t * t * (1 + 2 * k1 * k2 * k3)
c = 4 * t1 * t2 - 2 * t * (t1 + t2) + t * t * (1 + k1 * k2 * k3)
y(0) = 0
y(1) = 0
'**************************************************
For k = 0 To so_buoc_tinh - 2
y(k + 2) = (-b * y(k + 1) - c * y(k) + 4 * k1 * k2 * t * t) / a
Next k
'*************************in 100 gia tri vao list box
lstlist.Clear 'xoa list box
For k = 1 To 100
str = "y(" & CStr(k * 10) & ")=" & CStr(y(k * 10))
'giua dau & va dau khac phai co dau space
lstlist.List(lstlist.ListIndex) = str
Next
max = y(k)
km = k
End If
Next
'*************tim tod thoi gian on dinh
Do While (Abs((y(k) - (1 / k3)) / (1 / k3)) <= 0.02)
k=k-1
Loop
tod = k * t
ktod = k
ytod = y(k)
End Sub
Private Sub cmdquit_Click()
End Sub
Label7.Caption = Time
Label8.Caption = "thang" & Date
form1.Caption = Right(form1.Caption, Len(form1.Caption) - 1)
If form1.Caption = "" Then
form1.Caption = Space(100) & "Nhom sinh vien: Nguyen Van Ty, Nguyen Trung
Thanh, Nguyen Chi Hieu, Giap Van Hiep, Tran Khanh /TDH1- K52"
End If
End Sub
‘FORM 2
'Option Explicit
Private Sub Command1_Click()
Const so_buoc_tinh = 1000 'ta dat trong mang y
Cls
Dim a, ax, b, c, tod, max, km, tm, gd, gm, ki, ytod, ktod As Double
Dim str As String
Dim yod As Double 'gia tri on dinh
Dim xm As Double 'de lam bien trung gian trong viec khac do truc t va y
Dim ym As Double
'phan kiem tra cac bien dua vao tu giao dien nguoi dung
form1.txtk1.SetFocus
Exit Sub
End If
k1 = form1.txtk1.Text
k2 = form1.txtk2.Text
k3 = form1.txtk3.Text
t1 = form1.txtt1.Text
t2 = form1.txtt2.Text
t = form1.txtt.Text
'het phan kiem tra bien vao
y(0) = 0
y(1) = 0
'**************************************************
For k = 0 To so_buoc_tinh - 2
y(k + 2) = (-b * y(k + 1) - c * y(k) + 4 * k1 * k2 * t * t) / a
Next k
'*******************VE DO THI*************************************
Dim buoc_t 'he so khuech dai truc t lam do thi vua man hinh
buoc_t = 40 * 100 / ktod
Dim buoc_y 'he so khuech dai truc y lam do thi vua man hinh
buoc_y = 1000 * 3 / max
For k = 0 To (so_buoc_tinh - 1)
Next
For k = 0 To 6
' xm = xk + ((buoc_t * (tod * 1.2) / t) * k /6 ) 'gia tri toa do cua mot don vi
khac do
xm = xk + (buoc_t * k * Format((1.2 * tod / 6), "0.##")) / t
Line (xm, yk + 20)-(xm, yk - 40)
CurrentX = xm - 90
CurrentY = yk + 40
Print k * Format((1.2 * tod / 6), "0.##")
Next
For k = 1 To 6
ym = yk - buoc_y * k * Format((max / 6), "0.##")
'gia tri toa do cua mot don vi khac do la
Line (xk + 30, ym)-(xk - 30, ym)
CurrentX = xk - 500
CurrentY = ym - 80
Print k * Format((max / 6), "0.##")
Next
Form2.DrawStyle = 0
CurrentX = 2585
CurrentY = 5000
End Sub
End Sub