Sıcaklık Okuma

Başlatan facundo, 08 Mayıs 2012, 22:31:45

facundo

merhaba arkadaşlar

ortamdaki sıcaklığın örneğin bir fırının sıcaklığını okuduğumuzu düşünelim

bunun için yapmam gerekenler nedir

araştırdığımda soğuk nokta kompanzasyonunu gibi bir durum olduğunu öğrendim bu sorunu nasıl aşabilirim sizin fikirlerinizi alabir miyim nasıl çözebilirim.

Klein

Sıcaklık sensörünün ne olduğuna bağlı.
Soğuk nokta kompanzasyonu ısılçifler için geçerli. Bunda da aşacak bir şey yok. klemenslere en yakın noktaya bir tane sıcaklık sensörü atacaksın. ortam sıcaklığı ile , ısılçiftten okuduğun sıcaklık değerini toplayacaksın.

Eğer rezistans termometre kullanacaksan (PTC , NTC)  bunlara gerek yok. okuduğun direnç değerini tablo veya denklem ile sıcaklığa çevireceksin.

facundo

yapmak isteğim şu aslında

pic ile sıcaklık okumak istiyorum

bir elektrikli fırının içerisinde sıcaklıkğı okumak istiyorum
fırının içini j tipi bir termoculp ile okumak
soğuk nokta kompanzasyonu için ise diyot ile sıcaklık okumak istiyorum

termokupl sıcaklığını op07c ile nasıl okuyabilirim, bağlantısını ve pic e nasıl işlem ile okutabilirim

diyot ile sıcaklığı nasıl okuyabilirim --- + dan 5.1k direnci diyoda seri bağlayıp diyodun anot undan giriş yaptım fakat hangi işlemleri yaptıracağımı çözemedim

ferit06

diyod ile sıcaklık okumak için diyottan akan akım ne kadar az olursa sıcaklık  Vf gerilim değişimi o kadar fazladır. Bu da size daha hassas ölçüm yapmanızı sağlar. Eğer kullanacağınız yer için sakıncası yok ise 2 adet(veya daha fazla) diyodu seri bağlayın) gerilim değişiminiz daha fazla olsun, PIC ile daha rahat okuma yapabilirsiniz.

( http://www.vishay.com/docs/81857/1n4148.pdf
Bknz figure1)
5.1k yerine 5M gibi bir direnç veya 1 mikro amperlik bir akım kaynağı bağlayın. diyod üzerindeki gerilimi ölçüp gerekli hesaplamayı yapıp diyod üzerindeki sıcaklığı bulacaksınız.

facundo

mikro amperlik akım kaynağını derken ?

Peki termokupl için nasıl birşeyler yapmam gerekir?


Teşekkür ederim @ferit06

ferit06

mikroampelik akım kaynağı: diyod/lar üzerinden 1 mikro amper geçecek şekilde basit bir akım sınırlayıcı, Vcc ye bağlı PNP transistör ve 2 adet direnç ile yapılabilir, temel transistor devrelerindendir.

facundo

bu transistörlü dediğin devreye örnek verebilir misin internette bulamadım da

facundo

dediğin devre bu gibi birşey değil dimi


facundo

Şöyle bir uygulama yaptın programı serdar çiçeğin kitabından esinlendim doğru olmadığını biliyorum ne gibi bir değişiklik yapmam gerekir sizce



#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD
#device adc=10
#use delay (clock=4000000)

#define use_portb_lcd true
#include <lcd.c>
unsigned long int bilgi;
float voltaj,sicaklik;

void main()
{

   // TODO: USER CODE!!
   
   setup_adc(adc_clock_div_32);
   setup_adc_ports(AN0);
   lcd_init();
   set_adc_channel(0);
   delay_us(20);
   printf(lcd_putc,"sicaklik=");
   while(1)
{
   bilgi=read_adc();
   voltaj=(0.00488755*bilgi)*200;
   sicaklik=(voltaj/10);
   lcd_gotoxy(10,1);
   printf(lcd_putc,"%5.1f'C",sicaklik);
   delay_ms(100);output_toggle(pin_c0);
}
}

ferit06

#9
Alıntı yapılan: facundo - 09 Mayıs 2012, 20:13:30
dediğin devre bu gibi birşey değil dimi

(Resim gizlendi görmek için tıklayın.)



Söylediğim devre  aşağıdaki bağlantıda 7 sayfada figure11 de sol tarafta
http://cds.linear.com/docs/Application%20Note/an45.pdf

burada sıcaklık sensörü olarak transistor kullanılmış siz diyodkullanacaksınız. 2N3906 transistorü akım kaynağı olarak kullanılmış, siz istediğiniz bir PNP transistor kullanabilirsiniz.

Logan

JK termokupl sıkıntılı iş. Opamplı yükselteç devresi kurup hemen hemen her kart için ayrı ayrı kalibre edeceksin. Ayrıca Cold Junction olayı var yani soğuk nokta. Benim tavsiyem max6675 kullanmandır. 12 bit sıcaklık değeri verir. 10 biti 1023 değeri için, sondaki 2 bit ise 0.25 derece çözünürlük için. Yani 0.25 çözünürlükle sorunsuz kalibresiz doğru 1000 dereceye kadar sıcaklığı okursun.
İmza.

facundo

max6675 birazcık pahalı değil mi  :)

termokupl ölçmede kalibrasyon alayını aşabilirmiyiz :)

Klein

Alıntı yapılan: Logan - 11 Mayıs 2012, 13:30:08
JK termokupl sıkıntılı iş. Opamplı yükselteç devresi kurup hemen hemen her kart için ayrı ayrı kalibre edeceksin. Ayrıca Cold Junction olayı var yani soğuk nokta. Benim tavsiyem max6675 kullanmandır. 12 bit sıcaklık değeri verir. 10 biti 1023 değeri için, sondaki 2 bit ise 0.25 derece çözünürlük için. Yani 0.25 çözünürlükle sorunsuz kalibresiz doğru 1000 dereceye kadar sıcaklığı okursun.
1000 derece???? 0.25 derece çözünürlükle?

facundo

max7665 k tipi termokupl anladığım kadarıyla j tipi termocupl için olani var mı

facundo

Alıntı YapSöylediğim devre  aşağıdaki bağlantıda 7 sayfada figure11 de sol tarafta
http://cds.linear.com/docs/Application%20Note/an45.pdf

burada sıcaklık sensörü olarak transistor kullanılmış siz diyodkullanacaksınız. 2N3906 transistorü akım kaynağı olarak kullanılmış, siz istediğiniz bir PNP transistor kullanabilirsiniz.

teşekkür ederim  :)