Đề số 06: Dùngmáytínhkhảosátquátrìnhquáđộcủa hệ thốngđiềukhiểntựđộng Cho hệ thốngđiềukhiểntựđộng có sơ đồ cấu trúc như sau: K 1 =100; K 2 =0,5 -Các bước thực hiện Bước 1: Phương trình sai phân củahệthống ( ) ( ) 1 1 1 2 1 2 4 W( ) 4 1 ( 4) K s s K s K K s s K K s s + ⇒ = = + + + + Thay 2 1 1 z s T z − = + vào G(s) ta có: 1 1 2 ( ) ( ) 2 1 2 1 ( ) 4 1 1 K Y z W z z z U z K K T z T z = = − − + + ÷ ÷ + + ( ) 2 2 1 2 2 2 2 1 2 2 1 4( 1) 8 ( 1) ( 1) K T z z z T z K K T z + + = − + − + + ( ) 2 2 1 2 2 1K T z z Az Bz C + + = + + Trong đó: 2 2 1 2 2 1 2 2 1 2 4 8 8 2 4 8 A T K K T B K K T C T K K T = + + = − + = − + 1 ( ) 2 2 1 2 2 1 ( ) ( ) K T z z Y z U z Az Bz C + + ⇒ = + + ( ) ( ) 2 2 2 1 ( ) ( ). 2 1Y z Az Bz C U z K T z z ⇒ + + = + + 2 2 2 2 2 1 1 1 . ( ) . ( ) . ( ) ( ) 2 ( ) ( )Az Y z Bz Y z C Y z K T z U z K T zU z K T U z ⇒ + + = + + Áp dụngtính chất của phép biến đổi Z ta có: 2 2 2 1 1 1 . ( 2) . ( 1) . ( ) ( 2) 2 ( 1) ( )AY k BY k C Y k K T U k K T U k K T U k + + + + = + + + + Chọn ( ) 1( ) ( 2) ( 1) ( ) 1u t t U k U k U k = ⇒ + = + = = 2 1 . ( 2) . ( 1) . ( ) 4AY k B Y k C Y k K T + + + + = Phương trình sai phân củahệthống có dạng : 2 1 4 ( 2) . ( 1) . ( ) K TB C Y k Y k Y k A A A ⇒ + = − + − + Bước 2: Viết chương trình mô phỏng bằng Visual Basic 6.0 Option Explicit Dim h, w As Integer Dim A, B, C, K1, K2 As Double Dim T As Double Dim Y(1000) As Double Dim Xmin, Xmax, Ymin As Integer Dim k, i As Integer Dim m, n, time As Double 2 Private Sub Cmd_thoat_Click() End End Sub Private Sub Cmd_Ve_Click() Dim Ymax, Yod, Tod, Tmax, sigma As Double Xmin = 600 Ymin = 400 h = graph.Height w = graph.Width Xmax = w - 400 graph.DrawStyle = 0 graph.Line (Xmin, (h - 400))-(Xmax, (h - 400)) graph.Line (Xmax - 100, h - 450)-(Xmax, h - 400) graph.Line (Xmax, h - 400)-(Xmax - 100, h - 350) graph.Line (Xmin, h - 400)-(Xmin, 400) graph.Line (Xmin, 400)-(Xmin - 50, 500) graph.Line (Xmin, 400)-(Xmin + 50, 500) graph.CurrentX = Xmin - 300 graph.CurrentY = Ymin graph.Print ("y(t)") graph.CurrentX = Xmax - 200 graph.CurrentY = h - 260 graph.Print ("time(s)") graph.CurrentX = Xmin - 150 graph.CurrentY = h - 350 graph.Print ("0") K1 = txtK1.Text K2 = txtK2.Text T = 0.01 3 time = 10 A = 4 + 8 * T + K1 * K2 * T * T B = -8 + 2 * K1 * K2 * T * T C = 4 - 8 * T + K1 * K2 * T * T Ymax = 0 For k = 1 To 997 Y(k + 2) = (-B / A) * Y(k + 1) - (C / A) * Y(k) + 4 * K1 * T * T / A If Y(k) > Ymax Then Ymax = Y(k) Tmax = k * T End If Next k Yod = 1 / K2 sigma = 100 * (Ymax - Yod) / Yod Tod = 1000 Do While (Abs(Y(Tod) - Yod) / Yod) < 0.05 Tod = Tod - 1 Loop Tod = Tod * T m = (w - 1500) / 5 For i = 1 To 5 graph.Line (m * i + 400, h - 350)-(m * i + 400, h - 450) graph.CurrentX = m * i + 400 graph.CurrentY = h - 300 graph.Print CStr(time * i / 5) Next i n = (h - 1200) / 5 For i = 0 To 4 graph.Line (Xmin - 50, n * i + 800)-(Xmin + 50, n * i + 800) graph.CurrentX = Xmin - 400 4 graph.CurrentY = n * i + 800 graph.Print Format(CStr(Ymax * (5 - i) / 5), "#0.00") Next i graph.DrawStyle = 2 graph.Line (Xmin, 800)-(w - 500, 800) graph.Line (Xmin + (Tmax / time) * (w - 1500), 800)-(Xmin + (Tmax / time) * (w - 1500), h - 400) graph.CurrentX = Xmin + (Tmax / time) * (w - 1500) graph.CurrentY = 400 graph.CurrentX = Xmin + (Tmax / time) * (w - 1500) - 200 graph.CurrentY = h - 600 graph.DrawStyle = 2 graph.Line (Xmin + (Tod / time) * (w - 1500), 1100)-(Xmin + (Tod / time) * (w - 1500), h - 400) graph.CurrentX = Xmin + (Tod / time) * (w - 1500) - 200 graph.CurrentY = h - 400 graph.Print "Tod=" + CStr(Tod) txtYmax = Ymax txtYod = Yod txtsigma = sigma txtTmax = Tmax txtTod = Tod Dim x0, y0 As Double x0 = Xmin y0 = h - 400 txty = "" For i = 0 To 997 Step 1 If i Mod 10 = 0 Then txty.Text = txty.Text + "y[" + CStr(i) + "] = " + Format(CStr(Y(i)), "#0.00000") 5 End If graph.DrawStyle = 0 graph.Line (x0, y0)-(Xmin + (i + 1) * T * (w - 1500) / time, h - 400 - Y(i + 1) * (h - 1200) / Ymax) x0 = Xmin + i * T * (w - 1500) / time y0 = h - 400 - Y(i) * (h - 1200) / Ymax Next i End Sub Bước 3: Chọn bước tính k =1000 Bước 4: In kết quả y[0] = 0.0000000 y[10] = 4.5467847 y[20] = 11.6413671 y[30] = 12.1835091 y[40] = 7.5850282 y[50] = 4.8341400 y[60] = 6.5738528 y[70] = 9.3652775 y[80] = 9.6124627 y[90] = 7.8206686 y[100] = 6.7240721 y[110] = 7.3891682 y[120] = 8.4872311 y[130] = 8.5977075 y[140] = 7.8997170 y[150] = 7.4627841 y[160] = 7.7168264 y[170] = 8.1486747 y[180] = 8.1973001 y[190] = 7.9254702 y[200] = 7.7514568 y[210] = 7.8484008 y[260] = 7.9011958 y[270] = 7.9679456 y[280] = 7.9770493 y[290] = 7.9358543 y[300] = 7.9082902 y[310] = 7.9223649 y[320] = 7.9485989 y[330] = 7.9524867 y[340] = 7.9364564 y[350] = 7.9254929 y[360] = 7.9308471 y[370] = 7.9411553 y[380] = 7.9428042 y[390] = 7.9365680 y[400] = 7.9322092 y[410] = 7.9342435 y[420] = 7.9382931 y[430] = 7.9389883 y[440] = 7.9365630 y[450] = 7.9348307 y[460] = 7.9356027 y[470] = 7.9371932 y[510] = 7.9361463 y[520] = 7.9367708 y[530] = 7.9368926 y[540] = 7.9365261 y[550] = 7.9362528 y[560] = 7.9363635 y[570] = 7.9366087 y[580] = 7.9366594 y[590] = 7.9365170 y[600] = 7.9364085 y[610] = 7.9364503 y[620] = 7.9365465 y[630] = 7.9365675 y[640] = 7.9365122 y[650] = 7.9364692 y[660] = 7.9364849 y[670] = 7.9365227 y[680] = 7.9365314 y[690] = 7.9365099 y[700] = 7.9364928 y[710] = 7.9364988 y[720] = 7.9365136 [760] = 7.9365043 y[770] = 7.9365101 y[780] = 7.9365116 y[790] = 7.9365083 y[800] = 7.9365056 y[810] = 7.9365065 y[820] = 7.9365088 y[830] = 7.9365094 y[840] = 7.9365081 y[850] = 7.9365070 y[860] = 7.9365074 y[870] = 7.9365083 y[880] = 7.9365085 y[890] = 7.9365080 y[900] = 7.9365076 y[910] = 7.9365077 y[920] = 7.9365081 y[930] = 7.9365082 y[940] = 7.9365080 y[950] = 7.9365078 y[960] = 7.9365078 y[970] = 7.9365080 6 y[220] = 8.0182012 y[230] = 8.0393449 y[240] = 7.9335099 y[250] = 7.8642380 y[480] = 7.9374849 y[490] = 7.9365419 y[500] = 7.9358537 y[730] = 7.9365172 y[740] = 7.9365088 y[750] = 7.9365020 y[980] = 7.9365080 y[990] = 7.9365079 y[1000] = 7.9365079 Bước 5: Đường cong quáđộ Bước 6: Chỉ tiêu chất lượng củahệthống ĐKTĐ Bước 7: Đặc tínhquáđộ trên Matlab – Simulink 7 Kết luận: Hệ đã cho ổn định theo thời gian. Kết quảkhảosát bằng Matlab-Simulink hoàn toàn trùng với kết quả thu được trên VB,chứng tỏ tínhđúng đắn của phương pháp đã dùng để mô hình hóa hệ thống. Bước 8.Nhận dạng hệthốngTừ đườ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ủahệ bậc củatử số nhỏ hơn bậc của mẫu số. 8 -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ủatử nhỏ hơn hằng số thời gian của mẫu. So với hàm truyền đã cho: W(s)= 2 100 4 50s s + + +,Bậc củatử (=0 ) < bậc của mẫu (=2) nên hàm số xác lập tại 1 giá trị khác 0 +,Hằng số thời gian củatử (=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ả trên hoàn toàn phù hợp Bước 9.Thiết kế giao diện Bước 10.Tài liệu tham khảo [1]. Nguyễn Công Hiền, Nguyễn Phạm Thục Anh ,”Mô hình hóa hệthống và mô phỏng”, NXB Khoa học và kỹ thuật. [2]. Nguyễn Phùng Quang,”Matlab và Simulink dành cho kỹ sư điều khiểntự động”, NXB Khoa học và kỹ thuật. 9 . 06: 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: K 1 =100; K 2 =0,5 -Các bước thực hiện Bước 1: Phương trình. 5: Đường cong quá độ Bước 6: Chỉ tiêu chất lượng của hệ thống ĐKTĐ Bước 7: Đặc tính quá độ trên Matlab – Simulink 7 Kết luận: Hệ đã cho ổn định theo thời gian. Kết quả khảo sát bằng Matlab-Simulink. 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ố. 8 -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