NTC termistörü kullanarak sıcaklık nasıl ölçülür?


17

Bir TTC103 NTC termistörüm var. 25 ° C'de 10 kΩ sıfır güç direncine ve 4050 B25 / 50 değerine sahiptir. Sıcaklığı ölçmek için nasıl kullanabilirim?


Hey, tam olarak aynı termistörüm var :)
abdullah kahraman

Yanıtlar:


12

NTC (negatif sıcaklık katsayısı) termistörleri sıcaklık üzerindeki etkin dirençlerini değiştirir. Bu değişikliği modellemek için kullanılan en yaygın denklem Steinhart-Hart denklemidir . NTC malzemesini büyük bir doğrulukla karakterize etmek için üç katsayı kullanır.

Steinhart-Hart denklemi farklı sıcaklıklarda bir yarı iletken direncinin bir modeldir. Denklem:

1T=A+Bln(R)+C(ln(R))3

nerede:

  • sıcaklıktır (kelvin cinsinden)T
  • , T'deki dirençtir(ohm cinsinden)RT
  • , B ve C ,termistörün tipine ve modeline ve ilgilenilen sıcaklık aralığına bağlı olarak değişenSteinhart-Hart katsayılarıdır. (Uygulanan denklemin en genel şekli bir ( ln ( R ) ) 2 terimi içerir, ancak genellikle diğer katsayılardan çok daha küçük olduğu ve bu nedenle yukarıda gösterilmediği için bu genellikle ihmal edilir.)ABC(ln(R))2

- Steinhart-Hart denklemi - Vikipedi, Özgür Ansiklopedi

Birçok üretici uygulama notları sağlar (ör. Burada , belirtilen imalat toleransından daha iyi bir doğruluk istiyorsanız, belirli bir NTC'nin nasıl kalibre edileceğine dair ayrıntılı ) sağlar.

Sağlanan B katsayısı, "B parametre denklemi" altındaki Wikipedia Termistör makalesinde açıklandığı gibi basitleştirilmiş bir Steinhart-Hart denkleminde kullanılabilir .


1
Her üç cevap da iyi görünüyor, ama bu bana en çok yardımcı oldu.
AndrejaKo

1
ile nasıl başa çıktınız ? ln
abdullah kahraman

2
Denklem için neden Wikipedia'ya gitmem gerekiyor? Burada veremez misin?
Federico Russo

Üretim toleransından bahsediyorsunuz. Ama eğer sadece B, B toleransı, R25 toleransı varsa toleransı nasıl tasarlayabilirim? NTCLE203 gibi
thexeno

@ thexeno maksimum ve minimum değerleri bir e-tabloya takın ve istediğiniz sıcaklık aralığında hesaplayın.
Nick T

13

Gerilim bölücü devresinde bir bacağı (diyelim "üst" bacağı), diğer bacağı bilinen bir direnç olarak kullanın. Bölücünün orta noktasındaki voltajı ölçün (örn. Analog-dijital dönüştürücü ile). Termistör direncini ölçülen voltajdan şu şekilde çıkarın:

Rthermistor=(VccVmeasured1)×Rknown

Denklemi kullanın:

T=Bln(RthermistorR0×eBT0)

sizin durumunuzda, , B = 4050 ve T 0 = ( 273 + 25 ) = 298 . Bu sayıları, artı termistörün ölçülen direncini denkleme takın ve Kelvin'de bir sıcaklık ortaya çıkar.R0=10000B=4050T0=(273+25)=298

Daha fazla bilgi için bu wikipedia makalesini okuyun .


1
Evet, sormalıyım :) Bu hesaplamaları 8 bitlik bir mikrodenetleyici kullanarak nasıl yapıyorsunuz?
abdullah kahraman

2
@abdullahkahraman, bir arama tablosu ve arama tablosu değerleri arasındaki enterpolasyonun bir kombinasyonunu kullanırsınız. 10 bitlik bir ADC'niz olduğunu varsayalım; bu ADC'den 1024 olası değerdir. 1024 dönüştürülmüş değeri belleğe kaydedebilir veya belleğe bağlı olarak 512 (her biri) veya 256 (her 4'te) vb. Depolayabilirsiniz. İnterpolasyon, doğruluğu artırmak için kullanabileceğiniz aşırı örnekleme veya "bantlama" gibi büyük bir konudur.
akohlsmith

@AndrewKohlsmith Aşırı örnekleme çözünürlüğü nasıl artırır?
abdullah kahraman

@abdullahkahraman arama tablosu örneklemeniz girdi alanı üzerinde tekdüze olmayabilir ... "curvier" olan eğrinin daha fazla örneğini depolamak ve enterpolasyon uygulamak size daha iyi bir hata özelliği verebilir
vicatcu

1
@thexeno yeni bir soru sor.
Nick T

6

NTC'ler doğrusal değildir ve sıcaklık-direnç ilişkisini ifade eden oldukça kötü formüller görürsünüz.
Bir çift sıradan direnç ekleyerek davranışlarını doğrusallaştırabilirsiniz, böylece bu ilişki formun basit bir doğrusal denklemiyle yaklaşık hale getirilir.y=birx+b. Aşağıdaki örnek bu Epcos uygulamasından alınmıştır .

enter image description here

enter image description here

Eğri neredeyse birçok uygulama için yeterli olan 0 ° C ila 60 ° C arasındadır.

Gelen bu cevap bazı durumlarda sadece seri direnç ile sınırlı etki üzerinde neredeyse mükemmel (15 ppm) doğrusal bir eğri elde edebilirsiniz göstermek.

düzenlemek
size ya Steinhart-Hart denklemi Nick ve Vicatcu kullanmak gerekecektir bir direnç için para yoksa bakın veya bir arama tablosu ve interpolasyon kullanın. Her ikisi de daha fazla belleğe ihtiyaç duydukları dezavantaja sahiptir: Steinhart-Hart kayan nokta kütüphanesine ihtiyacınız olacak bir logaritma içerir (mikrodenetleyicinizin kayan nokta ALU'su olmadığını varsayarım). Arama tablosunun da bir miktar belleğe ihtiyacı vardır ve bunu enterpolasyon yapmanız gerekirse size doğrusallaştırılmış işlevden daha iyi bir hassasiyet vermeyebilir.


Yalnızca analog devreler kullanmadığınız sürece doğrusallaştırma yapmayın!
Jason S

Ve doğruluk için yazılan lütfen düzenleme: ilişki yok değil denklemin lineer basit hale gelir. İlişki , belirli bir sıcaklık aralığında doğrusal bir denkleme yaklaşır .
Jason S

4
Jason: Ayrıntılı anlatabilir misin? Neden dijital devrelerde lineerleşmiyorsunuz?
Stephen Collings

Uygulama notu, bu yapılandırmanın hassasiyetten biraz etkileneceğini söylüyor.
abdullah kahraman

2
@abdullah - Bunu ironik bir şekilde ifade ettim :-). Ama görünüşe göre daha fazla kullanıcı daha karmaşık durumu tercih ediyor gibi görünüyor, ama umursamıyorum, ancak daha basit çözümü reddetmeyi düşünebilmemin tek nedeni, direncin çok pahalı olması. :-)
stevenvh

4

Bir NTC'nin sıcaklığa doğrusal olmayan bir yanıtı vardır .

Potansiyel bir bölücü devresindeki voltajı ölçerek bir termistörün direncini hesaplayabilirsiniz. Sonra bir direnç elde edebilirsinizR, Ohm yasasını kullanarak.

Örneğin, 5V'luk bir kaynağınız olduğunu varsayalım, NTC ile seri olarak 1k direnç kullanın ve 0,5V ölçerseniz, 1k'yı 0,5V'a bölün ve direnç olarak 10k ohm alın.

Ayrıca ihtiyacınız var, T0 ve R,Ö, kelvinlerde 'sabit' bir sıcaklık ve bu sıcaklıkta direnci. Genellikle oda sıcaklığında verilir.

Sonra, bu ayrıntılar göz önüne alındığında T, sıcaklığı elde etmek için bu denkleme koyun .

T=11TÖ+(1B*lnR,R,Ö)


Lütfen denklemi doğru yazdığımı doğrulayın.
abdullah kahraman

3

Sıcaklığı ölçmek için termistörleri kullanmanın birkaç yolu vardır (hem analog devreler açısından hem de yazılım hesaplama açısından).

Kısa cevap, kabaca aşağıdaki gibidir:

  • Voltaj bölücü yapmak için termistörü ve referans direncini kullanın.
  • Voltaj bölücünün ortasını alın ve analogdan dijitale dönüştürün.
  • Yazılımdaki ADC voltajını ölçün.
  • Referans direnç ve termistörün R ve T eğrisi hakkındaki bilginizi kullanarak ADC sayımlarından sıcaklığa dönüştürün.

Burada bir takım incelikler var, bu yüzden daha fazla okumak için termistör sinyal koşullandırma hakkındaki bu makalemi kontrol etmek isteyebilirsiniz - bu yardımcı olur!


Makale iyi görünüyor!
AndrejaKo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.