đồ án : Thiết kế bộ điều khiển PID SỐ TRÊN NỀN VI ĐIỀU KHIỂN PIC................................................................................................................................................................................ .................
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 PIC và vi đ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 Phạm Văn Cường - Hoàng Văn Quân. Lớp ĐKTĐ1-K49 2 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 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 Phạm Văn Cường - Hoàng Văn Quân. Lớp ĐKTĐ1-K49 4 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 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 kê 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. Phạm Văn Cường - Hoàng Văn Quân. Lớp ĐKTĐ1-K49 6 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. Vì 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 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 Phạm Văn Cường - Hoàng Văn Quân. Lớp ĐKTĐ1-K49 7 Vi điều khiển Pic Phạm Văn Cường - Hoàng Văn Quân. Lớp ĐKTĐ1-K49 8 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, 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 10Bit 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 9 - 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 [...]... (WREN ): bít cho phép hoạt động vi t trên bộ nhớ Flash và bộ nhớ dữ liệu 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... (FREE ): bit cho 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 Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 23 Vi điều khiển Pic − 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.. .Vi điều khiển Pic Power on Reset và dò Brown out khả trình 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 Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 10 Vi điều khiển Pic Hình 1.1 Sơ đồ khối kiến trúc vi điều khiển PIC1 8F4520 Sơ đồ chân của các vi điều khiển. .. Giá trị 0 : không xáy ra tràn Bit 2 (Z ): bít không (Zero bit) − Giá trụ 1: kết quả các phép toán số học và logic là bằng “0” − Giá trị 0 : kết quả các phép toán khác “0” Bit 1 (DC ): Digit Carry/borrowbit Sử dụng cho các lệnh ADDWF, ADDLW, SUBLW và SUBWF Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 20 Vi điều khiển Pic − Giá trụ 1: xảy ra vi c thao tác 4 bit thấp − Giá trị 0 : không xảy ra vi c thao... IPEN = 0: − Giá trị 1: Cho phép toàn bộ hoạt động ngắt • − Giá trị 0: Không thực hiện toàn bộ hoạt động ngắt Khi IPEN = 1: − Giá trị 1: Cho phép toàn bộ hoạt động ngắt với mức ưu tiên cao − Giá trị 0: Không thực hiện toàn bộ hoạt động ngắt từ ngoại vi bit 6 (PEIE/GIEL ): bit cho phép các ngắt từ ngoại vi thực hiện • Khi IPEN = 0: − Giá trị 1: Cho phép toàn bộ hoạt động ngắt từ ngoại vi • − Giá trị 0: Không... Không có tràn trên thanh ghiTMR1 PIR 2 Register bit 7 (OSCFIF ): bit cờ báo ngắt khi có lỗi bộ dao động Oscillator Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 31 Vi điều khiển Pic − Giá trị 1 :thiết bị bộ dao động lỗi, xung đầu vào tác động thay đổi tới INTOSC (phải được xóa bởi phần mềm) − Giá trị 0:Xung thiết bị hoạt động bit 6 (CMIF ): Bit cờ báo ngắt bộ so sánh − Giá trị 1: Đầu vào bộ so sánh là thay... 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 ) Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 14 Vi điều khiển Pic 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... 30 Vi điều khiển Pic − Giá trị 0 : Hoạt động chuyển đổi A/D chưa hoàn tất bit 5 (RCIF ): bit cờ báo ngắt nhận EUSART − Giá trị 1:EUSART nhận từ bộ đệm và RCREG là đầy(được xoá khi RCREG được đọc) − Giá trị 0: EUSART nhận từ bộ đệm là rỗng bit 4 (TXIF ): bit cờ báo ngắt vi c truyền từ EUSART − Giá trị 1:EUSART truyền tới bộ đệm và TXREG là đầy(được xoá khi TXREG được vi t) − Giá trị 0: EUSART nhận từ bộ. .. EECON1 ví d : Bit 7 (EEPGD ): bit lựa chọn bộ nhớ Flash và bộ nhớ dữ liệu EEPROM − Giá trị 1:Cổng vào cho bộ nhớ Flash − Giá trị 0: Cổng vào cho bộ nhớ EEPROM Bit 6 (CFGS ): bit lựa chọn bộ nhớ Flash , bộ nhớ dữ liệu EEPROM hoặc thanh ghi cấu hình (Configuration register ): − Giá trị 1:Cổng vào cho thanh ghi cấu hình − Giá trị 0: Cổng vào cho bộ nhớ EEPROM hoặc bộ nhớ Flash Bit 5 (Unimplemented ): mang giá... 30(RD7/PSP7/P1D ): RD7 đầu vào ra số, PSP7 cổng dữ liệu song song phụ thuộc, P1D đầu ra được tăng cường CCP1 Các chân cổng Port E • Chân 8(RE0/RD/AN5 ): RE0 đầu vào ra số, RD đầu vào điều khiển đọc cho cổng PSP, AN5 đầu vào tương tự Input5 • Chân 9(RE1/WR /AN6 ): RE1 đầu vào ra số, WR đầu vào điều khiển vi t dữ liệu cổng PSP, AN6 đầu vào tương tự Input6 Phạm Văn Cường - Hoàng Văn Quân Lớp ĐKTĐ1-K49 13 Vi điều khiển Pic