Tải bản đầy đủ (.doc) (18 trang)

bài tập lớn mô hình hóa 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (235.78 KB, 18 trang )

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) =


kk
ss
K
21
1
)4( ++
Thay s=
1
1
*
2
+

z
z
T
W(p) =
kk
z
z
Tz
z
T
K
21
2
1
1
12
4

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

B = -8+2

21
KK

C = 4- 8T+
21
KK

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
=
CBxAx
zTK
++
+
2
22
1
)1(
Y(z)(Az² + Bz + C) =
1
K
T²(z+1)²U(z)
Az² Y(z)+ Bz Y(z)+ CY(z) =

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

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

=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
3
k1 = 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
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

sailech = Round((ymax - yod) * 100 / yod, 2)
txtsailech.Text = sailech
5
txtsailech.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
6
Dim 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
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

Private Sub cmdThoat_Click()
End
End Sub
Private Sub cmdIndothi_Click()
8
TChart1.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
9
Y[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
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[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
11
Y[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
12
Y[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
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

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á độ
14
6. 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)
15
8. Nhận dạng hệ thống. Từ đường cong quá trình quá độ ta đã nhận dạng
được hàm truyền.
16
9.Thiết kế giao diện trên VB6.0
17
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à Simulinks dành cho kỹ sư điều khiển tự động.
18

×