Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Pic16f877 PT100 yardım..

Başlatan eln07, 07 Nisan 2008, 09:10:24

eln07

Merhaba,öncelikle eğer konuyu yanlış yere açtıysam özür dilerim.
Benim sorunum pt100 adnda bir ptc yi 16f877 le kullanarak termostat yapmak.
yardımlarınızı bekliyorum.
pt100 0C de 100ohm veren ve maximum 200ohm olan bir ptcdir.Bu sensör Elimko Firmasına ait
gerekli dökümanları (direnç değişimleri falan v.s.) buldum ve inceledim ama beceremedim
pic te 10bit çözünürlükte denedim ama sağlıklı sonuç alamadım,piyasada bazı cihazlar gördüm bu sensörle çalışan,içerlerini açıp baktım sensör okuma kısmında op-amplar var.Sanırım opampları voltaj okumada kullanıyorlar ve bu cihazlar 100-200 metre kablo üzerinden sensörü okuyabiliyor.
benim tam olarak istediğimde bunun gibi birşey.yani kablo üzerinden yaklaşık 100 metrede bu sensörü okutturabilmek.çok zorlanırsam DS1821 e geçicem bakalım o ne tepki vericek.Dsyi 30 metre kabloda çalıştırdım ama 100metre bilemiyorum.yorumlarınızı bekliyorum.
şimdiden çok teşekkürler.
PicBasicPro v2.50 Kullanıyorum.

Erol YILMAZ

PT100, endüstri de PTC ismiyle değil,  RTD olarak bilinir.
RTD sıcaklığa göre direnç değiştiren bir sensor.
Bu malzemenin ifade ettiği sıcaklığı okumak için genelde
RTD üzerinden küçük bir akım akıtılır Ve RTD üzerinde düşen gerilim, okunur.

Daha fazla ayrıntı için komponent üretici firmaların uygulama notlarına,
datasheetlerine bakabilirsin. Örn. Microchip, Ti, Analog Device...

Maxim

ptc yani ntc nin tersi gibi ,
yani, sıcaklık arttıkça ptc nin direnç değeride artıyor .

kabaca konuşmak gerekirse ,

ptc nin bir ucunu şaseye verelim ,
diğer ucunu 1k lık bir dirence ,
direncin diğer ucunuda 5 volta verelim .

böylece direnç ve ptc nin temas ettiği noktadaki voltaj değeri sıcaklığa bağlı olarak değişecektir ,bu değer adc ile onunabilir ,gerekli değişiklikler yapılarak sıcaklık değeri bulunur ..

ama asıl sorun başka ,
ptc ve ntc gibi sıcaklığa göre değişen dirençlerin eğrisi linear değildir !
yani bizim adc girişimiz linear olduğundan ,sıcaklığın en altı ile en üstü doğru okunurken ortalarda hatalı okumalar olacaktır .

bu sıkıntıyı gidermek için başka yollar aramak gerekiyor .
bunlardan biri tablo hazırlamak ,
diğeri Stein-Hart metodu kullanarak eğri uydurma yöntemi ( ben beceremedim )
vs vs başka yöntemler ( varsa bile ben bilmiyorum )

tnen

Sayın ustad Allegro'nun da dediği gibi ilk once bir sabit akım kaynağı ile PT100 uzerinden bir akım akıtmalısın tabiki bu akan akım sabit olacağından PT100 uzerine düşen gerilim sıcaklıga bağlı olacaktır. Sizin gordugunuz indikatorlerdeki opamplar bu sıcaklığa bağlı olarak değişen mv lar seviyesindeki gerilimi yukseltmek ve 0 derecede 100 ohm olan PT100 uzerindeki voltajın zero ayarını yapmakta kullanılır.Eğer okuyacağın sıcaklık 0-200 derece gibi ise yani negatif sıcaklık okumayacsanız tasarımı yapılan kartın girişinden bir kalibrator ile yada 100 ohm olduğuna kesin inandığınız bir referans vererek 0 degerini ayarlarsınız.Kazanç hesaplaması yaparak opampın geribesleme direncini hesaplayıp buradaki direç değerini tutturacağınız bir trimpot ilede max sıcaklık değerine karşılık gelen referansı verip max değeri ayarlarsınız bundan sonraki iş picin ADC sinden bu analog değeri alıp ölçeklendirmeye kalıyor.Sabit akım kaynağı için LM34 ü kullanabilirsin sanırım.Eğer anlaşılmayan bir yer varsa yardımcı olmaya çalışırım yine.

dombilik

endüstriyel analog kontrol kartlarının eski tiplerinde RTD ye 1.5mA sabit akım gönderilip elde edilen mV değeri değerlendirmek sureti ile kullanılıyordu.Daha sonraki modellerde ise sabit 5mA gönderilerek yapılmaya başlandı..100 derecede 500mV okunacak şekilde..
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

Klein

Alıntı yapılan: "dombilik"endüstriyel analog kontrol kartlarının eski tiplerinde RTD ye 1.5mA sabit akım gönderilip elde edilen mV değeri değerlendirmek sureti ile kullanılıyordu.Daha sonraki modellerde ise sabit 5mA gönderilerek yapılmaya başlandı..100 derecede 500mV okunacak şekilde..

PT100'e 5mA uygulayan her kimse büyük bir hata yaptığının farkında değil sanırım. PT100'e uygulanacak akım değeri , ürerinde düşmesini istediğimiz gerilime göre seçilmez.  Çünkü PT100 üzerinden ne kadar çok akım geçerse PT100'ün kendi kendine ısınması o kadar artacaktır(self heating). 5mA  bu iş için oldukça yüksek bir değer.  Dünyadaki standart 1mAdir. PT100 üzerine yapılan tüm bilimsel çalışmalar 1mA üzerinden yapılır. Ama bu değer bile aslında yüksektir. Analog Device ADUC serisinde PT100 için 200 mikroAmper akım çıkışı vermektedir.

hsaglam

PT100 RTD sensörlerin üzerinden geçecek akımın max. 1 mA olması gerektiği konusuna ölçümün yapılabilmesi açısından kesinlikle katılıyorum.

Ancak kablo mesafesi arttıkça kablodaki direncin artış değeri; PT100'ün direncine ekleneceğinden ölçüm yine hatalı olacaktır veya kablonun direnç değeri öyle değerlere çıkacak ki senin 1 mA'in kayıp olup gidecektir.


Burada yapmanız gereken şunlar;

1- Mesafeye göre kabloda oluşacak direnci hesaplamalısınız
2- Oluşan direnç değerine göre PT100'ün üzerinden 1mA akım akacak şekilde besleme voltajını değiştirin

Yada tüm bunları bir kenara bırakıp pic'i sahada kullanın (PT100'ün hemen orada) ve çıkış sinyali olarak standart olan 4-20mA ölçüm sinyali ürettirin. Burada mesafe sorununuz kalmaz zira kablolamadaki metraj değişikliklerini çıkış akım değerini sürekli kontrrol ederek (feedback) düzeltme yapacağınız için metrajınız hiç sorun olmayacak. Daha sonra başka bir pic ile bu 4-20mA lik ölçüm sinyalini ölçtürebilirsiniz
veya zaten cihazınız standart sinyal (4-20) olmuş olacağı için herhangi bir endüstriyel ölçüm aleti ile de ölçebilirsiniz

Erol YILMAZ

Akım kaynağı dirençten bağımsız olarak 1 mA üretecektir,
Zaten RTD nin değeri de sıcaklığa bağlı olarak değişiyor.

Kablonun uzun olması 1 mA i etkilemez !

hsaglam

Olay üzerinden biraz beyin jinmastiği yapalım;

PT100 (RTD) sensör sıcaklığa bağlı direnç değerine sahip olacak bir enstrumandır. Sıcaklığa bağlı olarak RTD'nin sahip olması gereken direnç değeri Callendar-Van Dusen denklemi ile hesaplanmaktadır.

///// ALINTIDIR //////////////////////

Convert RTD Reading Details
This VI first finds the RTD resistance by dividing RTDVolts by Iex. The VI then converts the resistance to temperature using the following solution to the Callendar Van-Dusen equation for RTDs.

Rt = Ro[1 At Bt2 C(t–100)t3]

For temperatures above 0° C, the C coefficient is 0, and the preceding equation reduces to a quadratic equation for which the algorithm implemented in the VI gives the appropriate root. So, this conversion VI is accurate only for temperatures above 0° C.


Your RTD documentation should give you Ro and the A and B coefficients for the Callendar Van-Dusen equation. The most common RTDs are 100, 500, or 1000 Ω platinum RTDs that follow either the European temperature curve (DIN 43760) or the American curve.

The following table gives the values for A and B for the European and American curves.

European Curve (DIN 43760)    American Curve
A = 3.90802e–03                     A = 3.9784e–03
B = –5.80195e–07                   B = –5.8408e–07
(= 0.00385;  = 1.492)              (= 0.00392;  = 1.492)

Some RTD documentation gives values for  and , from which you can calculate A and B using the following equations.

A = (1 /100)
B = – /1002

///////////////////////////////

Uygulamalarda genel olarak RTD'ye bir besleme voltajı verilir, RTD sıcaklığa bağlı olarak direncini değiştirir dolayısıyla devreden geçen akım değişir, bu akım da pic'in olduğu devrede bir direnç üzerinden akıtılarak direnç üzerindeki gerilim oluşturulur. Bu gerilim pic ile okunarak RTD'nin o anki direnci hesaplanmaya çalışılır. Bu direnç değeri ile de sıcaklık değeri hesaplanır. (yukarıdaki denkleme göre)

Şimdi arkadaşımız 30 metrede uygulamasını çalıştırabildiğini, ancak 100 metrede çalıştıramadığını söylemektedir.

RTD burada sıcaklığa bağlı olarak direnç değerini gerçekte değiştirmektedir. Buna şüphe yok ancak kablo direncinin yükselmesinden dolayı devreden geçmesi beklenen akım değeri daha az olacaktır ve bu da pic tarafından okunacak voltajın düşmesine, iyi ihtimalle yanlış ölçüme, kötü ihtimalle sıcaklığın hiç okunamamasına neden olmaktadır.

Burada ya voltaj değerini biraz yükselterek gerçekte geçmesi beklenen akım aralığında geçişin sağlanması lazım ya da (eğer pic tarafından voltaj okunabiliyorsa) program tarafında kablo direncinden dolayı düşen voltaj hesaplanarak doğru ölçümün yapılabilmesi için gerekli program düzeltmesinin yapılması gerekmektedir.

Bir ihitmal daha var onu hep göz ardı ettik; kablonun elektromanyetik girişime uğraması sonucu sinyalin yok olması

Kolay gelsin iyi çalışmalar

Erol YILMAZ

RTD ler için genellikle akım kaynağı kullanılır.
4 uçlu ölçüm tekniği ile RTD nin kablo boyundan bağımsız ölçüm yapmak mümkün olur.
Ayrıca RTD den akıtılan akım aynı zamanda
ADC ye Ref. gerilim olursa AKIM KAYNAĞINDAKİ
değişikliklerden de etkilenmemiş oluruz.
Bu tekniğe "Ratiometric" diyoruz.
Daha fazla bilgi için Bakınız: Analog Devices

alialicik

Sevgili eln07;
Bundan iki yıl kadar önce bahsettiğin devre ile bende uğraşmıştım. Olay pt100 deki sıcaklık-gerilim eğrisinin lineer değil logaritmik olmasından kaynaklanıyor. Yaptığım uygulamada uygulamayı yaptığım kişi gerilim değerini opamplarla logaritmikten lineere çevirmiş bende aldığım lineer değeri programla 7 segment üzerinde göstermiştim. Bu konu ile ilgili araştırma yaparsan dökümanlara ulaşabilirsin. Bende hiç dökümanı kalmamış dediğim gibi eski bir proje idi.