NTC Table yardım

Başlatan flowchartx, 02 Eylül 2023, 22:51:44

flowchartx

İyi akşamlar herkese
Bir NTC sensörüm var. Modeli NTCS0805E31 ve PullDown yani direncim GND kısmında bunu değiştirmem imkansız, benim bu sensörün look up tablenı çıkarmam lazım. Bu tablolar nasıl çıkarılıyor? Steinhart-Hart denkleminde A B C değerlerini kendi sensörüm için nasıl bulabilirim? Aklım çok karıştı internette tablolar var ama her sensör için aynı olduğunu düşünmüyorum. Yardımcı olabilir misiniz ?

power20

#1
Devrenizde ihtiyaç duyulan sıcaklık aralığı ve hassasiyeti belirleyin.

Örneğin 20..30 derece arası 1 derece hassasiyet yeterli olsun.


20 derecede Adc ile ölçüm yapın
21 derecede
22 derecede..


Ölçüm sonuçları  tablomuzdur

Ara değerleri algoritma ile yuvarlamak sonra tabloya sormak gerekir

Tabloda 1000 var 1020 var fakat 1010 yok ise ikisinin ortası bir değer varmış gibi az hatalı bir kabul yapılabilir. Ben olsam böyle yapardım.



Belki de şu site yararlı olur
https://www.sebulli.com/ntc/





flowchartx

Hocam 150 derecelik bir ölçüm aralığım var bütün aralıkları tek tek elde etmem mümkün değil.

Attığınız siteyi bende gördüm

https://www.sebulli.com/ntc/index.php?lang=en&points=1024&unit=0.5&resolution=12+Bit&circuit=pulldown&resistor=10000&r25=10000&beta=3940&test_resistance=10000&tmin=-40&tmax=150
şu değerler için bu tablonun doğruluğundan emin değilim. 2048 değeri için 25 derece çıkmıyor sonuç

power20

#3
Alıntı yapılan: flowchartx - 02 Eylül 2023, 23:25:22Hocam 150 derecelik bir ölçüm aralığım var bütün aralıkları tek tek elde etmem mümkün değil.

Tabloyu seyrek aralıklı yapalım. Boşlukları  sanki doğrusal imiş gibi düz hesapla bulalım?  İstenen hassasiyet nedir? Belki bu yöntem kabul edilebilir

NTC yapısı grafiği muhtemelen markaya modele göre değişecektir. Belki bir katsayısı vardır. Bu katsayı birden fazla da olabilir

Okan AKÇA

Forumda aratırsaniz ntc ile ölçüm başlıklı konuda gerekli bilgiler mevcut


hasankara

#6
ftmp = ((ftmp * 2700) / (4095 - ftmp)); /*2.7k direnc pull upp, adc 12bit*/
 /*NTC*/
if (mode == an_sens_ntc)
    {
        /* sicaklik bulunur*/
        int beta = 3977;
        int r25 = 10000;
        float t0 = -273.15;
        float tn = 25.0 - t0;
        ftmp = beta * tn / (beta + log(ftmp / r25) * tn) + t0;
    }

    /*PT1000*/
    else if (mode == an_sens_pt1000)
    {
        ftmp = -(pow((-0.00232) * ftmp + 17.59246, 0.5) - 3.908) / 0.00116;
    }

flowchartx

#7
Evet herkese teşekkürler forumda daha önceden bu işi çözmüşler ama benim bir sorum daha olacak. O konuda hep PullUp direncine göre hesaplamalar yapılmış ve tablolar oluşturulmuş. Benim direncim GNDye bağlı ben burada hesapladığım tablonun tersini almam gerekiyor dimi? Doğru mu düşünüyorum?

Bide kafama yatmayan olay 4096 elemanlı bir tablo oluşturdum. Ben sıcaklığı bu tablodan nasıl çekicem direkt adcden okunan değeri int'e çevirip tablodan baksam doğru çıkmıyor gibi. Tabloyu https://www.mediafire.com/download/6uc6z3hxtb3ms9z/NTC_Calc.rar burdan hesaplıyorum

istek61

bende bir dönem bu konuya takılmıştım.
bir formül var 3 değerin ortalaması alınarak yada kaliteli bir ntc ise datasheetin den bu degerleri alarak kesin sonuçlar alabiliyorsunuz.
ama %100 net değerlerle çalışmanız gerekiyorsa. örneğin bir yumurtadan civciv çıkarmak için.
bulunduğunuz rakım bile önemli ve saf suyla ölçümleri yapmanız gerekiyor. musluk suyuda bu hassasiyeti etkiliyor.

kesin derecesini bildiginiz eksi bir donma noktasındaki ntc değeriniz. 0 lara yakın bir ntc değeriniz bir de yüksek ntc değerinizi bu tabloya girdiğinizde size gerekli olan oranı veriyor.
çok saçma =) üreticinin hepsine hassas değerleri vermesi gerekiyor. bence ithalatçıların ve satıcıların ilgisizligi
Meraklı Acemi