Bài tập lớn mô hình hóa: 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ệ.

11 2.6K 6
Bài tập lớn mô hình hóa: 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ệ.

Đ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

BÀI TẬP LỚN SỐ MỘT MƠN MƠ HÌNH HĨA ĐỀ BÀI: Cho sơ đồ cấu trúc hệ điều khiển tự động Hãy dùng máy tính để mơ khảo sát q trình q độ hệ Đề Thơng Số K1 04 K2 50 K3 0.5 T1 0.01 T T2 0.2 0.001 1.Viết phương trình sai phân *Tìm hàm truyền kín hệ W1.W2 = K1.K (T1.s + 1).(T2 s + 1) - Hàm truyền hệ hở: W1.W2 = K1.K (T1.s + 1).(T2 s + 1) - Hàm truyền kín: K1.K (T1.s + 1).(T2 s + 1) K1.K W( s ) = = K1.K K (T1.s + 1).(T2 s + 1) + K1.K K 1+ (T1.s + 1).(T2 s + 1) K1.K = T1.T2 s + (T1 + T2 ).s + (1 + K1.K K ) z −1 vào W(s) được: T z +1 Thay s = W( z ) = K1.K T ( z + 1) A.z + B.z + C A = 4.T1.T2 + 2.T (T1 + T2 ) + (1 + K1.K K ).T B = −8.T1.T2 + 2(1 + K1.K K ).T C = 4.T1.T2 − 2.T (T1 + T2 ) + (1 + K1.K K ).T Từ biểu thức: Vì u(t)=1(t) nên u(k) = u(k+1) = u(k+2) = Suy ra: A.y(k+2)+B.y(k+1)+C.y(k)=D => y (k + 2) = −B C D y (k + 1) − y (k ) + A A A D = 4.K1.K T Đây phương trình sai phân hệ 2.Viết chương trình mơ hệ thống Sử dụng phần mềm VisualBasic 6.0 Mã code:  Phần code viết cho Form1: Bai Tap Lon Mon Mo Hinh Hoa 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) * + (t1 + t2) * t * + (1 + k1 * k2 * k3) * t * t B = * (1 + k1 * k2 * k3) * t * t - t1 * t2 * C = (t1 * t2) * - (t1 + t2) * t * + (1 + k1 * k2 * k3) * t * t D = * k1 * k2 * t * t If diem > Then ReDim Y(diem) Y(0) = Y(1) = List1.AddItem "y[" + Str(0) + "]=" + Str(Round(Y(0), 6)) ymax = Y(0) Dim count As Integer For i = To diem Y(i) = (-B * Y(i - 1) - C * Y(i - 2) + D) / A TChart1.Series(0).AddXY i, Y(i), i, vbBlack If count < 100 Then If i Mod 10 = Then List1.AddItem "y[" + Str(i) + "]=" + Str(Round(Y(i), 6)) count = count + End If End If Next i Else MsgBox "Diem Ve >3" End If ' in gia tri ymax If diem > Then For i = To diem If Y(i) > ymax Then ymax = Y(i) Next i Textymax.Text = Round(ymax, 6) End If 'tinh toan yod If diem > Then yod = k1 * k2 / (1 + k1 * k2 * k3) Textyod.Text = Round(yod, 6) End If 'tinh Tmax If diem > Then For i = To diem If Y(i) = ymax Then tmax = i * t Next i Texttmax.Text = Round(tmax, 6) End If 'Tinh Tod If diem > Then For i = diem To Step (-1) 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 qua dieu chinh If diem > 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, "Thoat") = vbYes Then End End Sub Private Sub cmdin_Click() TChart1.Printer.ShowPreview End Sub Private Sub cmdttin_Click() Form2.Show End Sub Private Sub cmdtgiup_Click() Form3.Show End Sub Private Sub cmdxoa_Click() TChart1.Series(0).Clear List1.Clear Textymax.Text = Textyod.Text = Texttmax.Text = Texttod.Text = Textydc.Text = End Sub  Phần code viết cho Form2: Thong Tin Private Sub cmdok_Click() Form1.Show Unload Me End Sub  Phần code viết choForm3: Tro Giup Private Sub cmdok_Click() Form1.Show Unload Me 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  Phần code viết cho Form4: In KQ 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) k3 = Val(Form1.Textk3) t1 = Val(Form1.Textt1) t2 = Val(Form1.Textt2) t = Val(Form1.Textt) A = (t1 * t2) * + (t1 + t2) * t * + (1 + k1 * k2 * k3) * t * t B = * (1 + k1 * k2 * k3) * t * t - t1 * t2 * C = (t1 * t2) * - (t1 + t2) * t * + (1 + k1 * k2 * k3) * t * t D = * k1 * k2 * t * t ReDim Y(diem) Y(0) = Y(1) = Text1.Text = Text1.Text & "y[" + Str(0) + "]=" + Str(Round(Y(0), 6)) & vbNewLine For i = To diem Y(i) = (-B * Y(i - 1) - C * Y(i - 2) + D) / A If i Mod 10 = Then Text1.Text = Text1.Text & "y[" + Str(i) + "]=" + Str(Round(Y(i), 6)) + vbNewLine End If Next i End Sub Private Sub cmdok_Click() Form1.Show Unload Me End Sub 3.Chọn số bước tính Chọn k=1000 để hệ ổn định 4.In kết In 100 giá trị đầu y[k],cách 10 số in giá trị.Kết sau: y[ 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 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[ 190]= 1.984186 y[ 200]= 1.984137 y[ 210]= 1.984097 y[ 220]= 1.984151 y[ 230]= 1.984116 y[ 240]= 1.984129 y[ 250]= 1.984129 y[ 260]= 1.984124 y[ 270]= 1.984129 y[ 280]= 1.984126 y[ 290]= 1.984127 y[ 300]= 1.984127 y[ 310]= 1.984127 y[ 320]= 1.984127 y[ 330]= 1.984127 y[ 340]= 1.984127 y[ 350]= 1.984127 y[ 360]= 1.984127 y[ 370]= 1.984127 y[ 380]= 1.984127 y[ 390]= 1.984127 y[ 400]= 1.984127 y[ 410]= 1.984127 y[ 420]= 1.984127 y[ 430]= 1.984127 y[ 440]= 1.984127 y[ 450]= 1.984127 y[ 460]= 1.984127 y[ 470]= 1.984127 y[ 480]= 1.984127 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 y[ 890]= 1.984127 y[ 900]= 1.984127 y[ 910]= 1.984127 y[ 920]= 1.984127 y[ 930]= 1.984127 y[ 940]= 1.984127 y[ 950]= 1.984127 y[ 960]= 1.984127 y[ 970]= 1.984127 y[ 980]= 1.984127 y[ 990]= 1.984127 y[ 1000]= 1.984127 5.Vẽ đường cong độ Kết chạy chương trình hình sau: 6.Các tiêu chất lượng hệ Ymax=3.008523 Yod=1.984127 Độ chỉnh: 51.62954% Tmax=0.013s Tod=0.055s 7.Dùng Matlab-Simulink khảo sát lại Mô lại Simulink Sơ đồ khối Kết mô phỏng: Kết luận: Hệ cho ổn định theo thời gian.Kết khảo sát Matlab-Simulink hoàn toàn trùng với kết thu VB,chứng tỏ tính đắn phương pháp dùng để mơ hình hóa hệ thống 8.Nhận dạng hệ thống Từ đường cong độ thu nhờ phần mềm mô ta nhận thấy: -Đường cong xuất phát từ gốc tọa độ cho thấy hàm truyền kín hệ bậc tử số nhỏ bậc mẫu số -Giá trị xác lập ổn định số khác nên -Dễ thấy hàm độ đơn điệu tăng khơng có độ q điều chỉnh nên kết luận số thời gian tử nhỏ số thời gian mẫu So với hàm truyền cho: W( s ) = K1.K T1.T2 s + (T1 + T2 ).s + (1 + K1.K K ) +Bậc tử (=0 ) < bậc mẫu (=2) + = nên hàm số xác lập giá trị khác +Hằng số thời gian tử (=0) < số số thời gian mẫu nên hàm độ đơn điệu tăng.???  Kết hoàn toàn phù hợp 9.Thiết kế giao diện VB6.0 10 10.Tài liệu tham khảo [1] Matlab 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 Khoa Công Nghệ Thông Tin-Trường Đại Học Hàng Hải-2008 www.caulacbovb.com www.dientuvietnam.com http://www.google.com.vn phần mềm đính kèm bạn đọc comment yêu cầu 11 ... khối Kết mô phỏng: Kết luận: Hệ cho ổn định theo thời gian.Kết khảo sát Matlab-Simulink hoàn toàn trùng với kết thu VB,chứng tỏ tính đắn phương pháp dùng để mơ hình hóa hệ thống 8.Nhận dạng hệ thống... cong độ Kết chạy chương trình hình sau: 6.Các tiêu chất lượng hệ Ymax=3.008523 Yod=1.984127 Độ chỉnh: 51.62954% Tmax=0.013s Tod=0.055s 7 .Dùng Matlab-Simulink khảo sát lại Mô lại Simulink Sơ đồ. .. hàm độ đơn điệu tăng.???  Kết hoàn toàn phù hợp 9.Thiết kế giao diện VB6.0 10 10.Tài liệu tham khảo [1] Matlab Simulink dành cho kỹ sư điều khiển tự động NGUYỄN PHÙNG QUANG-NXB KHOA HỌC VÀ KỸ

Ngày đăng: 21/01/2014, 16:21

Từ khóa liên quan

Mục lục

  • BÀI TẬP LỚN SỐ MỘT MÔN MÔ HÌNH HÓA

  • 1.Viết phương trình sai phân

  • 2.Viết chương trình mô phỏng hệ thống

  • 3.Chọn số bước tính

  • 4.In kết quả

  • 5.Vẽ đường cong quá độ

  • 7.Dùng Matlab-Simulink khảo sát lại

  • 8.Nhận dạng hệ thống

  • 10.Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan