Tài liệu tham khảo Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID
Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 1 ĐỀ TÀI NHÓM 5 “Ứng dụng Pic16F877A đo và ổn định nhiệt độ bằng thuật toán PID” MỤC LỤC Chƣơng I: Tìm hiểu thiết bị. Chƣơng II: Sơ đồ nguyên lý. Chƣơng III: Lập trình CCS, kết nối PC và mô phỏng Proteus. Chƣơng IV: Mô hình thực tế và chạy thử chương trình. Chương V: Kết luận. Thành viên trong nhóm: 1/ Nguyễn Anh Tuấn – 08D2 (nhóm trưởng) 2/ Nguyễn Duy Luân – 08D2 3/ Nguyễn Hữu Tâm – 08D2 4/ Nguyễn Văn Hiệu – 08D4 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 2 Chƣơng I TÌM HIỂU THIẾT BỊ 1/ PIC16F877A: - Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bít.Mỗi lệnh đều được thực thi trong một chu kỳ xung clock.Tốc độ hoạt động tối đa cho phép là 20MHz với một chu kỳ lệnh là 200ns.Bộ nhớ chương trình 8Kx14 bít, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte.Số PORT I/O là 5 với 33 pin I/O. - Các đặc tính ngoại vi bao gồm các khối chức năng sau: Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 3 + Timer0: bộ đếm 8 bít với bộ chia tần số 8 bít. + Timer1: bộ đếm 16 bít với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep. + Timer2: bộ đếm 8 bít với bộ chia tần số, bộ postcaler. + Hai bộ Capture/ so sánh/ điều chế độ rộng xung. + Các chuẩn giao tiếp nối tiếp SSP, SPI và I2C. + Chuẩn giao tiếp nối tiếp USART với 9 bít địa chỉ. + Cổng giao tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên ngoài. - Các kênh Analog: + 8 kênh chuyển đổi ADC 10 bít.Hai bộ so sánh. - Bên cạnh đó là một vài đặc tính khác của vi điều khiển như: + Bộ nhớ flash với khả năng ghi xóa được 100.000 lần. + Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần. + Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm. + Khả năng tự nạp chương trình với sự điều khiển của phần mềm. + Watchdog Timer với bộ dao động trong. + Chức năng bảo mật mã chương trình. + Chế độ Sleep. + Có thể hoạt động với nhiều dạng Oscillator khác nhau. 2/ CẢM BIẾN NHIỆT ĐỘ LM35 DZ: Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 4 - LM35 là một cảm biến nhiệt độ analog, nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35: + Đơn vị nhiệt độ: °C. + Có mức điện áp thay đổi trực tiếp theo độ C (10mV/*C). + Có hiệu năng cao, công suất tiêu thụ là 60uA + Sản phẩm không cần phải canh chỉnh nhiệt độ khi sử dụng. + Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C. + Chân +Vs là chân cung cấp điện áp cho LM35DZ hoạt động (4—20V). + Chân Vout là chân điện áp ngõ ra của LM35DZ, được đưa vào chân Analog của các bộ ADC. + Chân GND là chân nối mass,lưu ý cần nối mass chân này để tránh làm hỏng cảm biến cũng như làm giảm sai số trong quá trình đo. 3/ OPAM LM358: - Tín hiệu từ cảm biến được đưa qua opam LM358 để khuếch đại lên trước khi đưa vào chân analog của pic và qua đó nâng cao được độ chính xác hơn. Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 5 4/ LED 7 ĐOẠN: - LED 7 đoạn là một công cụ thông dụng được dùng để hiển thị các thông số dưới dạng các số từ 0 đến 9.Mặc dù công cụ LCD giúp ta thể hiện các thông số một cách linh động hơn nhưng LED 7 đoạn vẫn được sử dụng nhiều trong công nghiệp do các ưu thế của nó như: ít chịu ảnh hưởng của nhiệt độ, dễ tạo sự chú ý và góc nhìn rộng. - LED 7 đoạn bao gồm 7 đoạn LED được đánh dấu là các kí tự a, b, c, d, e, f, g và một dấu chấm thập phân kí hiệu là dp.Ta có thể xem LED 7 đoạn là một tổ hợp gồm 8 LED.8 LEDnày có một đầu (Anode hoặc Cathode) được nối chung và được bố trí theo mộtqui tắc nhất định dùng để hiển thị các chữ số thập phân. - Có hai loại LED 7 đoạn, đó là loại Anode chung (cực Anode của các LED được nối chung với nhau) và loại Cathode chung (cực Cathode của các LED được nối chung với nhau). - Tùy theo từng loại LED mà ta có các phương pháp điều khiển các LED trong tổ hợp đó sáng tắt một cách thích hợp.Đối với loại Anode chung, một LED sẽ Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 6 được bật sang nếu mức logic đưa vào chân điều khiển đoạn LED đó là mức logic 0.Đối với loại Cathode chung, một LED sẽ được bật sang nếu mức logic đưa vào chân điều khiển đoạn LED đo là mức logic 1. 5/ TRANZITO PNP (A1015): Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 7 - Bảng thông số: - Chân nguồn của các led 7 đoạn sẽ được điều khiển bởi các chân trên vi điều khiển thông qua cực Base của tranzito PNP. 6/ QUẠT LÀM MÁT: - Tác dụng làm mát cho nguồn nhiệt lúc cần thiết. - Thông số: + Nguồn DC 12V. + Dòng điện: 0.14A. + Vỏ bọc bằng nhựa. + Kích thước 30mm x 30mm x 10mm. Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 8 7/ MOSFET IRF 540 + OPTO PC817: Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 9 - Mosfet hay còn gọi là tranzitor có cực cách ly, có tác dụng như một khóa K. Việc kích đóng hay mở khóa K tùy thuộc điện áp đặt vào chân G của mosfet. - Ở đây ta đưa xung PWM từ chân RC1 của Pic vào chân G của mosfet để kích mở nó, qua đó điều chỉnh được điện áp cung cấp cho động cơ (quạt làm mát), nghĩa là thay đổi được tốc độ của động cơ. - Dùng Opto PC817 để cách ly quang giữa mạch động lực và mạch điều khiển. Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 10 8/ CỔNG COM VÀ IC MAX 232: a/ Cổng COM: - Giao tiếp giữa PIC và PC thông qua cổng nối tiếp hay còn gọi là cổng COM theo chuẩn giao tiếp RS232. - Cổng COM có 2 dạng: đầu nối DB25 ( 25 chân ) và DB9 ( 9 chân ) được mô tả như bảng sau: - Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại vi, nó có các ưu điểm sau: + Khoảng cách truyền xa hơn so với truyền song song. [...]... Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID ( Mạch động lực ) ( Nguồn nhiệt + cảm biến + quạt làm mát ) Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 29 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID ( Mô hình nhìn từ bên cạnh ) ( Mô hình nhìn từ trên xuống ) Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 30 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng. .. 13 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Cáp nối Bóng điện 60W (làm nguồn nhiệt) Led đơn CHƢƠNG II SƠ ĐỒ NGUYÊN LÝ Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 14 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID CHƢƠNG III LẬP TRÌNH CCS, KẾT NỐI PC VÀ MÔ PHỎNG PROTEUS 1/ ĐO NHIỆT ĐỘ: - Sử dụng cảm biến LM35 với độ phân giải là 10 mv/ 0C, dải nhiệt độ đo. .. công - Test phần đo nhiệt độ từ cảm biến và hiển thị lên led 7 đo n: Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 26 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID - Test phần xuất xung PWM tần số 5KHz với độ rộng xung là 50%: Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 27 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID CHƢƠNG IV MÔ HÌNH THỰC TẾ VÀ CHẠY THỬ CHƢƠNG... Page 25 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID End Sub Private Sub MSComm1_OnComm( ) Dim A As Byte If MSComm1.CommEvent = comEvReceive Then A = MSComm1.Input Txt_nd_do.Text = Str(A) End If End Sub 7/ MỘT SỐ HÌNH ẢNH MÔ PHỎNG: - Test phần quét phím để đặt nhiệt độ cần ổn định: Nút: RESET để chạy lại chương trình INC để tăng nhiệt độ đặt DEC để giảm nhiệt độ đặt ENTER để xác... lặp); 2/ HIỂN THỊ RA LED 7 ĐO N: - Dùng 4 led 7 đo n để hiển thị nhiệt độ: +led 1 và led 2 hiển thị nhiệt độ hàng chục và hàng đơn vị (từ 0 đến 99 0C) +led 3 và led 4 hiển thị ký tự 0C - Dùng thuật toán quét led: Vòng lặp { HC=temp/10; HDV=temp%10; Xuất dữ liệu [HC]; Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 15 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID Bật nguồn led 1; Delay;... nhiệt độ bằng thuật toán PID ( Mô hình nhìn đối diện ) ( Hình ảnh mô phỏng ) Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 31 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID CHƢƠNG V KẾT LUẬN Ưu điểm: - Phần cứng thiết kế nhỏ gọn và đươc lắp ráp theo kiểu module nên dễ dàng thay thế cũng như kiểm tra các linh kiện trong mạch - Phần mềm chạy khá ổn định, sai lệch nhiệt độ nằm trong... thể tính toán chính xác tới mức Δt =0 nghĩa là không liên tục Do đó, ta chỉ có thể tính toán gần đúng bằng cách ta cho Δ t= ε rất nhỏ nhưng lớn hơn 0 Để tìm hệ thức PID rời rạc ,ta xét đồ thị sau đây: - Khi đó công thức trên được viết lại như sau: Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 16 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID - Đối tượng điều khiển là động cơ DC... - Các ngõ vào và ra của bộ điều khiển PID như sau: Ngõ vào: e= nhiệt độ đặt (tem_dat) ‐ nhiệt độ hiện tại (tem_htai) Ngõ ra: u = %duty cycle - Thuật toán PID: Ki: hệ số tích phân Kp: hệ số tỉ lệ Kd: hệ số vi phân e2: sai lệch nhiệt độ hiện tại e1: sai lệch nhiệt độ quá khứ ngay trước đó e_sum: tổng các sai lệch từ lúc đầu đến thời điểm hiện tại e_del: độ biến thiên sai lệch nhiệt độ duty: độ rộng xung... 10V ) để khôi phục lại trạng thái đường truyền.Ví dụ truyền ký tự A: Các đặc tính kỹ thuật của chuẩn RS232: Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 11 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID b/ IC MAX 232: - IC MAX 232 là IC chuyên dùng trong giao tiếp nối tiếp với PC.Nó có 2 bộ đệm và 2 bộ nhận.Đường dẫn điều khiển lối vào CTS, điều khiển việc xuất dữ liệu ở cổng... nối với đường dẫn bắt tay để điều khiển với quá trình nhận.Thường thì các đường dẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa có thể để hở mạch các cầu này.Cách truyền dữ liệu đơn giản nhất là chỉ dùng 3 chân RTX, RDX và GND Nguyễn Anh Tuấn - 08D2 – Bách Khoa Đà Nẵng Page 12 Ứng dụng Pic16F877A để đo và ổn định nhiệt độ bằng thuật toán PID 9/ MỘT SỐ LINH KIỆN KHÁC: