PDA

View Full Version : Đo nhiệt độ với MCP9700


falleaf
22-09-2005, 09:12 AM
MCP9700 là một cảm biến nhiệt độ rẻ tiền, tiêu thụ ít năng lượng, nó biến đổi nhiệt độ sang điện áp analog. MCP9700 có thể đo chính xác trong miền từ -40C đến +125C. Ngõ ra của MCP9700 là một đường tuyến tính với 10mV/C với khoảng offset 500mV. Khoảng offset này cho phép đọc được nhiệt độ âm mà không cần cung cấp điện áp âm ngõ vào.

Không giống như các cảm biến điện trở nhiệt, điện áp ra của MCP9700 được nối trực tiếp vào chân ADC của PIC, và với ADC 8bit thông dụng của PIC, độ phân giải sẽ là 1C/bit, trong đó điện áp tham chiếu là 2.5V và 5V.

Thêm vào đó, việc thiết kế PCB sẽ rất đơn giản, bởi vì đường nối đơn giản, tụ tải không cần thiết lắm để ổn định hoạt động của cảm biến.

Sơ đồ nối chân của cảm biến như sau:

http://i3.photobucket.com/albums/y64/falleafd/MCP9700.gif

Những đặc tính của MCP9700:

Kích thước cảm biến nhỏ
Dải đo: -40C - +125C
Độ chính xác: 4C trong dải đo từ 0C -70C
MCP9700: 10mV/C
MCP9701: 19.5mV/C
MCP9700 hoạt động trong dải 2.3V đến 5.5V
MCP9701 hoạt động trong dải 3.1V đến 5.5V

Dòng thấp, khoảng 6uA
Không cần thêm bất kỳ thiết bị nào.

Một số thông tin như vậy cho các bạn làm về các đầu đo nhiệt độ. Chúc các bạn làm tốt các ứng dụng của mình.

Chúc vui.

falleaf
22-09-2005, 12:20 PM
Để thuận tiện, tôi post một đoạn code ngắn, đơn giản để phục vụ cho việc đọc ADC từ cảm biến đo nhiệt độ như sau:


...
REGAD1 RES 1; đặt biến
...
;----------------------
;Khoi tao cac ngo vao
;----------------------

ADC MOVWF ADCON1 ; chon Vref = VDD
BCF STATUS, RP0 ; chon bank 0
...

AD1_0 MOVLW B'11000001'
CALL ADSTART
MOVWF REGAD1 ; doc AD1
...

;-------------------------------
; Chuong trinh con de do ADC
;-------------------------------

ADSTART MOVWF ADCON0
MOVLW D'5'
MOVWF DLY

DELAY12 DECFSZ DLY, F ; 3 x (DLY12-1) x 1 us + 1us + 2us
GOTO DELAY12 ; 3 x (5-1) x 1 + 1 + 2 = 15us
CLRF ADRES
BSF ADCON0, 2
GODONE BTFSC ADCON0, 2
GOTO GODONE ; Cho den khi convert xong
MOVF ADRES, W ; adcon0,2 = 0

RETURN



Thí dụ này khá sơ lược, nhưng các bạn có thể tham khảo để đọc ADC một cách khá chuẩn xác.

Chúc vui.

falleaf
22-09-2005, 12:23 PM
Lưu ý các bạn rằng, vì tôi không có nhiều thời gian, nên tôi copy và paste những chương trình mà tôi đã viết và đã chạy từ lâu, cho nên đôi khi có những đoạn không chính xác mà tôi không thể nào kiểm tra được, các bạn dựa vào cái sườn này làm thử, nếu có sai sót gì, mong các bạn sửa chữa lại và thông báo cho những người đọc khác biết.

Ngoài ra, các bạn có thể đăng bài đã hoàn chỉnh của các bạn lên diễn đàn để chuẩn hóa các thư viện chung.

Chúc vui, và chân thành cảm ơn.