PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Analog - Bộ nhớ - Bảo mật - Cảm biến nhiệt độ

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Analog - Bộ nhớ - Bảo mật - Cảm biến nhiệt độ Thảo luận việc sử dụng và thay thế các sản phẩm Analog, Memory, KEELOG và cảm biến nhiệt độ của Microchip cho các thiết kế

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 06-02-2012, 09:54 PM   #1
internet.com
Đệ tử 1 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 18
:
Smile Hỏi về cảm biến đo nhiệt độ PT100

Hiện em đang làm tiểu luận đo nhiệt độ dùng cảm biến PT100 và pic16f877a. Vấn đề của em là khi hiển thị nhiệt độ lên LCD thì giá trị nhiệt độ thay đổi liên tục sau mỗi thời gian lấy mẫu, thất thường (ví dụ 28 rồi 31 rồi 37 rồi 25 rồi 35...). Tạm thời chưa xét tới công thức tính nhiệt độ đúng hay sai, đúng ra giá trị phải không nhảy lung tung chỉ trong thời gian rất ngắn như thế. Có ai biết thì giúp em với!
Sơ đồ mạch như trong hình đính kèm, pt100 loại 3 dây, code vxl thì như sau:
Code:
#include <16f877a.h>
#device *=16 adc=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#include "lcd.c"


int1 en=0;
int i=0;

#int_timer1
void timer1(){
	++i;
	if(i==3){
   		en=1;
	i=0;
	}
   	set_timer1(0);
}

void main(){
   signed int16 adc, nhietdo;

   setup_adc(adc_clock_internal);
   setup_adc_ports(AN0);
   set_adc_channel(0);
   
   enable_interrupts(int_timer1);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
   set_timer1(0);
   
   lcd_init();

   enable_interrupts(GLOBAL);  
   while(1){
      if(en){
         lcd_putc('\f');	//xoa lcd
	 if(adc_done())
		adc=read_adc();
         nhietdo = (adc-494)/1.851;	//tinh ra nhiet do
         //Hien thi nhiet do len LCD
         lcd_putc("Nhiet do:");
         lcd_gotoxy(11,1);
         printf(lcd_putc,"%ld" nhietdo);
         lcd_putc(0b11011111);
         lcd_putc("C");
         en=0;
      }
   }
}
Chân thành cảm ơn mọi người!
Hình Kèm Theo
File Type: png pt100.PNG (39.6 KB, 175 lần tải)
internet.com vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-02-2012, 01:16 PM   #2
internet.com
Đệ tử 1 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 18
:
Có ai giúp dùm em với! Nhiệt độ cứ nhảy lung tung. Sửa code ccs để lấy pin A3 làm vref cũng chỉ làm ổn định hơn thôi chứ vẫn nhảy. Có mắc tụ 104 giữa AN0 và GND rồi. hic
internet.com vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-02-2012, 03:33 PM   #3
nhiepphong123
Nhập môn đệ tử
 
Tham gia ngày: Jan 2012
Bài gửi: 7
:
Trích:
Nguyên văn bởi internet.com View Post
Có ai giúp dùm em với! Nhiệt độ cứ nhảy lung tung. Sửa code ccs để lấy pin A3 làm vref cũng chỉ làm ổn định hơn thôi chứ vẫn nhảy. Có mắc tụ 104 giữa AN0 và GND rồi. hic
mình chưa đọc code của bạn nhưng để nhiệt độ ko nhảy lung tung thì bạn
cứ sau 3s hoặc 5s bạn đọc nhiệt độ 1 lần thì nó sẽ ko nhảy lung tung.
nhiepphong123 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-02-2012, 04:54 PM   #4
greenfield
Đệ tử 6 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 152
:
Theo mình thì PT100 nếu đưa tín hiệu trực tiếp vào CPU sẽ không chính xác. Vì là nhiệt điện trở nên bạn phải cấp dòng vào và đo áp ra. Đưa áp đó vào CPU xử lý.
greenfield vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-02-2012, 12:44 AM   #5
internet.com
Đệ tử 1 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 18
:
Smile

Trích:
Nguyên văn bởi greenfield View Post
Theo mình thì PT100 nếu đưa tín hiệu trực tiếp vào CPU sẽ không chính xác. Vì là nhiệt điện trở nên bạn phải cấp dòng vào và đo áp ra. Đưa áp đó vào CPU xử lý.
Mình đã lấy áp và khuếch đại lên để đưa vào MCU rồi bạn à. Như trong sơ đồ đính kèm ấy.
internet.com vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-02-2012, 09:19 PM   #6
atmega_avr
Đệ tử 1 túi
 
atmega_avr's Avatar
 
Tham gia ngày: Apr 2010
Bài gửi: 20
:
Chào bạn internet.com cái này thì mình đã có kinh nghiệm 2 năm làm về nhiệt độ, mình đã từng đo nhiệt độ từ 0 đến 1400 độ C. Mạch của bạn thiết kế đúng rồi đó nhưng thực tế phải thiết kế lại, nếu mô phỏng bằng Proteus thì đúng, lý do khi thực tế bộ khuếch đại có điện áp lệch 0, phải có bộ lọc, để nhiệt độ ổn định ta dùng phương pháp cộng chia trung bình. Nếu bạn muốn chi tiết hơn có thể liên hệ qua Email: ducquang41@gmail.com mình sẽ giúp bạn, chúc bạn thành công.
atmega_avr vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-02-2012, 12:56 PM   #7
internet.com
Đệ tử 1 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 18
:
Có ai giúp mình với!
internet.com vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2012, 02:46 AM   #8
norimo
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 12
:
mình mới học PIC thôi. Thấy thường dùng lênh delay_ms sau khi tạo adc để tạo trễ. Bạn thử xóa ngắt timer1 đi thử xem. Mình làm thử con LM35 vẫn đc mà. Có điều công thức tính hơi sai nên chỉ hiện số lẻ.
Bạn nào có công thức tính chuẩn giúp mình luôn nha.
Mình góp ý thế thôi sai thì thôi nhé mới học mà.
norimo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-03-2012, 02:04 AM   #9
nhutuyetonline
Nhập môn đệ tử
 
Tham gia ngày: Aug 2011
Bài gửi: 1
:
Chào bạn...internet.com
bạn cho mình xin thư viện con pt100 3 chân của bạn được không, thư viện của mình chỉ có 4 chân, hôm nay mình bắt tay vô làm đề tài y chang bạn...hihi. có j giúp đỡ hen
nhutuyetonline vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2012, 02:03 PM   #10
internet.com
Đệ tử 1 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 18
:
Pt 100 nếu ý bạn nói mô phỏng trong proteus thì chỉ có loại 4 dây. Bản chất của pt100 cũng chỉ là một con điện trở nhưng giá trị thay đổi theo nhiệt độ. Nếu bạn muốn mô phỏng thì có thể thay bằng con trở như mình cũng được; hoặc bạn cũng có thể dùng link liện pt100 trong proteus, nối 2 dây dưới lại với nhau coi như 1 dây, cộng với 2 dây phía trên thì còn đúng 3 dây đó.
internet.com vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2012, 07:43 PM   #11
whisky951
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 8
:
mình mới nhận 1 đồ án về con pt này, mà seach trên mạng ko có tài liệu nhiều.mấy bạn cho mình hỏi khi thay đổi nhiệt độ thì giá trị ji của con pt100 nó thay đổi
whisky951 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-04-2012, 03:19 PM   #12
TRUNGBAOSPKT
Đệ tử 2 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 32
:
Trích:
Nguyên văn bởi whisky951 View Post
mình mới nhận 1 đồ án về con pt này, mà seach trên mạng ko có tài liệu nhiều.mấy bạn cho mình hỏi khi thay đổi nhiệt độ thì giá trị ji của con pt100 nó thay đổi
Khi thay đổi nhiệt độ thì giá trị điện trở của con PT 100 thay đổi
TRUNGBAOSPKT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-04-2012, 03:21 PM   #13
TRUNGBAOSPKT
Đệ tử 2 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 32
:
Trích:
Nguyên văn bởi internet.com View Post
Có ai giúp dùm em với! Nhiệt độ cứ nhảy lung tung. Sửa code ccs để lấy pin A3 làm vref cũng chỉ làm ổn định hơn thôi chứ vẫn nhảy. Có mắc tụ 104 giữa AN0 và GND rồi. hic
em up luôn file proteus và code lên cho ae xem thì mới dễ sửa chứ ! up hình lên khó đọc lắm !
TRUNGBAOSPKT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 05:30 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam