BÀ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(.
21
1
KKssss
ssK
+++
+
1
W(p) =
1
12
+
+
−
+
+
−
Nhân cả tử và mẫu với T²(z+1)² . Ta được:
W(p) =
CBxAx
zTK
++
+
2
22
1
)1(
Với:
A = 4+8T+
21
KK
T²
B = -8+2
1
K
T²U(z)(z² + 2z +1)
Ay(k+2) + By(k+1) + Cy(k) =
1
K
T²[u(k+2) + 2u(k+1) + u(k)]
Ay(k+2) + By(k+1) + Cy(k) = 4
1
K
T²
Ta có phương trình sai phân:
2
y(k+2) =
A
TK
ky
A
C
ky
A
B
2
1
4
)()1( +−+
−
Thay số
30
1
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
4
txtnumpoint.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
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
7
.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
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
10
Y[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[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
13
Y[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