Tải bản đầy đủ (.docx) (10 trang)

BÀI tập lớn mô HÌNH hóa hệ THỐNG 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 (758.51 KB, 10 trang )

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ
BÀI TẬP LỚN
MÔ HÌNH HÓA HỆ THỐNG
Đề số 16: 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 có sơ đồ cấu trúc như sau :
( - )
Thông số :
Bài làm :
1, viết phương trình sai phân của hệ thống
W(s) = =
Thay s=
2 z-1
.
T z+1
vào phương trình trên ta có: W(p)=
Rút gọn ta có: W(p)=
Với :
A =
B =
C =
W(z)=

(
2
Az +Bz+C
)
( )
Y z
=



Ay(k+2)+By(k+1)+Cy(k) +
Với u(t)=1(t) ta có u(k+2)=u(k+1)=u(k)=1

Ay(k+2)+By(k+1)+Cy(k)=0.

y(k+2)= y(k+1) - .y(k) +
Chọn T=0,0001 ta có:
A = 4,001.
B = -7,990.
C = 3,998.

y(k+2)=1,99.y(k+1)-0,99.y(k) + 4,998.
2.Viết chương trình mô phỏng:
Imports System.IO
Public Class khaosat
Dim y(1000) As Double
Dim k1, k2, t, t1 As Single
Dim a, b, c As Double
Dim max, yod, sigmax1, tmax, tod As Double
Dim tinhyeu As String = "E:\phamvanminh.text"
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles QUIT.Click
Beep()
End
End Sub
Private Sub Draw_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Draw.Click
Dim i, j As Integer
k1 = NumericUpDown1.Value

k2 = NumericUpDown2.Value
t = NumericUpDown3.Value
t1 = NumericUpDown4.Value
y(0) = 0
y(1) = 0
y(2) = 0
a = t1 * 4 + 2 * t * k1 * k2 + 2 * t + k1 * t * t
b = -8 * t1 + 2 * k1 * t * t
c = 4 * t1 - 2 * t * k1 * k2 - 2 * t + k1 * t * t
For i = 0 To 998
y(i + 2) = (-b * y(i + 1) - c * y(i) + 4 * k1 * t * t) / a
Next
Dim x(1000) As Double
For i = 0 To 1000
x(i) = i * t
Chart1.Series(0).Points.AddXY(x(i), y(i))
Next
max = y(0)
For j = 0 To 1000
If y(j) >= max Then
max = y(j)
End If
Next
TextBox1.Text = max
yod = y(1000)
TextBox2.Text = yod
For i = 0 To 1000
If y(i) = max Then
tmax = t * i
End If

Next
TextBox4.Text = tmax
j = 1000
Do While (Math.Abs(y(j) - yod) <= (0.05 * yod))
j = j - 1
If j = 0 Then
Exit Do
End If
Loop
tod = j * t
TextBox5.Text = tod
sigmax1 = ((max - yod) / yod) * 100
TextBox3.Text = sigmax1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
RichTextBox1.Text = " "
RichTextBox1.Text = RichTextBox1.Text & " gia tri Ymax la: " & Str(max)
& vbNewLine
RichTextBox1.Text = RichTextBox1.Text & " gia tri Yod la: " & Str(yod) &
vbNewLine
RichTextBox1.Text = RichTextBox1.Text & " gia tri Sigmax la: " &
Str(sigmax1) & "%" & vbNewLine
RichTextBox1.Text = RichTextBox1.Text & " gia tri Tmax la: " & Str(tmax)
& vbNewLine
RichTextBox1.Text = RichTextBox1.Text & " gia tri Tod la: " & Str(tod) &
vbNewLine
For i = 0 To 1000
If i Mod 10 = 0 Then
RichTextBox1.Text = RichTextBox1.Text & " gia tri y( " & Str(i) & " )

= " & Str(y(i)) & " " & vbNewLine
End If
Next
Dim dulieu As New System.IO.StreamWriter(TextBox6.Text)
dulieu.Write(RichTextBox1.Text)
dulieu.Close()
End Sub
Private Sub khaosat_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
TextBox6.Text = "E:\phamvanminh.text"
If Not File.Exists(tinhyeu) Then
Dim daikho As FileStream
daikho = File.Create(tinhyeu)
daikho.Close()
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim thepath As String =
Environment.GetFolderPath(Environment.SpecialFolder.MyComputer)
Process.Start(thepath & "E:\phamvanminh.text")
End Sub
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Chart1.Series(0).Points.Clear()
End Sub
End Class
3.Chọn số bước tính:
_Chọn K=1000
4.In kết quả:

gia tri y( 0 ) = 0
gia tri y( 10 ) = .000217356434754908
gia tri y( 20 ) = .000885434251529238
gia tri y( 30 ) = .00195696696480308
gia tri y( 40 ) = .00338942066239647
gia tri y( 50 ) = .00514452116711239
gia tri y( 60 ) = .00718782843556838
gia tri y( 70 ) = .00948835347518092
gia tri y( 80 ) = .012018213531702
gia tri y( 90 ) = .014752321724046
gia tri y( 100 ) = .0176681076850931
gia tri y( 110 ) = .0207452661109443
gia tri y( 120 ) = .0239655304305499
gia tri y( 130 ) = .0273124690861633
gia tri y( 140 ) = .030771302165778
gia tri y( 150 ) = .0343287363543681
gia tri y( 160 ) = .0379728163738648
gia tri y( 170 ) = .0416927912646319
gia tri y( 180 ) = .0454789940257595
gia tri y( 190 ) = .0493227332796173
gia tri y( 200 ) = .0532161957594339
gia tri y( 210 ) = .0571523585386709
gia tri y( 220 ) = .0611249100289775
gia tri y( 230 ) = .0651281788707354
gia tri y( 240 ) = .0691570699277174
gia tri y( 250 ) = .0732070066761514
gia tri y( 260 ) = .0772738793493826
gia tri y( 270 ) = .0813539982631416
gia tri y( 280 ) = .0854440518038746
gia tri y( 290 ) = .0895410686142871

gia tri y( 300 ) = .0936423835567965
gia tri y( 310 ) = .0977456070774766
gia tri y( 320 ) = .101848597630779
gia tri y( 330 ) = .10594943685926
gia tri y( 340 ) = .11004640725308
gia tri y( 350 ) = .11413797204155
gia tri y( 360 ) = .118222757093729
gia tri y( 370 ) = .122299534627378
gia tri y( 380 ) = .126367208545608
gia tri y( 390 ) = .130424801238609
gia tri y( 400 ) = .134471441704103
gia tri y( 410 ) = .138506354854781
gia tri y( 420 ) = .142528851894121
gia tri y( 430 ) = .146538321653889
gia tri y( 440 ) = .150534222797215
gia tri y( 450 ) = .154516076800798
gia tri y( 460 ) = .158483461638382
gia tri y( 470 ) = .162436006095461
gia tri y( 480 ) = .166373384652139
gia tri y( 490 ) = .170295312877397
gia tri y( 500 ) = .174201543283666
gia tri y( 510 ) = .178091861595726
gia tri y( 520 ) = .181966083392534
gia tri y( 530 ) = .185824051084732
gia tri y( 540 ) = .18966563119429
gia tri y( 550 ) = .193490711906107
gia tri y( 560 ) = .197299200864389
gia tri y( 570 ) = .201091023189372
gia tri y( 580 ) = .204866119692347
gia tri y( 590 ) = .2086244452692

gia tri y( 600 ) = .212365967454627
gia tri y( 610 ) = .21609066512095
gia tri y( 620 ) = .219798527307128
gia tri y( 630 ) = .223489552164914
gia tri y( 640 ) = .227163746010483
gia tri y( 650 ) = .23082112247098
gia tri y( 660 ) = .234461701716511
gia tri y( 670 ) = .238085509769028
gia tri y( 680 ) = .241692577880445
gia tri y( 690 ) = .245282941973055
gia tri y( 700 ) = .248856642136017
gia tri y( 710 ) = .252413722172334
gia tri y( 720 ) = .255954229191252
gia tri y( 730 ) = .259478213241551
gia tri y( 740 ) = .262985726981654
gia tri y( 750 ) = .266476825382853
gia tri y( 760 ) = .269951565462355
gia tri y( 770 ) = .273410006043178
gia tri y( 780 ) = .276852207538188
gia tri y( 790 ) = .28027823175589
gia tri y( 800 ) = .283688141725781
gia tri y( 810 ) = .287082001541324
gia tri y( 820 ) = .290459876218776
gia tri y( 830 ) = .29382183157027
gia tri y( 840 ) = .297167934089759
gia tri y( 850 ) = .300498250850508
gia tri y( 860 ) = .303812849412996
gia tri y( 870 ) = .307111797742173
gia tri y( 880 ) = .310395164133146
gia tri y( 890 ) = .313663017144458

gia tri y( 900 ) = .316915425538183
gia tri y( 910 ) = .32015245822617
gia tri y( 920 ) = .323374184221816
gia tri y( 930 ) = .326580672596807
gia tri y( 940 ) = .32977199244235
gia tri y( 950 ) = .332948212834421
gia tri y( 960 ) = .33610940280265
gia tri y( 970 ) = .339255631302464
gia tri y( 980 ) = .342386967190171
gia tri y( 990 ) = .345503479200681
gia tri y( 1000 ) = .348605235927608
5.Vẽ đường cong 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:
gia tri Ymax la: .348605235927608
gia tri Yod la: .348605235927608
gia tri Sigmax la: 0%
gia tri Tmax la: .0999999974737875
gia tri Tod la: .0943999976152554
7.Vẽ đường cong quá trình quá độ bằng Matlab-Simulink:
>> K1=50
K1 =
50
>> K2=0.2
K2 =
0.2000
>> T=0.0001
T =
1.0000e-004
>> T1=0.1
T1 =

0.1000
>> num=K1
num =
50
>> den=[T1 1+K1*K2 K1]
den =
0.1000 11.0000 50.0000
>> step(num,den)
• Kết quả mô phỏng trên maplatb
8.Nhận dạng hệ thống:
Hàm truyền đã cho có đường cong của quá trình quá độ giống với đồ thị của
phương trình sai phân tìm được.
9.Thiết kế giao diện:
10.Tài liệu tham khảo:
[1]-Bài giảng mô hình hóa hệ thống Tác giả: Phạm Tâm Thành

×