Đang tải... (xem toàn văn)
thiết kế bộ điều khiển pid số trên nền vi điều khiển pic
Tr−êng ®¹i häc b¸ch khoa hμ néi Khoa ®iÖn Bé m«n ®iÒu khiÓn tù ®éng X\[]^W ĐỒ ÁN TỐT NGHIỆP Đề tài:Thiết kế bộ điều khiển PID số trên nền vi điều khiển PIC Giáo viên hng dn : PGS.TS Phan Xuân Minh Sinh viên thc hin : Phm Vn Cng Hoàng Vn Quân Lp : KT1 Khoá : 49 Hà Ni 5 - 2009 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 1 Mục lục Li m u 5 Li cm n 6 Chng 1 : H vi iu khin PIC và vi iu khin PIC18F4520 7 1.1 Gii thiu chung 7 1.2 . Vi iu khin Pic18F4520 8 1.2.1. T chc b nh (Memory Organization) 13 1.2.2. 8 x 8 HARDWARE MULTIPLIER 22 1.2.3. Ngt (Interrupts) 23 1.2.4. Cng vào ra (I/O Port) 32 1.2.5. B nh thi (Timer) 33 1.2.6. B truyn nhn d liu ng b (EUSART-Enhanced Universal Synchronous Asynchronous Receiver Transmitter) 37 1.2.7. Module chuyn i tong t sang s 10 bit (A/D) 50 Chng 2 : Thit k b iu khin PID s 57 2.1 Thit k mô hình phn cng mch iu khin 57 2.1.1. Yêu cu thit k 57 2.1.2. Các khi chc nng trên kit iu khin 58 a) Khi vi iu khin trung tâm 58 b) Khi giao tip máy tính qua cng ni tip 59 c) Khi bàn phím 60 d) Khi hin th LCD 2x16(2 dòng, 16ct) 61 e) Khi mch ng lc iu khin 62 f) Khi ngun 12V/5V 62 g) Các khi khác 63 2.2 Thit k phn mm trên nn vi iu khin PIC 64 2.2.1. Yêu cu phn mm 64 2.2.2. Gii thut chng trình 65 a) Loop iu khin 65 b) Thut toán PID s 66 2.2.3. Thit k phn mm iu khin và giám sát trên máy tính 69 2.3 Kit iu khin 71 Chng 3 : ng dng b iu khin PID s iu khin ng c mt chiu 72 3.1 i tng iu khin 72 3.1.1. Thông s k thut 72 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 2 3.1.2. Nhn dng mô hình ng hc ca ng c in mt chiu 72 3.1.3. Thu thp d liu vào/ra ca ng c in mt chiu t thcnghim. 72 3.1.4. Nhn dng ng c iên mt chiu bng Toolbox Identification cu Matlab 74 3.1.5. ánh giá cht lng mô hình 76 3.2 Thit k lut iu khin PID 77 3.2.1. Phng pháp Ziegler-Nichols1 77 3.2.2. Phng pháp IMC 77 3.2.3. Mô phng và ánh giá cht lng b iu khin 78 3.3 Thit b chp hành(IC L298) 78 3.4 Cm bin (Encoder) 81 3.5 H thng iu khin 84 3.6 Mt s hình nh v Kit iu khin ng c s dng vi iu khin PIC 86 3.7 :Kt qu thc nghim 87 3.8 So sánh kt qu mô phng và thc t 88 Kt lun 89 Tài liu tham kho 91 Ph lc Code phn mm 92 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 3 MỤC LỤC HÌNH VẼ Hình 1.1 S khi kin trúc vi iu khin PIC18F4520 9 Hình 1.2 S chân vi iu khin Pic18F4520 10 Hình 1.3: T chc b nh chng trình 13 Hình 1.5: Clock/Instruction Cycle 15 Hình 1.6 Instruction Pipeline Flow 15 Hình 1.7 Instruction In Program Memory 16 Hình 1.8 S cu trúc b nh d liu Pic18F4520 16 Hình 1.9 S cu trúc thanh ghi ca Pic18F4520 17 Hình 1.10 Pic 18 Interrup logic 23 Hình 2.1 Mô hình khi mch iu khin 57 Hinh 2.2.S khi vi iu khin trung tâm 58 Hinh 2.3 Mch np cho vi iu khin trung tâm 58 Hinh 2.4 Khi giao tip máy tính Max232 59 Hình 2.5 : Cu to cng COM 59 Hinh 2.6 Modul bàn phím 60 Bng s lc chc nng LCD 2x16 61 Hình 2.7 Khi hin th LCD 62 Hinh 2.8 Khi thit b chp hành 62 Hình 2.9 S khi ngun 62 S nguyên lý kit iu khin 63 S mch in hai lp 64 Hình 2.10 Lu loop iu khin 65 Hình 2.11 Lu hàm ngt dùng to chu lì trích mu 66 Hình 2.12 S b iu khin PID s 67 Hình 2.13 Chng bão hào tích phân 68 Hình 2.14. Giao din giao tip PC 69 Hình 3.1 ng c s dng trong án 72 Hinh 3.2 S thu thp d liu nhn dng 72 Hình 3.2 c tính thu thp d liu nhn dng 73 Hình 3.3Chn u vào và mô hình nhn dng ca i tng 75 Hình 3.4Phng thc nhn dng và ánh giá mô hình thu c 75 Hình 3.5 c tính quá i tng sau khi nhn dang 76 Hình 3.6 Sai lch mô hình nhn dng 76 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 4 Hình 3.7 Mô phng trên Simulink các phng pháp iu khin 78 Hình 3.9 c tính mô phng 78 Hình 3.10 S chân L298 79 Hình 3.11: Các ch ca L298 80 Hình 3.12 : S gii pháp 81 Hình 3.13 : Mô hình1 - En coder quang tng i 81 Hình 3.14 : Phng thc hot ng Encoder quang tng i 82 Hình 3.15 : Mô hình 2 -En coder quang tng i 82 Hình 3.16 : S xung ca En coder quang tng i(mô hình 2) 83 Hình 3.17 S h thngiu khin ng c 84 Hình 3.18 Cu trúc h thng iu khin 84 Hình 3.19 Cu trúc khi iu khin ng c 85 Mt s hình nh mch iu khin ng c mt chiu 86 Hình 3.20 c tính vi b iu khin PI 87 Hình 3.21 c tính vi b ièu khin PID 87 Hình 3.22 H thng khi có nhiu 88 Hình 3.23 c tính khi h thng có thay i giá tr t 88 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 5 Lời mở đầu Khoa hc công ngh hin i ã có nhng bc tin nhanh và xa i theo ó là nhng thành tu ng dng trong mi lnh vc di sng, công nghip. K thut iu khin trong tin trình hoàn thin lý thuyt cng to cho mình nhiu phát trin có ý ngha. Bây gi khi nhc ti iu khin con ngi dòng nh hình dung n s chính xác, tc x lý và thut toán thông minh ng ngha là lng cht xám cao hn. Có th nói trong lnh vc iu khin và trong công nghip thì b iu khin PID có ng dng kha rng rãi, mt gi pháp a nng chocác ng dng c Analog cng nh Digital. Thng kê cho thy có ti hn 90% các b iu khin s dng trong thc t là PID. Rõ ràng nu có thit k và chn la các thông s hp lý cho b iu khin PID thì vic t c các ch tiêu cht lng mong mun là kh thi B iu khin PID cng giúp ngi s dng d dàng tích hp cng nh chn các lut iu khin nh : t l(P), tích phân(I), t l tích phân(PI), t l vi phân(PD)… sao cho phù hp i vi các i tng iu khin. Nhiu quá trình trong công nghip vic s dng b iu khin PID là không th thay th nh khng ch nhit , mc, tc …? Ngay c nhng lý thuyt iu khin hin i cng không cho ta nhng hiu qu cao nh b iu khin PID mang li.Ngoài ra b iu khin PID còn ng dng nhiu trong iu khin thích nghi,bn vng vn mang li hiu qu cao trong các c cu ch nh nh. Bài toán thit k và iu khin ng c mt chiu là bài toán c bn và quen thuc trong ngành iu khin t ng. Có th thit k iu khin cho i tng ngc in mt chiu theo nhiu phng pháp nh :dùng PLC & bin tn, in t công sut, vi iu khin… Mi phng pháp có u và nhc im khác nhau nhng u có mc ích n nh và iu khin c tc ng c. Ngày nay vi iu khin phát trin sâu rng và ngày càng ng dng nhiu trong cài t thit k b iu khin cho các i tng công nghip. Trên c s mun tìm hiu v lnh vc vi iu khin chúng em chn tài: Thiết kế bộ điều khiển PID số trên nền vi điều khiểnPIC. Vì kh nng và thi gian có hn nên không th tránh khi nhng thiu sót trong án. Do vy chúng em rt mong c thy cô và bn bè óng góp xây dng án ca chúng em c hoàn thin hn. Hà Ni, ngày tháng nm 2009 Sinh viên Phm Vn Cng Hoàng Vn Quân Lp KT1 - K49 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 6 Lời cảm ơn u tiên chúng em xin chân thành gi li cm n ti nhà trung, khoa in, b môn KT, các thy cô ã dy d và dìu dt chúng em trong sut 5 nm hc va qua có c nhng kin thc chuyên môn c s sau này chúng em có th vào i làm vic, s dng có ích cho xã hi. thc hin thành công án là s hng dn, ch bo tn tình ca PGS.TS Phan Xuân Minh, Ngi ã hng dn t n tình , giúp chúng em nh hng, góp ý và cung cp ý tng cng nh ch dn tài liu và các tin trình thc hin án .S hng dn ca cô là mt yu t quan trng chúng em có th hoàn thành án này . Cui cùng chúng em xin chân thành gi nhng li cm n sâu sc n cha m và gia ình, nhng ngi luôn sát cánh cùng chúng em, nuôi dng chm sóc chúng em to iu kin tt nht cho chúng em hc tp có k t qu nh ngày hôm nay. Chúng em xin chân thành cm n Vi điều khiển Pic Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 7 Chương 1: Họ vi điều khiển PIC và vi điều khiển PIC18F4520 1.1 Giới thiệu chung Ngày nay, nhng ng dng ca vi iu khin ã i sâu vào i sng sinh hot và sn xut ca con ngi. Thc t hin nay là hu ht các thit b in hin nay u có s góp mt ca vi iu khin và vi x lí. ng dng vi iu khin trong thit k h thng làm gim chi phí thit k và h giá thành sn ph m ng thi nâng cao tính n nh ca thit b và h thng. Trên th trng hin nay có nhiu h vi iu khin la chn nh: 8051, Motola68HC, AVR, ARM, Pic…và có l 8051 là dòng mà chúng ta c làm quen nhiu nht trong môi trng i hc nhng ti sao chúng ta chn dòng vi iu khin Pic thc hin ng dng và phát trin không ngoài nhng nguyên nhân sau: - H vi iu khin Pic phát trin và s dng ph bin nc ta => vic tìm mua và trao i kinh nghim là ht sc thun li. - Giá thành các dòng Pic là không quá mc. - Các dòng Pic có y tính nng hot ng c lp. - Là s b sung hp lý v kin thc cng nh ng dng cho h vi iu khin 8051 - Có s h tr cao ca nhà sn xut v các công c l p trình, trình biên dch, mch np Pic t n gin ti phc tp. Không nhng vy các tính nng a dng ca các òng Pic không ngng c phát trin. - Có nhiu b phn ngoi vi ngay trên chip, bao gm: Cng và/ra s, b bin i ADC, b nh EEFROM, b nh thi, b iu ch rng xung (PWM)… - B nh chng trình và b nh d liu c tích hp ngay trên chip. ây là h VK c ch to theo kin trúc RISC (Reduced Intruction Set Computer) có cu trúc khá phc tp. Ngoài các tính nng nh các h VK khác, nó còn tích hp nhiu tính nng mi rt tin li cho ngi thit k và lp trình. Pic18F4520 nm trong dòng sn phm PIC18F2420/2520/4420/4520 ca nhà sn xut Microchip vi c im 28/40/44 -Pin Enhanced Flash Microcontrollers with 10- Bit A/D and nanoWatt Technology. Dòng sn phm này có nhiu ci tin áng k v tính n ng so các dòng Pic trc ó nh : - B nh chng trình c tng cng (16Kbytes for PIC18F2420/4420 devices and 32Kbytes for PIC18F2520/4520 devices). Vi điều khiển Pic Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 8 - I/O ports (3 bidirectional ports on 28-pin devices, 5 bidirectional ports on 40/44-pin devices). - Tng cng modul CCP. - S dng công ngh nanoWatl Dòng sn phm này nói chung có nhiu s tng ng v tính nng nhng có th chia làm hai nhóm Pic18F2420/2520 vi 28 chân và Pic 18F4420/4520 vi 40 hoc 44 chân ghép ni. Phn này ch yu chúng ta tìm hiu Pic18F4520 nhng nhng c im các Pic khác thuc dòng này s hoàn toàn tng t vi các kí hiu tng ng. Trong án chúng ta quan tâm ch yu Pic18F4520 loi PDIP s dng trong m ch thit k. 1.2 . Vi điều khiển Pic18F4520 Vi iu khin Pic18F4520 có các c im c bn: - S dng công ngh nanoWatl: Hiu nng cao, tiêu th nng lng ít - Kin trúc RISC ¾ 75 lnh mnh, hu ht các lnh thc hin trong bn chu kì xung. ¾ Tc thc hin lên ti 10 triu lnh trong 1s vi tn s 40Mhz ¾ Có b nhân cng . - Các b nh chng trình và d liu c nh ¾ 32 Kbytes b nh flash có kh nng t lp trình trong h thng có th thc hin c 100.000 ln ghi/xóa ¾ 256 bytes EEPROM có th thc hin c 1.000.000 ln ghi/xóa- ¾ 256 bytes SRAM - Nhng ngoi vi tiêu biu ¾ 4 b nh thi/b m 8 bit vi các ch t l t trc và ch so sánh. ¾ B m thi gian thc v i b to dao ng riêng bit ¾ 2 kênh PWM ¾ 13 kênh ADC 10 bit ¾ B truyn tin ni tip USART kh trình ¾ Watchdog Timer kh trình vi b to dao ng bên trong riêng bit ¾ B so sánh tng t - Các c im c bit khác ¾ Power on Reset và dò Brown out kh trình Vi điều khiển Pic Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 9 ¾ B to dao ng RC c nh c bên trong ¾ Các ngun ngt bên trong và bên ngoài - I/O và các kiu óng gói ¾ 32 ng I/O kh trình ¾ óng gói 40-pin PDIP, 44-lead TQFP, và 44-pad MLF Hình 1.1 Sơ đồ khối kiến trúc vi điều khiển PIC18F4520 [...]... EEPROM − Giá trị 1: Cho phép vi t theo chu kỳ trên bộ nhớ Flash và bộ nhớ dữ liệu EEPROM − Giá trị 1: Ngăn cản vi t theo chu kỳ trên bộ nhớ Flash và bộ nhớ dữ liệu EEPROM Bit 1 (WR): bit điều khiển hoạt động vi t − Giá trị 1: Bắt đầu chu kỳ xóa /vi t dữ liệu trên bộ nhớ dữ liệu EEPROM hoặc bộ nhớ chương trình − Giá trị 0: Chu kỳ vi t trên bộ nhớ EEPROM hoàn tất Bit 0 (RD): Bit điều khiển hoạt động đọc − Giá.. .Vi điều khiển Pic Sơ đồ chân của các vi điều khiển Pic1 8F4420/4520 Hình 1.2 Sơ đồ chân vi điều khiển Pic1 8F4520 Sau đây là giới thiệu cấu tạo chân loại 40 chân (40 Pin PDIP): • Chân 1( MCLR /VPP/RE3) : - MCLR là đầu vào Master Clear (reset) hoạt động ở mức thấp dể reset toàn bộ thiết bị - VPP dùng để thay đổi điện áp đầu vào - RE3 đầu vào số Các chân thuộc cổng vào ra... phép xóa bộ nhớ Flash theo hàng: − Giá trị 1: Xoá bộ nhớ chương trình theo địa chỉ hàng bởi TBLPTR trên cơ sỏ lệnh WR kế tiếp − Giá trị 0: Chỉ thực hiện hoạt động vi t Bit 3 (WRERR): bit cờ để báo lỗi trren bộ nhớ Flash và bộ nhớ dữ liệu EEPROM − Giá trị 1: Một hoạt động vi t kết thúc sớm − Giá trị 0: Hoạt động vi t được hoàn tất Bit 2 (WREN): bít cho phép hoạt động vi t trên bộ nhớ Flash và bộ nhớ dữ... Hoàng Văn Quân Lớp ĐKTĐ1-K49 12 Vi điều khiển Pic 1.2.1 Tổ chức bộ nhớ (Memory Organization) Dòng Pic1 8Fxxxx được tổ chức bộ nhớ thành ba loại: • Bộ nhớ chương trình (Program Memory) • Bộ nớ dữ liệu RAM (Data RAM) • Bộ nhớ dữ liệu EEPROM (Data EEPROM ) Tổ chức các bộ nhớ chương trình theo kiến trúc Harvard được sắp xếp theo sơ đồ: Hình 1.3: Tổ chức bộ nhớ chương trình Tổ chức bộ nhớ chương trình(Program... Dòng vi điều khiển Pic1 8xxxx là thiết bị với 21bit bộ đếm chương trinh PC (Program counter) có thể quản lý 2Mbyte bộ nhớ chương trình Với Pic1 8F4520 có 32Kbytes bộ nhớ Flash có thể lưu trữ lên tới 16,384 câu lệnh đơn, dòng Pic này có hai vector ngắt: Reset vector có địa chỉ 0000h và Interrupt vector ở địa chỉ 0008h và 0018h • Bộ đếm chương trình – PC (Program Counter) PC có độ rộng 21 bits phân chia trên. .. thanh ghi này gồm có các thanh ghi: Status, WREG, BSR giúp vi c khôi phục nhanh lựu chọn cho các ngắt Ví dụ một chương trình: Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 14 Vi điều khiển Pic Vi c quản lý tốt bộ nhớ chương trình sẽ giúp ta thực hiện chương trình tốt hơn cũng như tối ưu câu lệnh • Chu kì lệnh Pic 18Fxxx Bất kì một vi điều khiển Pic nào khi nhận một xung từ bên trong hay bên ngoài đều... cổng điều khiển Hoạt đông này được hỗ trợ từ thanh ghi EECON1 • Writing to Flash Program Memory Ta có thể thực hiện vi t dữ liệu từ bên trong để tải dữ liệu cần thiết tới bộ nhớ khả năng vi t có thể từ 16 từ tới 32 byte và thông qua bảng vi t với hỗ trợ khoảng 32 thanh ghi cho lập trình • Flash Program Operation During Code Protection Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 21 Vi điều khiển Pic Bộ. .. 16bit còn bộ nhớ Ram chỉ là 8 bit nên để di chuyển dữ liệu giữa chúng cần thanh ghi 8bit (TABLAT): Bảng đọc hoạt động lấy ra dữ liệu từ bộ nhớ chương trình đưa chúng tới khoảng nhớ của RAM.: Bảng vi t hoạt động lưu trữ dữ liệu từ bộ nhớ dữ liệu htông qua đó giữ trong bộ nhớ chương trình: Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 19 Vi điều khiển Pic • Control Registers Có bốn thanh ghi điều khiển: ... xác định hoặc điều khiển các bit 0 và bit 1 nhờ phần mềm Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 20 Vi điều khiển Pic • Reading the Flash Program Memory Khi đọc dữ liệu chúng ta sử dụng cấu trúc lệnh TBLRD để lấy dữ liệu từ bộ nhớ tới bộ nhớ RAM Hoạt động theo hình sau: • Erasing Flash Program Memory Vi c thực hiện xoá dữ liệu có thể thông qua người lập trình hoặc thông qua điều khiển ISCP Chúng... Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 15 Vi điều khiển Pic Hình 1.7 Instruction In Program Memory Tổ chức dữ liệu bộ nhớ(Data Memory Organization) Pic1 8Fxxxx là họ Statis Ram mỗi thanh ghi bộ nhớ dữ liệu có 12 bit địa chỉ, cho phép truy nhập tới 4096 bytes dữ liệu bộ nhớ Không gian bộ nhớ chia làm 16 bank gồm 256 byte mỗi bank Pic1 8F4520 như sơ đồ phía sau Bộ nhớ dữ liệu bao gồm : thanh ghi chức năng . TỐT NGHIỆP Đề tài :Thiết kế bộ điều khiển PID số trên nền vi điều khiển PIC Giáo vi n hng dn : PGS.TS Phan Xuân Minh Sinh vi n thc hin : Phm. công nghip. Trên c s mun tìm hiu v lnh vc vi iu khin chúng em chn tài: Thiết kế bộ điều khiển PID số trên nền vi điều khiểnPIC. Vì kh