PT-100-Sicaklik-Sensoru

PT100 Sıcaklık Sensörü Kullanımı – MikroC



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

PT100-Sensor
PT100 sensörü.  3 çıkış görülse de aynı renk olanlar birbirlerine bağlıdır.
  • 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.
PT100-Dogrusallik-Grafigi
PT100 doğrusallık grafiği. Teorik olan ile gerçekteki ölçüm grafiği farklıdır.
  • Teorik olarak doğrusal olsa da gerçekte doğrusal değildir. Bu sebeple kalibre edilmesi gerekir

 

PT100 Isı Ölçüm Sensörü Devresi

PT100-Devre-Kurulumu
PT100 devre kurulumu boarda yapıldı.
  • 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ı

PT100-devre-semasi
PT100 devre şeması. PT100 ile gerilim bölücü kurulur. Resmi büyütmek için üzerine tıklayın
  • 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
  • Oldukça doğru sonuç verir
  • Tablo kullanma gereksinimi yoktur
  • Matematik kütüphanesi kullanılması gereklidir.
  • Matematiksel işlemler sebebi ile yavaş sonuç verir
Tek Doğrusal Yaklaşım Metodu
  • Çok hızlı sonuç verir
  • Çok az kod kullanılır
  • Matematik kütüphanesi gerekmez
  • Tablo kullanma gereksinimi yoktur
  • Kısa sıcaklık aralıklarında hassastır
  • Geniş sıcaklık aralığından zayıf doğruluğa sahiptir
Parçalı Doğrusal Yaklaşım Metodu
  • Hızlıdır
  • Çok doğru sonuçlar verir
  • Matematik kütüphanesine gerek yoktur.
  •  Tek doğrusal metoda göre çok büyük boyutlu kod kullanımı gerekir
  • Direk matematiksel metoda göre çok büyük boyutlu kod kullanımı gerekir
  • 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.
PT100-Test-Olcumu
PT100 buzlu su ile test edilerek 0°C de 100 ohm okunursa sensörde herhangi bir sorun yok demektir.
  • Ölçüm farklı uçlardan yani mavi ve kırmızıdan yapılmalıdır. Aynı renk uçlar birbirine bağlı demektir.
PT100-ic-sistem
PT100 iç sisteminin diyagram olarak gösterimi. Aynı renk uçlar birbiri ile bağlıdır.
  • 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ü

PT100-Test
PT100 Sensörü yazılımının kaynar suda test edilmesi. Ölçü aletinde ki 5v referans voltajını gösterir.
  • Ç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=(50004545,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.
PT100-Islem-Sirasi
PT100 Sıcaklık ölçümü için takip edilmesi gereken işlem sıralaması
  • Ş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)
PT100-Test-Sonuc
PT100 testinden bir kesit

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


 

ERCAN KOÇLAR Hakkında

Çalışmalarım çocukken başladı kolonyalı kağıtları yakmak, ilaçları birbirine katmak gibi değişik deneylerim vardı. Kimya kitabında elektroliz ile suyun hidrojen ve oksijene ayrıldığı ve hidrojenin yandığını yazıyordu, o zamanlarda aklım almıyordu sudan nasıl yanan....Devamını okumak için tıklayınız ;)