Arduino ile NTC Termistör Kullanarak Dijital Termostat Nasıl Yapılır?
Hobi elektroniği dünyasında sıcaklık kontrolü, projelerin temel taşlarından biridir. Arduino ile NTC termistör kullanarak dijital termostat yapmak, hem temel elektronik prensiplerini anlamak hem de işlevsel bir otomasyon cihazı geliştirmek için mükemmel bir başlangıç noktasıdır. 2026 yılı itibarıyla, ev otomasyonundan endüstriyel prototiplemeye kadar geniş bir yelpazede kullanılan bu sistem, sıcaklık değişimlerine göre bir röleyi veya fanı tetikleyerek ortam ısısını istenen seviyede tutmanıza olanak tanır.
Bu rehberde, NTC (Negative Temperature Coefficient) yani negatif sıcaklık katsayılı dirençlerin çalışma mantığını, Arduino ile nasıl kalibre edileceğini ve hassas bir dijital termostat devresinin adım adım kurulumunu öğreneceksiniz. Karmaşık kod blokları yerine, modüler ve geliştirilebilir bir yapı üzerinden ilerleyerek, kendi akıllı sıcaklık kontrol ünitenizi oluşturmanız hedeflenmektedir.
NTC Termistör Çalışma Prensibi ve Devre Gereksinimleri
NTC termistörler, sıcaklık arttıkça elektriksel direnci azalan pasif bileşenlerdir. Bu doğrusal olmayan karakteristik, onları hassas sıcaklık ölçümleri için ideal kılar. Bir dijital termostat projesinde, NTC'nin direnç değerini Arduino'nun analog pinleri üzerinden okuyarak sıcaklık verisine dönüştürmek temel süreçtir.
Gerekli Donanım Listesi
- Arduino Uno, Nano veya uyumlu bir mikrodenetleyici kartı.
- 10k Ohm NTC Termistör.
- 10k Ohm sabit direnç (Gerilim bölücü devre için).
- 5V Tek kanallı röle modülü (Isıtıcı veya soğutucu kontrolü için).
- LCD ekran (16x2 I2C modüllü) - Opsiyonel ancak görselleştirme için önerilir.
- Breadboard ve jumper kablolar.
- Harici güç kaynağı (Röle ve yük kontrolü için).
Gerilim Bölücü Devre Kurulumu
Arduino, direnç değerini doğrudan ölçemez; sadece voltajı ölçebilir. Bu nedenle NTC'yi bir gerilim bölücü devreye dahil etmeniz gerekir. NTC'nin bir ucunu 5V'a, diğer ucunu ise 10k sabit direnç üzerinden GND'ye bağlayın. İki direncin birleştiği noktadan aldığınız hattı Arduino'nun A0 analog pinine bağlayarak değişken voltajı okuyabilirsiniz.
Kritik Uyarı: NTC ve sabit direnç arasındaki bağlantının sağlam olduğundan emin olun. Gevşek bağlantılar, sıcaklık değerlerinde dalgalanmalara ve termostatın kararsız çalışmasına neden olabilir.
Sıcaklık Hesaplama Algoritması ve Steinhart-Hart Denklemi
NTC'den alınan analog değerin sıcaklığa dönüştürülmesi için basit bir oran-orantı yeterli değildir. NTC'lerin direnç-sıcaklık ilişkisi logaritmiktir. Bu nedenle, daha hassas sonuçlar elde etmek için Steinhart-Hart denklemi kullanılır.
Kodlama Sürecinde Dikkat Edilmesi Gerekenler
Arduino IDE üzerinde kod yazarken, NTC'nizin "Beta" değerini (genellikle datasheet üzerinde belirtilir) bilmeniz gerekir. Kod içerisinde analog pin değerini (0-1023 arası) önce voltaja, ardından dirence ve son olarak Kelvin cinsinden sıcaklığa çeviren matematiksel fonksiyonları tanımlamalısınız.
| Bileşen | Görevi | Önem Derecesi |
|---|---|---|
| NTC Termistör | Sıcaklığı algılar | Yüksek |
| 10k Sabit Direnç | Referans voltajı sağlar | Yüksek |
| Röle Modülü | Yüksek voltajlı yükü anahtarlar | Orta |
| LCD Ekran | Sıcaklığı görüntüler | Düşük |
Adım Adım Dijital Termostat Kurulumu
Kurulum aşamasında donanım ve yazılımın senkronize çalışması için aşağıdaki adımları izleyin. Her adımın doğruluğu, sistemin uzun süreli kararlılığı için hayati önem taşır.
- Devre Montajı: Breadboard üzerine NTC ve sabit direnci gerilim bölücü mantığıyla yerleştirin. A0 pininden okuma yapacak kabloyu bağlayın.
- Röle Bağlantısı: Rölenin "Signal" pinini Arduino'nun dijital bir pinine (örneğin D7) bağlayın. VCC ve GND bağlantılarını yapın.
- Kütüphane Yönetimi: Eğer LCD kullanıyorsanız, "LiquidCrystal_I2C" kütüphanesini Arduino IDE'ye ekleyin.
- Kod Yükleme: Sıcaklık eşik değerini (Set Point) belirleyen değişkeni kodun başına ekleyin. Örneğin; "float esikDeger = 25.0;" satırı ile termostatın 25 derecede tetiklenmesini sağlayın.
- Kalibrasyon: Sistemin okuduğu sıcaklığı, güvenilir bir termometre ile karşılaştırarak kod içerisindeki "offset" değerini güncelleyin.
Röle Kontrolü ve Yük Yönetimi
Dijital termostatın asıl amacı, bir ısıtıcıyı veya soğutucuyu kontrol etmektir. Arduino'nun çıkış pinleri, doğrudan bir ısıtıcıyı çalıştırmak için yeterli akımı sağlayamaz. Bu nedenle röle modülü kullanmak zorunludur.
Yüksek Voltaj Güvenliği
Röle üzerinden 220V AC şebeke elektriği geçirecekseniz, çok dikkatli olmalısınız. Bağlantıların yalıtılmış olduğundan, kabloların açıkta kalmadığından ve tüm bağlantıların enerjiyi keserek yapıldığından emin olun. Eğer bu konuda tecrübeniz yoksa, düşük voltajlı (12V) DC fan veya peltier elemanları ile denemeler yapmanız önerilir.
Sıkça Sorulan Sorular
NTC termistör yerine neden DHT11 veya DHT22 kullanmıyoruz?
DHT serisi sensörler dijital veri iletir ve daha yavaştır. NTC termistörler ise daha hızlı tepki süresine sahiptir ve daha geniş sıcaklık aralıklarında (doğru kalibrasyonla) daha yüksek hassasiyet sunabilir.
Termostat değerleri neden sürekli dalgalanıyor?
Bu durum genellikle "gürültü" kaynaklıdır. Kodunuza "moving average" (hareketli ortalama) filtresi ekleyerek, son 10 okumanın ortalamasını alırsanız dalgalanmaların azaldığını göreceksiniz.
Röle neden sürekli açılıp kapanıyor (tık sesi)?
Buna "histerezis" eksikliği denir. Sıcaklık 25.0 derecedeyken termostatın sürekli açılıp kapanmasını engellemek için, rölenin kapanması ve açılması arasında bir fark (örneğin 0.5 derece) tanımlamalısınız.
Hangi NTC değerini tercih etmeliyim?
Hobi projeleri için 10k Ohm NTC en standart ve kütüphane desteği en bol olan modeldir. Bulunabilirliği ve Arduino ile uyumu açısından en verimli tercihtir.
Bu sistem endüstriyel bir ortamda kullanılabilir mi?
Arduino tabanlı bu sistem, prototipleme ve hobi kullanımı içindir. Kritik endüstriyel süreçlerde, sertifikalı ve hata payı çok düşük profesyonel PLC sistemlerinin kullanılması gerekir.
Sonuç
Arduino ile NTC termistör kullanarak dijital termostat yapmak, hem teorik hem de pratik açıdan ufuk açıcı bir süreçtir. Bu projeyi tamamladığınızda, sadece bir sıcaklık kontrol cihazı üretmekle kalmayacak; aynı zamanda analog sinyal işleme, röle ile güç kontrolü ve histerezis gibi temel mühendislik kavramlarını da deneyimlemiş olacaksınız. 2026 yılı standartlarında, bu tür projeler sürdürülebilir enerji yönetimi ve ev otomasyonu için temel yapı taşlarını oluşturmaktadır. Güvenlik kurallarına uyarak ve kodunuzu optimize ederek, kendi ihtiyaçlarınıza özel, hassas ve güvenilir bir termostat sistemine sahip olabilirsiniz.
Arduino ile NTC Termistör Kullanarak Dijital Termostat Nasıl Yapılır?
Arduino ile dijital termostat projesi, elektronik dünyasına adım atan her hobi kullanıcısının mutlaka deneyimlemesi gereken temel bir uygulamadır. Bu rehberde, analog bir sensör olan NTC termistörün nasıl dijital bir kontrol mekanizmasına dönüştürüleceğini, adım adım ve teknik detaylarıyla inceleyeceğiz.
NTC Termistör Çalışma Prensibi ve Devre Gereksinimleri
NTC (Negative Temperature Coefficient), sıcaklık arttıkça direnci azalan bir sensör tipidir. Standart bir dirençten farklı olarak, çevresel faktörlere karşı doğrusal olmayan bir tepki verir. Bu durum, Arduino ile okuma yaparken matematiksel bir modelleme gerektirir.
Gerekli Donanım Listesi
- Arduino Uno, Nano veya Mega (Projenin boyutuna göre seçilebilir)
- 10k Ohm NTC Termistör
- 10k Ohm Sabit Direnç (Gerilim bölücü için)
- 5V Röle Modülü (Yüksek akım kontrolü için)
- LCD Ekran (I2C modüllü 16x2 önerilir)
- Breadboard ve Jumper Kablolar
- Harici Güç Kaynağı (Röle ve yük için)
Gerilim Bölücü Devre Kurulumu
Arduino'nun analog girişleri doğrudan direnç okumaz, voltaj okur. NTC'nin direncini voltaja çevirmek için bir gerilim bölücü devre kurmalıyız. 5V hattından gelen akım, 10k sabit direnç ve NTC üzerinden geçerek GND'ye ulaşır. Bu iki direncin orta noktası, Arduino'nun A0 pinine bağlanır.
Sıcaklık Hesaplama Algoritması ve Steinhart-Hart Denklemi
NTC'nin direnç değişimini sıcaklığa çevirmek için Steinhart-Hart denklemi kullanılır. Bu denklem, termistörün karakteristik eğrisini matematiksel olarak ifade eder. Arduino kodunuzda şu katsayıları tanımlamanız gerekir:
A, B ve C katsayıları, termistörün veri sayfasında (datasheet) bulunur. Hobi tipi 10k NTC'ler için genellikle Beta katsayısı (3950) üzerinden basitleştirilmiş formüller yeterli olmaktadır.
Kodlama Sürecinde Dikkat Edilmesi Gerekenler
Analog veriler elektriksel gürültüden etkilenebilir. Bu nedenle kodunuzda şu yöntemleri uygulayın:
- Moving Average (Hareketli Ortalama): Okunan 10-20 değerin ortalamasını alarak ani sıçramaları engelleyin.
- Tip Dönüşümleri: Hesaplamalarda float veri tipini kullanarak hassasiyeti koruyun.
- Zamanlama: delay() yerine millis() fonksiyonunu kullanarak sistemin donmadan çalışmasını sağlayın.
Adım Adım Dijital Termostat Kurulumu
- Devreyi şemaya uygun şekilde breadboard üzerine kurun.
- Arduino IDE'yi açın ve gerekli kütüphaneleri (LiquidCrystal_I2C) yükleyin.
- NTC'den gelen ham veriyi seri monitörde gözlemleyin.
- Sıcaklık hesaplama fonksiyonunu koda entegre edin.
- Belirlediğiniz eşik değerine göre röleyi tetikleyen if-else bloklarını yazın.
Röle Kontrolü ve Yük Yönetimi
Röle, Arduino'nun 5V çıkışıyla doğrudan kontrol edilebilir ancak röle bobini akım çeker. Bu nedenle röle modülünün 5V ve GND pinlerini Arduino'dan, sinyal pinini ise dijital bir çıkıştan beslemelisiniz. Röle üzerinden geçecek yükün (ısıtıcı veya fan) voltaj ve akım değerlerinin, röle üzerindeki "Max Load" kapasitesini aşmadığından emin olun.
Yüksek Voltaj Güvenliği
Önemli Uyarı: 220V AC şebeke elektriği ile çalışırken çok dikkatli olunmalıdır. Devre enerjiliyken hiçbir kabloya dokunmayın. Tüm bağlantıları yaptıktan sonra yalıtım bandı veya makaron kullanarak açıkta kalan bakır kısımları kapatın. Projenizi mutlaka bir plastik muhafaza kutusu içerisine yerleştirin.
Sıkça Sorulan Sorular
NTC termistör yerine neden DHT11 veya DHT22 kullanmıyoruz?
DHT serisi sensörler dijital haberleşme protokolü (OneWire) kullanır ve genellikle 50-60 derece üzerinde kararsızlaşır. NTC'ler ise 100-150 dereceye kadar dayanabilir ve daha hızlı tepki süresine sahiptir.
Termostat değerleri neden sürekli dalgalanıyor?
Bu durum "analog gürültü" olarak adlandırılır. Kabloların uzun olması veya güç kaynağındaki dalgalanmalar buna sebep olur. Yazılımsal filtreleme (averaging) kullanarak bu sorunu %90 oranında çözebilirsiniz.
Röle neden sürekli açılıp kapanıyor (tık sesi)?
Bu durum "histerezis" eksikliğinden kaynaklanır. Sıcaklık tam eşik değerindeyken (örneğin 25.0 derece) sensör 24.9 ile 25.1 arasında gidip gelir. Rölenin sürekli açılıp kapanmasını engellemek için, rölenin kapanması ve açılması arasında bir fark (örneğin 0.5 derece) tanımlamalısınız.
Hangi NTC değerini tercih etmeliyim?
Hobi projeleri için 10k Ohm NTC en standart ve kütüphane desteği en bol olan modeldir. Bulunabilirliği ve Arduino ile uyumu açısından en verimli tercihtir.
Bu sistem endüstriyel bir ortamda kullanılabilir mi?
Arduino tabanlı bu sistem, prototipleme ve hobi kullanımı içindir. Kritik endüstriyel süreçlerde, sertifikalı ve hata payı çok düşük profesyonel PLC sistemlerinin kullanılması gerekir.
Proje Bileşenleri Karşılaştırma Tablosu
| Bileşen | Avantajı | Dezavantajı |
|---|---|---|
| NTC Termistör | Yüksek sıcaklık, düşük maliyet | Doğrusal olmayan çıktı |
| DHT22 | Dijital çıktı, nem ölçümü | Düşük sıcaklık sınırı |
| LM35 | Doğrusal (Linear) çıktı | Düşük voltaj hassasiyeti |
Sık Yapılan Hatalar ve Çözümleri
1. Yanlış Direnç Değeri Kullanımı
NTC ile seri bağlanan direncin değeri, NTC'nin nominal değeriyle (10k) aynı olmalıdır. Farklı bir direnç kullanmak, hesaplamalarda ciddi sapmalara yol açar.
2. Kablo Uzunluğu
NTC'den Arduino'ya giden kabloların 1 metreyi geçmesi durumunda kablo direnci devreye girer. Bu durumda kodunuzda "kablo direnci kompanzasyonu" yapmanız gerekir.
3. Besleme Hattı Çakışması
Röle modülünü Arduino'nun 5V pininden beslerken, rölenin çektiği akım Arduino'nun regülatörünü zorlayabilir. Mümkünse röle için harici bir 5V güç kaynağı kullanın ve GND uçlarını birleştirin.
Sonuç
Arduino ile NTC termistör kullanarak dijital termostat yapmak, hem teorik hem de pratik açıdan ufuk açıcı bir süreçtir. Bu projeyi tamamladığınızda, sadece bir sıcaklık kontrol cihazı üretmekle kalmayacak; aynı zamanda analog sinyal işleme, röle ile güç kontrolü ve histerezis gibi temel mühendislik kavramlarını da deneyimlemiş olacaksınız. 2026 yılı standartlarında, bu tür projeler sürdürülebilir enerji yönetimi ve ev otomasyonu için temel yapı taşlarını oluşturmaktadır. Güvenlik kurallarına uyarak ve kodunuzu optimize ederek, kendi ihtiyaçlarınıza özel, hassas ve güvenilir bir termostat sistemine sahip olabilirsiniz.
Arduino ile NTC Termistör Kullanarak Dijital Termostat Nasıl Yapılır?
Dijital termostat projeleri, hobi elektroniği dünyasında giriş seviyesinden ileri seviyeye geçişi temsil eden en temel uygulamalardan biridir. Bir NTC (Negative Temperature Coefficient) termistör kullanarak ortam sıcaklığını ölçmek ve bu veriye göre bir ısıtıcıyı veya soğutucuyu kontrol etmek, sadece bir kodlama egzersizi değil, aynı zamanda fiziksel dünyayı dijital veriye dönüştürme sanatıdır. Bu rehberde, Arduino platformunu kullanarak endüstriyel hassasiyete yakın bir termostat sistemini nasıl inşa edeceğinizi tüm detaylarıyla inceleyeceğiz.
NTC Termistör Çalışma Prensibi ve Devre Gereksinimleri
NTC termistörler, sıcaklık arttıkça elektriksel dirençleri azalan pasif bileşenlerdir. Bu doğrusal olmayan karakteristik, onları sıcaklık sensörü olarak kullanırken özel matematiksel yaklaşımlar gerektirir. Arduino'nun analog giriş pinleri voltajı okur, ancak NTC bir dirençtir. Bu nedenle, direnç değişimini voltaj değişimine çevirmek için bir gerilim bölücü devresine ihtiyaç duyarız.
Gerekli Donanım Listesi
- Arduino Uno veya Nano: Projenin beyin takımı.
- 10k NTC Termistör: 25°C'de 10k ohm direnç gösteren model.
- 10k Sabit Direnç: Gerilim bölücü için hassas (%1 toleranslı) direnç.
- 5V Röle Modülü: Yüksek akımlı cihazları anahtarlamak için.
- Breadboard ve Jumper Kablolar: Bağlantı kolaylığı için.
- LCD Ekran (16x2 I2C): Sıcaklık verisini anlık takip etmek için.
Gerilim Bölücü Devre Kurulumu
NTC'yi Arduino'ya bağlamak için en yaygın ve güvenilir yöntem gerilim bölücü (voltage divider) devresidir. NTC'nin bir ucunu 5V'a, diğer ucunu ise analog giriş pinine (A0) bağlayın. Aynı pinden bir 10k direnç ile GND hattına bir bağlantı daha yapın. Bu yapı, sıcaklık değiştikçe A0 pinindeki voltajın 0V ile 5V arasında değişmesini sağlar.
Sıcaklık Hesaplama Algoritması ve Steinhart-Hart Denklemi
NTC'nin direnç-sıcaklık ilişkisi doğrusal değildir. Hassas sonuçlar almak için Steinhart-Hart denklemi kullanılır:
1/T = A + B*ln(R) + C*(ln(R))^3
Burada T Kelvin cinsinden sıcaklığı, R ise NTC'nin o anki direncini temsil eder. Arduino kodunuzda bu denklemi kullanarak analog değerden gerçek sıcaklık değerine (Celsius) kolayca ulaşabilirsiniz.
Kodlama Sürecinde Dikkat Edilmesi Gerekenler
Kod yazarken analogRead() fonksiyonundan gelen 0-1023 arası değeri önce dirence, sonra sıcaklığa çevirmelisiniz. Ayrıca, sensör verisindeki gürültüleri engellemek için "Moving Average" (Hareketli Ortalama) filtresi kullanmak, sıcaklık değerinin sürekli dalgalanmasını önleyecektir.
Adım Adım Dijital Termostat Kurulumu
- Devre şemasını breadboard üzerinde sabitleyin.
- NTC ve 10k direnç bağlantılarını kontrol edin.
- Arduino IDE üzerinden gerekli kütüphaneleri (LiquidCrystal_I2C) yükleyin.
- Sıcaklık okuma algoritmasını kodunuza entegre edin.
- Histerezis (ölü bant) değerini belirleyin (Örn: 22°C'de aç, 24°C'de kapat).
Röle Kontrolü ve Yük Yönetimi
Röle, Arduino'nun düşük voltajlı sinyallerini yüksek voltajlı cihazlara ileten bir köprüdür. Dijital termostatınızda, röleyi bir "anahtar" gibi düşünün. Eğer sıcaklık set değerinin altına düşerse, röleyi digitalWrite(pin, HIGH) komutu ile tetikleyerek ısıtıcıyı çalıştırın.
Yüksek Voltaj Güvenliği
UYARI: 220V AC şebeke elektriği ile çalışırken çok dikkatli olmalısınız. Röle bağlantılarını yapmadan önce mutlaka elektriği kesin. Röle modülünün yalıtkan olduğundan ve yüksek voltaj hattının Arduino'nun düşük voltaj hattına temas etmediğinden emin olun.
Proje Bileşenleri Karşılaştırma Tablosu
| Bileşen | Avantajı | Dezavantajı |
|---|---|---|
| NTC Termistör | Çok ucuz ve hızlı tepki | Kalibrasyon gerektirir |
| DHT22 | Dijital çıkış, kolay kullanım | Yavaş tepki süresi |
| LM35 | Doğrusal çıkış | Düşük sıcaklık aralığı |
Sıkça Sorulan Sorular
NTC termistör yerine neden DHT11 veya DHT22 kullanmıyoruz?
DHT serisi sensörler, nem ölçümü için optimize edilmiştir ve sıcaklık hassasiyetleri NTC kadar yüksek değildir. Ayrıca, DHT sensörlerinin örnekleme hızı termostat uygulamaları için yavaştır.
Termostat değerleri neden sürekli dalgalanıyor?
Bu durum genellikle "elektriksel gürültü" veya zayıf bağlantıdan kaynaklanır. Yazılımsal olarak 10-20 okumayı toplayıp ortalamasını alarak bu sorunu çözebilirsiniz.
Röle neden sürekli açılıp kapanıyor (tık sesi)?
Buna "hızlı anahtarlama" denir. Çözümü Histerezis uygulamaktır. Yani cihazı tam 25 derecede açıp kapatmak yerine, 24 derecede açıp 26 derecede kapatacak bir mantık kurmalısınız.
Hangi NTC değerini tercih etmeliyim?
Genel hobi projeleri için 10k NTC standarttır. Daha yüksek hassasiyet gerektiren laboratuvar benzeri ortamlarda 100k NTC tercih edilebilir.
Bu sistem endüstriyel bir ortamda kullanılabilir mi?
Bu proje prototipleme içindir. Endüstriyel ortamlarda elektromanyetik parazit koruması, izole röle kartları ve endüstriyel sınıf sensörler kullanılmalıdır.
Sık Yapılan Hatalar ve Çözümleri
1. Yanlış Direnç Değeri Kullanımı
NTC ile seri bağlanan direncin değeri, NTC'nin nominal değeriyle (10k) aynı olmalıdır. Farklı bir direnç kullanmak, hesaplamalarda ciddi sapmalara yol açar.
2. Kablo Uzunluğu
NTC'den Arduino'ya giden kabloların 1 metreyi geçmesi durumunda kablo direnci devreye girer. Bu durumda kodunuzda "kablo direnci kompanzasyonu" yapmanız gerekir.
3. Besleme Hattı Çakışması
Röle modülünü Arduino'nun 5V pininden beslerken, rölenin çektiği akım Arduino'nun regülatörünü zorlayabilir. Mümkünse röle için harici bir 5V güç kaynağı kullanın ve GND uçlarını birleştirin.
Gelişmiş Sıcaklık Okuma Teknikleri: Hareketli Ortalama Filtresi
NTC termistörlerden gelen analog sinyaller, çevresel gürültülerden ve elektriksel parazitlerden kolayca etkilenir. Arduino'nun ADC (Analog-Dijital Dönüştürücü) birimi, milisaniyelik değişimleri bile yakalayarak termostat değerlerinde titremeye yol açabilir. Bu sorunu aşmak için yazılımsal bir "Hareketli Ortalama Filtresi" (Moving Average Filter) kullanmak en profesyonel yaklaşımdır.
Yöntem: Sensörden art arda 10 veya 20 örnek okuyun, bu değerleri toplayın ve örnek sayısına bölün. Bu işlem, anlık sıçramaları elimine ederek daha kararlı bir sıcaklık verisi elde etmenizi sağlar.
NTC Termistör vs. Dijital Sensörler: Teknik Karşılaştırma Tablosu
Projelerde sıkça karşılaşılan "Hangi sensörü kullanmalıyım?" sorusuna yanıt olması adına, NTC termistör ile popüler dijital sensörlerin karşılaştırması aşağıdadır:
| Özellik | NTC Termistör | DHT11 (Dijital) | DS18B20 (Dijital) |
|---|---|---|---|
| Hassasiyet | Yüksek (Direnç bazlı) | Düşük | Çok Yüksek |
| Tepki Süresi | Çok Hızlı | Yavaş | Orta |
| Maliyet | Çok Düşük | Düşük | Orta |
| Kullanım Kolaylığı | Zor (Kalibrasyon gerektirir) | Çok Kolay | Kolay |
Devre Tasarımında EMI (Elektromanyetik Girişim) Koruması
Termostat projelerinde röleler devreye girdiğinde, özellikle endüktif yükler (motorlar, fanlar, ısıtıcılar) yüksek gerilim sıçramalarına (back-EMF) neden olabilir. Bu durum Arduino'nun kilitlenmesine veya yanlış veri okumasına sebep olur.
- Opto-izolasyon: Röle kartınızın mutlaka opto-izolör içerdiğinden emin olun. Bu, Arduino'nun kontrol sinyali ile rölenin yüksek voltaj tarafını elektriksel olarak birbirinden ayırır.
- Flyback Diyot: Eğer röle modülü kullanmıyorsanız ve transistör ile röle sürüyorsanız, röle bobinine paralel bir 1N4007 diyot bağlamanız zorunludur.
- Kablo Düzeni: Sensör kablolarını, 220V AC taşıyan kablolardan mümkün olduğunca uzak tutun. Mümkünse sensör için ekranlı (shielded) kablo kullanın.
Kalibrasyon Süreci: Hassasiyeti Artırma
Her NTC termistörün üretim toleransı farklıdır. "10k" olarak aldığınız bir sensör, aslında 9.8k veya 10.2k olabilir. Bu da sıcaklık ölçümünde 1-2 derecelik hatalara yol açar. Hassas bir termostat yapmak için şu adımları izleyin:
- Referans Ölçümü: Güvenilir bir cıvalı veya dijital termometreyi NTC'nizin yanına koyun.
- Offset Belirleme: Arduino'dan okuduğunuz değer ile referans termometre arasındaki farkı bulun.
- Yazılımsal Düzeltme: Kodunuzda
temp = okunan_sicaklik + offset_degeri;şeklinde bir düzeltme satırı ekleyin.
Arduino Bellek Yönetimi ve Döngü Hızı
Dijital termostat kodunuzu yazarken delay() fonksiyonunu kullanmaktan kaçının. delay(1000) komutu, Arduino'yu 1 saniye boyunca tamamen dondurur. Bu süre zarfında sensör okuması yapılamaz ve buton kontrolleri gibi işlemler aksar. Bunun yerine millis() fonksiyonu ile zamanlayıcı (timer) mantığını kullanın.
Örnek Zamanlayıcı Mantığı:
"Eğer son okumadan bu yana 500ms geçtiyse, sıcaklığı tekrar oku ve röleyi güncelle. Aksi takdirde diğer işlemleri yapmaya devam et."
Termostat Projelerinde Güvenlik Uyarıları
Dijital termostatınız 220V bir ısıtıcıyı kontrol edecekse, aşağıdaki güvenlik protokollerine uymanız hayati önem taşır:
- İzolasyon: Tüm devreyi, iletken olmayan plastik bir kutu içerisine yerleştirin.
- Sigorta Kullanımı: 220V hattına mutlaka uygun amper değerinde bir cam sigorta ekleyin.
- Topraklama: Metal bir kasa kullanıyorsanız, kasanın topraklama hattına bağlı olduğundan emin olun.
Not: 220V şebeke elektriği ile çalışırken dikkatli olun. Elektrik bilgisi gerektiren bu aşamalarda profesyonel destek almanız önerilir.
NTC Termistör Seçiminde "Beta Değeri" (B-Value) Önemi
NTC alırken sadece "10k" olması yeterli değildir. NTC'lerin veri sayfalarında (datasheet) Beta Değeri (B25/50 veya B25/85) yazar. Bu değer, NTC'nin sıcaklık değişimine karşı direncinin ne kadar hızlı değiştiğini gösterir. Kodunuzdaki Steinhart-Hart denklemi içinde bu Beta değerini doğru girmeniz, ölçüm doğruluğunu doğrudan etkiler. Standart 10k NTC'ler için bu değer genellikle 3950'dir.


Yorumlar (0)
Yorum Yaz