NTC ile Sıcaklık Ölçümü

NTC ile Sıcaklık Ölçümü ntc ile sıcaklık

Bu içeriğimizde, NTC ile sıcaklık ölçümü yapıyoruz. Endüstriyel otomasyon sistemlerinden akıllı ev cihazlarına, batarya yönetim sistemlerinden (BMS) tıbbi cihazlara kadar sıcaklık kontrolü gerektiren hemen her alanda termistörler kritik öneme sahiptir. Sıcaklığa bağlı olarak elektriksel direnci değişen bu yarı-iletken devre elemanları, özellikle doğrusal olmayan (non-linear) karakteristik eğrileriyle bilinirler.

Bu doğrusal olmama durumunu çözmek ve analog sinyallerden yüksek doğrulukta sıcaklık verileri elde etmek, gömülü sistem mühendisliğinin temel konularından biridir. Bu rehberimizde, sıcaklıkla direnci azalan NTC (Negative Temperature Coefficient) termistörlerin fiziksel teorisini, Steinhart-Hart ve Beta denklemlerini kullanarak bu direnç değişimini nasıl doğrusallaştıracağımızı ve Arduino ile pürüzsüz sıcaklık okumasının nasıl yapılacağını tüm matematiksel detaylarıyla ele alacağız.

Sıcaklık ölçümünde kullanılan NTC’ler, termistör (sıcaklığa duyarlı direnç) ailesinin negatif katsayılı alt sınıfını temsil eder. Sıcaklık arttıkça NTC yarı-iletken kristalindeki serbest yük taşıyıcılarının enerjisi artar ve kristal kafes içindeki hareket yetenekleri yükselir; bu fiziksel süreç, malzemenin elektriksel direnç değerinin logaritmik bir eğriyle düşmesine yol açar.

NTC Termistörlerde Sıcaklık Katsayısı (Alfa – \alpha) Kavramı

Bir termistörün sıcaklık değişimlerine karşı gösterdiği hassasiyet, direnç sıcaklık katsayısı olan alfa (\alpha) parametresiyle tanımlanır. Belirli bir mutlak sıcaklık değerinde (T), termistör direncinin sıcaklığa bağlı anlık değişim oranı matematiksel olarak şu diferansiyel denklemle ifade edilir:

    \[\alpha = \frac{1}{R} \cdot \frac{dR}{dT}\]

Burada T mutlak sıcaklığı (Kelvin cinsinden) ve R ise bu sıcaklığa karşılık gelen elektriksel direnci (Ohm cinsinden) temsil eder. NTC termistörler için sıcaklık arttıkça direnç azaldığından, türev (dR/dT) negatif bir değer alır ve bu da alfa katsayısının her zaman negatif olmasına yol açar.

Alfa değeri genellikle sıcaklık birimi başına yüzde direnç değişimi (Santigrat derece başına % direnç değişimi, \%/\text{°C}) olarak ifade edilir. Örneğin, -4.4\%/\text{°C} alfa katsayısına sahip bir NTC, sıcaklıktaki her 1\text{ °C}‘lik artış için direncinde yaklaşık \%4.4 oranında azalma meydana geleceğini gösterir.

NTC direnç/sıcaklık (R/T) eğrisi doğrusal olmadığından, hassas uygulamalarda direnç toleransı yerine belirli bir sıcaklık aralığındaki mutlak sıcaklık toleransı (örneğin, 0\text{ °C} ile 100\text{ °C} arasında \pm 0.2\text{ °C}) verilir. Belirli bir sıcaklık noktasındaki yüzde direnç toleransını hesaplamak için anlık alfa katsayısı ile sıcaklık toleransı çarpılır:

    \[\text{Direnç Toleransı } (\pm\%) = |\alpha| \text{ } (\%/\text{°C}) \times \text{Sıcaklık Toleransı } (\pm\text{°C})\]

NTC Doğrusallaştırma Yöntemleri ve Matematiksel Modeller

Analog bir sinyali fiziksel bir sıcaklık değerine dönüştürürken doğrusal olmayan eğriyi işlemek için iki temel matematiksel yöntem kullanılır: Steinhart-Hart Denklemi ve Beta (\beta) Parametresi Denklemi.

1. Steinhart-Hart Denklemi

Steinhart-Hart denklemi, termistörlerin yarı-iletken fiziğindeki logaritmik davranışını modelleyen ve -80\text{ °C} ile +260\text{ °C} gibi çok geniş aralıklarda yüksek doğruluk (±0.01 °C hata payı) sunan üçüncü dereceden bir polinom modelidir:

    \[\frac{1}{T} = A + B\ln(R) + C(\ln(R))^3\]

Burada:

  • T: Kelvin cinsinden mutlak sıcaklık (T_K = T_C + 273.15)
  • R: Ohm (\Omega) cinsinden ölçülen anlık NTC direnci
  • A, B, C: Termistör üreticisi tarafından sağlanan veya deneysel olarak hesaplanan kalibrasyon katsayılarıdır.

Eğer katsayılar bilinmiyorsa, bilinen 3 farklı sıcaklık (T_1, T_2, T_3) ve bu sıcaklıklardaki direnç (R_1, R_2, R_3) değerleri denkleme yerleştirilerek 3 bilinmeyenli doğrusal denklem sistemi elde edilir. Bu sistem, matris çarpımı veya Cramer kuralı kullanılarak çözülerek A, B ve C katsayıları hassas biçimde hesaplanır.

2. Beta (\beta) Parametresi Denklemi

Daha dar sıcaklık aralıklarında (0\text{ °C} ila 100\text{ °C}) işlem gücü sınırlı olan mikrodenetleyiciler için Steinhart-Hart modelinin basitleştirilmiş bir versiyonu olan Beta denklemi tercih edilir. Bu model, malzemenin aktivasyon enerjisine dayanan \beta katsayısını kullanır:

    \[\frac{1}{T} = \frac{1}{T_0} + \frac{1}{\beta}\ln\left(\frac{R}{R_0}\right)\]

Burada T_0 referans sıcaklığı (genellikle 25\text{ °C} yani 298.15\text{ K}), R_0 bu referans sıcaklığındaki nominal direnç (genellikle 10\text{ k}\Omega) ve \beta ise termistörün malzeme sabitidir (tipik olarak 3000\text{ K} - 4500\text{ K} arası).

Arduino Donanım Bağlantısı ve Direnç Ölçüm Prensibi

NTC sıcaklığını ölçebilmek için öncelikle anlık direnç değerini voltaja dönüştürmemiz gerekir. Bunun için NTC ve bilinen sabit bir direnç (genellikle 10\text{ k}\Omega, \%1 toleranslı metal film) kullanılarak kararlı bir gerilim bölücü devresi kurulur.

NTC ile Sıcaklık Ölçümü
NTC ile Sıcaklık Ölçümü

Devrede V_{in} = 5\text{ V} beslemesi kullanıldığında, Arduino’nun A0 analog girişinden okunan voltaj (V_{out}), gerilim bölücü formülüyle ifade edilir:

    \[V_{out} = V_{in} \cdot \frac{R_{fixed}}{R_{ntc} + R_{fixed}}\]

Arduino’nun 10-bitlik ADC modülü, 0\text{ V} - 5\text{ V} arasını 0 - 1023 analog değer aralığına (ADC_{deger}) haritalandırır. Bu durumda R_{ntc} direnci, matematiksel olarak şu şekilde yalnız bırakılarak hesaplanır:

    \[R_{ntc} = R_{fixed} \cdot \left(\frac{1023}{ADC_{deger}} - 1\right)\]

Burada elde edilen R_{ntc} değeri, doğrudan Steinhart-Hart veya Beta denklemine tabi tutularak Kelvin sıcaklığı elde edilir. Elde edilen Kelvin değeri, T_C = T_K - 273.15 formülüyle kolayca Santigrat dereceye çevrilir.

Projemizi gerçekleştirmek için kodların taşınabilirliğini ve donanım uyumluluğunu göz önüne alarak, endüstri standardı Arduino programlama platformunu ve popüler ATMega328 tabanlı kontrol kartlarını tercih ettik. Matematiksel algoritmaları içeren bu yazılım, mimariden bağımsız olduğu için diğer tüm mikrodenetleyici (MCU) mimarilerine de kolayca uyarlanabilir. Kullanılan bileşenin fiziksel sınırları hakkında detaylı bilgi edinmek için Murata NTC Termistör teknik veri sayfasına (datasheet) göz atabilirsiniz.

NTC ile Sıcaklık Ölçümü için Arduino Kodu

Aşağıda paylaşılan kaynak kod NTC ile sıcaklık ölçümünde kullanılabilir. Arduino’nun ADC birimini kullanarak R_{ntc} direncini hassas biçimde hesaplar ve ardından Steinhart-Hart formülünü uygulayarak sıcaklığı ekrana yazdırır. Kodda anlık gürültüleri engellemek adına ardışık 5 analog ölçümün aritmetik ortalaması alınarak sayısal filtreleme uygulanmıştır:

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.