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

bài tập lớn Mô Hình Hóa

15 892 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 237,5 KB

Nội dung

Mô hình hóa kèm file visualbasic các file mềm khácNhóm 6(đề 2b).Đề bài:Cho hệ thống có sơ đồ cấu trúc như hình vẽ: Trong đó có các tham số như bảng dưới:K1K2TT1T21000.10.0010.20.1Nhiệm vụ:Viết phương trình sai phân của hệ ĐKTĐ.Dùng ngôn ngữ lập trình nào đó viết chương trình chạy trên máy tính.Chọn bước tính k=1000.In 100 giá trị bằng số của y(k).Tính và in ra các chỉ tiêu đánh giá chất lượng sau:Y(k)¬max :giá trị cực đại của tín hiệu ra.δmax % : độ quá điều chỉnh.Y(k)ôd : giá trị ổn định của tín hiệu ra.tmax : thời gian đạt giá trị y(k)max.tôd : thời gian đạt giá trị y(k)ôd.Vẽ đường cong quá trình quá độ.Dùng phần mềm MALAB,SIMULINK… vẽ đường cong quá trình quá độ.So sánh các kết quả.Nhận xét,rút ra kết luận.

Trang 1

Bài tập lớn

Mô hình hóa Nhóm 6(đề 2b).

Đề bài:

Cho hệ thống có sơ đồ cấu trúc như hình vẽ:

Trong đó có các tham số như bảng dưới:

Nhiệm vụ:

-Viết phương trình sai phân của hệ ĐKTĐ

-Dùng ngôn ngữ lập trình nào đó viết chương trình chạy trên máy tính -Chọn bước tính k=1000

-In 100 giá trị bằng số của y(k)

-Tính và in ra các chỉ tiêu đánh giá chất lượng sau:

Y(k)max :giá trị cực đại của tín hiệu ra

δmax % : độ quá điều chỉnh

Y(k)ôd : giá trị ổn định của tín hiệu ra

tmax : thời gian đạt giá trị y(k)max

tôd : thời gian đạt giá trị y(k)ôd

-Vẽ đường cong quá trình quá độ

-Dùng phần mềm MALAB,SIMULINK… vẽ đường cong quá trình quá độ

-So sánh các kết quả.Nhận xét,rút ra kết luận

Trang 2

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

+ Hàm truyền mạch hở:

+ Hàm truyền mạch kín:

1

z p

T z

=

+ vào công thức 1.1 ta được

Trong đó:

A = 4T1T2+2T(T1+T2)+(1+K1K2)T2

B = -8T1T2+2T2(1+K1K2)

C = 4T1T2-2T(T1+T2)+(1+K1K2)T2

Ta có hàm sai phân:

Phương trình sai phân tương ứng là:

Theo giả thiết u(t) = 1(t) nên U(k+2) =U(k+1) =U(k) =1

1 2

AY(k+2)+BY(k+1)+CY(k) = 4K K T

2 Thiết kế giao diện.

Trang 3

3 Code

Dim k1 As Double

Dim k2 As Double

Dim k3 As Double

Dim t As Double

Dim T1 As Double

Dim t2 As Double

Dim y(2002) As Double

Dim A As Double

Dim B As Double

Trang 4

Dim c As Double

Dim Kmax, Tmax, denta, ymax As Double

Dim toop As Long

Private Sub exit_Click()

End

End Sub

Private Sub Form_Load()

Frm1.Show

Frm.Enabled = False

Frm.Hide

kt = False

End Sub

Private Sub in_Click()

Call inKQ_Click

End Sub

'in 100 ket qua

Private Sub inKQ_Click()

For k = 10 To 1000 Step 10

i = i + 1

Text14.Text = Text14 & "y(" & k & ")=" & y(k * 2) & " "

Next k

End Sub

Private Sub mnuve_Click()

Call vedothi_click

End Sub

Private Sub mnuxoa_Click()

Call xoa_Click

End Sub

Trang 5

Private Sub Opbatluoi_Click()

pic1.DrawWidth = 1

For i = 0 To 20 Step 0.1

For j = 2 To 20 Step 1

pic1.PSet (i + 1, j)

Next

Next

For i = 1 To 20 Step 0.1

For j = 1 To 20 Step 1

pic1.PSet (j + 1, i)

Next

Next

End Sub

Private Sub Optatluoi_Click()

For i = 0 To 20 Step 0.1

For j = 1 To 20 Step 1

pic1.PSet (i + 1, j), vbWhite

Next

Next

For i = 1 To 20 Step 0.1

For j = 1 To 20 Step 1

pic1.PSet (j + 1, i), vbWhite

Next

Next

End Sub

Private Sub xoa_Click()

Text9 = ""

Text10 = ""

Trang 6

tetx13 = ""

Text11 = ""

Text12 = ""

Text13 = ""

Text15 = ""

Text14 = ""

Text16 = ""

pic1.Refresh

Optatluoi.Value = True

End Sub

Private Sub thoat_Click()

End

End Sub

Private Sub vedothi_click()

pic1.DrawWidth = 2

k1 = Text1

k2 = Text2

t = Text4

T1 = Text5

t2 = Text6

pic1.Scale (0, 20)-(20, 0)

pic1.Line (1, 1)-(1, 20)

pic1.Line (1, 1)-(20, 1)

'khac truc t

For i = 0 To 18 Step 1

pic1.DrawWidth = 2

pic1.CurrentX = i + 0.7

pic1.CurrentY = 0.9

Trang 7

If (((i / 10) >= 1) Or i = 0) Then

pic1.Print Str(i / 10)

Else

pic1.Print "0" & Str(i / 10)

End If

pic1.Line (i + 1, 0.8)-(i + 1, 1.2)

Next

pic1.CurrentX = 19.5

pic1.CurrentY = 0.9

pic1.Print "t(s)"

'khac truc y

For i = 0 To 18

pic1.DrawWidth = 2

pic1.CurrentX = 0.06

pic1.CurrentY = i + 1 + 0.2

pic1.Print Str(i)

pic1.Line (0.8, i + 1)-(1.2, i + 1)

Next

pic1.CurrentX = 0.2

pic1.CurrentY = 20

pic1.Print "Y"

've dac tinh

A = 4 * T1 * t2 + 2 * t * (T1 + t2) + (t ^ 2) * (1 + k1 * k2)

B = -8 * T1 * t2 + 2 * (t ^ 2) * (1 + k1 * k2)

c = 4 * T1 * t2 - 2 * t * (T1 + t2) + (t ^ 2) * (1 + k1 * k2)

y(0) = 0

y(1) = 0

'tim ymax,ve dac tinh

Trang 8

ymax = y(0)

For k = 0 To 2000

pic1.DrawWidth = 2

y(k + 2) = (-B * y(k + 1) - c * y(k) + 4 * k1 * (t ^ 2)) / A

pic1.Line (k / 100 + 1, y(k) + 1)-((k + 1) / 100 + 1, y(k + 1) + 1), vbBlue

If y(k + 2) > ymax Then

ymax = y(k + 2)

Kmax = k + 2

Text10.Text = ymax

Tmax = t * (k + 2)

Text11.Text = Tmax

End If

Next

'gia tri xac lap, ve duong on dinh

Yod = y(2002)

Text9.Text = Yod

Text16.Text = Kmax / 2

For i = 0 To 2002 Step 10

pic1.DrawWidth = 1

pic1.PSet (i / 100 + 1, Yod + 1), vbGreen

Next

pic1.CurrentX = 17

pic1.CurrentY = Yod + 1.5

pic1.Print "Yod=" & Mid(Str(Yod), 1, 8)

'do qua dieu chinh

denta = (ymax - Yod) * 100 / Yod

Text12 = denta

Trang 9

've duong thoi gian cuc dai

For i = 0 To Kmax Step 10

pic1.DrawWidth = 1

pic1.PSet (i / 100 + 1, ymax + 1)

pic1.CurrentX = 1.5

pic1.CurrentY = ymax + 1.5

pic1.Print "Ymax=" & Mid(Str(ymax), 1, 8)

Next

For i = 1 To ymax + 1 Step 0.1

pic1.PSet (Kmax / 100 + 1, i)

pic1.CurrentX = Kmax / 100 + 1

pic1.CurrentY = 1.7

pic1.Print "Tmax"

Next

've duong +_5%

xaclap1 = 0.95 * Yod

For i = 0 To 2002 Step 10

pic1.DrawWidth = 1

pic1.PSet (i / 100 + 1, xaclap1 + 1), vbRed

Next

pic1.CurrentX = 15

pic1.CurrentY = 1.2 * Yod

pic1.Print "5%Yod"

xaclap2 = 1.05 * Yod

For i = 0 To 2002 Step 10

pic1.DrawWidth = 1

pic1.PSet (i / 100 + 1, xaclap2 + 1), vbRed

Next

Trang 10

' tim Tod

i = 2002

For k = 0 To 2002

i = i - 1

If y(i) < 0.95 * Yod Or y(i) > 1.05 * Yod Then

kod = i - 1

Text15 = kod / 2

Text13 = t * (i - 1)

Exit For

End If

Next

've duong thoi gian on dinh

For k = 0 To 0.95 * Yod Step 0.1

pic1.DrawWidth = 1

pic1.PSet (kod / 100 + 1, k + 1)

Next

pic1.CurrentX = kod / 100 + 1

pic1.CurrentY = 1.7

pic1.Print "Tod"

End Sub

Private Sub ve_Click()

Call vedothi_click

End Sub

Private Sub skin8_Click()

Skin1.LoadSkin App.Path + "\B-Studio.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skin7_Click()

Trang 11

Skin1.LoadSkin App.Path + "\chizh.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skin6_Click()

Skin1.LoadSkin App.Path + "\galaxy.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skin5_Click()

Skin1.LoadSkin App.Path + "\green.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skin4_Click()

Skin1.LoadSkin App.Path + "\TopSecret.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skin3_Click()

Skin1.LoadSkin App.Path + "\Paper.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skin2_Click()

Skin1.LoadSkin App.Path + "\Web-II.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub skins1_Click()

Skin1.LoadSkin App.Path + "\Media.skn"

Skin1.ApplySkin Me.hWnd

End Sub

Private Sub Timer1_Timer()

Trang 12

st1 = Left(Frm.Caption, 1)

st2 = Right(Frm.Caption, Len(Frm.Caption) - 1)

Frm.Caption = st2 & st1

End Sub

Private Sub Timer2_Timer()

If Second(Time) Mod 4 = 0 Then

Txt2.Text = "Bai tap Mo hinh hoa"

Txt2.BackColor = vbRed

End If

If Second(Time) Mod 4 = 1 Then

Txt2.Text = "Giao vien huong dan: ThS Pham Tam Thanh"

Txt2.BackColor = vbYellow

End If

If Second(Time) Mod 4 = 2 Then

Txt2.Text = "Nhom sinh vien thuc hien: Van -Du'c, Xuan -Du'c, Tien Diep"

Txt2.BackColor = vbGreen

End If

If Second(Time) Mod 4 = 3 Then

Txt2.Text = "Hai Phong, thang 3, nam 2010"

Txt2.BackColor = vbBlue

End If

End Sub

Private Sub Timer3_Timer()

Text7.Text = Now

Pic2.Top = toop

toop = toop - 30

If toop <= -5800 Then toop = Frame4.Height

Trang 13

End Sub

4 Chọn bước tính k=1000.

5 In kết quả tính toán.

6 Vẽ h(t).

Trang 14

7 In ra các chỉ tiêu chất lương của hệ thống.

8 Dùng MATLAB vẽ h(t).

Trang 15

Chương trình viết trên m-file:

k1=100;

k2=0.1;

t1=0.2;

t2=0.1;

t=0.001;

num=[k1];

den=[t1*t2 t1+t2 1+k1*k2];

step(num,den);

title('Bai tap mo hinh hoa so 1');

xlabel('t');

ylabel('y');

9 Nhận dạng hệ thống.

-Đây là khâu dao động bậc 2

-Bậc của hàm truyền W(p) : m>n nên h(t) xuất phát từ 0

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

[1] Nguyễn Phùng Quang: Matlab & simulink dành cho kĩ sư điều khiển tự động NXB khoa học kĩ thuật-2006

[2] Nguyễn Công Hiền : Mô hình hóa hệ thống và mô phỏng

Ngày đăng: 05/11/2014, 22:44

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w