1. Trang chủ
  2. » Luận Văn - Báo Cáo

DÙNG MÁY TÍNH KHẢO SÁT QUÁ TRÌNH QUÁ ĐỘ CỦA HỆ ĐIỀU KHIỂN TỰ ĐỘNG.

11 20 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Để đảm bảo một hệ thống tự động hoạt động tốt và ổn đinh, chúng ta cần khảo sát quá trình quá độ để xem đặc tính theo thời gian của hệ, từ đó có thể điều chỉnh các tham số phù hợp để đáp ứng đúng cho ứng dụng thực tế.

Bài tập mơ hình hố mơ q trình độ hệ thống điều khiển tự động TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN BỘ MÔN TỰ ĐỘNG HỐ XÍ NGHIỆP CƠNG NGHIỆP BÀI TẬP DÀI MƠ HÌNH HỐ SỐ DÙNG MÁY TÍNH KHẢO SÁT Q TRÌNH QUÁ ĐỘ CỦA HỆ ĐIỀU KHIỂN TỰ ĐỘNG Chủ nhiệm mơn Thầy giáo hướng dẫn Sinhviên Lớp Nhóm : TS.Nguyễn Mạnh Tiến : GS.TS.Nguyễn Công Hiền Th.S.Nguyễn Danh Huy : Võ Quang Hưng Nguyễn Hữu Đông Phạm Tuấn Diện Đinh Quang Tuận : TĐH3_K46 :2 Hà Nội……… 9-2004 Bài tập mơ hình hố mơ q trình độ hệ thống điều khiển tự động 1) Đề bài: Dùng máy tính khảo sát q trình q độ hệ điều khiển tự động a)Sơ đồ cấu trúc hệ thống: u(t) y(t) K2 b)Tham số hệ thống: + u(t) = 1(t), + Ki ,Ti -theo đề cho, + T- bước cắt mẫu,tự chọn 2)Viết phương trình sai phân hệ thống K1 (T1 s  1)(T2 s  1) W (s)  K K 1 (T1 s  1)(T2 s  1) K1 (T1 s  1)(T2 s  1) W (s)  (T1 s  1)(T2 s  1)  K K (T1 s  1)(T2 s  1) W (s)  K1 T1 T2 s  (T1  T2 ).s   K K 2 Bài tập mơ hình hố mơ trình độ hệ thống điều khiển tự động Z1 Vào biểu thức ta có: T Z 1 Thay s   W (Z )   Với K1  2.(Z  1)   2( Z  1)  T1 T2   (T1  T2 )      K K  T ( Z  1)   T ( Z  1)  K T ( Z  2.Z  1) AZ  BZ  C A = 4.T1.T2 + 2.T.T1 + 2.T.T2 + K1.K2.T2 + 2.T2 B = -8.T1.T2 + 2.K1.K2.T2 + 2.T2 C = 4.T1.T2 - 2.T.T1 - 2.T.T2 + K1.K2*T*T + T*T Ta có hàm sai phân sau: Y ( Z ) K T ( Z  Z  1)  U (Z ) AZ  BZ  C  A.Z2.Y(Z) + B.Z.Y(Z) + C.Y(Z) = K1.T2.(Z2.U(Z) + 2.Z.U(Z) + U(Z)) Dùng tính chất hàm gốc biến đổi Z ta tìm phương trình sai phân tương ứng với phương trình: A.Y  K  2  B.Y  K  1  C.Y  K   K T U  K  2  2.U  K  1  U  K   Vì tín hiệu vào tín hiệu nhảy cấp U(t) = 1(t) nên ta có: U  K  2 U  K  1 U  K  1 Vậy ta có: A.Y  K  2  B.Y  K  1  C.Y  K  4.K T Cuối ta tìm phương trình sai phân hệ thống điều khiển tự động là: Y  K  2 (  B.Y  K  1  C.Y  K   4.K1 T ) / A Từ phương trình sai phân hệ thống điều khiển tự động ,ta viết phương trình máy tính để tìm đáp ứng hệ y(t) tín hiệu vào hàm nhảy cấp 1(t) Bài tập mô hình hố mơ q trình q độ hệ thống điều khiển tự động Chương trình Matlab >> K1 = 4; >> K2 = 1; >> T1 = 0.1; >> T2 = 0.1; >> num =[K1] >> den =[T1*T2,T1+T2,K1*K2 + 1]; >> step(num,den) >> Step(num,den);title('Dac tinh qua cua he thong'); >> ylabel('y(t)');xlabel('t,sec'); Kêt luận : Theo phơưng trình đặc tính hệ thống va tiêu chuẩn Routh-hơpit ta thay đẻ hệ thống ổn định (K1*K2 + 1)>0 tuỳ tong thơng số mà ta có đạc điểm khác Vứi số liệu hệ thống ổn định Bài tập mơ hình hố mơ q trình q độ hệ thống điều khiển tự động 3) Viết phương trình mơ Visual Basic Option Explicit Dim A, B, C As Double Dim t, T1, T2, K1, K2 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 Private 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 ' 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)") Graph.CurrentX = Xmin - 250 Graph.CurrentY = Ymin - 100 Graph.Print ("y(t)") Graph.CurrentX = Xmin - 200 Graph.CurrentY = (Graph.Height - 400) + 100 Graph.Print ("0") ' Tinh cac gia tri Y' K1 = Val(txtk1.Text) K2 = Val(txtk2.Text) Bài tập mơ hình hố mơ trình độ hệ thống điều khiển tự động T1 = Val(txtt1.Text) T2 = Val(txtt2.Text) t = 0.001 If (K1 * K2 + 1) 0.0001) And (i < 1000 * time - 1) i=i+1 Tod = i Wend Yod = Y(i) 'Khac truc hoanh Si = time / (t * 5) Bài tập mơ hình hố mơ q trình q độ hệ thống điều khiển tự động For i = To Graph.Line (i * Si * Hsox + 300, Graph.Height - 350)-(i * Si * Hsox + 300, Graph.Height - 450) Graph.CurrentX = i * Si * Hsox + 200 Graph.CurrentY = Graph.Height - 300 Graph.Print CStr(i * Si * t) Next 'Khac truc tung Ky = Ymax * Hsoy / 'sumy = Round(5 + (Graph.Height - 500 - Round(Ymax * Hsoy)' For i = To Graph.Line (350, Graph.Height - 400 - Round(Ky * i))-(450, Graph.Height - 400 - Round(Ky * i)) Graph.CurrentX = Graph.CurrentY = Graph.Height - 400 - Round(Ky * i) - 100 Graph.Print Format(CStr(Ky * i / Hsoy), "#0.00") Next 'Ve duong ymax Graph.DrawStyle = Graph.Line ((Tmax / t - 2) * Hsox + 400, Graph.Height - 400)-((Tmax / t - 2) * Hsox + 400, Graph.Height - 400 - Round(Hsoy * Ymax)) Graph.Line ((Tmax / t - 2) * Hsox + 400, Graph.Height - 400 - Round(Hsoy * Ymax))-(400, Graph.Height - 400 - Round(Hsoy * Ymax)) Graph.CurrentX = (Tmax / t - 2) * Hsox + 400 Graph.CurrentY = Graph.Height - 600 - Round(Hsoy * Ymax) Graph.Print "Ymax = " + Format(CStr(Ymax), "####0.0000") Graph.CurrentX = (Tmax / t - 2) * Hsox + 450 Graph.CurrentY = Graph.Height - 700 Graph.Print "Tmax = " + CStr(Tmax) 'Ve duong on dinh Graph.Line (400, Graph.Height - 400 - Round(Hsoy * Y(1000 * time)))(Graph.Width - 400, Graph.Height - 400 - Round(Hsoy * Y(1000 * time))) Graph.CurrentX = Tod * Hsox + 450 Graph.CurrentY = Graph.Height - 800 - Round(Yod * Hsoy) Graph.Print "Yôđ = " + Format(CStr(Y(1000 * time)), "####0.0000") 'Ve duong sai so Graph.Line (400, Graph.Height - 400 - Round(Hsoy * 0.95 * Y(1000 * time)))-(Graph.Width - 400, Graph.Height - 400 - Round(Hsoy * 0.95 * ‘ Y(1000 * time))) Graph.Line (400, Graph.Height - 400 - Round(Hsoy * 1.05 * Y(1000 * time)))-(Graph.Width - 400, Graph.Height - 400 - Round(Hsoy * 1.05 * Y(1000 * time))) Bài tập mơ hình hố mơ q trình q độ hệ thống điều khiển tự động '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ôđ = " + CStr(Tod * t) + " " Graph.DrawStyle = '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) Graph.Line ((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 0.95 Yod))-((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 0.95 * Yod) + 300) Graph.Line ((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 0.95 * Yod))-((Tod - 2) * Hsox + 410 - 100, Graph.Height - 400 - Round(Hsoy * 0.95 * Yod) + 100) Graph.Line ((Tod - 2) * Hsox + 410, Graph.Height - 400 - Round(Hsoy * 0.95 * Yod))-((Tod - 2) * Hsox + 410 + 100, Graph.Height - 400 - Round(Hsoy * 0.95 * Yod) + 100) Graph.CurrentX = (Tod - 2) * Hsox + 450 Graph.CurrentY = Graph.Height - 400 - Round(Hsoy * 0.95 * Yod) + 200 Graph.Print "5% Yôđ" ' Hien thi cac gia tri thoi gian txtymax.Text = Format(CStr(Ymax), "#0.00000") txtyod.Text = Format(CStr(Yod), "#0.00000") txtxichma.Text = Format(CStr(xichma), "#0.00000") txttod.Text = Format(CStr(Tod * t), "#0.00000") txttymax.Text = Format(CStr(Tmax), "#0.00000") ' ve thi ' Xcurrent = Xmin Ycurrent = (Graph.Height - 400) txty = "" For i = To 999 * time Step Bài tập mơ hình hố mơ q trình q độ hệ thống điều khiển tự động If i Mod 10 = Then txty.Text = txty.Text + "y[" + CStr(i) + "] = " + Format(CStr(Y(i)), "#0.00000") + vbNewLine End If Graph.Line (Xcurrent, Ycurrent)-(Xmin + (i + 1) * Hsox, Round((Graph.Height - 400) - Y(i + 1) * Hsoy)) Xcurrent = Xmin + i * Hsox Ycurrent = Round((Graph.Height - 400) - Y(i) * Hsoy) 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 vedothi End Sub Private Sub exit1_Click() End End Sub Private Sub sodo1_Click() Graph1.Visible = True End Sub Private Sub txtK1_KeyPress(KeyAscii As Integer) Bài tập mơ hình hố mơ q trình độ hệ thống điều khiển tự động If KeyAscii = 13 Then Graph1.Visible = False vedothi End If End Sub Private Sub txtK2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Graph1.Visible = False vedothi End If 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 If (K1 * K2 + 1)

Ngày đăng: 04/12/2021, 23:54

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w