19 Ekim 2026 Pazartesi

TMP36 Sıcaklık Sensörü


TMP36, Analog Devices tarafından üretilen düşük voltajlı, hassas bir santigrat sıcaklık sensörüdür. Santigrat °C cinsinden sıcaklığa doğrusal orantılı bir voltaj çıkışı sağlar. TMP36 sıcaklık sensörü oldukça hassastır. Asla aşınmaz. Birçok çevre koşulunda çalışır ve çalışması için harici bir bileşene ihtiyaç duymaz. Ayrıca, TMP36 sensörü kalibrasyon gerektirmez. +25°C'de ±1°C ve -40°C ile +125°C arasında ±2°C'lik bir doğruluk sağlar.

Sensör, 2,7 V ile 5,5 V güç kaynağıyla çalıştırılabilir ve aktif sıcaklık dönüşümleri sırasında yalnızca 50 µA tüketerek çok düşük bir kendi kendine ısınma sağlar (durgun havada 0,1°C'den az). Ayrıca, besleme akımını 0,5 µA'nın altına düşürmek için bir kapatma fonksiyonu da mevcuttur.

TMP36'nın çıkış ölçek faktörü 10 mV/°C'dir. Yani analog çıkış, sıcaklıktaki her 1°C'lik artış için 10 mV artar. Vout aralığı -40°C'de 0,1 V ve +125°C'de 1,75 V’tur. Oda sıcaklığında (25°C) ise Vout 0,75V'dur. 



Voltaj-Sıcaklık Grafiği





TMP Serisi Sıcaklık Sensörlerinin Karakteristik Değerleri


TMP Sıcaklık Sensörü

Sıcaklık Aralığı

Ölçek Faktörü

TMP35

10°C ≤ TA ≤ 125°C

10 mV/°C

TMP36

−40°C ≤ TA ≤ +125°C

10 mV/°C

TMP37

5°C ≤ TA ≤ 85°C

20 mV/°C



TMP36 Sıcaklık Sensörünün Çalışma Prensibi

Hemen hemen her silikon diyot sıcaklık ölçüm dönüştürücüsü olarak kullanılabilir. Standart bir gerçek diyot yerine diyot bağlantılı bir bipolar transistör (BJT) önerilir. Bunun nedeni, BJT'lerin tutarlı sıcaklık katsayısına sahip olması ve bu sayede sıcaklık üzerindeki hataların daha düşük olmasıdır. Transistör diyot bağlantılı olduğundan, kollektör-emitör gerilimi, baz-emitör gerilimiyle aynıdır. Bu gerilim, diyotun ileri gerilimi olarak kabul edilir. İleri gerilim, diyot uyarımı için yeterli akım kaynağı olduğunda mevcuttur. 

TMP36, diyot bağlantılı transistörün baz ve emitör arasındaki voltaj düşüşünün (ileri voltaj – VBE ) sıcaklık arttıkça bilinen bir oranda azaldığı gerçeğinden yararlanır. Bu voltaj değişimini hassas bir şekilde artırarak, sıcaklıkla doğru orantılı bir analog sinyal üretmek kolaydır. İleri gerilim ve sıcaklık arasındaki bu doğrusal ilişki, diyot bağlantılı transistörlerin sıcaklık ölçüm cihazı olarak kullanılmasının nedenidir. Esasen sıcaklık bu şekilde ölçülür.



TPM36 Sıcaklık Sensörünün Arduino İle Kullanımı




Sensörünün Vout pinini Arduino'daki A0 pinine veya herhangi bir analog giriş pinine bağlayabilirsiniz. Sensörün kararlılığını artırmak için, veri sayfasında +Vs pini ile GND arasına 0,1μF seramik kapasitör eklenmesi öneriliyor. Uzun kablolar kullanıyorsanız, sinyal hattına (Vout) seri olarak küçük bir direnç (örneğin 750 Ω) eklemek de gürültüyü azaltabilir.


TMP36 Sıcaklık Sensörü Nasıl Okunur?

TMP36'ya güç verdiğinizde, Vout pini hemen analog bir voltaj sinyali göndermeye başlar. Bu voltaj, sıcaklıkla orantılı (doğrusal) olarak değişir. Sıcaklıktaki her 1°C'lik artışta voltaj 10 milivolt (mV) veya 0,01 volt (V) artar. Örneğin, sensör -40°C'de 100mV ve +125°C'de 1750mV çıkış verir. Oda sıcaklığında (25°C) ise Vout 750mV'dur.

Arduino’da analogRead() komutu ile analog voltajı okuyabiliriz. Fakat bu fonksiyon bize gerçek voltajı doğrudan vermez. Voltajın karşılık geldiği dijital değeri verir. Arduino'da 10 bitlik bir Analog-Dijital Dönüştürücü (ADC) bulunur. Bu dönüştürücü, 0 ile ADC referans voltajı arasındaki giriş voltajlarını, 0 ile 1023 arasında tam sayı değerlerine dönüştürür. Bu, toplamda 1024 farklı olası değer anlamına gelir. İşte analogRead() komutu bize bu 0-1023 arasındaki dijital değerleri verir.





Arduino Uno’da referans voltajını yapılandırmadığımızda varsayılan olarak 5V’tur. Referans voltajı 5V ise; 5000mV / 1023 = 4,88 mV. Her bir dijital değerin karşılığı 4,88 mV’tur. Buna çözünürlük voltajımız 4,88 mV diyebiliriz. analogRead() komutu; 0V’da 0 değerini,  4,88mV’da 1 değerini,  9,76mV’da 2 değerini okur.

analogRead() komutu ile elde ettiğiniz sayıyı gerçek voltaja dönüştürmek için şu formülü kullanabilirsiniz: 

  • Vout = (analogOkuma değeri) × (ADC referans voltajı / 1023)

Voltajı elde ettiğimize göre artık bunu sıcaklığa dönüştürebiliriz. TMP36'nın 500 mV ofseti olduğundan çıkış voltajından(Vout) 500mV(veya 0,5V) çıkarıyoruz. Bu ofset, sensöre negatif sıcaklıkları okuma yeteneği kazandırır. Ardından, TMP36 her santigrat derece için 10 mV (veya 0,01 V) ürettiğinden sıcaklığı hesaplamak için çıkan sonucu 10mV(veya 0,01 V)’a bölmeniz gerekir:

  • Sıcaklık (°C) = [Vout(mV) - 500(mV)] / 10(mV)







Vout=100 x 4,88 = 488 mV, Sıcaklık=[488-500] / 10 = -1,2 ⁰С.

Vout=101 x 4,88 = 492,88 mV, Sıcaklık=[492,88-500] / 10 = -0,71 ⁰С.

Vout=102 x 4,88 = 497,76 mV, Sıcaklık=[497,76 -500] / 10 =  -0,22⁰С.

Vout=103 x 4,88 = 502,64 mV, Sıcaklık=[502,64 -500]  / 10 = 0,26 ⁰С.

Vout=104 x 4,88 = 507,52 mV, Sıcaklık=[507,52-500]  / 10 =  0,75⁰С.

olur.

Sıcaklığı bu şekilde bulabiliriz. Fakat burada dikkat edilmesi gereken birkaç nokta vardır: Referans voltajını 5V olarak aldığımız zaman analogRead() komutu 4,88mV’un tam katlarında bir değer okur. Yani 4,88mV’da, 9,76mV’da, 14,64mV’da, 19,52mV’da……… gibi ama TMP36’nın çıkışı, sıcaklık her 1°C arttığında 10mV artar. 4,88mV’lik artışlarla 10mV’luk artışlar kolay kolay aynı katta birleşmez. Bu nedenle 10mV’un tam katlarında okuma yapamayabiliriz. Bu durumdan dolayı hesaplanan sıcaklık değeri çoğu zaman gerçek sıcaklık değerine yakın, virgüllü değer çıkar. Bunun önüne geçmek için referans voltajını 1,1V ya da 3,3V yapabiliriz. Referans voltajını 1,1V yaparsak yeni çözünürlük değerimiz 1100mV / 1023 = ~ 1mV olur. Yani her bir dijital değerin karşılığı 1mV olur. Daha küçük değerlerde, dolayısıyla daha sık okuma yapacağımız için çözünürlüğü artırmış oluruz. Bu durumda 10mV’un tam katlarında voltaj değeri okuyabilir ve gerçek sıcaklık değerlerine daha yakın sıcaklık değerleri okuyabiliriz.

Referans voltajını 1,1V yaptığımızda gerçeğe daha yakın değerler okuyabiliriz ama bu seferde TMP36’nin yüksek sıcaklıklardaki çıkış voltajlarını okuyamayız. Çünkü referans voltajı 1100mV’tur. Oysaki TMP36 maximum 125°C’de 1750mV çıkış verir. 3,3V ya da farklı referans voltajları kullanabiliriz. Oda sıcaklığında uygulama yapacağımız için referans voltajını 1,1V ve 5V olarak alarak farklı Arduino uygulamaları yaptık.






Vout=480 x 1 = 480 mV, Sıcaklık=[480-500] / 10 = -2 ⁰С.

Vout=490 x 1 = 490 mV, Sıcaklık=[490-500] / 10 =  -1⁰С.

Vout=500 x 1 = 500 mV, Sıcaklık=[500 -500] / 10 =  0⁰С.

Vout=510 x 1 = 510 mV, Sıcaklık=[510 -500]  / 10 =  1⁰С.

Vout=520 x 1 = 520 mV, Sıcaklık=[520-500]  / 10 =  2⁰С.

olur.


Yapılan uygulamalarda TMP36’yı uzun kablo ile Arduino’ya bağladığımızda aynı ortamda ardı ardına yapılan ölçümlerde ±1-2 derece farklılıklar olduğu gözlemlendi. Aynı ortamda sürekli olarak aynı sıcaklık değerini vermedi. Fakat kısa kablo ile yapılan ölçümlerde daha stabil değerler ölçüldü.








0 comments:

Yorum Gönder

Arduino Eğitimi Konu - 7

Toplam Sayfa Görüntüleme Sayısı

Sensörler ve Aygıtların Arduino İle Kullanımı

Popular Posts

Yararlanılan Kaynaklar

İletişim

gokdag17@gmail.com

Blog Archive