- PT100 Sıcaklık Sensörü
- Pt100 Kalibrasyonu
- PT100 Sensörünün Direk Matematik Metodu ile Kalibre Edilmesi
- Pt100 ile MikroC de Sıcaklık Ölçümü
- Sonuç
- Video Anlatım
- Yararlanılan Kaynaklar
PT100 Sıcaklık Sensörü
- Bu dersimizde PT100 sıcaklık sensörünün PIC ile nasıl kullanılacağını ve matematiksel olarak hesaplamasını göreceğiz
- PT100 ler aslında değişken birer dirençtir. İçerinden platinden direnç bulunur ve bu değişime göre ısı ölçümü yapılır
- PT100 sensörümüze +5v referans entegremiz ile (AD586) besleyerek oluşan voltaj değişimlerini PIC ADC ile ölçerek sonuca varacağız
- PT100 ün birkaç çeşidir vardır ben çalışmalarımda 3 telli olanı kullanıyorum.
- PT100 alırken aşağıdaki gibi kapalı bir tip alırsanız iletken yada yarı iletken sıvı ölçümlerinde sorun yaşamazsınız.
- PT100 alımı yaparken malzemesi eğer paslanmaz malzeme olursa korozyon gibi sorunlarla da karşılaşmazsınız ancak dikkat edilmesi gereken nokta eğer asit veya baz gibi sıvılarda ölçüm yapacaksanız 316 kalite paslanmaz kılıflı PT100 almanız gerekir çünkü genel olarak kullanılan 304 kalite asit ve bazlara karşı dayanıksızdır.
- Güncelleme 11.02.2019 – PT 100 ün kablo kılıfı yani metal olan kısmı mutlaka devre GND sine bağlanmalıdır. Aksi halde okunan değerlerde sapmalar çoğalacaktır. Bu sonucu osiloskop ile de gözlemleyebilirsiniz.
PT100 Sıcaklık Sensörü Özellikleri
- Yukarıda dediğim gibi PT100 aslında ısı ile değişken bir direnç gibi davranır
- -50°C ile +400°C derece arasında ölçüm yapabilir ancak benim kullandığım yöntem 0°C altında ölçüm yapmaya uygun değildir.
- Teorik olarak doğrusal olsa da gerçekte doğrusal değildir. Bu sebeple kalibre edilmesi gerekir
PT100 Isı Ölçüm Sensörü Devresi
- Devre kurulumu basit olduğundan bread boarda kuruldu.
- Devre testi su ısıtılarak yapılacak çünkü su 100°C de sabitlendiğinden buradan çıkan sonuca güvenilerek işlem yapılabilir
- Cam termometreler ve diğer hazır elektronik termometreler güvenilir olmayabilirler.
- AD586 +9V ile beslenmelidir ve çıkışından +5v gelene kadar trimpottan ayar yapılmalıdır.
PT100 Devre Şeması
- Hassasiyet için PIC ADC +vref ve PT100 beslemesi referans entegresi olan AD586 ile yapıldı.
- AD586 entegresi daha önce INA122 projesinden anlatılmıştır. Detayları görmek için tıklayınız.
- PT100 diğer ucuna ( 2 mavi uçtan diğerine) 1k direnç bağlanarak bir gerilim bölücü yapılır.
Gerekli Malzemeler
- Pt100 Isı Ölçüm Sensörü
- AD586 referans entegresi
- Breadboard
- 1k direnç
- 10k çok turlu trimpot
- 100 nf polyester kondansatör
- 1uf-16v elektrolit kondansatör
- 0,1uf-16v elektrolit kondansatör
- Test amaçlı kullanılacak su ve elektrikli bir ısıtıcı
PT100 Kalibrasyonu
- PT100 için internette bir çok tablo bulunsa da bunlar genel olarak tam sonucu vermez
- Tam sonuca ancak matematiksel bir işlem ile varabiliriz.
- Bu nedenle kalibrasyon methodu ile ölçüm yapmalıyız.
- Burada kullanılacak yöntem ile 0°C ın altında ölçüm yapılamaz.
- Temel olarak 3 adet kalibrasyon sistemi bulunur
Method Adı | Olumlu Özellikler | Olumsuz Özellikler |
Direk Matematik Metodu |
|
|
Tek Doğrusal Yaklaşım Metodu |
|
|
Parçalı Doğrusal Yaklaşım Metodu |
|
|
- Biz bu yöntemlerden “Direk Matematik Metodunu” kullanacağız.
PT100 Sensörünün Direk Matematik Metodu ile Kalibre Edilmesi
- Yapılan işlemler 0°C de 100 ohm doğruluğu temel alınarak yapılmıştır.
- Bu sebeple ilk olarak sensörünüzü aşağıdaki gibi buzlu su ile test edin.
- Eğer sonuçlar 100 ohm ‘ a yakın değerlerde çıkıyorsa sorun yok demektir.
- Burada kullanılacak yöntem ile 0°C ve yukarısı için ölçüm yapılabilir.
- Ölçüm farklı uçlardan yani mavi ve kırmızıdan yapılmalıdır. Aynı renk uçlar birbirine bağlı demektir.
- Aşağıda hesaplamalarımızda kullanacağımız sabitler ve formül bulunmaktadır. Bunların hesaplanmasını çözümlediğim zaman ayrıca ders olarak anlatacağım.
- Şimdilik bunların sabit olduğunu bilelim. Bu hesaplamalar yukarı da dediğim gibi 0°C de 100 ohm doğruluğuna göre yapıldı.
- KALİBRASYON FORMÜLÜ
- Gerçek Isı = (Z1+√Z2+Z3*r)/Z4
- r = PT100 den ölçülen direnç değeri (ohm)
- Z1 = -0,0039083
- Z2= 0,00001758480889
- Z3= -0,0000000231
- Z4= -0,000001155
- İşlemlerin doğru olması için tüm küsuratları alarak işlem yapacağız.
- Örnek : Sağlama açısından basit örnek yapalım. 0°C da 100ohm olduğunu söylemiştik o halde 100 ohm a göre formülü çözümleyelim
- Gercek Isı = (-0,0039083+√0,00001758480889+(-0,0000000231)*100)/-0,000001155
- Gerçek Isı = (-0,0039083+√0,00001758480889-0,00000231)/-0,000001155
- Gerçek Isı = (-0,0039083+√0,00001527480889)/-0,000001155
- Gerçek Isı = (-0,0039083+0,0039083)/-0,000001155
- Gerçek Isı = 0
- Örnekte görüldüğü gibi sırasıyla işlemleri yaptık ve sonuç 0°C çıktı.
- Şimdi formülü MikroC de kod haline getirelim.
PT100 ile MikroC de Sıcaklık Ölçümü
- Çalışmamızın temel prensibi , PT100 üzerinden +5v geçireceğiz ve çıkan sonucu direk PIC ADC ye göndereceğiz.
- Böylece PT100 içerisindeki direnç değişimine göre ADC ye giden voltaj değişecektir.
- İlk olarak hazırladığımız gerilim bölücüye göre hesaplamamızı yapalım.
- Fakat biz burada çıkış voltajını değil PT100 ün direncini hesaplayacağız.
- FORMÜL
- R1=((Giriş Voltajı*R2)-(Çıkış Voltajı*R2))/Çıkış Voltajı
- Giriş Voltajımız : 5v
- Çıkış Voltajımız : 4,5454 v(ADC den okunacak değer volta çevrilecek 5v=1023)
- R1 Direnci : PT100 ün direnç değeri ohm
- R2 Direnci : 1k yani 1000 ohm(devrede 1k kullandığımız için)
- R1= ((5*1000)-(4,5454*1000))/4,5454
- R1=(5000–4545,4)/4,5454
- R1=454,6/4,5454 = 100,01 Ohm
- Sonu görüldüğü gibi 100 ohm çıktı. Bu formülden hareketle ilk olarak PT100 ün sahip olduğu direnci bulacağız bu direnç değeri ile de kalibrasyon bölümündeki formülü uygulayarak sıcaklığı hesaplayacağız.
- Alttaki resimden PT100 ile sıcaklık ölçümü için gerekli işlem sıralamasını görebilirsiniz.
- Şimdi MikroC de yukarıdaki sıralama ile işlemleri yapacağız.
char SAPTRIS at trisd;//data portları char SAPDATA_giris at portd; char SAPDATA_cikis at latd; sbit SAP1024_RD at RC1_bit ; //GLCD RD UCU BAĞLANTI PİNİ sbit SAP1024_CE at rc2_bit ; //GLCD CE UCU BAĞLANTI PİNİ sbit SAP1024_CD at Rc3_bit ; //GLCD C/D UCU BAĞLANTI PİNİ sbit SAP1024_RST at Rc4_bit ; //GLCD RST UCU BAĞLANTI PİNİ sbit SAP1024_FS at Rc5_bit ; //GLCD FS UCU BAĞLANTI PİNİ sbit SAP1024_WR at RC0_bit ; //GLCD wr UCU BAĞLANTI PİNİ sbit SAP1024_RD_Direction at TRISC1_bit; //GLCD RD UCU BAĞLANTI PİNİ sbit SAP1024_CE_Direction at TRISC2_bit; //GLCD CE UCU BAĞLANTI PİNİ sbit SAP1024_CD_Direction at TRISC3_bit; //GLCD C/D UCU BAĞLANTI PİNİ sbit SAP1024_RST_Direction at TRISC4_bit; //GLCD RST UCU BAĞLANTI PİNİ sbit SAP1024_FS_Direction at TRISC5_bit; //GLCD FS UCU BAĞLANTI PİNİ sbit SAP1024_WR_Direction at TRISC0_bit; //GLCD FS UCU BAĞLANTI PİNİ void main() { float PT100_direnci=0,veri=0; unsigned short sicaklik=0; char txt[15]; ADCON0=0b00000100;//AN1 seçildi ADCON1=0b00010001;//vref girişi ayarlandı ADCON2=0b10100011;//gerekli ayarlar yapıldı - datasheeti inceleyin- CMCON=7;//komparatörler kapatılı SAP1024_INIT(240,128,6);//kendi GLCD kütüphanemi çağırdım SAP1024_YAZI_YAZMA(8,10,"'C"); while(1)//sonsuz döngü kurarak sürekli okuma yapacağım { delay_us(100); ADON_bit=1; delay_us(100); GO_DONE_bit=1; delay_us(100); while(go_done_bit); delay_us(100); veri=(ADRESH<<8)|adresl; //ADC den gelen değer okunur delay_ms(250);//bekleme ekledim //veriyi volta çeviriyoruz veri=(5/1023f)*veri; //volt değerinden PT100 direnci hesaplanır PT100_Direnci=((5*1000)-(veri*1000f))/veri; //PT100 direnç değeri ile sıcaklık hesaplanır sicaklik=(-0.0039083+sqrt(0.00001758480889-0.0000000231*PT100_Direnci))/-0.000001155; shorttostr(sicaklik,txt);//veriti stringe çevirdim - MikroC Kütüphanesi SAP1024_YAZI_YAZMA(10,10,txt);//Veriyi ekranda yazdırdım } }
- Tüm formül ve kalibrasyonun yapıldığı kod yukarıdadır.
- Ben okunan sıcaklığı göstermek için kendi GLCD kütüphanemi kullandım.(SAP1024B GLCD Kütüphanesi)
SONUÇ
- Test videosunda bazı sapmalar görülecektir ancak bu sapmalar devrenin PCB üzerinde olmamasından kaynaklanmasına rağmen kod da görüleceği gibi 250 ms gibi hızlı bir örnekleme alındığı halde aşırı bir sapma yaşanmamaktadır.
- Sıvının ısısı ölçülürken PT100 tabana temas etmemelidir. Ölçümlerde oluşan bir anlık fırlamaların sebebi tabana değen PT100 ün ısıtıcıdan bir anlık yüksek ısıları almasıdır.
- Daha iyi sonuç için birden fazla ölçümü kayıt edip ortalamasını alabilirsiniz. Bu çalışma sadece temeldir ve geliştirilebilir.
- ADC işlemlerinde en iyi sonucu almak için daima harici referans voltajı kullanılmalıdır.
- Çalışmanın sonuna geldik. Aklınıza takılan sorularınızı “Soru-Cevap” forumuna sorabilirsiniz.
Video Anlatım
Yararlanılan Kaynaklar
- Pt100Temperature_Resistance4digits
- Pt100-Temperature-Sensors
- RTD Interfacing and Linearization Using an ADuC8xx MicroConverter