11
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à Micro-controller 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 : 8/16 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ất/nhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 0 và 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ộ Bộ chuyển đổi ADC Bộ so sánh điện áp

Mạch đo nhiệt độ sử dụng LM35

Embed Size (px)

Citation preview

Page 1: Mạch đo nhiệt độ sử dụng LM35

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à Micro-controller 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 :

• 8/16 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ất/nhập (mức lôgic thường từ 0v đến 5v, ứng với mức logic 0 và 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ộ

• Bộ chuyển đổi ADC

• Bộ so sánh điện áp

Page 2: Mạch đo nhiệt độ sử dụng LM35

• 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

Page 3: Mạch đo nhiệt độ sử dụng LM35

• 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

• 8K*14 words của bộ nhớ chương trình ( flash program memory)

• 368*8 byte bộ nhớ dữ liệu RAM

• 256*8 byte bộ nhớ dữ liệu EEPROM

Đặc điểm ngoại vi:

• Timer 0: 8 bit timer/counter với 8 bít bộ chia tỉ lệ

• Timer 1: 16 bit timer/counter 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 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 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.

Page 4: Mạch đo nhiệt độ sử dụng LM35

+ 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.

Page 5: Mạch đo nhiệt độ sử dụng LM35

Sơ đồ khối của vi điều khiển PIC16F877A

Page 6: Mạch đo nhiệt độ sử dụng LM35

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 (10mV/*C).

Page 7: Mạch đo nhiệt độ sử dụng LM35

Sơ đồ chân của LM35DZ:

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.

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

dp

b

ce

d

gf

Page 8: Mạch đo nhiệt độ sử dụng LM35

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:

Page 9: Mạch đo nhiệt độ sử dụng LM35

//+++++++++++++++++++++++++++++++++++++++++++++++++++|

//| CHUONG TRINH HIENTHI NHIET DO TREN 2 LED 7 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 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 <16F877A.h> // KHAI BAO SU DUNG PIC 16F877A #include <def_877a.h> // 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

Page 10: Mạch đo nhiệt độ sử dụng LM35

#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 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 2 LED 7 DOANvoid 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(); // DOC GIA TRI ADC value = value/2.048; convert_bcd((int8)value); // GOI CHUONG TRINH CON CONVERT_BCD i=0; while(1) {

Page 11: Mạch đo nhiệt độ sử dụng LM35

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 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 !

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.