: Cho sơ đồ cấu trúc của hệ điều khiển tự động. Hãy dùng máy tính để
mô phỏng và khảo sát quá trình quá độ của hệ.
Đề Thông Số
1
K
2
K
3
K
1
T
2
T
T
04 50 5 0.5 0.01 0.2 0.001
!"# $%&
*Tìm hàm truyền kín của hệ
1 2
1 2
1 2
.
W .W
( . 1).( . 1)
K K
T s T s
=
+ +
- Hàm truyền của hệ hở:
+ +
= =
+ + +
+
+ +
1 2
2
1 2 1 2 1 2 3
.
. . ( ). (1 . . )
K K
T T s T T s K K K
=
+ + + +
Thay
2 1
.
1
z
s
T z
−
=
+
vào W(s) được:2 2
1 2
2
y k y k y k
A A A
−
+ = + − +
2
1 2
4. . .D K K T=
Đây chính là phương trình sai phân của hệ.
'( !"# )*+ !,- !
Sử dụng phần mềm VisualBasic 6.0
Mã code:
. (/012(/3/")4%%/ /
/ /%
Dim Y() As Variant
Dim A, B, C, D As Double
Dim k1, k2, k3, t1, t2, t, ymax, tod, tmax, ydc, diem As Single
Private Sub cmdinkq_Click()
Form4.Show
End Sub
Private Sub cmdplot_Click()
diem = Val(Textn.Text)
k1 = Val(Textk1.Text)
k2 = Val(Textk2.Text)
k3 = Val(Textk3.Text)
t1 = Val(Textt1.Text)
t2 = Val(Textt2.Text)
t = Val(Textt.Text)
A = (t1 * t2) * 4 + (t1 + t2) * t * 2 + (1 + k1 * k2 * k3) * t * t
B = 2 * (1 + k1 * k2 * k3) * t * t - t1 * t2 * 8
C = (t1 * t2) * 4 - (t1 + t2) * t * 2 + (1 + k1 * k2 * k3) * t * t
If diem > 3 Then
yod = k1 * k2 / (1 + k1 * k2 * k3)
Textyod.Text = Round(yod, 6)
End If
'tinh Tmax
If diem > 3 Then
For i = 0 To diem
If Y(i) = ymax Then tmax = i * t
Next i
Texttmax.Text = Round(tmax, 6)
End If
'Tinh Tod
If diem > 3 Then
For i = diem To 1 Step (-1)
3
If Y(i) > yod * 1.05 Or Y(i) < yod * 0.95 Then
tod = i * t
Exit For
End If
Next i
Texttod.Text = Round(tod, 6)
End If
'tinh do qua dieu chinh
If diem > 3 Then
ydc = ((ymax - yod) * 100) / yod
Textydc.Text = Round(ydc, 5)
End If
End Sub
Private Sub cmdexit_Click()
If MsgBox("Ban Co Muon Thoat Khoi Chuong Trinh", vbYesNo + vbQuestion,
End Sub
Private Sub Form_Load()
Label1.Caption = "Nhap Cac Gia Tri Cho Cac Dai Luong K1, K2, K3, T1, T2,
Thoi Gian Trich Mau Va So Diem Ve" & Chr(13)
Label2.Caption = "CHU Y : So Diem Ve Phai Lon Hon 3" & Chr(13)
Label3.Caption = "Ymax : GiaTri Y Cuc Dai" & Chr(13)
Label4.Caption = "Yod : GiaTri Y On Dinh" & Chr(13)
Label5.Caption = "Tmax : Thoi Gian HTDK Dat Gia Tri Y Cuc Dai" & Chr(13)
Label6.Caption = "Tod : Thoi Gian HTDK Dat Gia Tri Y On Dinh" & Chr(13)
Label7.Caption = "Y(k) GiaTri Y Tai Cac Diem Ve Thu k" & Chr(13)
End Sub
. (/012(/3/")84 9:
Dim Y() As Variant
Dim A, B, C, D As Double
Dim k1, k2, k3, t1, t2, t, i, diem As Single
Private Sub Form_Load()
Text1.Text = "Gia Tri Cuc Dai Cua HTDK: Ymax=" & Form1.Textymax &
vbNewLine
Text1.Text = Text1.Text & "Gia Tri On Dinh Cua HTDK: Yod=" &
Form1.Textyod & vbNewLine
Text1.Text = Text1.Text & "Thoi Gian Ma HTDK Dat Gia Tri Ymax : Tmax=" &
Form1.Texttmax & vbNewLine
Text1.Text = Text1.Text & "Thoi Gian Ma HTDK Dat Gia Tri Yod : Tod=" &
Form1.Texttod & vbNewLine
Text1.Text = Text1.Text & "Do Qua Dieu Chinh Cua HTDK=" & Form1.Textydc
& "%" & vbNewLine
Text1.Text = Text1.Text & " Gia Tri Y(k) :" & vbNewLine
diem = Val(Form1.Textn)
k1 = Val(Form1.Textk1)
k2 = Val(Form1.Textk2)
y[ 0]= 0
y[ 10]= 2.630451
y[ 20]= 2.098693
y[ 30]= 1.649783
y[ 40]= 2.248883
y[ 50]= 1.861048
y[ 60]= 2.002494
y[ 70]= 2.011083
y[ 80]= 1.952972
y[ 90]= 2.003012
y[ 510]= 1.984127
y[ 520]= 1.984127
y[ 530]= 1.984127
y[ 540]= 1.984127
y[ 550]= 1.984127
y[ 560]= 1.984127
y[ 570]= 1.984127
y[ 580]= 1.984127
y[ 590]= 1.984127
y[ 600]= 1.984127
6
y[ 100]= 1.977944
y[ 110]= 1.983065
y[ 120]= 1.987294
y[ 130]= 1.981611
y[ 140]= 1.985301
y[ 150]= 1.983949
y[ 160]= 1.983873
y[ 170]= 1.984423
y[ 180]= 1.983947
y[ 490]= 1.984127
y[ 500]= 1.984127
y[ 610]= 1.984127
y[ 620]= 1.984127
y[ 630]= 1.984127
y[ 640]= 1.984127
y[ 650]= 1.984127
y[ 660]= 1.984127
y[ 670]= 1.984127
y[ 680]= 1.984127
y[ 690]= 1.984127
y[ 700]= 1.984127
y[ 710]= 1.984127
y[ 720]= 1.984127
y[ 730]= 1.984127
y[ 740]= 1.984127
y[ 750]= 1.984127
y[ 760]= 1.984127
y[ 770]= 1.984127
y[ 780]= 1.984127
y[ 790]= 1.984127
y[ 800]= 1.984127
y[ 810]= 1.984127
y[ 820]= 1.984127
y[ 830]= 1.984127
y[ 840]= 1.984127
y[ 850]= 1.984127
y[ 860]= 1.984127
y[ 870]= 1.984127
y[ 880]= 1.984127
Từ đường cong quá độ thu được nhờ các phần mềm mô phỏng ta nhận thấy:
-Đường cong xuất phát từ gốc tọa độ cho thấy trong hàm truyền kín của hệ bậc của
tử số nhỏ hơn bậc của mẫu số.
-Giá trị xác lập ổn định là 1 số khác 0 nên
-Dễ thấy hàm quá độ đơn điệu tăng và không có độ quá điều chỉnh nên có thể kết
luận hằng số thời gian của tử nhỏ hơn hằng số thời gian của mẫu.
So với hàm truyền đã cho:
1 2
2
1 2 1 2 1 2 3
.
W( )
. . ( ). (1 . . )
K K
s
T T s T T s K K K
=
+ + + +
+Bậc của tử (=0 ) < bậc của mẫu (=2)
+ = 0 nên hàm số xác lập tại 1 giá trị khác 0
+Hằng số thời gian của tử (=0) < hằng số hằng số thời gian của mẫu nên hàm
quá độ sẽ đơn điệu tăng.???
Kết quả hoàn toàn phù hợp
9
W@!%/0, "K IX
10
XYM,7%)@B/
[1] Matlab và Simulink dành cho kỹ sư điều khiển tự động
NGUYỄN PHÙNG QUANG-NXB KHOA HỌC VÀ KỸ THUẬT-2006
[2] Bài giảng Visual Basic