Khảo sát quá trình quá độ của hệ đ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 hoá xncn bài tập dài mô hình hoá số 1 dùng máy tính khảo sát quá trình quá độ của hệ điều khiển tự động Chủ nhiệm bộ môn : TS. Nguyễn Mạnh Tiến Giáo viên hướng dẫn: GSTS.Nguyện Công Hiền Thạc SỵNguyên~ Danh Huy Sinh viên thực hiện : Lưu Thiện Trường Nguyễn Văn tiến Phạm Anh Tuấn Lớp : Tự động hoá K1_03 Hà Nội 11_2004 Lời nói đầu Ngày nay khó có thể tìm thấy lĩnh vưc hoạt động nào của con người mà không sử dụng phương pháp mô hình hoá ở những mức độ khác nhau. Điều này đặc biệt quan trọng đối với lĩnh vực điều khiển các hệ thống kỹ thuật và xã hội, bỏi vì điêu khiển chính là quá trình thu nhận thông tin từ hệ thống, nhận dạng hệ thống theo một mô khình nào đố và đưa ra quyết định thích hợp để điều khiển hệ thống. Quá trình này được tiếp diễn liên tục nhằm đưa hệ thống vận động theo một muc tiêu định trước. Phương pháp mô hình hoá và mô phỏng được phát triển từ đại chiến thế giới lần thứ hai vào những năm 40 của thế kỷ XX. Lúc đó người ta ứng dụng phương pháp mô phỏng để nghiên cứu phản ứng hạt nhân nhằm chế tạo bom nguyên tử. Nhờ có máy tính điện tử mà phương pháp mô khìng hoá và mô phỏng phát triển nhanh chóng và được ứng dụng vào nhiều lĩnh vực khoa học kỹ thuật cũng như khoa học xã hội khác nhau. Nhờ có phương pháp mô khình hoá và mô phỏng, người ta có thể phân tích, nghiên cứu hệ thống liên tục, phi tuyến, ngẫu nhiên một cách chính xác, hiệu quả mà nhiều khi phương pháp giải tích truyền thống không cho ta lời giải chính xác được. Trong phần bài tập về mô hình hoá hệ liên tục: “ Khảo sát quá trình quá độ của hệ điều khiển tự động ” do thời gian chuẩn bị có hạn nên chắc chắn bài làm của chúng em còn có nhiều thiếu sót, em mong có được sự chỉ bảo thêm của các thầy, các cô giảng dạy trong bộ môn: “ Tự động hoá xí nghiệp công nghiệp ”- Khoa Đien-Truộng Đại học Bách Khoa Hà Nội. Một lần nữa, em xin chân thành cảm ơn thầy giáo: GSTS.Nguyện Công Hiền, Thạc sỵNguyên~ Danh Huy đã tận tình hướng dẫn để em có thể hoàn thành bài tập này. Chương 1. Lý thuyết về mô phỏng hệ thống liên tục 11.Khại niệm chung về mô hình hệ thống liên tục Hệ thống liên tục là hệ thống mà trong đố các trnạg thái và thuộc tính của hệ thống thay đổi một cách liêu tục. Mô hình toán học của hệ thống liên tục thường là hệ phương trình vi phân. Trường hợp đơn giản nhất đó là hệ phương trình vi phân tuyến tính với hệ số hằng và được giải một cách dễ dàng bằng phương pháp giải tích. Tuy nhiên, khi mô hình có phần tử phi tuyến thì phương pháp giải tích khó hoặc không thể giải được. Trong trường hợp này thì hợp lý nhất là dùng phương pháp mô phỏng để giải bài toán. Người ta có thể dùng máy tính tương tự hoặc máy tính số để mô phỏng hệ liên tục. 12.Dụng máy tính tương tự để mô phỏng hệ thống liên tục Máy tính tương tự đã có quá trình phát triển lâu dài và đã góp phần giải các bài toán của hệ thống liên tục tuyến tính cũng như phi tuyến. Máy tính tương tự được dùng rộng rãi nhất là máy tính tương tự điện tử mà phần tử cơ bản của nó là các khuếch đại thuật toán. Điện áp của máy tính biểu thị biến số của mô hình toán học. Tuy nhiên, máy tính tương tự bị hạn chế là độ chính xác không cao do nhiều nguyên nhân: do độ chính xác của phép đo điện áp, do hiện tượng trôi điểm zero của khuếch đại thuật toán Nói chung độ chính xác của máy tính tương tự không vượt quá 0,1%. Một hạn chế quan trọng khác của máy tính tương tự là đối với từng hệ thống cụ thể phải lắp mạch máy tính tương ứng, nếu hệ thống phức tạp thị thời gian lắp ráp và hiệu chỉnh máy tính sẽ đáng kể, hơn nữa máy tính không có khả năng phát triển mềm dẻo khi muốn thay đổi cấu trúc hệ thống. Vì vậy, ngày nay người ta ít dùng máy tính tương tự vào mô phỏng mà dùng máy tính số. 13.Dụng máy tính số để mô phỏng hệ thống liên tục Ngày nay, máy tính số được ứng dụng vào hầu hết các lĩnh vực hoạt động của con người và nó trở thành một trong những công cụ làm việc không thể thiếu của chúng ta. Trong lĩnh vực mô hình hoá, máy tính là công cụ chủ yếu để thực hiện việc mô phỏng hệ thống. Sau đây chúng ta sẽ đi tìm hiểu máy tính làm việc như thế nào trong việc mô hình hoá hệ thống.

doc22 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2283 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khảo sát quá trình quá độ của hệ điều khiển tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Tr­êng ®¹i häc b¸ch khoa hµ néi khoa ®iÖn bé m«n tù ®éng ho¸ xncn bµi tËp dµi m« h×nh ho¸ sè 1 dïng m¸y tÝnh kh¶o s¸t qu¸ tr×nh qu¸ ®é cña hÖ ®iÒu khiÓn tù ®éng Chñ nhiÖm bé m«n : TS. NguyÔn M¹nh TiÕn Gi¸o viªn h­íng dÉn: GS.TS.NguyÔn C«ng HiÒn Th¹c Sü.NguyÔn Danh Huy Sinh viªn thùc hiÖn : L­u ThiÖn Tr­êng NguyÔn V¨n tiÕn Ph¹m Anh TuÊn Líp : Tù ®éng ho¸ K1_03 Hµ Néi 11_2004 Lêi nãi ®Çu Ngµy nay khã cã thÓ t×m thÊy lÜnh v­c ho¹t ®éng nµo cña con ng­êi mµ kh«ng sö dông ph­¬ng ph¸p m« h×nh ho¸ ë nh÷ng møc ®é kh¸c nhau. §iÒu nµy ®Æc biÖt quan träng ®èi víi lÜnh vùc ®iÒu khiÓn c¸c hÖ thèng kü thuËt vµ x· héi, bái v× ®iªu khiÓn chÝnh lµ qu¸ tr×nh thu nhËn th«ng tin tõ hÖ thèng, nhËn d¹ng hÖ thèng theo mét m« kh×nh nµo ®è vµ ®­a ra quyÕt ®Þnh thÝch hîp ®Ó ®iÒu khiÓn hÖ thèng. Qóa tr×nh nµy ®­îc tiÕp diÔn liªn tôc nh»m ®­a hÖ thèng vËn ®éng theo mét muc tiªu ®Þnh tr­íc. Ph­¬ng ph¸p m« h×nh ho¸ vµ m« pháng ®­îc ph¸t triÓn tõ ®¹i chiÕn thÕ giíi lÇn thø hai vµo nh÷ng n¨m 40 cña thÕ kû XX. Lóc ®ã ng­êi ta øng dông ph­¬ng ph¸p m« pháng ®Ó nghiªn cøu ph¶n øng h¹t nh©n nh»m chÕ t¹o bom nguyªn tö. Nhê cã m¸y tÝnh ®iÖn tö mµ ph­¬ng ph¸p m« kh×ng ho¸ vµ m« pháng ph¸t triÓn nhanh chãng vµ ®­îc øng dông vµo nhiÒu lÜnh vùc khoa häc kü thuËt còng nh­ khoa häc x· héi kh¸c nhau. Nhê cã ph­¬ng ph¸p m« kh×nh ho¸ vµ m« pháng, ng­êi ta cã thÓ ph©n tÝch, nghiªn cøu hÖ thèng liªn tôc, phi tuyÕn, ngÉu nhiªn … mét c¸ch chÝnh x¸c, hiÖu qu¶ mµ nhiÒu khi ph­¬ng ph¸p gi¶i tÝch truyÒn thèng kh«ng cho ta lêi gi¶i chÝnh x¸c ®­îc. Trong phÇn bµi tËp vÒ m« h×nh ho¸ hÖ liªn tôc: “ Kh¶o s¸t qu¸ tr×nh qu¸ ®é cña hÖ ®iÒu khiÓn tù ®éng ” do thêi gian chuÈn bÞ cã h¹n nªn ch¾c ch¾n bµi lµm cña chóng em cßn cã nhiÒu thiÕu sãt, em mong cã ®­îc sù chØ b¶o thªm cña c¸c thÇy, c¸c c« gi¶ng d¹y trong bé m«n: “ Tù ®éng ho¸ xÝ nghiÖp c«ng nghiÖp ”- Khoa §iÖn-Tr­êng §¹i häc B¸ch Khoa Hµ Néi. Mét lÇn n÷a, em xin ch©n thµnh c¶m ¬n thÇy gi¸o: GS.TS.NguyÔn C«ng HiÒn, Th¹c sü.NguyÔn Danh Huy ®· tËn t×nh h­íng dÉn ®Ó em cã thÓ hoµn thµnh bµi tËp nµy. Ch­¬ng 1. Lý thuyÕt vÒ m« pháng hÖ thèng liªn tôc 1.1.Kh¸i niÖm chung vÒ m« h×nh hÖ thèng liªn tôc HÖ thèng liªn tôc lµ hÖ thèng mµ trong ®è c¸c trn¹g th¸i vµ thuéc tÝnh cña hÖ thèng thay ®æi mét c¸ch liªu tôc. M« h×nh to¸n häc cña hÖ thèng liªn tôc th­êng lµ hÖ ph­¬ng tr×nh vi ph©n. Tr­êng hîp ®¬n gi¶n nhÊt ®ã lµ hÖ ph­¬ng tr×nh vi ph©n tuyÕn tÝnh víi hÖ sè h»ng vµ ®­îc gi¶i mét c¸ch dÔ dµng b»ng ph­¬ng ph¸p gi¶i tÝch. Tuy nhiªn, khi m« h×nh cã phÇn tö phi tuyÕn th× ph­¬ng ph¸p gi¶i tÝch khã hoÆc kh«ng thÓ gi¶i ®­îc. Trong tr­êng hîp nµy th× hîp lý nhÊt lµ dïng ph­¬ng ph¸p m« pháng ®Ó gi¶i bµi to¸n. Ng­êi ta cã thÓ dïng m¸y tÝnh t­¬ng tù hoÆc m¸y tÝnh sè ®Ó m« pháng hÖ liªn tôc. 1.2.Dïng m¸y tÝnh t­¬ng tù ®Ó m« pháng hÖ thèng liªn tôc M¸y tÝnh t­¬ng tù ®· cã qu¸ tr×nh ph¸t triÓn l©u dµi vµ ®· gãp phÇn gi¶i c¸c bµi to¸n cña hÖ thèng liªn tôc tuyÕn tÝnh còng nh­ phi tuyÕn. M¸y tÝnh t­¬ng tù ®­îc dïng réng r·i nhÊt lµ m¸y tÝnh t­¬ng tù ®iÖn tö mµ phÇn tö c¬ b¶n cña nã lµ c¸c khuÕch ®¹i thuËt to¸n. §iÖn ¸p cña m¸y tÝnh biÓu thÞ biÕn sè cña m« h×nh to¸n häc. Tuy nhiªn, m¸y tÝnh t­¬ng tù bÞ h¹n chÕ lµ ®é chÝnh x¸c kh«ng cao do nhiÒu nguyªn nh©n: do ®é chÝnh x¸c cña phÐp ®o ®iÖn ¸p, do hiÖn t­îng tr«i ®iÓm zero cña khuÕch ®¹i thuËt to¸n … Nãi chung ®é chÝnh x¸c cña m¸y tÝnh t­¬ng tù kh«ng v­ît qu¸ 0,1%. Mét h¹n chÕ quan träng kh¸c cña m¸y tÝnh t­¬ng tù lµ ®èi víi tõng hÖ thèng cô thÓ ph¶i l¾p m¹ch m¸y tÝnh t­¬ng øng, nÕu hÖ thèng phøc t¹p thÞ thêi gian l¾p r¸p vµ hiÖu chØnh m¸y tÝnh sÏ ®¸ng kÓ, h¬n n÷a m¸y tÝnh kh«ng cã kh¶ n¨ng ph¸t triÓn mÒm dÎo khi muèn thay ®æi cÊu tróc hÖ thèng. V× vËy, ngµy nay ng­êi ta Ýt dïng m¸y tÝnh t­¬ng tù vµo m« pháng mµ dïng m¸y tÝnh sè. 1.3.Dïng m¸y tÝnh sè ®Ó m« pháng hÖ thèng liªn tôc Ngµy nay, m¸y tÝnh sè ®­îc øng dông vµo hÇu hÕt c¸c lÜnh vùc ho¹t ®éng cña con ng­êi vµ nã trë thµnh mét trong nh÷ng c«ng cô lµm viÖc kh«ng thÓ thiÕu cña chóng ta. Trong lÜnh vùc m« h×nh ho¸, m¸y tÝnh lµ c«ng cô chñ yÕu ®Ó thùc hiÖn viÖc m« pháng hÖ thèng. Sau ®©y chóng ta sÏ ®i t×m hiÓu m¸y tÝnh lµm viÖc nh­ thÕ nµo trong viÖc m« h×nh ho¸ hÖ thèng. 1.4)Ph­¬ng tr×nh m¸y tÝnh: Gi¶ sö d·y tÝn hiÖu vµo m¸y tÝnh: [Xk] = x(0), x(T), x(2T), … x(kT) D·y tÝn hiÖu ra cña m¸y tÝnh [Yk] = y(0), y(T), y(2T), … y(kT) trong ®ã T lµ b­íc c¾t mÉu hay nhÞp lµm viÖc cña m¸y tÝnh TÝn hiÖu ra ë thêi ®iÓm k tøc y(kT) phô thuéc vµo gi¸ trÞ cña n tÝn hiÖu ra cña m+1 tÝn hiÖu vµo x¶y ra tr­íc ®ã. C¸c gi¸ trÞ cña m tÝn hiÖu vµo vµ n tÝn hiÖu ra ®­îc l­u tr÷ trong bé nhí cña m¸y tÝnh. Nh­ vËy quan hÖ gi÷a tÝn hiÖu ra vµ tÝn hiÖu vµo cña m¸y tÝnh ®­îc viÕt nh­ sau: y(kT) = (1-1) Víi m n; Ph­¬ng tr×nh (1-1) ®­îc gäi lµ ph­¬ng tr×nh m¸y tÝnh biÓu thÞ quan hÖ tuyÕn tÝnh gi÷a tÝn hiÖu ra víi tÝn hiÖu vµo cña m¸y tÝnh. V× tÝn hiÖu ra [yk] vµ tÝn hiÖu vµo [xk] ®Òu cã cïng b­íc gi¸n ®o¹n T nªn ®Ó cho gän ta cã thÓ viÕt y(k) = (1-2) Khai triÓn ra ta cã: y(k) + an-1y(k-1) + an-2y(k-2) + … + a1y(k- n+1) + a0y(k- n) + = bmx(k) + bm-1x(k-1) + … + b1x(k-2) + b0y(k-m) (1-3) y(k) = - an-1y(k-1) - an-2y(k-2) - …- a1y(k- n+1)- a0y(k- n) + bmx(k) + bm-1x(k-1) + … + b1x(k-2) + b0y(k-m) (1 – 4) Ph­¬ng tr×nh (1 – 3),(1 – 4) gäi lµ ph­¬ng tr×nh sai ph©n bËc n. Nh­ vËy, ta cã thÓ th¸y r»ng ph­¬ng tr×nh m¸y tÝnh cã d¹ng cña ph­¬ng tr×nh sai ph©n tuyÕn tÝnh. Tõ c¸c ph©n tÝch trªn, ta thÊy muèn dïng m¸y tÝnh sè ®Ó m« pháng hÖ liªn tôc th× ph¶i m« t¶ hÖ liªn tôc d­íi d¹ng ph­¬ng tr×nh sai ph©n tuyÕn tÝnh b»ng c¸ch tõ ph­¬ng tr×nh Laplace W(s) cña hÖ liªn tôc, b»ng c¸ch ®æi biÕn sè: ta cã thÓ t×m ®­îc ph­¬ng tr×nh biÓn ®æi z t­¬ng øng W(z) råi t×m ng­îc l¹i ph­¬ng tr×nh sai ph©n cña hÖ ®Ó gi¶i trªn m¸y tÝnh sè ®Ó t×m ®Æc tÝnh m« pháng cña hÖ liªn tôc. *) C¸c tÝnh chÊt biÕn ®æi Z 1. TÝnh tuyÕn tÝnh Z{a[v(k)] + b[w(k)]} = aV(z) + b.W(z) 2.DÞch hµm gèc f(k) vÒ phÝa tr­íc m b­íc Z[f(k)] = F(z) = Z[f(k+1)] = ZF(z) – Zf(0); Z[f(k+2)] = Z2 F(z) – Z2 f(0) – Zf(1); Tæng qu¸t dÞch m b­íc Víi Zf(0) = 0, ta cã: Z[f(k+1)] = ZF(z) Z[f(k+m)] = ZmF(z) 3. DÞch gèc vÒ phÝa sau m b­íc T­¬ng tù nh­ trªn, ta cã Z[f(k-m)] = Z-m F(z) 4.BiÕn ®æi Z cña sai ph©n tiÕn 5. BiÕn ®æi Z cña sai ph©n lïi 6.Gi¸ trÞ ®Çu cña hµm gèc rêi r¹c f(0) Ch­¬ng 2. lËp tr×nh trªn m¸y tÝnh ®Ó kh¶o s¸t qu¸ tr×nh qu¸ ®é cña hÖ ®iÒu khiÓn tù ®éng §Ò Bµi: Tham sè sinh viªn tù chän K1, K2 - hÖ sè khuÕch ®¹i T1 - h»ng sè thêi gian T2 - H»ng sè thêi gian T - bø¬c c¾t mÉu 2.1.X¸c ®Þnh hµm truyÒn cña hÖ: Tõ cÊu tróc cña hÖ thèng, ta cã hµm truyÒn cña hÖ hë lµ: Tõ ®ã, ta cã hµm truyÒn cña hÖ kÝn lµ: 2.2.T×m ph­¬ng tr×nh sai ph©n Thùc hiÖn phÐp biÕn ®æi sang z, ta thay vµo Wk ta ®­îc (2-1) trong ®ã: Tõ (2 – 1) ta cã: Dïng tÝnh chÊt biÕn ®æi Z ta t×m ®­îc ph­¬ng tr×nh sai ph©n t­¬ng øng víi ph­¬ng tr×nh trªn: V× tÝn hiÖu lµ 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+3] + B.Y[k+2] + C.Y[k+1] + D.Y[k] = E Y[k+3]=(-B.Y[k+2] - C.Y[k+1] - D.Y[k] +E)/A 2.3. ViÕt ch­¬ng tr×nh m« pháng b»ng ng«n ng÷ Visual Basic Sau ®©y lµ ch­¬ng tr×nh Visual Basic m« h×nh ho¸ hÖ ®iÒu khiÓn tù ®éng ®· cho. Ch­¬ng tr×nh cho kÕt qu¶ lµ tÝn hiÖu ra Y[k] d­íi d¹ng sè, cø c¸ch 10 sè in ra mét sè liÖu. Ch­¬ng tr×nh còng cho kÕt qu¶ d­íi d¹ng ®­êng cong qu¸ tr×nh qu¸ ®é cña hÖ §KT§ vµ tÝnh c¸c ®Æc tÝnh qu¸ ®é nh­: Sau ®©y lµ ch­¬ng tr×nh m« pháng viÕt b»ng ng«n ng÷ Visual Basic: *)PhÇn code cña form1: Private Sub cmdChapnhan_Click() ChapNhan End Sub Private Sub cmdMophong_Click() mophong KhacTruc End Sub Private Sub cmdThoat_Click() End End Sub Private Sub M«pháng_Click() End Sub Private Sub MnuGVHD_Click() MsgBox "GS.TS. NguyÔn C«ng HiÒn" _ & vbCrLf & vbCrLf & "ThS.NguyÔn Danh Huy", , "Thµy gi¸o h­íng dÉn:" End Sub Private Sub mnuMoph_Click() mophong KhacTruc End Sub Private Sub mnuNhom_Click() MsgBox "L­u ThiÖn Tr­êng" _ & vbCrLf & vbCrLf & "NguyÔn V¨n TiÕn" _ & vbCrLf & vbCrLf & "Ph¹m Anh TuÊn", , "Nhãm thùc hiÖn:25" End Sub Private Sub Mnuthoat_Click() End End Sub Private Sub MnuTL_Click() MsgBox "1. M« h×nh ho¸ hÖ thèng vµ m« pháng - NguyÔn C«ng HiÒn" _ & vbCrLf & vbCrLf & "2. Ng«n ng÷ lËp tr×nh Visual Basic 6.0" _ & vbCrLf & vbCrLf + "3. Lý thuyÕt ®iÒu khiÓn tù ®éng " _ & "- Ph¹m C«ng Ng«", , "Tµi liÖu tham kh¶o" End Sub Private Sub Text9_click() Dim sta As Integer sta = MsgBox("Thêi gian lÊy mÉu ®· ®­îc gi÷ cè ®Þnh!", , "Th«ng b¸o") If sta = vbOK Then Text9.Enabled = False End If End Sub *)PhÇn code cña form 2: Private Sub cmdChiTieuChatLuong_Click() ChiTieuChatLuong End Sub Private Sub cmdInGiaTri_Click() CIndex = 0 frm3.Show InGiaTriNext cmdInGiaTri.Enabled = False End Sub Private Sub cmdQuayve_Click() frm1.Show frm2.Hide Unload frm2 cmdInGiaTri.Enabled = True cmdChiTieuChatLuong.Enabled = True End Sub *)PhÇn code cña form 3: Private Sub cmdNext_Click() InGiaTriNext End Sub Private Sub cmdOK_Click() Unload frm3 frm3.Hide mophong End Sub Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single) End Sub *)PhÇn code cña modul Option Explicit Public K1, K2, K3 As Double ' He so Public T, T1, T2 As Double ' Hang so thoi gian Public Y(6000) As Double Dim A, B, C, D, E As Double Public I As Integer Public CI As Integer Dim Tod, Yod, Ymax, Tmax As Double Public Sub ChapNhan() Dim s As Integer With frm1 K1 = Val(.Text5.Text) K2 = Val(.Text6.Text) K3 = Val(.Text7.Text) T1 = Val(.Text8.Text) T2 = Val(.Text12.Text) T = Val(.Text9.Text) If K3 = 0 Then s = MsgBox("B¹n ®· nhËp hÖ sè ph¶n håi b»ng zero!" _ & vbCrLf & vbCrLf & " H·y nhËp l¹i d÷ liÖu (Yes/No)", 16 + vbYesNo, "Th«ng b¸o") If s = vbNo Then Unload frm1 Unload frm2 Else frm1.Show End If End If .Text1.Text = Str(K1) .Text2.Text = Str(K2) .Text3.Text = Str(K3) .Text4.Text = Str(T1) .Text10.Text = Str(T1) .Text11.Text = Str(T2) End With End Sub Public Sub mophong() frm1.Hide Load frm2 frm2.Show 'BiÓu thøc Z cña hÖ Y(0) = 0 Y(1) = 0 Y(2) = 0 A = 8 * T1 * T1 * T2 + 4 * T * T1 * (T1 + 2 * T2) + 2 * T * T * (2 * T1 + T2) + (1 + K1 * K2 * K3) * T * T * T B = -24 * T1 * T1 * T2 - 4 * T * T1 * (T1 + 2 * T2) + 2 * T * T * (2 * T1 + T2) + 3 * (1 + K1 * K2 * K3) * T * T * T C = 24 * T1 * T1 * T2 - 4 * T * T1 * (T1 + 2 * T2) - 2 * T * T * (2 * T1 + T2) + 3 * (1 + K1 * K2 * K3) * T * T * T D = -8 * T1 * T1 * T2 + 4 * T * T1 * (T1 + 2 * T2) - 2 * T * T * (2 * T1 + T2) + (1 + K1 * K2 * K3) * T * T * T E = K1 * K2 * T * T * T ' frm2.Text6.Text = Str(B) For I = 0 To 5996 Y(I + 3) = (8 * E - B * Y(I + 2) - C * Y(I + 1) - D * Y(I)) / A Next I With frm2 .picDoThi.Line (0, 0)-(.Line1.X1, .Line1.Y1), .picDoThi.BackColor .picDoThi.DrawWidth = 1 For I = 0 To 5999 .picDoThi.Line -(.Line1.X1 + I, .Line2.Y2 - Y(I) * 3000), vbRed Next I .picDoThi.DrawWidth = 1 End With End Sub Public Sub KhacTruc() 'Khac do truc t Dim K As Integer For K = 0 To 6 With frm2 .picDoThi.Line (K * 1000 + .Line2.X1, .Line2.Y1 - 80) _ -(K * 1000 + .Line2.X1, .Line2.Y1 + 80) .Label10(K).Top = 6000 .Label10(K).Left = .Line2.X1 + K * 1000 - 300 .Label10(K).Caption = Str(K * T * 1000) End With Next K 'Khac do truc y For K = 7 To 0 Step -1 Yod = K1 * K2 / (1 + K1 * K2 * K3) With frm2 .picDoThi.Line (.Line2.X1 + 80, .Line1.Y2 - Int(Yod * 3000 * K / 4)) _ -(.Line2.X1 - 80, .Line1.Y2 - Int(Yod * 3000 * K / 4)) .Label9(K).Top = .Line1.Y2 - Int(3000 * Yod * K / 4) - 200 .Label9(K).Left = 360 .Label9(K).Caption = Str(Round((Yod * K / 4), 3)) End With Next K End Sub Public Sub ChiTieuChatLuong() 'Tim gia tri Max va Thoi gian Max Dim IMax As Integer Ymax = Y(0) 'Gia tri Max For I = 0 To 5999 If (Y(I) > Ymax) Then Ymax = Y(I) IMax = I End If Next I Tmax = IMax * T 'Thoi gian dat gia tri Max 'Gia tri on dinh Yod = K1 * K2 / (1 + K1 * K2 * K3) 'Tim thoi gian dat gia tri on dinh I = 5999 Do While Abs(Y(I) - Yod) / Yod <= 0.02 I = I - 1 Loop Tod = I * T 'Tim do qua dieu chinh Dim A As Double A = (Ymax - Yod) * 100 / Yod With frm2 ' Hien thi chi tieu chat luong .Text1.Text = Str(Ymax) .Text2.Text = Str(A) .Text3.Text = Str(Yod) .Text4.Text = Str(Tmax) .Text5.Text = Str(Tod) ' Duong gia tri dat .picDoThi.Line (.Line1.X1, .Line2.Y2 - Int(Yod * 3000)) _ -(.Line1.X1 + 3200 * 2, .Line2.Y2 - Int(Yod * 3000)), vbRed .picDoThi.DrawStyle = vbDot ' Cac duong giong diem .picDoThi.Line (Int(Tod / T) + .Line1.X1, .Line2.Y2 - Int(3000 * Yod)) _ -(Int(Tod / T) + .Line1.X1, .Line2.Y2), vbBlack .picDoThi.Line (.Line1.X1, .Line2.Y2 - Int(Yod * 3000 * 1.02)) _ -(.Line1.X1 + 3000 * 2, .Line2.Y2 - Int(Yod * 3000 * 1.02)), vbBlack .picDoThi.Line (.Line1.X1, .Line2.Y2 - Int(Yod * 3000 * 0.98)) _ -(.Line1.X1 + 3000 * 2, .Line2.Y2 - Int(Yod * 3000 * 0.98)), vbBlack .picDoThi.Line (Int(Tmax / T) + .Line1.X1, .Line2.Y2 - Int(3000 * Ymax)) _ -(Int(Tmax / T) + .Line1.X1, .Line2.Y2), vbBlack .picDoThi.Line (.Line1.X1, .Line2.Y2 - Int(Ymax * 3000)) _ -(.Line1.X1 + Int(Tmax / T), .Line2.Y2 - Int(Ymax * 3000)), vbBlack .picDoThi.DrawStyle = vbSolid ' Ve mui ten .picDoThi.Line (Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 1.02)) _ -(Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 1.02) - 500) .picDoThi.Line (Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 0.98)) _ -(Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 0.98) + 500) .picDoThi.Line (Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 1.02)) _ -(Int(Tod / T) + .Line1.X1 + 470, .Line2.Y2 - Int(Yod * 3000 * 1.02) - 150) .picDoThi.Line (Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 1.02)) _ -(Int(Tod / T) + .Line1.X1 + 530, .Line2.Y2 - Int(Yod * 3000 * 1.02) - 150) .picDoThi.Line (Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 0.98)) _ -(Int(Tod / T) + .Line1.X1 + 470, .Line2.Y2 - Int(Yod * 3000 * 0.98) + 150) .picDoThi.Line (Int(Tod / T) + .Line1.X1 + 500, .Line2.Y2 - Int(Yod * 3000 * 0.98)) _ -(Int(Tod / T) + .Line1.X1 + 530, .Line2.Y2 - Int(Yod * 3000 * 0.98) + 150) ' Hien thi ghi chu .Label11.Top = .Line2.Y2 - Int(3000 * Ymax) - 300 .Label11.Left = Int(Tmax / T) * 2 + .Line1.X1 + 50 .Label11.Caption = "Ymax" .Label12.Top = .Line2.Y2 - Int(3000 * Yod) - 400 .Label12.Left = Int(Tod / T) + .Line1.X1 - 200 .Label12.Caption = "2%Y«®" .Label13.Top = .Line2.Y2 - Int(Yod * 3000) - 400 .Label13.Left = 3200 * 2 .Label13.Caption = "Y«®" .Label14.Top = .Line2.Y2 - 400 .Label14.Left = Int(Tmax / T) + .Line1.X1 + 50 .Label14.Caption = "Tmax" .Label15.Top = .Line2.Y2 - 400 .Label15.Left = Int(Tod / T) + .Line1.X1 + 50 .Label15.Caption = "T«®" End With End Sub 'Hien thi 100 gia tri vao day Public Sub InGiaTriNext() Dim K As Integer frm3.cmdNext.Enabled = True For K = 0 To 9 frm3.Text1(K).Text = Str(Y(CI)) frm3.Label1(K).Caption = "Y(" + Str(CI) + ")" CI = CI + 10 Next K If (CI >= 1000) Then frm3.cmdNext.Enabled = False End If End Sub Sau khi cho ch¹y ch­¬ng tr×nh ta cã ®­êng cong qu¸ tr×nh qu¸ ®é cña hÖ §KT§ vµ tÝnh c¸c ®Æc tÝnh qu¸ ®é nh­: Ta cho thö K1 = 12;K2 =0.1; K3 = 1 ; T1=0.5; T2 =0.5 Tõ ®å thÞ trªn ta cã: Gi¸ trÞ cùc ®¹i ; §é qu¸ ®iÒu chØnh: 17,32% Gi¸ trÞ æn ®Þnh: Thêi gian ®¹t gi¸ trÞ max: Thêi gian ®¹t gi¸ trÞ æn ®Þnh: 2.4.In 100 gi¸ trÞ 2.5.M« pháng trªn phÇn mÒn Matlab *Sö dông simukinkm« pháng hÖ thèng *Ch­¬ng tr×nh Matlab: >> w1=tf([0 12],[.5 1]) Transfer function: 12 --------- 0.5 s + 1 >> w2=tf([0 .1],[.25 1 1]) Transfer function: 0.1 ---------------- 0.25 s^2 + s + 1 >> w3=1 w3 = 1 >> wh=w1*w2 Transfer function: 1.2 -------------------------------- 0.125 s^3 + 0.75 s^2 + 1.5 s + 1 >> wk=feedback(wh,w3) Transfer function: 1.2 ---------------------------------- 0.125 s^3 + 0.75 s^2 + 1.5 s + 2.2 >> step(wk) §­êng cong qu¸ tr×nh qu¸ ®é do ch­¬ng tr×nh Matlab vÏ ra nh­ h×nh d­íi ®©y So s¸nh gi÷a 2 ®å thÞ trªn ta thÊy chóng trïng nhau, ®iÒu ®ã chøng tá thuËt to¸n cña chóng ta lµ ®óng ®¾n.

Các file đính kèm theo tài liệu này:

  • docKhảo sát quá trình quá độ của hệ điều khiển tự động.DOC