MẠCH ĐO NHIỆT ĐỘ DÙNG CẢM BIẾN NHIỆT LM35DZ VÀ CHIP VDK PIC16F887A HIỂN THỊ TRÊN 2 LED 7 ĐOẠN.

11 619 0
MẠCH ĐO NHIỆT ĐỘ DÙNG CẢM BIẾN NHIỆT LM35DZ VÀ CHIP VDK PIC16F887A HIỂN THỊ TRÊN 2 LED 7 ĐOẠN.

Đ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

BÁO CÁO THỰC TẬP MẠCH SỐ ỨNG DỤNG ĐỀ TÀI:MẠCH ĐO NHIỆT ĐỘ DÙNG CẢM BIẾN NHIỆT LM35DZ VÀ CHIP VDK PIC16F887A HIỂN THỊ TRÊN 2 LED 7 ĐOẠN. I. Giới thiệu sơ lược về Chip VDK Pic16F877A: Bộ vi điều khiển viết tắc là Microcontroller là mạch tích hợp trên một chip có thể lập trình được,dùng để điều khiển hoạt động của hệ thống .Theo các tập lệnh của người lập trình, bộ vi điêu khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó . Trong các thiết bị điện và điện tử các bộ vi điều khiển điều khiển hoạt động của ti vi, máy giặt, đầu đọc lase, lò vi ba, điện thoại …Trong hệ thống sản xuất tự động, bộ vi điều khiển sử dụng trong robot, các hệ thống đo lường giám sát .Các hệ thống càng thông minh thì vai trò của vi điều khiển ngày càng quan trọng. Hiện nay trên thị trường có rất nhiều họ vi điều khiển như: 6811 của Motorola, 8051 của Intel, Z8 của Zilog, PIC 16 của Microchip Technology … Trong đề tài này chỉ trình bày một bộ vi điều khiển trong số trên (Pic 16F877A). Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng chúng ta có thể điểm qua một vài nét như sau : • 816 bit CPU, xây dựng theo kiến trúc Harvard • Flash và Rom có thể tuỳ chọn 256 byte đến 256 kbybe • Các cổng xuấtnhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 0 và 1) • 816 bit timer • Các chuẩn giao tiếp ngoại vi nối tiếp đồng bộ không đồng bộ • Bộ chuyển đổi ADC • Bộ so sánh điện áp • MSSP Pripheral dùng cho các giao tiếp I2C, SPI • Bộ nhớ nội EEPROM có thể ghi xoá lên tới hàng triệu lần • Modul điều khiển động cơ, đọc encoder • Hỗ trợ giao tiếp USB • Hỗ trợ điều khiển Ethernet • Hỗ trợ giao tiếp CAN • Hỗ trợ giao tiếp LIN • Hỗ trợ giao tiếp IRDA • DSP những tính năng xử lý tín hiệu số Sơ đồ chân của PIC 16F877A: Các thông số về vi điều khiển PIC16F877A CPU tốc độ cao : • Chỉ có 35 cấu trúc lệnh • Hầu hết các cấu trúc lệnh chỉ mất một chu kỳ máy, ngoại trừ lệnh rẻ nhánh chương trình mất hai chu kỳ máy • Tốc độ làm việc: xung clock đến 20MHz, tốc độ thực thi lệnh 200ns • 8K14 words của bộ nhớ chương trình ( flash program memory) • 3688 byte bộ nhớ dữ liệu RAM • 2568 byte bộ nhớ dữ liệu EEPROM Đặc điểm ngoại vi: • Timer 0: 8 bit timercounter với 8 bít bộ chia tỉ lệ • Timer 1: 16 bit timercounter với bộ chia tỉ lệ có thể tăng lên trong chế độ Sleep theo xung đồng hồ bên ngoài • Timer2 : 8 bit timercounter • Hai Modul capture, compare, PWM + Capturre 16 bit có độ phân giải 12,5ns + Compare 16 bit có độ phân giải 200ns + PWM 16 bít có độ phân giải 10 bit. • Cổng giao tiếp nối tiếp đồng bộ với chế độ Master và Master Slave. • Bộ truyền nhận nối tiếp vạn năng. • Cổng Slave song song 8 bit được điều khiển đọc ghi từ bên ngoài. Đặc điểm tương tự: • Độ phân giải 10 bit với 8 kênh chuyển đổi tương tự số. • Modul so sánh tương tự gồm: + Hai modul so sánh tương tự. + Modul tham chiếu điện áp trên chip(VEF) có thể lập trình được ,có thể lập trình nhiều chức năng đầu vào từ các đầu vào và điện áp bên trong. + Hai đầu ra so sánh có thể sử dụng bên ngoài. 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 có khả năng ghi xoá được 100.000 lần. + Bộ nhớ EEPROM với khả năng ghi xoá đượ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. + Nạp được chương trình ngay trên mạch điện ICSP (In Cicuit Serial Programming) thông qua hai chân. + 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. Sơ đồ khối của vi điều khiển PIC16F877A Sơ đồ bộ nhớ dữ liệu của PIC16F877A II. Giới thiệu về cảm biến nhiệt LM35DZ: LM35DZ là loại cảm biến nhiệt độ được sử dụng rộng rãi trong công nghiệp,bởi giá thành thấp và cách vận hành đơn giản.LM35DZ có mức điện áp thay đổi trực tiếp theo độ C (10mVC). Sơ đồ chân của LM35DZ: Chân +Vslà 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. III. Giới thiệu về Led 7 đoạn Anode chung dùng trong mạch hiển thị: 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. a d p b c e d g f 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ẽ được bật sang nếu mức logic đưa vao chan điều khiển đoạn LED đo la 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 vao chan điều khiển đoạn LED đo là mức logic 1. IV. Sơ đồ nguyên lí mạch đo nhiệt độ dùng PIC 16F877A + Sensor nhiệt LM35DZ hiển thị trên 2 led 7 đoạn Anode chung: V. Mã nguồn chương trình: ++++++++++++++++++++++++++++++++++++++++++++++ +++++| | CHUONG TRINH HIENTHI NHIET DO TREN 2 LED 7 DOAN | BAO CAO THUC TAP MACH SO UNG DUNG | NGUYEN TIEN CHUAN07125052020707DT2 | |++++++++++++++++++++++++++++++++++++++ +++++++++++++| |||||||||||| KET NOI PHAN CUNG |||||||||||||||| +++++++++++++++++++++++++++++++++++++++++++++++ ++++++ | RB0>6 KET NOI DEN CAC CHAN A,B,C,D,E,F,G CUA 2 LED 7 DOAN ANODE CHUNG. | CHAN 8(VCC) CUA 2 LED 7 D0AN DUOC DIEU KHIEN BOI 2 BJT THUAN PNP: A1015 | CHAN C CUA 2 BJT NOI VOI CHAN VCC CUA 2 LED 7 DOAN DE DIEU KHIEN QUET LED | CHAN E CUA BJT NOI VOI NGUON | CHAN B (BAM DIEN TRO 10K )CUA BJT HANG CHUC VA DON VI NOI LAN LUOT VOI CHAN RD1,RD0 |+ | SU DUNG TRINH BIEN DICH PCWH COMPLIER VER:4.018 | SU DUNG TRINH WINPIC800 DE NAP FILE HEX LEN PIC QUA CHUAN GIAO TIEP ICSP |++++++++++++++++++++++++++++++++++++++++++++++ +++++++ include KHAI BAO SU DUNG PIC 16F877A include FILE DINH NGHIA CAC THANH GHI VA CAC BIT device =16 adc=10 KHAI BAO SU DUNG CON TRO 16 BIT VA ADC 10 BIT KHAI BAO CAU HINH CHO PIC 16F877A FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT KHAI BAO SU DUNG DELAY VOI TAN SO DAO DONG NGOAI use delay(clock=20000000) int8 high,low; KHAI BAO CAC BIEN SO NGUYEN 1 BYTE KHAI BAO BANG MA LED 7 DOAN ANODE CHUNG int8 const a10 = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; CHUONG TRINH CON TACH SO HANG CHUC VA HANG DON VI void convert_bcd(int8 x) { low=x%10; CHU SO HANG DON VI high=x10; CHU SO HANG CHUC } CHUONG TRINH CON HIEN THI RA 2 LED 7 DOAN void display() { PORTB=alow; RD0=0; delay_us(500); RD0=1; PORTB=ahigh; RD1=0; delay_us(500); RD1=1; } void main() { float value; int16 i; trisb = 0x00; THIET LAP CAC CHAN PORTB LA OUTPUT trisd = 0x00; THIET LAP CAC CHAN PORT D LA OUTPUT trise = 0x00; THIET LAP CAC CHAN PORT E LA OUTPUT trisa = 0xff; THIET LAP CAC CHAN PORT A LA INPUT KHOI TAO ADC setup_adc(ADC_CLOCK_INTERNAL); THIET LAP THOI GIAN LAY MAU BANG XUNG CLOCK setup_adc_ports(AN0); THIET LAP CHAN AN0 LA CHAN VAO ADC set_ADC_channel(0) ; delay_us(10); TRE 10US value=(float)read_adc(); DOC GIA TRI ADC value = value2.048; convert_bcd((int8)value); GOI CHUONG TRINH CON CONVERT_BCD i=0; while(1) { i++; value =(float) read_adc(); value = value2.048; if (i==2000) { convert_bcd((int8)value); i=0; } display(); } } VI. Lời kết: Vì kiến thức còn nhiều hạn chế ,nên đề tài mạch đo nhiệt độ của chúng em không thể tránh khỏi những sai sót,cũng như chức năng của mạch còn nhiều hạn chế.Sau 4 tuần triển khai làm việc nhóm,với sự hướng dẫn của Thầy LÊ NGỌC QUÝ VĂN ,nhóm của chúng em đã hoàn thành mạch đúng theo mục đích ban đầu ,với thời gian theo yêu cầu. XIN CHÂN THÀNH CẢM ƠN THẦY

BÁO CÁO THỰC TẬP MẠCH SỐ ỨNG DỤNG ĐỀ TÀI: MẠCH ĐO NHIỆT ĐỘ DÙNG CẢM BIẾN NHIỆT LM35DZ VÀ CHIP VDK PIC16F887A HIỂN THỊ TRÊN LED ĐOẠN Giới thiệu sơ lược Chip VDK Pic16F877A: I Bộ vi điều khiển viết tắc Micro-controller mạch tích hợp chip lập trình được,dùng để điều khiển hoạt động hệ thống Theo tập lệnh người lập trình, vi điêu khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian tiến hành đóng mở cấu Trong thiết bị điện điện tử vi điều khiển điều khiển hoạt động ti vi, máy giặt, đầu đọc lase, lò vi ba, điện thoại …Trong hệ thống sản xuất tự động, vi điều khiển sử dụng robot, hệ thống đo lường giám sát Các hệ thống thông minh vai trò vi điều khiển ngày quan trọng Hiện thị trường có nhiều họ vi điều khiển như: 6811 Motorola, 8051 Intel, Z8 Zilog, PIC 16* Microchip Technology … Trong đề tài trình bày vi điều khiển số (Pic 16F877A) Hiện có nhiều dòng PIC có nhiều khác biệt phần cứng, điểm qua vài nét sau : • 8/16 bit CPU, xây dựng theo kiến trúc Harvard • Flash Rom tuỳ chọn 256 byte đến 256 kbybe • Các cổng xuất/nhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 1) • 8/16 bit timer • Các chuẩn giao tiếp ngoại vi nối tiếp đồng bộ/ không đồng • Bộ chuyển đổi ADC • Bộ so sánh điện áp • MSSP Pripheral dùng cho giao tiếp I2C, SPI • Bộ nhớ nội EEPROM - ghi/ xoá lên tới hàng triệu lần • Modul điều khiển động cơ, đọc encoder • Hỗ trợ giao tiếp USB • Hỗ trợ điều khiển Ethernet • Hỗ trợ giao tiếp CAN • Hỗ trợ giao tiếp LIN • Hỗ trợ giao tiếp IRDA • DSP tính xử lý tín hiệu số Sơ đồ chân PIC 16F877A: Các thông số vi điều khiển PIC16F877A CPU tốc độ cao : • Chỉ có 35 cấu trúc lệnh • Hầu hết cấu trúc lệnh chu kỳ máy, ngoại trừ lệnh rẻ nhánh chương trình hai chu kỳ máy • Tốc độ làm việc: xung clock đến 20MHz, tốc độ thực thi lệnh 200ns • 8K*14 words nhớ chương trình ( flash program memory) • 368*8 byte nhớ liệu RAM • 256*8 byte nhớ liệu EEPROM Đặc điểm ngoại vi: • Timer 0: bit timer/counter với bít chia tỉ lệ • Timer 1: 16 bit timer/counter với chia tỉ lệ tăng lên chế độ Sleep theo xung đồng hồ bên • Timer2 : bit timer/counter • Hai Modul capture, compare, PWM + Capturre 16 bit có độ phân giải 12,5ns + Compare 16 bit có độ phân giải 200ns + PWM 16 bít có độ phân giải 10 bit • Cổng giao tiếp nối tiếp đồng với chế độ Master Master/ Slave • Bộ truyền nhận nối tiếp vạn • Cổng Slave song song bit điều khiển đọc ghi từ bên Đặc điểm tương tự: • Độ phân giải 10 bit với kênh chuyển đổi tương tự- số • Modul so sánh tương tự gồm: + Hai modul so sánh tương tự + Modul tham chiếu điện áp chip(VEF) lập trình ,có thể lập trình nhiều chức đầu vào từ đầu vào điện áp bên + Hai đầu so sánh sử dụng bên Bên cạnh vài đặc tính khác vi điều khiển như: + Bộ nhớ Flash có khả ghi xoá 100.000 lần + Bộ nhớ EEPROM với khả ghi xoá 1.000.000 lần + Dữ liệu nhớ EEPROM lưu trữ 40 năm + Khả tự nạp chương trình với điều khiển phần mềm + Nạp chương trình mạch điện ICSP (In Cicuit Serial Programming) thông qua hai chân + Watchdog timer với dao động + Chức 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 Sơ đồ khối vi điều khiển PIC16F877A Sơ đồ nhớ liệu PIC16F877A II Giới thiệu cảm biến nhiệt LM35DZ: LM35DZ loại cảm biến nhiệt độ sử dụng rộng rãi công nghiệp,bởi giá thành thấp cách vận hành đơn giản.LM35DZ có mức điện áp thay đổi trực độ C (10mV/*C) Sơ đồ chân LM35DZ: Chân +Vs chân cung cấp điện áp cho LM35DZ hoạt động (4—20V) Chân Vout chân điện áp ngõ LM35DZ,được đưa vào chân Analog ADC Chân GND chân nối mass,lưu ý cần nối mass chân để trành làm hỏng cảm biến làm giảm sai số trình đo III Giới thiệu Led đoạn Anode chung dùng mạch hiển thị: LED đoạn công cụ thông dụng dùng để hiển thị thông số dạng số từ đến Mặc dù công cụ LCD giúp ta thể thông số cách linh động LED đoạn sử dụng nhiều công nghiệp ưu như: chịu ảnh hưởng nhiệt độ, dễ tạo góc nhìn rộng LED đoạn bao gồm đoạn LED đánh dấu kí tự a, b, c, d, e, f, g dấu chấm thập phân kí hiệu dp Ta xem LED đoạn tổ hợp gồm LED LEDnày có đầu (Anode Cathode) nối chung bố trí theo mộtqui tắc định dùng để hiển thị chữ số thập phân a f g e d b c d p Có hai loại LED đoạn, loại Anode chung (cực Anode LED nối chung với nhau) loại Cathode chung (cực Cathode LED nối chung với nhau) Tùy theo loại LED mà ta có phương pháp điều khiển LED tổ hợp sáng tắt cách thích hợp Đối với loại Anode chung, LED bật sang mức logic đưa vao chan điều khiển đoạn LED đo la mức logic Đối với loại Cathode chung, LED bật sang mức logic đưa vao chan điều khiển đoạn LED đo mức logic IV V Sơ đồ nguyên lí mạch đo nhiệt độ dùng PIC 16F877A + Sensor nhiệt LM35DZ hiển thị led đoạn Anode chung: Mã nguồn chương trình: //++++++++++++++++++++++++++++++++++++++++++++++ +++++| //| CHUONG TRINH HIENTHI NHIET DO TREN LED DOAN //| BAO CAO THUC TAP MACH SO UNG DUNG //| NGUYEN TIEN CHUAN-071250520207-07DT2 //| //|++++++++++++++++++++++++++++++++++++++ +++++++++++++| // |||||||||||| KET NOI PHAN CUNG |||||||||||||||| //+++++++++++++++++++++++++++++++++++++++++++++++ ++++++ //| RB0->6 KET NOI DEN CAC CHAN A,B,C,D,E,F,G CUA LED DOAN ANODE CHUNG //| CHAN 8(VCC) CUA LED D0AN DUOC DIEU KHIEN BOI BJT THUAN PNP: A1015 //| CHAN C CUA BJT NOI VOI CHAN VCC CUA LED DOAN DE DIEU KHIEN QUET LED //| CHAN E CUA BJT NOI VOI NGUON //| CHAN B (BAM DIEN TRO 10K )CUA BJT HANG CHUC VA DON VI NOI LAN LUOT VOI CHAN RD1,RD0 //| -+ //| SU DUNG TRINH BIEN DICH PCWH COMPLIER VER:4.018 //| SU DUNG TRINH WINPIC800 DE NAP FILE HEX LEN PIC QUA CHUAN GIAO TIEP ICSP //|++++++++++++++++++++++++++++++++++++++++++++++ +++++++ #include // KHAI BAO SU DUNG PIC 16F877A #include // FILE DINH NGHIA CAC THANH GHI VA CAC BIT #device *=16 adc=10 // KHAI BAO SU DUNG CON TRO 16 BIT VA ADC 10 BIT // KHAI BAO CAU HINH CHO PIC 16F877A #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT // KHAI BAO SU DUNG DELAY VOI TAN SO DAO DONG NGOAI #use delay(clock=20000000) int8 high,low; // KHAI BAO CAC BIEN SO NGUYEN BYTE // KHAI BAO BANG MA LED DOAN ANODE CHUNG int8 const a[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; // CHUONG TRINH CON TACH SO HANG CHUC VA HANG DON VI void convert_bcd(int8 x) { low=x%10; // CHU SO HANG DON VI high=x/10; // CHU SO HANG CHUC } // CHUONG TRINH CON HIEN THI RA LED DOAN void display() { PORTB=a[low]; RD0=0; delay_us(500); RD0=1; PORTB=a[high]; RD1=0; delay_us(500); RD1=1; } void main() { float value; int16 i; trisb = 0x00; // THIET LAP CAC CHAN PORTB LA OUTPUT trisd = 0x00; // THIET LAP CAC CHAN PORT D LA OUTPUT trise = 0x00; // THIET LAP CAC CHAN PORT E LA OUTPUT trisa = 0xff; // THIET LAP CAC CHAN PORT A LA INPUT // KHOI TAO ADC setup_adc(ADC_CLOCK_INTERNAL); // THIET LAP THOI GIAN LAY MAU BANG XUNG CLOCK setup_adc_ports(AN0); // THIET LAP CHAN AN0 LA CHAN VAO ADC set_ADC_channel(0) ; delay_us(10); // TRE 10US value=(float)read_adc(); value = value/2.048; convert_bcd((int8)value); i=0; while(1) { // DOC GIA TRI ADC // GOI CHUONG TRINH CON CONVERT_BCD i++; value =(float) read_adc(); value = value/2.048; if (i==2000) { convert_bcd((int8)value); i=0; } display(); } } VI Lời kết: Vì kiến thức nhiều hạn chế ,nên đề tài mạch đo nhiệt độ chúng em tránh khỏi sai sót,cũng chức mạch nhiều hạn chế.Sau tuần triển khai làm việc nhóm,với hướng dẫn Thầy LÊ NGỌC QUÝ VĂN ,nhóm chúng em hoàn thành mạch theo mục đích ban đầu ,với thời gian theo yêu cầu XIN CHÂN THÀNH CẢM ƠN THẦY ! Nhóm Sinh viên thực hiện:      Nguyễn Tiến Chuẩn Trần Chút Lê Văn Cầu Nguyễn Mạnh Khởi Lương Bảo Phước [...]... =(float) read_adc(); value = value /2. 048; if (i= =20 00) { convert_bcd((int8)value); i=0; } display(); } } VI Lời kết: Vì kiến thức còn nhiều hạn chế ,nên đề tài mạch đo nhiệt độ của chúng em không thể tránh khỏi những sai sót,cũng như chức năng của mạch còn nhiều hạn chế.Sau 4 tuần triển khai làm việc nhóm,với sự hướng dẫn của Thầy LÊ NGỌC QUÝ VĂN ,nhóm của chúng em đã hoàn thành mạch đúng theo mục đích ban... nhiều hạn chế.Sau 4 tuần triển khai làm việc nhóm,với sự hướng dẫn của Thầy LÊ NGỌC QUÝ VĂN ,nhóm của chúng em đã hoàn thành mạch đúng theo mục đích ban đầu ,với thời gian theo yêu cầu XIN CHÂN THÀNH CẢM ƠN THẦY ! Nhóm Sinh viên thực hiện:      Nguyễn Tiến Chuẩn Trần Chút Lê Văn Cầu Nguyễn Mạnh Khởi Lương Bảo Phước

Ngày đăng: 27/05/2016, 13:45

Từ khóa liên quan

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

Tài liệu liên quan