ĐỀ TÀI : “Dùng máy tính khảo sát quá trình quá độ của hệ thống điều khiển TĐ”Cho hệ thống điều khiển tự động có các thông số:K1=100; K2=0,1; T1=0,2; T2=0,1svà sơ đồ cấu trúc như sau: Nhiệm vụ của sinh viên: Tìm hàm truyền kín của hệViết phương trình sai phân của hệViết chương trình mô phỏngKết quả mô phỏng, nhận xét, bình luận
Trang 1BÀI TẬP LỚN
MÔ HÌNH HÓA HỆ THỐNG
SINH VIÊN THỰC HIỆN :
ĐỀ TÀI : “Dùng máy tính khảo sát quá trình quá độ của hệ
thống điều khiển TĐ”
Cho hệ thống điều khiển tự động có các thông số:
K 1 =100; K 2 =0,1; T 1 =0,2; T 2 =0,1s
và sơ đồ cấu trúc như sau:
Nhiệm vụ của sinh viên:
- Tìm hàm truyền kín của hệ
- Viết phương trình sai phân của hệ
- Viết chương trình mô phỏng
- Kết quả mô phỏng, nhận xét, bình luận
Từ đề bài ta có thể mô hình lại hệ thống như sau :
Trang 2Ta có : =
Dựa vào tính chất dịch trái của hàm gốc, biến đối z hai vế, tađược :
Trang 3
Xét tín hiệu đầu vào là hàm xung đơn vị u(t) = 1(t) :
u(k+3) = u(k+2) = u(k+1) = u(k) = 1
Trang 43.1 THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH
a Form1: Giao diện mô phỏng
Hình 3.1: Giao diện của chương trình trên VB6CODE thực hiện Form1:
'Khai bao bien dung trong chuong trinh'
Dim y() As Double
Public i, k As Long
Public Ymax, Yod, Tmax, Tod, DQDC As Single
Public n, f, p As Single
Public K1, K2, T1, T2, A, B, C, D, E, T As Double
Public dem, dem1, dem2, dem3, dem4, dem5 As Integer
'Chuong trinh chay ngay khi nhan nut Run'
Private Sub Form_Load()
Luoi.Enabled = False
ChiTieuCL.Enabled = False
TrucTG.Enabled = False
Trang 5dem1 = dem2 = dem3 = dem4 = dem5 = dem = 0
End Sub
'Code Khao sat he thong'
Public Sub KhaoSat()
Ymax = Yod = Tmax = Tod = DQDC = 0
'Lay cac gia tri cua he thong nhap tu man hinh'
B = (-24 * T1 * T2) - (4 * T * (T1 + T2)) + (2 * T ^ 2)+ (3 * K1 * K2 * T ^ 3)
C = (24 * T1 * T2) - (4 * T * (T1 + T2)) - (2 * T ^ 2) +(3 * K1 * K2 * T ^ 3)
D = (-8 * T1 * T2) + (4 * T * (T1 + T2)) - (2 * T ^ 2) +(K1 * K2 * T ^ 3)
E = 8 * K1 * T ^ 3
'Khai bao so phan tu mang dong co do lon 15000 phan
tu, de lay diem ve tren Picture'
ReDim y(k + 14999)
Trang 6'Tinh cac y(k)'
'Do PTSP bat dau tu phan tu y(k) thu 3, nen vong lap
se lay i (0-14996)'
For i = 0 To k + 14996
'Lan luot tinh tung gia tri y(k)'
y(i + 3) = (E - B * y(i + 2) - C * y(i + 1) - D *y(i)) / A
Trang 7n = i
Tod = n * T
'Tinh toan do qua dieu chinh'
DQDC = ((Ymax - Yod) * 100) / Yod
text_Tmax = Round(Tmax, 3) & " (s)"
text_Tod = Round(Tod, 3) & " (s)"
've hai truc'
Picture1.Line (0, 0)-(1.1 * k, 0)
Picture1.Line (0, 0)-(0, 1.375 * f)
Trang 8've mui ten 2 truc'
Trang 9'Khac truc toa do y'
For i = f / 8 To f + f / 4 Step f / 8 'Khac truc y'
Public Sub Vedothi()
Dim time As Integer
'Thoi gian the hien dac tinh bang so diem ve x thoi giantrich mau'
time = Text13
Text6.Text = time * T & " (s)"
Picture1.DrawStyle = 6
Picture1.PSet (0, y(0))
Trang 12' Ve Ymax,Tmax'
Picture1.DrawStyle = 2
Picture1.Line (0, Ymax)-(Tmax, Ymax)
Picture1.Line (Tmax, Ymax)-(Tmax, 0)
Trang 13Picture1.Line (0.85 * k * T, Yod + Yod * 0.05)-(0.86 *
'Khi tick chon Luoi Grid'
Private Sub Luoi_Click()
Call KhaoSat
Call Vetruc
Call Vedothi
End Sub
'Khi tick chon Truc (t)'
Private Sub TrucTG_Click()
Call KhaoSat
Call Vetruc
Call Vedothi
Trang 14'Khi tick chon Chi tieu chat luong'
Private Sub ChiTieuCL_Click()
Call KhaoSat
Call Vetruc
Call Vedothi
End Sub
'Khi chon In ket qua'
Private Sub Print_Click()
'Khi thuc hien lenh Ve dac tinh'
Private Sub Ve_Click()
If Text1.Text = "" Then
MsgBox "Chua nhap K1", vbOKOnly, "Error!"
Text1.SetFocus
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox "Chua nhap K2", vbOKOnly, "Error!"
Text2.SetFocus
Exit Sub
ElseIf Text3.Text = "" Then
MsgBox "Chua nhap T1", vbOKOnly, "Error!"
Trang 15Text3.SetFocus
Exit Sub
ElseIf Text4.Text = "" Then
MsgBox "Chua nhap T2", vbOKOnly, "Error!"
Text4.SetFocus
Exit Sub
ElseIf Text13.Text = "" Then
MsgBox "Chua nhap So Diem Ve", vbOKOnly,
"Error!"
Text13.SetFocus
Exit Sub
ElseIf Val(Text13) < 1000 Then
MsgBox "So diem ve qua nho" & vbCrLf & "Ban nentang so diem ve lon hon" & vbCrLf & "de hien thi day duchi tieu chat luong", vbOKOnly, "Chu y!"
Trang 16MsgBox "So diem ve qua nho" & vbCrLf & "Ban nen tang
so diem ve de hien thi day du chi tieu chat luong",vbOKOnly, "Chu y!"
Trang 17Private Sub Ve_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then Call Ve_Click
'Thuc hien thoat chuong trinh'
Private Sub THOAT_Click()
If MsgBox("Do you really want to exit?", vbOKCancel,
"Exit program") = vbOK Then Unload Form1
Trang 18Unload Form3
End Sub
b. Giao diện mở rộng
Form2: Thông tin người dùng
Hình 3.2: Giao diện thông tin người dùngForm3: Xem và in kết quả
Trang 19Hình 3.2: Giao diện Xem và in kết quảCODE thực hiện: “tham khảo trong chương trình”
3.2 KẾT QUẢ MÔ PHỎNG
Hình 3.4: Kết quả mô phỏng trên VB6.0
Trang 20MATLAB – Simulink & mat.file để vẽ đặc tính như sau:
Hình 3.5: Xây dựng chương trình mô phỏng trên SimulinkKhai báo các giá trị tham số K1, K2, T1, K2 để phục vụ mô
phỏng sử dụng mat.file:
FILE_MOPHONG.m
K1 = 100 ;K2 = 0.1 ;T1 = 0.2 ;T2 = 0.1 ;
Hình 3.6: Dạng đặc tính mô phỏng được trên Simulink
3.3 KẾT QUẢ MÔ PHỎNG
- Bậc của hàm truyền
Trang 21Từ phương trình (1) ta có hàm truyền của hệ thống
Gsys(z) =
Ta có m = 0 và n = 3 với m là bậc của tử số và n là bậccủa mẫu số
Với n > m như vậy đường đặc tính sẽ xuất phát từ điểmgốc tọa độ
- Giá trị xác lập h∞
Có , như vậy giá trị xác lập h∞ ≠ 0
- Hằng số thời gian
Từ phương trình (1) ta gọi Tt là hằng số thời gian của tử, Tm
là hằng số thời gian của mẫu (với Tm là tổng các hằng sốthời gian nhỏ)
=> Tt = 1 và Tm = T1 + T2 = 0.3 => Tt > Tm
=> Đường đặc tính có quá điều chỉnh
Hệ không có thời gian trễ nên đường đặc tính của hệ sẽ códạng
Hình 3.7: Dạng đặc tính dự đoán của hệ thống
Trang 223.4 NHẬN XÉT
- Hệ thống có độ quá điều chỉnh lớn Số lần dao động lớn,thời gian tăng tốc tới Tmax = 17 Như vậy ta thấy hệthống có chất lượng khá kém
- Hệ thống mất thời gian lớn để ổn định, thời gian xét đặctính lớn, giá trị ổng định được xác định là Yod = 10
- Đường cong nhận được bằng cách dùng phần mềmMATLAB để tính hoàn toán trùng với đường cong môhình hoá trên máy tính, điều đó chứng tỏ tính đúng đắncủa phương pháp đã dùng để mô hình hoá hệ điềukhiển tự động trên máy tính