Bài tập lớn mô hình háo hệ thống đề số 8 - Pdf 23

LỜI MỞ ĐẦU
Mô hình hoá là một phương pháp nghiên cứu khoa học được ứng dụng rất rộng
rãi: từ nghiên cứu, đến thiết kế chế tạo, vận hành. Ngày nay nhờ sự trợ giúp của
máy tính có tốc độ cao, bộ nhớ lớn mà phương pháp mô hình hoá được phát triển
mạnh mẽ và đưa lại hiệu quả lớn.
Mô hình hoá và mô phỏng là một công cụ mạnh của cán bộ nghiên cứu, cán bộ kỹ
thuật để giải các bài toán kỹ sư, quy hoạch, tối ưu hóa v.v… Phương pháp mô hình
hóa và mô phỏng được dùng phổ biến trong các trường đại học, các viện nghiên
cứu cũng như các cơ sở sản xuất và đã đưa lại hiệu quả to lớn.
Ngày nay khó có thể tìm thấy lĩnh vực hoạt động nào của con người mà không sử
dụng phương pháp mô hình hóa ở những mức độ khác nhau. Với tầm quan trọng
trên, môn mô hình hoá đã được đưa vào trong chương trình giảng dạy dành cho
sinh viên Đại Học Hàng Hải. Để có thể nắm bắt một cách có hiệu quả các kiến thức
của môn học này, em đã được giao và tiến hành làm bài tập lớn. Do đây là lần đầu
tiên tiếp xúc với dạng bài tập này nên không thể tránh khỏi những sai sót nhất định,
em rất mong nhận được các ý kiến đóng góp của thầy, cô giáo.
ST
K
.1
1
1
+
).1(
2
2
ST
K
+
).1(
3
3

2
2
1
1
2
2
1
1
1

).1(.1.1
.1
.1.1.1
).1(.1.1
.1.1
.
.1.1.1
1
.1.1
)(
)(
)(
KKKSTTTSTTTTTTSTTT
KKSTKK
KKKSTSTST
STKK
STSTST
KKKSTSTST
STST
KK

+

=
Z
Z
T
S
ta được:
( ) ( )
321321
2
133221
3
321
21321
1
1
12
.
1
12

1
12

.
1
12

)(

+

+++






+

+++






+

+






+

=

32121
3
.2 3 TTKKKKT −
D =
2
32121
3
.2 TTKKKKT −
E =
( ) ( ) ( )
321
3
321
2
323121321
12 4 8 KKKTTTTTTTTTTTTTTT
++++++++
F =
( ) ( ) ( )
321
3
321
2
323121321
1.32 4 24 KKKTTTTTTTTTTTTTTT
+++++++−−
G =
( ) ( ) ( )
321
3

Option Explicit
Dim A, B, C, D, E, F, G, H As Double
Dim t, T1, T2, T3, K1, K2, K3 As Double
Dim Y(10000) As Double
Dim Xmax, Ymax, Hsox, Hsoy, Si, Ky As Double
Dim Xmin, Ymin As Integer
Dim Xsum, Ysum As Integer
Dim sumy As Integer
Dim Xcurrent, Ycurrent As Long
Dim Tmax, Yod As Double
Dim time As Double
Dim i As Integer
Public Sub vedothi()
Dim Dem As Integer
Dim Tod As Double
Dim xichma As Double
Graph.Cls
Xmin = 400
Ymin = 300
Xmax = Graph.Width - 200
' Ve truc toa do '
Graph.Line (Xmin, (Graph.Height - 400))-(Xmax, (Graph.Height - 400))
Graph.Line (Xmax - 100, (Graph.Height - 400) - 50)-(Xmax, (Graph.Height - 400))
Graph.Line (Xmax - 100, (Graph.Height - 400) + 50)-(Xmax, (Graph.Height - 400))
Graph.Line (Xmin, Graph.Height - 400)-(Xmin, Ymin)
Graph.Line (Xmin - 50, Ymin + 100)-(Xmin, Ymin)
Graph.Line (Xmin + 50, Ymin + 100)-(Xmin, Ymin)
Graph.CurrentX = Xmax - 400
Graph.CurrentY = (Graph.Height - 400) + 100
Graph.Print ("t(sec)")

* K2 * K3)
Y(3) = 0
Y(4) = 0
Ymax = 0
time = CStr(txtthoigian.Text) ' THoi gian khao sat (s)
For i = 2 To 998 * time Step 1
Y(i + 3) = (A + B + C + D - F * Y(i + 2) - G * Y(i + 1) - H * Y(i)) / E
If Y(i) > Ymax Then
Ymax = Y(i)
Tmax = i * t
End If
Next i

If Ymax <> 0 Then 'Tranh truong hop Ymax =0 thi bao loi
Hsoy = (Graph.Height - 1000) / (Ymax) ' ' Them 700 de khong vuot ra khoi graph
Else: Ymax = 0.001
End If
Hsox = 5.4 / time

'Tim yod gan nhat

Yod = 1
'Tim do qua dieu chinh'
xichma = (Abs(Ymax - Yod) / Yod) * 100
'Tim Tod
Tod = 998 * time
Do While (Abs(Y(Tod) - Yod) / Yod < 0.05)
Tod = Tod - 1
Loop
'Khac do truc hoanh

Graph.Print "Tmax = " + CStr(Tmax)

'Ve duong on dinh
Graph.Line (400, Graph.Height - 400 - Round(Hsoy * Yod))-(Graph.Width - 400, Graph.Height - 400 -
Round(Hsoy * Yod))
Graph.CurrentX = Tod * Hsox + 900
Graph.CurrentY = Graph.Height - 800 - Round(Yod * Hsoy)
Graph.Print "Yôd = " + Format(CStr(Yod), "####0.0000")

'Ve duong sai so
Graph.Line (400, Graph.Height - 400 - Round(Hsoy * 0.95 * Yod))-(Graph.Width - 400, Graph.Height - 400
- Round(Hsoy * 0.95 * Yod))
Graph.Line (400, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod))-(Graph.Width - 400, Graph.Height - 400
- Round(Hsoy * 1.05 * Yod))

'Ve duong Tod
Graph.Line ((Tod - 2) * Hsox + 400, Graph.Height - 400)-((Tod - 2) * Hsox + 400, Graph.Height - 400 -
Hsoy * Yod)
Graph.CurrentX = (Tod - 2) * Hsox + 400
Graph.CurrentY = Graph.Height - 900
Graph.Print "Tôd = " + CStr(Tod * t) + " "
Graph.DrawStyle = 0

'Ve mui ten 5%
Graph.Line ((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod))-((Tod - 2) * Hsox +
410, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod) - 300)
Graph.Line ((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod))-((Tod - 2) * Hsox +
410 - 100, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod) - 100)
Graph.Line ((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod))-((Tod - 2) * Hsox +
410 + 100, Graph.Height - 400 - Round(Hsoy * 1.05 * Yod) - 100)

Ycurrent = Round((Graph.Height - 400) - Y(i) * Hsoy)
Next i
For i = 1 To 991 Step 1
If i Mod 10 = 0 Then
txty.Text = txty.Text + "y[" + CStr(i) + "] = " + Format(CStr(Y(i)), "#0.00000") + vbNewLine

End If
Next i
End If
End Sub
Private Sub cmddothi_Click()
Graph1.Visible = False
If Val(txtthoigian.Text) < 10 Then
vedothi
Else
MsgBox (" Thoi gian khao sat phai be hon 10(s) ")
End If
End Sub
Private Sub cmdsodo_Click()
Graph1.Visible = True

End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub dothi1_Click(Index As Integer)
Graph1.Visible = False
If Val(txtthoigian.Text) <= 11 Then
lblymax.Caption = "Ymax :"
vedothi

End If
End Sub
Private Sub txtK3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Graph1.Visible = False

vedothi
End If
End Sub
Private Sub txtnhom2_Change()
End Sub
Private Sub txtT1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Graph1.Visible = False

vedothi
End If
End Sub
Private Sub txtT2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Graph1.Visible = False
vedothi
End If
End Sub
Private Sub txtT3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Graph1.Visible = False
vedothi
End If
End Sub

y[160] = 8.66178
y[170] = 3.00040
y[180] = -4.56747
y[190] = -10.77315
y[200] = -12.21072
y[210] = -6.98695
y[220] = 3.96761
y[230] = 16.65834
y[240] = 25.24158
y[250] = 24.45513
y[260] = 12.36406
y[270] = -7.85746
y[280] = -28.22840
y[290] = -38.71452
y[300] = -31.68001
y[500] = -10.91373
y[510] = 279.76264
y[520] = 505.19599
y[530] = 537.75235
y[540] = 313.50134
y[550] = -120.37808
y[560] = -601.36686
y[570] = -903.34959
y[580] = -832.63270
y[590] = -331.74655
y[600] = 458.35744
y[610] = 1218.78296
y[620] = 1566.21841
y[630] = 1226.46912
y[640] = 197.07974

y[450] = 56.93096
y[460] = -111.65193
y[470] = -265.86321
y[480] = -325.89723
y[490] = -238.71689
y[810] = 12495.98548
y[820] = 8594.23070
y[830] = -523.15336
y[840] = -11642.07815
y[850] = -19761.78838
y[860] = -20124.11018
y[870] = -10626.03386
y[880] = 6482.07020
y[890] = 24629.36050
y[900] = 35101.61774
y[910] = 30817.94743
y[920] = 10236.61866
y[930] = -20508.96448
y[940] = -48739.11204
y[950] = -59873.11489
y[960] = -44166.42152
y[970] = -2727.69959
y[980] = 50337.62054
y[990] = 91677.73526
5. Vẽ đường cong quá trình quá độ
6. Tính và in ra các chỉ tiêu chất lượng của hệ điều khiển tự động
- Giá trị cực đại: y(k)
max
= 93575
- Giá trị ổn định của tín hiệu ra: y(k)

Transfer function:
50 s + 250

0.0002 s^3 + 0.023 s^2 + 0.31 s + 126Transfer function:
0.05922 z^3 + 0.05952 z^2 - 0.05863 z - 0.05893

z^3 - 2.889 z^2 + 2.781 z - 0.8912

Sampling time: 0.001
- Đường cong quá độ :
- Chuyển sang mô phỏng miền z ta thu được đồ thị như hình dưới:
Kết luận:
Từ đồ thị nhận được trong quá trình mô phỏng bằng phần mềm chuyên dụng cũng
như phần mềm Visualbasic ta thấy 2 kết quả là tưong đương nhau,trong đó phần
mềm chuyên dụng là Matlab thì dễ sử dụng hơn cả vì code lệnh đơn giản,dễ thực
hiện.
8,Nhận dạng hệ thống
9,Thiết kế giao diện ,nhập thông số,lấy kết quả vào ra
10,Tài liệu tham khảo
[1] Nguyễn Công Hiền , Nguyễn Phạm Thục Anh.
[2] Mô hình hoá và mô phỏng hệ thống, NXB Khoa Học Kỹ Thuật 2006.
[3] Nguyễn Phùng Quang, Matlab & Simulink dành cho kỹ sư Điều Khiển Tự
Động, NXB KHKT năm 2002.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status