Nhận dạng hệ thống.. Từ đường cong quá trình quá độ ta đã nhận dạng được hàm truyền... Tài liệu tham khảo[1].. Bài giảng mô hình hóa hệ thống [2].. Nguyễn Phùng Quang.. Matlab và Simulin
Trang 1BÀI TẬP LỚN
MÔ HÌNH HÓA
ĐỀ SỐ 20 Dùng máy tính khảo sát quá trình quá độ của hệ thống điều khiển tự động
Cho hệ thống điều khiển tự động có sơ đồ cấu trúc như sau:
30
1
K
2
,
0
2
K
30
1
K
2
,
0
2
K
Nhiệm vụ của sinh viên:
1) Viết phương trình sai phân
* Tính W(p)
W(p) = ( 4)[ (. ( 4)4) ]
2 1
1
K K s
s s
s
s s K
Trang 2W(p) =
k k
s
s
K
2 1
1
) 4 (
Thay s= 2* 11
z
z T
W(p) =
k k
z
z T z
z
T
K
2 1 2
1
1
1 2 4 1
1 2
Nhân cả tử và mẫu với T²(z+1)² Ta được:
W(p) =
C Bx Ax
z T
K
2
2 2
Với:
A = 4+8T+K1K2T²
B = -8+2K1K2T²
C = 4- 8T+K1K2T²
Tính W(z)
u(t) = 1(t) nên u(k+2) = u (k+1) = u(k) = 1
W(z) =
)
(
)
(
z
z
U
Y
=
C Bx Ax
z T K
2
2 2
Y(z)(Az² + Bz + C) = K1T²(z+1)²U(z)
Az² Y(z)+ Bz Y(z)+ CY(z) = K1T²U(z)(z² + 2z +1)
Ay(k+2) + By(k+1) + Cy(k) = K1T²[u(k+2) + 2u(k+1) + u(k)]
Ay(k+2) + By(k+1) + Cy(k) = 4K1T²
Trang 3y(k+2) =
A
T K k
y A
C k
y A
1
4 ) ( )
1
Thay số
30
1
K
2
,
0
2
K
Ta được :
A = 4,0806
B = -7,9988
C = 3,9206
2.Viết chương trình mô phỏng hệ thống
Dim a, b, c, t, k1, k2 As Double
Dim numberPoint As Long
Dim y() As Double
Dim yod As Double
Dim ymax As Double
Dim sailech, tmax, tod As Double
Dim Kod As Long
Dim str1 As String
Private Sub cmdVe_Click()
On Error GoTo loi
t = 0.001
Trang 4k1 = Val(txtk1.Text)
k2 = Val(txtk2.Text)
If t1 < 0 Then
MsgBox "Hay nhap vao T1>=0", vbOKOnly, "Canh bao"
txtt1.Text = 0
Exit Sub
End If
If t2 < 0 Then
MsgBox "Hay nhap vao T2>=0", vbOKOnly, "Canh bao"
txtt2.Text = 0
Exit Sub
End If
numberPoint = Val(txtnumpoint.Text)
If numberPoint < 1000 Then
MsgBox "So buoc mo phong K >= 1000", vbOKOnly, "Canh bao"
txtnumpoint.SetFocus
Exit Sub
End If
txtk1.Text = k1
txtk2.Text = k2
Trang 5txtnumpoint.Text = numberPoint
a = 4 + 8 * t + k1 * k2 * t ^ 2
b = -8 + 2 * k1 * k2 * t ^ 2
c = 4 - 8 * t + k1 * k2 * t ^ 2
ReDim y(numberPoint + 2)
ymax = y(0)
For k = 0 To numberPoint 'duyet mang
y(k + 2) = (-b * y(k + 1) - c * y(k) + 4 * k1 * t ^ 2) / a
'tinh y[k]
'tinh ymax
If ymax < y(k) Then
ymax = y(k)
End If
Next
txtymax.Text = Round(ymax, 2) 'hien thi ymax
yod = 1 / k2 'tinh y on dinh
txtYod.Text = Round(yod, 2) 'hien y on dinh
'tinh do qua dieu chinh
sailech = Round((ymax - yod) * 100 / yod, 2)
txtsailech.Text = sailech
Trang 6txtsailech.Text = txtsailech.Text + " (%)"
'tinh thoi gian Tmax
For k = 0 To numberPoint
If y(k) = ymax Then
tmax = k * t
Exit For
End If
Next
txttmax.Text = Round(tmax, 4) & " (s)"
'tinh thoi gian on dinh :sai so o trong 5%
For k = numberPoint To 0 Step -1
If y(k) < yod - 0.05 * yod Or y(k) > yod + 0.05 * yod Then
tod = k * t
Kod = k
Exit For
End If
Next
txtTod.Text = Round(tod, 2) & " (s)"
've do thi dap ung
Trang 7Dim strnull As String
strnull = ""
TChart1.Series(0).Clear
For k = 0 To numberPoint
If k Mod 100 = 0 Then
TChart1.Series(0).AddXY k, y(k), k * t, vbBlue
Else
TChart1.Series(0).AddXY k, y(k), strnull, vbBlue
End If
Next
cmdKetqua.Enabled = True
cmdIndothi.Enabled = True
Exit Sub
loi:
MsgBox Tham so nhap vao khong mo phong duoc! hoac" & Chr(10) & "-Thieu thu vien di kem", vbOKOnly, "Loi"
End Sub
Private Sub cmdKetqua_Click()
With Dialog.List1
.AddItem "K1 = " & k1
Trang 8.AddItem "K2 = " & k2
.AddItem "T = " & t & "(s)"
.AddItem "Gia tri cuc dai cua tin hieu ra: Ymax = " & Round(ymax, 3)
.AddItem "Thoi gian dat gia tri Ymax: Tmax = " & Round(tmax, 3) & "(s)" AddItem "Gia tri on dinh cua tin hieu ra: Yod = " & Round(yod, 4)
.AddItem "He thong on dinh sau thoi gian: Tod = " & Round(tod, 3) & "(s)" AddItem "Do qua dieu chinh cua tin hieu ra = " & Round(sailech, 2) & "(%)" AddItem "He thong bat dau on dinh tai buoc tinh thu " & Kod
.AddItem "100 gia tri Y[k]"
For i = 0 To 100
AddItem "Y[" & (numberPoint * i / 100) & "] = " & Round(y(numberPoint
* i / 100), 4)
Next
End With
Dialog.Show 1
End Sub
Private Sub cmdThoat_Click()
End
End Sub
Private Sub cmdIndothi_Click()
Trang 9TChart1.Printer.ShowPreview
End Sub
3.Chọn số bước tính: Chọn k=3000 để hệ ổn định
4.In 100 kết quả
In 100 giá trị đầu ra y[k],cách 30 số in 1 giá trị.Kết quả như sau:
K1 = 30
K2 = 0.2
T = 0.001(s)
Gia tri cuc dai cua tin hieu ra: Ymax = 5.059
Thoi gian dat gia tri Ymax: Tmax = 2.222(s)
Gia tri on dinh cua tin hieu ra: Yod = 5
He thong on dinh sau thoi gian: Tod = 1.42(s)
Do qua dieu chinh cua tin hieu ra = 1.18(%)
He thong bat dau on dinh tai buoc tinh thu 1420
100 gia tri Y[k]
Y[0] = 0
Y[30] = 0.0125
Y[60] = 0.049
Y[90] = 0.1066
Y[120] = 0.1825
Trang 10Y[150] = 0.2744
Y[180] = 0.3799
Y[210] = 0.4969
Y[240] = 0.6237
Y[270] = 0.7583
Y[300] = 0.8993
Y[330] = 1.0453
Y[360] = 1.1948
Y[390] = 1.3468
Y[420] = 1.5002
Y[450] = 1.654
Y[480] = 1.8074
Y[510] = 1.9598
Y[540] = 2.1104
Y[570] = 2.2586
Y[600] = 2.404
Y[630] = 2.5462
Y[660] = 2.6848
Y[690] = 2.8195
Y[720] = 2.9501
Trang 11Y[750] = 3.0763
Y[780] = 3.198
Y[810] = 3.3151
Y[840] = 3.4276
Y[870] = 3.5353
Y[900] = 3.6383
Y[930] = 3.7366
Y[960] = 3.8302
Y[990] = 3.9192
Y[1020] = 4.0036
Y[1050] = 4.0835
Y[1080] = 4.159
Y[1110] = 4.2303
Y[1140] = 4.2974
Y[1170] = 4.3606
Y[1200] = 4.4198
Y[1230] = 4.4753
Y[1260] = 4.5272
Y[1290] = 4.5756
Y[1320] = 4.6207
Trang 12Y[1350] = 4.6626
Y[1380] = 4.7015
Y[1410] = 4.7375
Y[1440] = 4.7708
Y[1470] = 4.8015
Y[1500] = 4.8297
Y[1530] = 4.8556
Y[1560] = 4.8794
Y[1590] = 4.901
Y[1620] = 4.9207
Y[1650] = 4.9386
Y[1680] = 4.9547
Y[1710] = 4.9693
Y[1740] = 4.9824
Y[1770] = 4.994
Y[1800] = 5.0044
Y[1830] = 5.0136
Y[1860] = 5.0217
Y[1890] = 5.0288
Y[1920] = 5.0349
Trang 13Y[1950] = 5.0402
Y[1980] = 5.0446
Y[2010] = 5.0483
Y[2040] = 5.0514
Y[2070] = 5.0538
Y[2100] = 5.0557
Y[2130] = 5.0571
Y[2160] = 5.0581
Y[2190] = 5.0586
Y[2220] = 5.0588
Y[2250] = 5.0587
Y[2280] = 5.0583
Y[2310] = 5.0576
Y[2340] = 5.0567
Y[2370] = 5.0556
Y[2400] = 5.0544
Y[2430] = 5.053
Y[2460] = 5.0515
Y[2490] = 5.05
Y[2520] = 5.0483
Trang 14Y[2550] = 5.0466
Y[2580] = 5.0448
Y[2610] = 5.0431
Y[2640] = 5.0413
Y[2670] = 5.0394
Y[2700] = 5.0376
Y[2730] = 5.0358
Y[2760] = 5.0341
Y[2790] = 5.0323
Y[2820] = 5.0306
Y[2850] = 5.0289
Y[2880] = 5.0273
Y[2910] = 5.0257
Y[2940] = 5.0242
Y[2970] = 5.0227
Y[3000] = 5.0213
5.Vẽ đường cong quá trình quá độ
Trang 156 Tính và in ra các chỉ tiêu chất lượng của hệ điều khiển tự động
7.Dùng Matlab-Simulink khảo sát lại
>> k1=30;
>> k2=0.2;
>> num=k1;
>> dem=[1 4 k1*k2];
>> step(num,dem)
Trang 168 Nhận dạng hệ thống Từ đường cong quá trình quá độ ta đã nhận dạng được hàm truyền.
Trang 179.Thiết kế giao diện trên VB6.0
Trang 18Tài liệu tham khảo
[1] Bài giảng mô hình hóa hệ thống
[2] Nguyễn Phùng Quang
Matlab và Simulinks dành cho kỹ sư điều khiển tự động