Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
2,93 MB
Nội dung
Khi c qua ti liu ny, nu phỏt hin sai sút hoc ni dung kộm cht lng xin hóy thụng bỏo chỳng tụi sa cha hoc thay th bng mt ti liu cựng ch ca tỏc gi khỏc Ti li u ny bao g m nhi u ti li u nh cú cựng ch bờn nú Ph n n i dung b n c n cú th n m gi a ho c cu i ti li u ny, hóy s d ng ch c nng Search tỡm chỳng Bn cú th tham kho ngun ti liu c dch t ting Anh ti õy: http://mientayvn.com/Tai_lieu_da_dich.html Thụng tin liờn h: Yahoo mail: thanhlam1910_2006@yahoo.com Gmail: frbwrthes@gmail.com Tuyn ti nghiờn cu khoa hc HS-SV THIT K V CH TO H THNG IU KHIN T XA QUA MNG PSTN Tớnh cp thit ca ti Ngy nay, cuc sng ca ngi ngy cng hin i, cú th gii phúng mt phn sc lao ng v tit kim thi gian ngi khụng ngng ci tin, phỏt minh mi cỏc ng dng KHKT Mt s cỏc ng dng KHKT ú l h thng iu khin t xa H thng ny khụng nhng c s dng an ninh quc phũng, cỏc d ỏn nghiờn cu khoa hc, sn xut m phc v c nhu cu ca mi ngi dõn lao ng i vi mt s h thng iu khin t xa bng tia hng ngoi, bng c, bng t cú mt im hn ch ú l khong cỏc iu khin Ngc li vi mng in thoi ngy cng c m rng trờn ton th gii thỡ gii hn xa khụng ph thuc vo khong cỏch, ú ó m mt hng mi lnh vc t ng iu khin Vi in thoi ang tr nờn ph bin hu ht cỏc h gia ỡnh Cựng vi kh nng truyn ti thụng tin dng ting núi, mng in thoi cũn cho phộp quay s a õm tn, l c s cho kh nng iu khin t xa Trờn th gii cng ó cú nhiu cụng trỡnh nghiờn cu v ng dng ch to cỏc h thng iu khin t xa qua mng in thoi cú th núi l rt hon thin, nhiờn cỏc sn phm ny mi ch c ng dng nhng cụng trỡnh ln, vi giỏ thnh cao nh cỏc cụng trỡnh quõn s, cỏc thit k ngụi nh thụng minh,Ti Vit Nam cng ó cú mt s cụng trỡnh nghiờn cu, song cũn cú khit im nh s dng bin ỏp ghộp ni vy sn phm cha ph bin ti tay ngi tiờu dựng Vi mc ớch tỡm hiu v hc nhúm sinh viờn chỳng tụi mnh dn ng ký thc hin ti Thit k v ch to h thng iu khin t xa qua mng PSTN to sn phm ph bin ti tay ngi tiờu dựng vi giỏ thnh thp, an ton tin cy, d s dng Hc vin Cụng ngh BC - VT Chuyờn ngnh in t Ni dung bỏo cỏo: Mụ t s khi,nguyờn tc hot ng v kt qu thu c a S ca h thng Hỡnh 1: S ca h thng iốu khin t xa qua mng PSTN b Nguyờn tc hot ng Khi mun iu khin ta ch vic gi v s mỏy ca mỏy in thoi c kt ni vi b phn iu khin ni cn iu khin thỡ tớn hiu chuụng ca tng i s cp cho thuờ bao nu thuờ bao ú khụng bn Mch iu khin c mc song song vo ng dõy ca thuờ bao Lỳc ny, phỏt hin chuụng s phỏt hin tớn hiu ny v ngừ thay i mc logic t cao xung thp S thay i mc logic ny tỏc ng vo x lý trung tõm Khi x lý Hc vin Cụng ngh BC - VT Tuyn ti nghiờn cu khoa hc HS-SV s nh thi gian i chuụng Sau mt khong thi gian khụng nhc mỏy tc cũn tớn hiu chuụng thỡ x lý s tỏc ng vo kt ni thuờ bao Khi kt ni thuờ bao s úng ti gi, lỳc ny tng i ngng cp tớn hiu chuụng v kt ni cho thụng thoi Khi ó thụng thoi, ta s bm mó mt khu thõm nhp vo h thng iu khin, h thng s bỏo li bng ting bip, bip bỏo cho ngi iu khin bit mch ó lm vic v ch lnh iu khin Sau ú ngi iu khin s bm lnh iu khin m hay tt, tớn hiu ny tỏc ng n úng ngt relay Vic nhn dng phớm no bm, c gii mó DTMF quyt nh Khi ngi iu khin nhn phớm, mt cp tn s DTMF truyn trờn ng dõy thoi Tn s ny nm trờn di thụng ca tớn thiu thoi, mt tn s cao v mt tn s thp nờn khụng th trựng lp vi tớn hiu ngi núi Khi gii mó DTMF v hin th s c nhn, bit c gii mó c a vo x lý trung tõm x lý Khi khụng n phớm, sau mt thi gian i m khụng cú phớm n thỡ x lý s ngng kt ni thuờ bao Lỳc ny tng i s gii ta thuờ bao Ngi iu khin cú th gỏc mỏy bt c lỳc no mun ngng iu khin, mch s t ng ngt kt ni thuờ bao sau mt thi gian nht nh gii ta thuờ bao c Kt qu thu c Mch in thit k v hon thnh ỳng tin vi giỏ thnh hp lý Mch in hot ng tt cú th iu khin hot ng ca thit b in khỏc cựng mt lỳc Cú th nõng s lng thit b iu khin lờn ti a l thit b Mch in d s dng: cú th iu khin thit b trc tip ti nh hoc bt k ni no bng in thoi bn hoc in thoi di ng Chng trỡnh cho phộp iu khin c t trờn mỏy vi tớnh vi thao tỏc ci t n gin Giao din thõn thin d s dng, cú thụng tin tr giỳp, hon ton bng ting Vit Phng phỏp nghiờn cu thc hin c ti, chỳng em cn phi xỏc nh c phng phỏp nghiờn cu vi trỡnh t nh sau: a Nghiờn cu v tỡm hiu lý thuyt: Nghiờn cu tỡm hiu v DTMF(Dual-Tone Multi-Frequency): DTMF l hp ca hai cp tn s Mt l tn s thp cú giỏ tr t 697n 941Hz, v mt l tn s cao t 1209 n 1633Hz S kt hp chớnh xỏc ny to cỏc tone 1,2, ,9,0,A,B,C,D v #,* Chc nng, cỏch s dng cỏc linh kin chớnh c s dng: Hc vin Cụng ngh BC - VT Chuyờn ngnh in t Linh kin cú chc nng thu phỏt tớn hiu DTMF l IC MT8880C: õy l linh kin tớch hp cú kh nng gii mó thu v phỏt v cú cỏc ngừ tớn hiu BCD Trong mch s dng cu hỡnh mt li vo Linh kin cú chc nng iu khin l IC AT89C52: l linh kin cú kh nng lp trỡnh c õy chớnh l trung tõm iu khin c h thng Ngoi cũn cú cỏc linh kin khỏc nh: IC 4N35 dựng cỏc ly in ỏp gia h thng v ng dõy, EEPROM 24C16A cho phộp cha ng mt khu v cỏc thit b iu khin v cú th thay i c nhm to s mm cho h thng, IS RS MAX232 dựng phi ghộp vi mỏy tớnh b Lp s theo mc tiờu ca ti: ú l, iu khin c cỏc thit b ngi vng nh hoc cú nh c Tớnh toỏn thit k phn cng d Thit k phn mm cho x lý trung tõm: Dựng ngụn ng lp trỡnh Asembler e Thit k giao din trờn mỏy vi tớnh: Dựng ngụn ng lp trỡnh VisualBasic Kh nng ng dng thc tin H thng cú th c ng dng cỏc lnh vc khỏc nhau, nhng ch yu l sn phm cú th phc v nhu cu ca ngi lao ng vi mc ớch gii phúng mt phn sc lao ng v tit kim thi gian Hc vin Cụng ngh BC - VT H thng ốn hu Cú hai loi h thng ốn hu: loi ốn hu c ni trc tip vo cụng tc iu khin ốn v loi cú rle ốn hu (1) Loi ni trc tip Khi cụng tc iu khin ốn c v v trớ TAIL, thỡ cỏc ốn hu bt sỏng (2) Loi cú rle ốn hu Khi cụng tc iu khin ốn v v trớ TAIL, thỡ dũng in i vo phớa cun dõy ca r le ốn hu Rle ốn hu c bt lờn v ốn sỏng Mt s xe cú h thng ốn hu c trang b ch bỏo ốn hu H thng ốn pha Cú hai loi h thng ốn pha khỏc tu theo chỳng cú thit b in nh rle ốn pha v rle iu chnh sỏng Nhỡn chung cụng tc iu chnh sỏng v trớ FLASH, thỡ mch in c cu to bt sỏng cỏc ốn c cụng tc iu khin ốn v trớ OFF (1) Loi khụng cú r le ốn pha v khụng cú rle iu chnh sỏng + ốn pha (Chiu gn LO Bearn) Khi xoay cụng tc iu khin ốn v v trớ HEAD (LOW), ốn pha (chiu gn) bt sỏng + ốn pha (Chiu xa High Bearn) Khi xoay cụng tc v v trớ HEAD (HIGH), thỡ ốn pha-chiu xa bt sỏng v ốn ch bỏo ốn pha-chiu xa trờn bng iu khin cng bt sỏng + ốn pha FLASH (Nhỏy pha) Khi cụng tc iu khin ốn dch chuyn v v trớ FLASH thỡ ốn pha chiu xa s bt sỏng (2) Loi cú r le ốn pha nhng khụng cú r le iu chnh sỏng + Nguyờn lý hot ng ca ốn pha-chiu gn Khi cụng tc iu khin ốn dch chuyn v v trớ HEAD (LOW), thỡ rle ốn pha c bt lờn v ốn pha-chiu gn sỏng lờn +Nguyờn lý hot ng ca ốn pha-chiu xa Khi cụng tc iu khin ốn dch chuyn v v trớ HEAD (HIGH), thỡ r le ốn pha bt ốn pha-chiu xa v ốn ch bỏo ốn pha-chiu xa trờn ng h tỏp lụ cng bt sỏng Loi mc ni tip vi ốn ch bỏo Dũng in i t ốn pha-chiu gn n ốn ch bỏo ốn pha-chiu xa v ốn ch bỏo bt sỏng Dũng in i n ốn pha-chiu gn, nhng vỡ in tr v dũng in nh nờn chỳng khụng sỏng + Hot ng nhỏy ốn pha Khi cụng tc iu khin ốn dch chuyn v v trớ FLASH, thỡ r le ốn pha bt lờn v cỏc ốn Thiết kế CáC Hệ THốNG Điều khiển số sử dụng vi điều khiển (microcontroller) MáY TíNH Cá NHÂN (pc) Nguyễn Thanh Sơn Bộ môn Thiết bị điện-điện tử, Khoa Điện, Đại học Bách khoa Hà Nội Tóm tắttắt-Điều khiển số nhánh lý thuyết điều khiển gắn liền với việc sử dụng máy tính tính số Tùy theo mức độ yêu cầu điều khiển, hệ thống điều khiển số đợc xây dựng từ vi điều khiển kết hợp vi điều khiển với máy tính cá nhân Bài báo trình bày bớc thiết kế hệ thống điều khiển số cách kết hợp vi điều khiển máy tính cá nhân nhân Hệ thống điều khiển bao gồm phần cứng đợc xây dựng từ vi điều khiển thông dụng giá rẻ AT89S51 phần mềm đợc lập lập trình ngôn ngữ Visual Basic Basic Với giao ngời sử dụng đồ họa, ngời sử dụng dễ dàng thay đổi thông số hệ thống điều khiển khiển Hy vọng báo nguồn tham khảo hữu ích cho sinh viên chuyên ngành Thiết bị điệnđiện-điện tử, Khoa Điện, Đại học Bách khoa khoa Hà Nội việc thiết thiết kế hệ thống điều khiển khiển số quy mô vừa nhỏ tiện lợi cho trình thay đổi tham số hệ thống điều khiển Để giúp sinh viện chuyên ngành Thiết bị điện-điện tử Khoa Điện, Đại học Bách khoa Hà Nội hiểu tờng tận thiết kế đợc hệ thống điều khiển số quy mô vừa nhỏ, tập thể cán nhóm Điều khiển môn Thiết bị điện-điện tử dành thời gian tổng hợp lý thuyết điều khiển số, xây dựng hệ thống điều khiển số sử dụng máy tính cá nhân vi điều khiển AT89S51 để điều khiển thiết bị điện phổ cập nh động điện, máy phát điện, Nội dung báo đợc trình bày với kết hợp lý thuyết với thực hành mức độ đơn giản phù hợp với kiến thức sinh viên chuyên ngành Thiết bị điện-điện tử năm cuối đợc trang bị kiến thức nh Điều khiển số, Kỹ thuật vi xử lý, Điện tử công suất Bài báo đợc bố cục với phần sau: -Phần báo giới thiệu vắn tắt hệ thống điều khiển số biến đổi z -Phần giới thiệu cách xác định hàm truyền số điều khiển số thông dụng Cụ thể, phần giới thiệu việc xác định hàm truyền điều khiển dead-beat điều khiển Dahlin -Phần giới thiệu nguyên tắc chuyển hàm truyền điều khiển số dạng biến đổi z sang dạng phù hợp với trình thực thi máy tính số Cụ thể hệ thống có hàm truyền bậc nhất, bậc hai điều khiển tỷ lệ-tích phân-vi phân (PID) đợc biểu diễn dạng lấy mẫu thời điểm khác -Phần trình bày bớc để thiết kế mạch vào giao tiếp với máy tính sử dụng vi điều khiển AT89S51, phần mềm điều khiển xây dựng ngôn ngữ Visual Basic -Phần kết luận với hớng phát triển tơng lai Ngoài báo bao gồm phụ lục cần thiết cho việc tham khảo để thiết kế phần cứng xây dựng phần mềm điều khiển máy tính Từ khóaAT89S51, Visual khóa-Điều khiển số, vi điều khiển AT89S51, Basic I Giới thiệu Trong mời năm qua, nhờ giá thành thấp độ tin cậy cao nên máy tính số đợc sử dụng rộng rãi nhiều hệ thống điều khiển Hiện tại, giới có khoảng 100 triệu hệ thống điều khiển số sử dụng máy tính Nếu tính riêng hệ thống điều khiển phức tạp nh điều khiển ngành hàng không có khoảng có khoảng 20 triệu hệ thống điều khiển máy tính [1] Chúng ta gặp hệ thống điều khiển số nhiều ứng dụng nh điều khiển trình, điều khiển giao thông, điều khiển máy bay, điều khiển rada, máy công cụ, Ưu điểm hệ thống điều khiển số độ xác cao tính khả trình linh hoạt chúng Cụ thể, thuật toán điều khiển dễ dàng đợc xây dựng sửa đổi nhờ công cụ chuyên dụng để lập trình cho phần cứng Vi điều khiển AT89S51 vi điều khiển bit với nhớ chớp nhoáng khả trình hệ thống hãng Atmel với dung lợng nhớ Kbytes Vi điều khiển đợc sản xuất sử dụng công nghệ lu trữ thông tin không mát (non-volatile memory) Vi điều khiển AT89S51 tơng thích với tập lệnh chuẩn công nghiệp chân họ vi điều khiển 80C51 Với tổ hợp chip xử lý trung tâm bit nhớ chớp nhoáng, vi điều khiển AT89S51 thực vi điều khiển mạnh, linh hoạt kinh tế cho hàng loạt ứng dụng điều khiển số quy mô vừa nhỏ Ngôn ngữ lập trình Visual Basic ngôn ngữ lập trình bậc cao theo luồng kiện hãng Microsoft Ngôn ngữ lập trình đợc bắt nguồn từ ngôn ngữ Basic cho phép ngời sử dụng phát triển nhanh ứng dụng giao diện ngời sử dụng đồ họa, truy cập vào sở liệu, điều khiển ActiveX, Do đó, báo Visual Basic đợc chọn để lập trình phần mềm điều khiển với giao diện II Điều khiển số biến đổi z Các hệ thống điều khiển số hay đợc gọi hệ thống điều khiển với tín hiệu đợc lấy mẫu với sơ đồ khối nh hình đợc xây dựng từ phần tử sau: -Bộ chuyển đổi tơng tự sang số (A/D converter): làm nhiệm vụ chuyển đổi tín hiệu phản hồi dạng liên tục sang dạng số để thuận tiện cho việc xử lý máy tính số -Máy tính số: chứa chơng trình điều khiển -Bộ chuyển đổi số sang tơng tự (D/A converter): làm nhiệm vụ chuyển tín hiệu số đầu máy tính sang dạng liên tục điều khiển mạch chấp hành để đóng mở van bán dẫn nh tiristo, triac hay tranzito sai lệch tín hiệu đặt tín hiệu phản hồi, U ( z ) đầu Đầu vào A/D Máy tính số D/A Đối tợng điều khiển Đầu điều khiển cần đợc thiết kế Y ( z ) đầu hệ thống HG ( z ) đặc trng cho hàm truyền đối tợng điều khiển đợc số hóa kết hợp với giữ mẫu bậc không R ( z) Cảm biến Hình 1: Sơ đồ khối hệ thống điều khiển số U (z) D(z) Bộ điều khiển Trong điều khiển số, trình lấy mẫu đợc mô tả nh trình đóng cắt công tắc sau chu kỳ T đợc tính giây Tập hợp tất tín hiệu lấy mẫu từ tín hiệu liên tục r ( t ) đợc mô tả công thức sau: (1) Y (z) R(z) Trong công thức (1), r ( nT ) biên độ tín hiệu lấy mẫu chu kỳ thứ n , ( t nT ) xung đơn vị chu kỳ thứ n Biến đổi Laplace phơng trình (1) ta có: + D ( z ) HG ( z ) Chúng ta ký hiệu hàm truyền hệ kín T ( z ) Do (2) T ( z) = Phơng trình (2) đợc gọi phơng trình mặt phẳng p tín hiệu đợc lấy mẫu r ( t ) Đồng thời phơng trình (2) đợc xem nh chuỗi vô tận lũy thừa e pnT Trong lý thuyết điều khiển số, biến đổi z đợc định nghĩa nh sau: Y (z) (7) R(z) Từ phơng trình (6) (7) ta xác định đợc hàm truyền điều khiển cần phải đợc thiết kế nh sau: D( z) = T (z) HG ( z ) T ( z ) (8) Phơng trình (8) có nghĩa hàm truyền điều khiển xác định đợc biết mô hình hay hàm truyền trình Bộ điều khiển D ( z ) phải đợc thiết kế cho hệ ổn định thực thi phần cứng Sau quan khảo sát hai điều khiển số đợc thiết kế theo phơng trình (8) Đó điều khiển dead-beat điều khiển Dahlin (3) Biến đổi z phơng trình (2) đợc ký hiệu Z r ( t ) = R ( z ) đợc xác định nh sau: (4) n=0 a) Bộ điều khiển dead-beat Bộ điều khiển dead-beat điều khiển mà tín hiệu đầu có dạng nhảy cấp giống nh tín hiệu đầu vào nhng trễ so với đầu vào vài chu kỳ lấy mẫu Hàm truyền hệ kín là: Từ phơng trình (4) ta thấy, biến đổi z bao gồm chuỗi biến z Mặt khác, phơng trình (4) đợc viết lại nh sau: R ( z ) = r ( ) + r (T ) z + r ( 2T ) z + r ( 3T ) z + (6) ta có: n =0 R ( z ) = r ( nT ) z n ZOH + trình D ( z ) HG ( z ) = z = e pT Y ( z) Hàm truyền hệ kín nh hình đợc viết nh sau: n=0 R* ( p ) = r ( nT )e pnT HG ( z ) Hình 2: Hệ thống điều khiển thời gian rời rạc r * ( t ) = r ( nT ) ( t nT ) E (z) (5) T ( z ) = zk Trong r ( nT ) hệ số chuỗi lũy thừa các thời điểm lấy mẫu khác k (9) Từ phơng trình (8), hàm truyền điều khiển cần đợc thiết kế là: D ( z) = III Các điều khiển số Một cách tổng quát, sử dụng sơ đồ khối nh hình thiết kế điều khiển số Trong đó, R ( z ) z k HG ( z ) z k (10) Ví dụ cần thiết kế điều khiển cho hệ thống với đối tợng điều khiển có hàm truyền nh sau: đầu vào tham chiếu hay gọi giá đặt, E ( z ) tín hiệu G ( p) = Dạng tổng quát hàm truyền điều khiển Dahlin [1]: e p + 10 p T z k 1 e q D( z) = T T HG ( z ) q q k 1 e z e z z Hàm truyền hệ kín với giữ mẫu bậc không đợc xác định nh sau: e p e pT HG ( z ) = Z G ( p ) = (1 z ) Z p p + 10 p ) ( Ví dụ thiết kế điều khiển Dahlin cho hệ thống với với thời gian lấy mẫu T=1 giây đối tợng điều khiển có hàm truyền nh sau: Giả thiết chu kỳ lấy mẫu T= giây ta có: 1/10 HG ( z ) = (1 z ) z Z p 1/10 + p ) ( HG ( z ) = (1 z )z G ( p) = z (1 e 0,1 ) ( z 1) ( z e0,1 ) =z e 0,1 z HG ( z ) = HG ( z ) = 0, 095 z 0,904 z 1 0,904 z z k D(z) = 0, 095 z z k D( z) = = Giả thiết k ta có: 0,904 z z z 0,904 z = 0, 095 z z 0, 095 ( z 1) T (z) HG ( z ) T ( z ) z k (1 e 0,1 ) 0,904 z 0, 095 z e 0,1 z (1 e 0,1 z ) z k D( z) = a) Bộ điều khiển Dahlin e p + pq 0,904 z 0, 095 z k 0, 095 z 0,904 z 0, 095 z k Giả sử ta chọn k = ta có: Bộ điều khiển Dahlin biến cải điều khiển dead-beat tạo nên phản ứng theo hàm mũ trơn phản ứng điều khiển dead-beat Phản ứng yêu cầu hệ thống mặt phẳng p đợc viết nh sau: D( z) = 0, 095 z 0, 0858 z 0, 095 z 0, 0858 z 0, 0090 Tóm lại, với giả thiết hàm truyền đối tợng điều khiển biết trớc, dễ dàng xây dựng đợc hàm truyền điều khiển theo vòng kín Tuy nhiên thực tế, việc thiết lập đợc mô hình xác đối tợng điều khiển khó khăn Do xét đến điều khiển tỷ lệ-tích phân-vi phân hay đợc gọi điều khiển PID đợc sử dụng phổ biến công nghiệp phần ap Y ( p) = 0, 095 z 0,904 z Giả thiết ta chọn q = 10 , hàm truyền điều khiển có dạng nh sau: Do ta có: D( z) = e p + 10 p Nh trình bày ví dụ hàm truyền hệ đối tợng điều khiển với giữ mẫu bậc dạng nh sau: (1 e ) 0,1 (12) (11) Trong a q đợc chọn để đạt đợc phản ứng theo mong muốn nh hình y (t ) IV Thực thi điều khiển số a q Các thuật toán điều khiển số dạng biến đổi z cần thiết phải đợc chuyển sang dạng phơng trình phù hợp để thực thi với phần cứng hay máy tính cá nhân Một hàm truyền điều khiển số dạng biến đổi z đợc thực thi nhiều phơng pháp khác Về mặt toán học phơng pháp tơng đơng Tuy nhiên, phơng pháp khác có hệ số tính toán khác nhau, độ nhạy khác tín hiệu sai lệch cách lập trình khác Phần trình bày bớc để thực thi điều khiển số theo phơng pháp sơ đồ song song t Hình 3: Phản ứng đầu điều khiển Dahlin Hàm truyền điều khiển số đợc biểu diễn dạng tổng hàm truyền bậc hàm truyền bậc hai nh sau: D ( z ) = + D1 ( z ) + D2 ( z ) R ( z) = E (z) + b1 z + b2 z (13) Phơng trình (20) đầu hàm truyền bậc hai dạng biến đổi z dạng lấy mẫu thời điểm k khác ta viết lại phơng trình (20) nh sau: Trong hàm truyền bậc có dạng nh sau: D1 ( z ) = R(z) = 1+ z E ( z) (21) (14) (22) uk = a0 rk + a1rk Trong Trong uk giá trị đầu u ( t ) hàm truyền R(z) E ( z) = 1+ z thời điểm lấy mẫu thứ k , rk giá trị r ( t ) thời điểm (15) lấy mẫu thứ k , rk giá trị r ( t ) thời điểm lấy mẫu chậm sau thời điểm lấy mẫu thứ k chu kỳ Mặt khác, phơng trình (21) đợc viết lại nh sau: Từ phơng trình (15) ta có xác định đợc R ( z ) có dạng nh sau: R ( z ) = E ( z ) R ( z ) z R ( z ) = E ( z ) b1 z R ( z ) b2 z R ( z ) (16) Phơng trình (23) phơng trình dạng biến đổi z Phơng trình (23) biển diễn dạng lấy mẫu thời điểm k khác nh sau: Trong điều khiển số z phần tử trễ đơn vị trễ sau chu kỳ lấy mẫu Do từ công thức (16) ta biểu diễn giá trị R ( z ) E ( z ) dạng lấy mẫu thời điểm lấy mẫu k khác nh sau: (17) Trong rk giá trị r ( t ) thời điểm lấy mẫu chậm sau thời điểm lấy mẫu thứ k hai chu kỳ ek giá trị Trong rk giá trị r ( t ) thời điểm lấy mẫu thứ e ( t ) thời điểm lấy mẫu thứ k k , rk _ giá trị r ( t ) thời điểm lấy mẫu chậm sau thời điểm lấy mẫu k chu kỳ Cuối cùng, ek giá trị e ( t ) a0 thời điểm lấy mẫu k Tín hiệu đầu điều khiển uk đợc tính nh sau: uk = ( ek rk ) ek rk rk uk Sau làm quen đợc với thao tác chuyển hàm truyền đơn giản dạng biến đổi z sang dạng phù hợp với việc thực thi máy tính số, thực thi đợc điều khiển đợc sử dụng phổ biến công nghiệp nh điều khiển tỷ lệ-tích phân-vi phân hay gọi điều khiển PID Phơng trình đầu điều khiển PID có dạng nh sau: Hàm truyền bậc hai có dạng nh sau: (19) t de ( t ) u ( t ) = K p e ( t ) + e ( t ) dt + Td Ti dt Hay U ( z ) = a0 R ( z ) + a1 z R ( z ) z Hình 5: Thực thi hàm truyền bậc hai theo sơ đồ song song z U (z) a0 + a1 z = + b1 z + b2 z E ( z) rk uk Hình 4: Thực thi hàm truyền bậc theo sơ đồ song song D2 ( z ) = a1 b1 b2 rk rk z (18) Phơng trình (18) biểu diễn sơ đồ nh hình Sơ đồ đợc gọi sơ đồ song song ek (24) rk = ek b1rk b2 rk rk = ek rk (23) (25) Trong u ( t ) tín hiệu đầu điều khiển, e ( t ) (20) tín hiệu đầu vào điều khiển, K p hệ số tỷ lệ, Ti thời Trong điều khiển nằm phạm vi cho phép từ giá trị nhỏ đến giá trị lớn Vấn đề thứ hai điều khiển PID theo sơ đồ nh hình xuất phát từ trình vi phân điều khiển giá trị đặt thay đổi đáng kể làm cho tín hiệu sai lệch thay đổi theo Trong trờng hợp nh vậy, thành phần vi phân gây nên tợng giật (kick) đầu điều khiển Để khắc phục tợng này, cần thiết chuyển thành phần vi phân tới vòng phản hồi nh hình Thành phần tỷ lệ gây nên tựơng tơng tự nên thành phần đợc chuyển tới vòng phản hồi Khi thiết kế điều khiển số, cần phải quan tâm đến việc chọn khoảng thời gian lấy mẫu Mội cách đơn giản, chọn mẫu với tốc độ nhanh tốt Tuy nhiên, tốc độ lấy mẫu nhanh gây nên lãng phí không cần thiết cho phần cứng Có nhiều quy tắc thực nghiệm để chọn chu kỳ lấy mẫu Ví dụ, hệ thống có phản ứng vòng hở đợc làm gần theo phơng pháp Ziegler-Nichols chu kỳ lầy mẫu nên nhỏ 1/4 thời gian tăng T1 gian tích phân, Td thời gian vi phân Mặt khác, biến đổi Laplace phơng trình (25) có dạng nh sau: Kp U ( p) = K p + + K pTd p E ( p ) Ti p (26) Biến đổi z phơng trình (26) có dạng nh sau: Kp T z U (z) = Kp + + K pTd E ( z) Ti z T (27) Trong T chu kỳ lấy mẫu Kp Nếu đặt K p = a , T = b K pTd = c hàm truyền Ti điều khiển có dạng nh sau: U ( z ) = aE ( z ) + P ( z ) + Q ( z ) (28) Trong P(z) = b E (z) z e r (29) + Q ( z ) = c (1 z ) E ( z ) _ (30) b z p MIN Tích phân q + Lu ý P ( z ) Q ( z ) biến trung gian Phơng trình (29) (30) đợc viết dới dạng lấy mẫu thời điểm lấy mẫu k khác nh sau: pk = bek + pk (31) qk = c ( ek + ek ) (32) uk = aek + pk + qk (33) u MAX c (1 z ) + a w Phản hồi Vi phân Tỷ lệ Hình 7: Sơ đồ thực hành điều khiển PID thực tế V Độ ổn định hệ thống điều khiển số Các phơng trình (31), (32) (33) phơng trình đợc sử dụng để thực thi điều khiển PID sử dụng máy tính số Các phơng trình tơng đơng với sơ đồ song song nh hình a aek pk ek b z pk uk bek z c Giống nh hệ thống điều khiển tơng tự, sử dụng số tiêu chuẩn để xét độ ổn định hệ thống điều khiển số Trong báo này, xem xét tiêu chuẩn ổn định Jury dùng để xét độ ổn định hệ thống điều khiển số có bậc hai ba Tiêu chuẩn Jury trở nên phức tạp bậc hệ thống lớn Giả thiết có hàm truyền hệ mạch vòng kín nh sau: Y (z) R(z) cek = G (z) + GH ( z ) (34) F ( z ) = + GH ( z ) = đợc gọi phơng trình đặc tính hệ thống Độ ổn định hệ thống phụ thuộc vào vị trí cực hàm truyền Đối với hệ thống liên tục, hệ đợc xem ổn định cực nằm bên trái mặt phẳng p Bằng cách ánh xạ mặt phẳng p vào mặt phẳng z, hệ thống điều khiển số đợc xem ổn định cực nằm vòng tròn đơn vị Đối với phơng trình đặc tính hệ thống bậc hai có dạng: qk cek Hình 6: Thực thi hàm truyền điều khiển PID theo sơ đồ song song Một vấn đề điều khiển PID theo sơ đồ nh hình trình tích phân đến (integral windup) điều khiển gây nên tợng hiệu chỉnh thời gian dài phản ứng đầu hệ thống Để tránh tợng phải khống chế đầu F ( z ) = a2 z + a1 z + a0 = (35) hệ đợc gọi ổn định nếu: F (1) > , F ( 1) > a0 < a2 (36) Đối với phơng trình đặc tính hệ bậc ba có dạng: F ( z ) = a3 z + a2 z + a1 z + a0 = (37) hệ đợc gọi ổn định nếu: F (1) > , F ( 1) < , a0 < a3 a det a3 a3 a > det a0 a3 a1 a2 (38) Hình 8: Bo mạch lập trình phát triển ứng dụng điều khiển sử dụng vi điều khiển họ 8051 hãng MikroElectronika Ngoài sử dụng phơng pháp khác để xét ổn định hệ thống điều khiển số nh: -Tiêu chuẩn Routh-Hurwitz -Phơng pháp quỹ tích gốc (root locus) -Tiêu chuẩn Nyquist -Đồ thị Bode (Bode diagrams) Các phơng pháp tham khảo số tài liệu tiếng Việt Quy trình lập trình cho vi điều khiển đợc trình bày hình Trớc tiên, cần phải sử dụng chơng trình soạn thảo văn để viết chơng trình điều khiển Chơng trình soạn thảo văn đơn giản để viết đợc chơng trình Notepad Tùy theo cú pháp ngôn ngữ đợc sử dụng để lập trình cho vi điều khiển nh hợp ngữ hay C mà mã chơng trình lu lại dạng tên_file a51 hay tên_file c Tiếp đó, phải sử dụng chơng trình đợc gọi trình dịch (compiler) để chuyển mã chơng trình sang dạng file dạng hex (file đợc gọi phần mềm nhúng) để nạp vào nhớ vi điều khiển Đối với lập trình hợp ngữ, sử dụng trình dịch miễn phí ASEM-51 (http://plit.de/asem-51/final13.htm) Đối với lập trình ngôn ngữ C, sử dụng trình dịch miễn phí SDCC (http://sdcc.sourceforge.net) Sau chuyển từ mã cơng trình sang dạng file hex, phải sử dụng phần cứng (hình 8) phần mềm để nạp chơng trình cho vi điều khiển (hình 10) VI Thực nghiệm Trong phần quan tâm đến việc ứng dụng vi điều khiển máy tính cá nhân để xây dựng hệ thống điều khiển số a) Phát triển ứng dụng đo lờng điều khiển sử dụng vi điều khiển Ngày nay, vi điều khiển đợc sử dụng rộng rãi để phát triển ứng dụng điều khiển Để lợi cho sinh viên trình học phát triển ứng dụng thật, hãng tung thị trờng công cụ vừa có khả lập trình cho vi điều khiển tiện lợi cho việc phát triển ứng dụng điều khiển số nh hình Với chức công cụ này, ngời sử dụng phát triển ứng dụng điều khiển số, đo lờng đại lợng vật lý, truyền thông, Hình bo mạch dùng để phát triển ứng dụng vi điều khiển họ 8051 hãng MikroElectronika Với bo mạch ngời sử dụng phát triển ứng dụng với loại vi điều khiển sau hãng Atmel: -AT89S51 -AT89S52 -AT89S53 -AT89S8252 -AT89S8253 Phần mềm soạn thảo mã chong trình (Text editor) Mã chơng trình dạng cú pháp hợp ngữ (Assembly)hoặc ngôn ngữ C Trình dịch (compiler) File dạng Hexadecimal (hex) Phần mềm để nạp chơng trình Phần cứng để nạp chơng trình Vi điều khiển Hình 9: Các bớc lập trình cho vi điều khiển 11059200 = 253 = FD( H ) 384.9600 Nh giá trị TH1 253 hệ 10 (decimal) hay FD hệ mời sáu (hexadecimal) Trong hệ thống đo lờng điều khiển sử dụng vi điều khiển phải sử dụng nhiều vi điều khiển Mỗi vi điều khiển đảm nhận chức khác Ví dụ trình thu thập liệu yêu cầu vi điều khiển riêng Tơng tự trình gửi truyền tín hiệu điều khiển từ máy tính đến thiết bị ngoại vi đòi hỏi phải sử dụng vi điều khiển khác Sơ đồ khối phần cứng giao tiếp với máy tính đợc trình bày nh hình 11 TH = 256 Tín hiệu vào tơng tự ADC 0809 Vi điều khiển AT89S51 MAX232 Hình 10: Giao diện phần mềm nạp chơng trình cho vi điều khiển họ 8051 hãng MikroElectronika b) Phần cứng giao diện với máy tính Tín hiệu tơng tự Để số hóa tín hiệu phản hồi thuận tiện cho việc xử lý máy tính, phải sử dụng chuyển đổi tơng tự sang số Các chuyển đổi tợng tự sang số đợc chia làm hai loại Loại thứ đợc gọi chuyển đổi tợng tự sang số đầu song song có nghĩa chuyển đổi này có dạng tín hiệu số đầu dạng bit song song Loại thứ hai đợc gọi chuyển đổi tợng tự sang số nối tiếp tức đầu số chuyển đổi bit nối tiếp Trong báo quan tâm đến việc sử dụng chuyển đổi tơng tự sang số song song ADC0809 [2] Vi điều khiển bao dồn kênh đầu vào đợc địa hóa bit Đầu chuyển đổi bao gồm bit song song Bố trí chân cách mắc mạch chuyển đổi tơng tự sang số ADC0809 tham khảo phần phụ lục Đầu bit chuyển đổi tơng tự sang số ADC0809 đợc ghép nối với cổng vi điều khiển AT98S51 ví dụ nh cổng P1 Vi điều khiển AT89S51 đợc lập trình để giao tiếp với cổng nối tiếp máy tính theo chuẩn RS-232 Tơng tự để gửi tín hiệu từ máy tính đến thiết bị chấp hành tơng tự, phải sử dụng chuyển đổi từ số sang tơng tự Ví dụ sử dụng chuyển đổi số sang tơng tự DAC0808 [3] Tốc độ truyền thông nối tiếp phụ thuộc vào phơng pháp sử dụng định thời vi điều khiển Khi định thời (Timer 1) đợc sử dụng chế độ (mode 2) [4], tốc độ truyền thông nối tiếp ký hiệu BR tính theo đơn vị baud (số bit giây) đợc xác định nh sau: BR = f 32.12 ( 256 TH 1) f 384.BR Vi điều khiển AT89S51 RS-232 Phần mềm điều khiển số Máy tính cá nhân Hình 11: Sơ đồ khối phần cứng giao tiếp với máy tính cá nhân Đối với hệ máy tính xách tay đời cổng nối tiếp, phải sử dụng cáp chuyển đổi USB sang RS232 Các cáp chuyển đổi kèm với driver điều khiển b) Phần mềm điều khiển số Phần mềm điều khiển đợc xây dựng với ngôn ngữ Visual Basic Trong báo quan tâm đến việc xây dựng phần mềm cho điều khiển PI PID Phần mềm bao gồm hai phần: Phần thứ giao diện ngời sử dụng đồ họa cho phép ngời sử dụng quan sát giá trị phản hồi, đầu điều khiển nh hình 12 Đồng thời giao diện cho phép ngời sử dụng thay đổi dễ dàng thông số hệ thống điều khiển nh giá trị đặt (setpoint) trợt ngang hay hệ số tỷ lệ K p , số thời gian (39) Trong f tần số dao động mạch TH giá trị Timer Từ công thức (39), ta dễ dàng suy ra: TH = 256 DAC 0808 (40) Giả sử cần ta cần tạo nên tốc độ truyền liệu nối tiếp 9600 baud tần số dao động cấp cho vi điều khiển thạch anh 11,0592 giá trị Timer là: tích phân Ti số thời gian vi phân Td điều khiển PID đợc nhập trực tiếp từ bàn phím Phần thứ hai mã chơng trình điều khiển bao gồm chơng trình thu thập tín hiệu phản hồi sau đợc số hóa chuyển đổi tơng tự sang số chơng trình điều khiển PI PID Thuật toán để xây dựng điều khiển PID đợc để cập phần IV Giá trị đại lợng đo đợc đợc hiển thị tùy theo ứng dụng điều khiển cụ thể Hình 12: Giao diện đồ họa ngời sử dụng chơng trình phần mềm điều khiển số VII Kết luận Bài báo tổng hợp lại kiến thức điều khiển số mức độ đơn giản nhng đủ để thực thi với vi điều khiển có Việt Nam Hớng phát triển tơng lai ứng dụng thiết kế điều khiển số cho đối tợng điều khiển cụ thể Phụ lục Phụ lục 1: Mạch vi điều khiển AT89S51 Để vi điều khiển làm việc sau đợc lập trình, phải mắc mạch cho vi điều khiển Ngoài tùy theo ứng dụng ghép nối cổng vi điều khiển với chuyển đổi tơng tự sang số hay số sang tơng tự để thu thập liệu điều khiển Hình sơ đồ mạch tối thiểu để vi điều khiển làm việc đợc Hình 1: Mạch vi điều khiển AT89S51 Phụ lục 2: 2: Chuyển đổi mức tín hiệu từ TTL sang RSRS-232 ngợc lại Tiêu chuẩn RS-232 định nghĩa mức điện áp từ đến 15 V tơng ứng với logic logic Giải giá trị điện áp gần V đợc xem nh hiệu lực Mức logic đợc định nghĩa điện áp âm không logic đợc định nghĩa điện áp dơng Mặt khác, vi điều khiển AT89S51 làm việc với tín hiệu logic tơng ứng với V logic tơng ứng với V Do đó, để vi điều khiển giao tiếp đợc với máy tính qua cổng nối chuẩn RS-232, cần phải sử dụng IC MAX232 để chuyển đổi mức tín hiệu nh hình Hình 2: IC MAX232 dùng để chuyển đổi mức tín hiệu từ TTL sang RS-232 ngợc lại Phụ lục 3: Bộ chuyển đổi tơng tự sang số ADC 0809 Bộ chuyển đổi số sang tơng tự đợc sử dụng để chuyển đổi tín hiệu tơng tự dải đến V sang tín hiệu số bit song song Sơ đồ chân mạch để sử dụng đợc trình bày hình Hình 3: Bộ trí chân (bên trái) sơ đồ mắc mạch chuyển đổi tơng tự sang số 0808/0809 Phụ lục 4: Bộ chuyển đổi số sang tơng tự DAC 0808 Bộ chuyển đổi số sang tơng tự dùng để chuyển đổi tín hiệu số bit sang tín hiệu tơng tự Sơ đồ mạch để sử dụng DAC 0808 đợc trình bày hình Hình 4: Sơ đồ mạch chuyển đổi tơng tự sang số 0808/0809 Phụ lục 5: Thiết kế phần cứng giao diện với máy tính cá nhân sử dụng vi điều khiển AT89S51với truyền thông nối tiếp Trong kỹ thuật truyền thông khoa học máy tính, truyền thông nối tiếp trình gửi nhận bit thời điểm, khác với truyền thông song song nhận gửi nhiều bit lúc Trong truyền thông nối tiếp, ngời ta đa số tiêu chuẩn nh RS-232, RS-423, RS-485, Phần giới thiệu cách lập trình truyền thông nối tiếp sử dụng chuẩn RS-232 vi điều khiển AT89S51 RS-232 tiêu chuẩn cho tín hiệu liệu dạng nhị phân nối tiếp kết nối thiết bị đầu cuối (data terminal equipment) thiết bị truyền thông liệu (data communications equipment) Dạng truyền thông chủ yếu sử dụng cổng nối tiếp máy tính (serial computer port) Thiết bị đầu cuối máy tính thiết bị truyền thông liệu modem Để giao tiếp với máy tính qua cổng nối tiếp, sử dụng vi điều khiển AT89S51 với định thời Timer1 Chơng trình viết hợp ngữ để truyền nhận liệu từ máy tính đến cổng P1 vi điều khiển AT89S51 đợc trình bày dới Chơng trình bao gồm hai phần Phần thứ dùng để định nghĩa chức Timer chế độ (mode 2) với truyền thông nối tiếp bit, tốc độ truyền 9600 baud tần số dao động 11,0592MHz Phần thứ hai trình truyền nhận liệu sử dụng ghi SBUF a) Chơng trình nhận liệu bit sử dụng vi điều khiển AT89S51 với tần số dao động 11,0592 MHz: ACALL START RS232: MOV MOV MOV MOV ANL RET TMOD,#20h TCON,#41h TH1,#0FDh SCON,#50h PCON,#7Fh CLR MOV JNB RET RI A,SBUF RI,WAIT ACALL RS232 ACALL MOV AJMP RECEIVE P1,A LOOP ;Set Timer for auto reload - mode ;Run Timer ;Set Timer = 253 for 9600 baud with XTAL = 11.0592MHz ;8 bit data, mode ;Clear SMOD RECEIVE: WAIT: START: LOOP: END b) Chơng trình truyền liệu bit sử dụng vi điều khiển AT89S51 với tần số dao động 11,0592 MHz: ACALL START RS232: MOV MOV MOV MOV ANL RET TMOD,#20h TCON,#41h TH1,#0FDh SCON,#50h PCON,#7Fh ;Set Timer for auto reload - mode ;Run Timer ;Set Timer = 253 for 9600 baud with XTAL = 11.0592MHz ;8 bit data, mode ;Clear SMOD SEND: 10 WAIT: CLR MOV JNB RET TI SBUF,A TI,WAIT1 ACALL RS232 MOV ACALL AJMP A,P1 SEND LOOP START: LOOP: END Đối với số dòng máy tính xách tay đời có cổng USB mà cổng nối tiếp, phải sử dụng cáp chuyển đổi từ USB sang RS232 Phụ lục 6: Chơng trình phần mềm điều khiển số PID giao diện ngời sử dụng viết ngôn ngữ Visual Basic Basic a) Giao diện ngời sử dụng: Giao diện ngời sử dụng đợc xây dựng từ hộp thoại ngôn ngữ Visual Basic Các hộp thoại đợc điều khiển mã chơng trình Hình giao diện ngời sử dụng đợc thiết kế với hộp thoại Hình 5: Thiết kế giao diện ngời sử dụng đồ họa b) Phần mã chơng trình: Phần mã chơng trình bao gồm chơng trình điều khiển việc truyền nhận tín hiệu theo chuẩn RS-232 Bên cạnh mã chơng trình bao gồm chơng trình điều khiển PI PID Mã chơng trình đợc trình bày dới ' -' Digital Control System Design based on Ziegler-Nichols algorithm: ' ' -P controller: Kp = T1/K/Td ' ' -PI controller: Kp = 0.9*T1/K/Td ' Ti = 3.3*Td ' ' -PID controller: Kp = 1.2*T1/K/Td ' Ti = 2*Td ' Tde = 0.5*Td ' ' Implementation of digital PID controller ' In s-domain, the output signal of the PID controller ' can be expressed as follows: ' / \ ' | | ' E(s)= Kp |1 + - + Td*s |E(s) (1) ' | Ti*s | ' \ / ' Using the the following properties of the z-transform: ' ' z ' - = - = -' s z - 1 - z^(-1) ' ' We can derive the z-form of the PID controller: ' / \ ' | T Td*[1 - z^(-1)] | ' U(z)= Kp |1 + - + -|E(z) (2) ' | Ti*[1 - z^(-1)] T | 11 ' \ / ' ' Kp is the propotional constant ' Ti is the integral time constant ' Ts id the derivative time constant ' T is the sampling interval ' ' Let: ' Kp*T Kp*Td ' a = Kp b = -c = -' Ti T ' ' Equation (2) can therefore be expressed as follows ' ' ' U(z)= a*E(z) + b* *E(z) + c*[1 - z^(-1)]*E(z) (3) ' [1 - z^(-1)] ' ' U(z)= a*E(z) + P(z) + Q(z) (4) ' 'where ' ' ' P(z)= b* -*E(z) (5) ' [1 - z^(-1)] ' ' Q(z) = c*[1 - z^(-1)]*E(z) (6) ' ' ' From (5), we can write ' ' P(kT) = P(kT-T) + b*E(kT) (7) ' ' From (6), we have ' ' Q(kT) = c*[E(kT) - E(kT-T)] (8) ' ' 'Reference: page 251 "Microcontroller Based Applied Digital Control" '-D Ibrahim '(c) 2006 John Wiley & Sons, Ltd ' ' ' Copyright (c) 2004 - 2005 Son Nguyen ' University of Technology, Sydney ' E-mail: Son.NguyenThanh@uts.edu.au ' -Option Explicit Dim Serial_Data As String Dim feedback As String Dim High_Byte As Long Dim Low_Byte As Long Dim Two_Byte As Long Dim Kp As Single Dim Tin As Single Dim Tde As Single Dim Ts As Single Dim a As Single Dim b As Single Dim c As Single Dim rkt As Single Dim ykt As Single Dim ykt_1 As Single Dim ekt As Single Dim ekt_1 As Single Dim pkt As Single Dim pkt_1 As Single Dim qkt As Single Dim qkt_1 As Single Dim ukt As Single Dim Vmax As Integer Dim Vmin As Integer Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() MSComm1.RThreshold = MSComm1.InputLen = MSComm1.CommPort = MSComm1.Settings = "9600,N,8,1" MSComm1.PortOpen = True HScroll1.Min = HScroll1.Max = 255 Picture1.AutoRedraw = True Picture1.ScaleLeft = Picture1.ScaleWidth = 255 End Sub Private Sub MSComm1_OnComm() 12 If MSComm1.CommEvent = comEvReceive Then Serial_Data = MSComm1.Input ' Get data High_Byte = Asc(Mid$(Serial_Data, 1, 1)) ' Get 1st byte Low_Byte = Asc(Mid$(Serial_Data, 2, 1)) ' Get 2nd byte Two_Byte = JoinHighLow(High_Byte, Low_Byte) End If End Sub Private Sub PID_parameters(m As Integer) Kp = Format(Val(Text3.Text), "0.00") Tin = Format(Val(Text4.Text), "0.00") Tde = Format(Val(Text5.Text), "0.00") Ts = 0.05 End Sub Private Sub a = Kp b = (Kp c = ekt_1 = pkt_1 = qkt_1 = End Sub PI_Click() Private Sub a = Kp b = (Kp c = (Kp ekt_1 = pkt_1 = qkt_1 = End Sub PID_Click() Private Sub a = b = c = ekt_1 = pkt_1 = qkt_1 = End Sub Reset_Click() * Ts) / Tin 0 * Ts) / Tin * Tde) / Ts 0 0 0 Private Sub Timer1_Timer() PID_parameters (1) feedback = Low_Byte rkt = HScroll1.Value Text9.Text = Format(rkt / 51, "0.00") Text1.Text = Format(feedback / 51, "0.00") DrawScale CStr(HScroll1.Value) Standard_PID (1) End Sub Private Function JoinHighLow(lHigh As Long, lLow As Long) As Long JoinHighLow = (lHigh * &H100) Or lLow 'Join High Byte and Low Byte End Function Private Sub DrawScale(Variable As Long) Picture1.Cls Picture1.Line (0, 0)-(Variable, 400), vb3DShadow, BF End Sub Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False End Sub Private Sub Standard_PID(m As Integer) 'Zero Order Holding approximation(Standard PID controller) ykt = feedback ekt = rkt - ykt 'the Error pkt = b * ekt + pkt_1 'the I term qkt = c * (ekt - ekt_1) 'the D term ukt = a * ekt + pkt + qkt 'the PID output 'Prevent the controller from the "integral windup" Vmax = 2550 Vmin = If ukt > Vmax Then pkt = pkt_1 ukt = Vmax End If If ukt < Vmin Then pkt = pkt_1 ukt = Vmin End If 'Save the variables pkt_1 = pkt ekt_1 = ekt 'Output the control signal Text2.Text = Format(ukt / 510, "0.00") MSComm1.Output = Chr(Round(ukt / 10)) End Sub 13 Tài liệu tham khảo [1] D Ibrahim, "Microcontroller Based Applied Digital Control," John Wiley & Sons, Ltd, 2006 [2] National, "ADC0808/ADC0809 8-Bit àP Compatible A/D Converters with 8-Channel Multiplexer," 1999 [3] National, "DAC0808/DAC0807/DAC0806 8-Bit D/A Converters," 1995 [4] Atmel, "8051 Flash Microcontroller-Memory Organization." 14