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 –
) Kavramı
Bir termistörün sıcaklık değişimlerine karşı gösterdiği hassasiyet, direnç sıcaklık katsayısı olan alfa (
) parametresiyle tanımlanır. Belirli bir mutlak sıcaklık değerinde (
), termistör direncinin sıcaklığa bağlı anlık değişim oranı matematiksel olarak şu diferansiyel denklemle ifade edilir:
![]()
Burada
mutlak sıcaklığı (Kelvin cinsinden) ve
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 (
) 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,
) olarak ifade edilir. Örneğin,
alfa katsayısına sahip bir NTC, sıcaklıktaki her
‘lik artış için direncinde yaklaşık
oranında azalma meydana geleceğini gösterir.
NTC direnç/sıcaklık (
) 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,
ile
arasında
) 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:
![]()
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 (
) Parametresi Denklemi.
1. Steinhart-Hart Denklemi
Steinhart-Hart denklemi, termistörlerin yarı-iletken fiziğindeki logaritmik davranışını modelleyen ve
ile
gibi çok geniş aralıklarda yüksek doğruluk (±0.01 °C hata payı) sunan üçüncü dereceden bir polinom modelidir:
![]()
Burada:
: Kelvin cinsinden mutlak sıcaklık (
)
: Ohm (
) cinsinden ölçülen anlık NTC direnci
: 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 (
) ve bu sıcaklıklardaki direnç (
) 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
ve
katsayıları hassas biçimde hesaplanır.
2. Beta (
) Parametresi Denklemi
Daha dar sıcaklık aralıklarında (
ila
) 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
katsayısını kullanır:
![]()
Burada
referans sıcaklığı (genellikle
yani
),
bu referans sıcaklığındaki nominal direnç (genellikle
) ve
ise termistörün malzeme sabitidir (tipik olarak
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
,
toleranslı metal film) kullanılarak kararlı bir gerilim bölücü devresi kurulur.

Devrede
beslemesi kullanıldığında, Arduino’nun A0 analog girişinden okunan voltaj (
), gerilim bölücü formülüyle ifade edilir:
![]()
Arduino’nun 10-bitlik ADC modülü,
arasını
analog değer aralığına (
) haritalandırır. Bu durumda
direnci, matematiksel olarak şu şekilde yalnız bırakılarak hesaplanır:
![]()
Burada elde edilen
değeri, doğrudan Steinhart-Hart veya Beta denklemine tabi tutularak Kelvin sıcaklığı elde edilir. Elde edilen Kelvin değeri,
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
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.

