thiết kế bộ điều khiển pid số trên nền vi điều khiển pic

111 2.2K 3
thiết kế bộ điều khiển pid số trên nền vi điều khiển pic

Đ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

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 hng dn : PGS.TS Phan Xuân Minh Sinh viên thc hin : Phm Vn Cng Hoàng Vn Quân Lp : KT1 Khoá : 49 Hà Ni 5 - 2009 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 1 Mục lục Li m u 5 Li cm n 6 Chng 1 : H vi iu khin PICvi iu khin PIC18F4520 7 1.1 Gii thiu chung 7 1.2 . Vi iu khin Pic18F4520 8 1.2.1. T chc b nh (Memory Organization) 13 1.2.2. 8 x 8 HARDWARE MULTIPLIER 22 1.2.3. Ngt (Interrupts) 23 1.2.4. Cng vào ra (I/O Port) 32 1.2.5. B nh thi (Timer) 33 1.2.6. B truyn nhn d liu ng b (EUSART-Enhanced Universal Synchronous Asynchronous Receiver Transmitter) 37 1.2.7. Module chuyn i tong t sang s 10 bit (A/D) 50 Chng 2 : Thit k b iu khin PID s 57 2.1 Thit k mô hình phn cng mch iu khin 57 2.1.1. Yêu cu thit k 57 2.1.2. Các khi chc nng trên kit iu khin 58 a) Khi vi iu khin trung tâm 58 b) Khi giao tip máy tính qua cng ni tip 59 c) Khi bàn phím 60 d) Khi hin th LCD 2x16(2 dòng, 16ct) 61 e) Khi mch ng lc iu khin 62 f) Khi ngun 12V/5V 62 g) Các khi khác 63 2.2 Thit k phn mm trên nn vi iu khin PIC 64 2.2.1. Yêu cu phn mm 64 2.2.2. Gii thut chng trình 65 a) Loop iu khin 65 b) Thut toán PID s 66 2.2.3. Thit k phn mm iu khin và giám sát trên máy tính 69 2.3 Kit iu khin 71 Chng 3 : ng dng b iu khin PID s iu khin ng c mt chiu 72 3.1 i tng iu khin 72 3.1.1. Thông s k thut 72 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 2 3.1.2. Nhn dng mô hình ng hc ca ng c in mt chiu 72 3.1.3. Thu thp d liu vào/ra ca ng c in mt chiu t thcnghim. 72 3.1.4. Nhn dng ng c iên mt chiu bng Toolbox Identification cu Matlab 74 3.1.5. ánh giá cht lng mô hình 76 3.2 Thit k lut iu khin PID 77 3.2.1. Phng pháp Ziegler-Nichols1 77 3.2.2. Phng pháp IMC 77 3.2.3. Mô phng và ánh giá cht lng b iu khin 78 3.3 Thit b chp hành(IC L298) 78 3.4 Cm bin (Encoder) 81 3.5 H thng iu khin 84 3.6 Mt s hình nh v Kit iu khin ng c s dng vi iu khin PIC 86 3.7 :Kt qu thc nghim 87 3.8 So sánh kt qu mô phng và thc t 88 Kt lun 89 Tài liu tham kho 91 Ph lc Code phn mm 92 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 3 MỤC LỤC HÌNH VẼ Hình 1.1 S  khi kin trúc vi iu khin PIC18F4520 9 Hình 1.2 S  chân vi iu khin Pic18F4520 10 Hình 1.3: T chc b nh chng 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  cu trúc b nh d liu Pic18F4520 16 Hình 1.9 S  cu trúc thanh ghi ca Pic18F4520 17 Hình 1.10 Pic 18 Interrup logic 23 Hình 2.1 Mô hình khi mch iu khin 57 Hinh 2.2.S  khi vi iu khin trung tâm 58 Hinh 2.3 Mch np cho vi iu khin trung tâm 58 Hinh 2.4 Khi giao tip máy tính Max232 59 Hình 2.5 : Cu to cng COM 59 Hinh 2.6 Modul bàn phím 60 Bng s lc chc nng LCD 2x16 61 Hình 2.7 Khi hin th LCD 62 Hinh 2.8 Khi thit b chp hành 62 Hình 2.9 S  khi ngun 62 S  nguyên lý kit iu khin 63 S  mch in hai lp 64 Hình 2.10 Lu  loop iu khin 65 Hình 2.11 Lu  hàm ngt dùng to chu lì trích mu 66 Hình 2.12 S  b iu khin PID s 67 Hình 2.13 Chng bão hào tích phân 68 Hình 2.14. Giao din giao tip PC 69 Hình 3.1 ng c s dng trong  án 72 Hinh 3.2 S  thu thp d liu nhn dng 72 Hình 3.2 c tính thu thp d liu nhn dng 73 Hình 3.3Chn u vào và mô hình nhn dng ca i tng 75 Hình 3.4Phng thc nhn dng và ánh giá mô hình thu c 75 Hình 3.5 c tính quá  i tng sau khi nhn dang 76 Hình 3.6 Sai lch mô hình nhn dng 76 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 4 Hình 3.7 Mô phng trên Simulink các phng pháp iu khin 78 Hình 3.9 c tính mô phng 78 Hình 3.10 S  chân L298 79 Hình 3.11: Các ch  ca L298 80 Hình 3.12 : S  gii pháp 81 Hình 3.13 : Mô hình1 - En coder quang tng i 81 Hình 3.14 : Phng thc hot ng Encoder quang tng i 82 Hình 3.15 : Mô hình 2 -En coder quang tng i 82 Hình 3.16 : S  xung ca En coder quang tng i(mô hình 2) 83 Hình 3.17 S  h thngiu khin ng c 84 Hình 3.18 Cu trúc h thng iu khin 84 Hình 3.19 Cu trúc khi iu khin ng c 85 Mt s hình nh mch iu khin ng c mt chiu 86 Hình 3.20 c tính vi b iu khin PI 87 Hình 3.21 c tính vi b ièu khin PID 87 Hình 3.22 H thng khi có nhiu 88 Hình 3.23 c tính khi h thng có thay i giá tr t 88 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 5 Lời mở đầu Khoa hc công ngh hin i ã có nhng bc tin nhanh và xa i theo ó là nhng thành tu ng dng trong mi lnh vc di sng, công nghip. K thut iu khin trong tin trình hoàn thin lý thuyt cng to cho mình nhiu phát trin có ý ngha. Bây gi khi nhc ti iu khin con ngi dòng nh hình dung n s chính xác, tc  x lý và thut toán thông minh ng ngha là lng cht xám cao hn. Có th nói trong lnh vc iu khin và trong công nghip thì b iu khin PID có ng dng kha rng rãi, mt gi pháp a nng chocác ng dng c Analog cng nh Digital. Thng cho thy có ti hn 90% các b iu khin s dng trong thc t là PID. Rõ ràng nu có thit k và chn la các thông s hp lý cho b  iu khin PID thì vic t c các ch tiêu cht lng mong mun là kh thi B iu khin PID cng giúp ngi s dng d dàng tích hp cng nh chn các lut iu khin 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ù hp i vi các i tng iu khin. Nhiu quá trình trong công nghip vic s dng b  iu khin PID là không th thay th nh khng ch nhit , mc, tc …? Ngay c nhng lý thuyt iu khin hin i cng không cho ta nhng hiu qu cao nh b iu khin PID mang li.Ngoài ra b iu khin PID còn ng dng nhiu trong iu khin thích nghi,bn vng vn mang li hiu qu cao trong các c cu ch nh nh. Bài toán thit k và iu khin ng c mt chiu là bài toán c bn và quen thuc trong ngành iu khin t ng. Có th thit k iu khin cho i tng ngc in mt chiu theo nhiu phng pháp nh :dùng PLC & bin tn, in t công sut, vi iu khin… Mi phng pháp có u và nhc im khác nhau nhng u có mc ích n nh và iu khin c tc  ng c. Ngày nay vi iu khin phát trin sâu rng và ngày càng ng dng nhiu trong cài t thit k b iu khin cho các i tng công nghip. Trên c s mun tìm hiu v lnh vc vi iu khin chúng em chn  tài: Thiết kế bộ điều khiển PID số trên nền vi điều khiểnPIC. kh nng và thi gian có hn nên không th tránh khi nhng thiu sót trong  án. Do vy chúng em rt mong c thy cô và bn bè óng góp xây dng   án ca chúng em c hoàn thin hn. Hà Ni, ngày tháng nm 2009 Sinh viên Phm Vn Cng Hoàng Vn Quân Lp KT1 - K49 Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 6 Lời cảm ơn u tiên chúng em xin chân thành gi li cm n ti nhà trung, khoa in, b môn KT, các thy cô ã dy d và dìu dt chúng em trong sut 5 nm hc va qua  có c nhng kin thc chuyên môn c s sau này chúng em có th vào i làm vic, s dng có ích cho xã hi.  thc hin thành công  án là s hng dn, ch bo tn tình ca PGS.TS Phan Xuân Minh, Ngi ã hng dn t n tình , giúp chúng em nh hng, góp ý và cung cp ý tng cng nh ch dn tài liu và các tin trình thc hin  án .S hng dn ca cô là mt yu t quan trng  chúng em có th hoàn thành  án này . Cui cùng chúng em xin chân thành gi nhng li cm n sâu sc n cha m và gia ình, nhng ngi luôn sát cánh cùng chúng em, nuôi dng chm sóc chúng em to iu kin tt nht cho chúng em hc tp  có k t qu nh ngày hôm nay. Chúng em xin chân thành cm n Vi điều khiển Pic Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 7 Chương 1: Họ vi điều khiển PICvi điều khiển PIC18F4520 1.1 Giới thiệu chung Ngày nay, nhng ng dng ca vi iu khin ã i sâu vào i sng sinh hot và sn xut ca con ngi. Thc t hin nay là hu ht các thit b in hin nay u có s góp mt ca vi iu khin và vi x lí. ng dng vi iu khin trong thit k h thng làm gim chi phí thit k và h giá thành sn ph m ng thi nâng cao tính n nh ca thit b và h thng. Trên th trng hin nay có nhiu h vi iu khin  la chn nh: 8051, Motola68HC, AVR, ARM, Pic…và có l 8051 là dòng mà chúng ta c làm quen nhiu nht trong môi trng i hc nhng ti sao chúng ta chn dòng vi iu khin Pic  thc hin ng dng và phát trin không ngoài nhng nguyên nhân sau: - H vi iu khin Pic phát trin và s dng ph bin  nc ta => vic tìm mua và trao i kinh nghim là ht sc thun li. - Giá thành các dòng Pic là không quá mc. - Các dòng Pic có y  tính nng  hot ng c lp. - Là s b sung hp lý v kin thc cng nh ng dng cho h vi iu khin 8051 - Có s h tr cao ca nhà sn xut v các công c l p trình, trình biên dch, mch np Pic t n gin ti phc tp. Không nhng vy các tính nng a dng ca các òng Pic không ngng c phát trin. - Có nhiu b phn ngoi vi ngay trên chip, bao gm: Cng và/ra s, b bin i ADC, b nh EEFROM, b nh thi, b iu ch  rng xung (PWM)… - B nh chng trình và b nh d  liu c tích hp ngay trên chip. ây là h VK c ch to theo kin trúc RISC (Reduced Intruction Set Computer) có cu trúc khá phc tp. Ngoài các tính nng nh các h VK khác, nó còn tích hp nhiu tính nng mi rt tin li cho ngi thit k và lp trình. Pic18F4520 nm trong dòng sn phm PIC18F2420/2520/4420/4520 ca nhà sn xut Microchip vi c im 28/40/44 -Pin Enhanced Flash Microcontrollers with 10- Bit A/D and nanoWatt Technology. Dòng sn phm này có nhiu ci tin áng k v tính n ng so các dòng Pic trc ó nh : - B nh chng trình c tng cng (16Kbytes for PIC18F2420/4420 devices and 32Kbytes for PIC18F2520/4520 devices). Vi điều khiển Pic Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 8 - I/O ports (3 bidirectional ports on 28-pin devices, 5 bidirectional ports on 40/44-pin devices). - Tng cng modul CCP. - S dng công ngh nanoWatl Dòng sn phm này nói chung có nhiu s tng ng v tính nng nhng có th chia làm hai nhóm Pic18F2420/2520 vi 28 chân và Pic 18F4420/4520 vi 40 hoc 44 chân ghép ni. Phn này ch yu chúng ta tìm hiu Pic18F4520 nhng nhng c im các Pic khác thuc dòng này s hoàn toàn tng t vi các kí hiu tng ng. Trong  án chúng ta quan tâm ch yu Pic18F4520 loi PDIP s dng trong m ch thit k. 1.2 . Vi điều khiển Pic18F4520 Vi iu khin Pic18F4520 có các c im c bn: - S dng công ngh nanoWatl: Hiu nng cao, tiêu th nng lng ít - Kin trúc RISC ¾ 75 lnh mnh, hu ht các lnh thc hin trong bn chu kì xung. ¾ Tc  thc hin lên ti 10 triu lnh trong 1s vi tn s 40Mhz ¾ Có b nhân cng . - Các b nh chng trình và d liu c  nh ¾ 32 Kbytes b nh flash có kh nng t lp trình trong h thng có th thc hin c 100.000 ln ghi/xóa ¾ 256 bytes EEPROM có th thc hin c 1.000.000 ln ghi/xóa- ¾ 256 bytes SRAM - Nhng ngoi vi tiêu biu ¾ 4 b nh thi/b m 8 bit vi các ch  t l t trc và ch  so sánh. ¾ B m thi gian thc v i b to dao ng riêng bit ¾ 2 kênh PWM ¾ 13 kênh ADC 10 bit ¾ B truyn tin ni tip USART kh trình ¾ Watchdog Timer kh trình vi b to dao ng bên trong riêng bit ¾ B so sánh tng t - Các c im c bit khác ¾ Power on Reset và dò Brown out kh trình Vi điều khiển Pic Phm Vn Cng - Hoàng Vn Quân. Lp KT1-K49 9 ¾ B to dao ng RC c nh c bên trong ¾ Các ngun ngt bên trong và bên ngoài - I/O và các kiu ó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 đồ 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 đồ 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ênsỏ 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 đồ: 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 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ư đồ 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 hng dn : PGS.TS Phan Xuân Minh Sinh vi n thc hin : Phm. công nghip. Trên c s mun tìm hiu v lnh vc vi iu khin chúng em chn  tài: Thiết kế bộ điều khiển PID số trên nền vi điều khiểnPIC. Vì kh

Ngày đăng: 18/02/2014, 15:38

Từ khóa liên quan

Mục lục

  • (((((((

  • Lời mở đầu

  • Lời cảm ơn

  • Chương 1 : Họ vi điều khiển PIC và vi điều khiển PIC18F4520

    • 1.1 Giới thiệu chung

    • 1.2 . Vi điều khiển Pic18F4520

      • 1.2.1. Tổ chức bộ nhớ (Memory Organization)

      • 1.2.2. 8 x 8 HARDWARE MULTIPLIER

      • 1.2.3. Ngắt (Interrupts)

      • 1.2.4. Cổng vào ra (I/O Port)

      • 1.2.5. Bộ định thời (Timer)

      • 1.2.6. Bộ truyền nhận dữ liệu đồng bộ (EUSART-Enhanced Universal Synchronous Asynchronous Receiver Transmitter)

      • 1.2.7. Module chuyển đổi tưong tự sang số 10 bit (A/D)

      • Chương 2 : Thiết kế bộ điều khiển PID số

        • 2.1 Thiết kế mô hình phần cứng mạch điều khiển

          • 2.1.1. Yêu cầu thiết kế

          • 2.1.2. Các khối chức năng trên kit điều khiển

            • a) Khối vi điều khiển trung tâm

            • b) Khối giao tiếp máy tính qua cổng nối tiếp

            • c) Khối bàn phím

            • d) Khối hiển thị LCD 2x16(2 dòng, 16cột)

            • e) Khối mạch động lực điều khiển

            • f) Khối nguồn 12V/5V

            • g) Các khối khác

            • 2.2 Thiết kế phần mềm trên nền vi điều khiển PIC

              • 2.2.1. Yêu cầu phần mềm

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

Tài liệu liên quan