Projeler / Elektronik Projeler / Pic Projeleri / Dijital Termostat


Yazar: Mehmet Özlav
Gönderen: Elektro   Tarih: 13-09-2007 17:40
Yorumlar: (5)   Oylar:
Bilindiği gibi, endüstriyel uygulamalarda sıcaklık ölçen aygıtların çok geniş bir kullanım alanı vardır. Günümüzde sıcaklık ölçen aygıtların çoğu analog işlem yapmaktadır. Bu aygıtları sayısal tabanlı sistemler ile bir arada kullanmak için, ADC olarak bilinen analog-sayısal dönüştürücüler kullanıl-maktadır. ADC, uygulamalarda sistem yapısına göre maliyet, doğruluk ve hassasiyet gibi yönlerden istenen değerleri vermeyebilir. Ayrıca, bu entegrelerin kullanımı, sistemi daha kompleks hale getirmektedir. İstenmeyen bu özelliklerden kurtulmanın tek yolu ise, sıcaklığı sayısal bilgi şeklinde veren aygıtlar kullanarak, ara bağlantı birimlerinden kurtulmaktır.

Elektronik malzeme üreten firmalar, bu gereksinimi görerek sayısal sıcaklık ölçen aygıtlar tasarlamaya başlamışlardır. Dallas Semiconductor firması, elektronik dünyasına sayısal sıcaklık ölçen aygıtları sunarak, bu işle uğraşanlara büyük kolaylık sağlamıştır. Bu aygıtlar, sayısal tabanlı sistemlerle çok iyi uyum sağlaması ve kendi içlerinde de çok çeşitli uygulamalara izin vermesi sebebiyle bu konuda büyük bir mesafe kaydetmişlerdir.

Bu çalışmada, PIC16F84 mikrodenetleyici kontrollü, DS1820 dijital sıcaklık sensörü ile tek hat üzerinden, sıcaklık ölçme uygulamasından bahsedilecektir.

Dallas Semiconductor firmasının ürettiği DS1820 (Tek Hat Dijital Termometre), mikroişlemci ile tek bir hattan özel bir protokol çerçevesinde haberleşen bir aygıttır. DS1820 çalışması için harici bir eleman kullanımı gerektirmez. İsteğe bağlı olarak, dışardan ya da veri yolu üzerinden olmak üzere iki şekilde beslenebilir. Her eleman, üretim esnasında belirlenen 48 bitlik kendisine özgü bir seri numarasına sahiptir. Bu seri numarası sayesinde, aynı hatta kendi sınıfından sınırsız sayıda eleman bağlanabilir. Bu sayede, tek hat üzerinden çok noktadan sıcaklık ölçümü mümkün olmaktadır. DS1820, -55°C ile +125°C arasında 0.5°C hassasiyetle ölçüm yapabilen ve elde ettiği sıcaklık bilgisini 9 bitlik sayısal veri halinde sunan, sıcaklık değerini 200ms gibi bir sürede sayısal veri haline dönüştüren ve kullanıcı tarafından belirlenebilen maksimum ve minimum kalıcı sıcaklık alarm değerlerine sahip olan bir aygıttır.

DS1820’nin iç yapısı yukarıda verilmiştir. Şekilden de görüleceği üzere, DS1820 yapı olarak üç ana kısıma ayrılabilir: 1) tek hatta bağlanan birden çok DS1820 arasından özel bir tanesine ulaşmayı sağlayan 64 bitlik ROM, 2) hafıza ve kontrol birimlerinin bulunduğu işlem kısmı, 3) sıcaklık alarm seviyelerinin ve sıcaklık sensörünün bulunduğu ölçüm kısmı. DS1820 sıcaklığı MicroLAN Sensor ile ölçüp dahili lojik ünitede bu değeri sayısal değere çevirerek sıcaklık değerini kullanıcıya sunar.

DS1820 ile tek hat üzerinden haberleşme işlemleri, DS1820’ye gönderilen bir RESET darbesi ile başlar. Bu işlemden sonra DS1820’den hazır olma işareti beklenir. Bu el sıkışma işlemlerinden sonra DS1820’ye kendisinin sahip olduğu 5 adet 8 bitlik ROM komutlarında birisi gönderilir. Bu komutlar: 1) Read ROM [33h], 2) Match ROM [55h], 3) Search ROM [CCh], 4) Skip ROM [F0h], 5) Alarm Search [ECh]. ROM komutlarının gönderilmesinin ardından, hafıza ve kontrol fonksiyon komutları DS1820’ye gönderilerek işlem tamamlanır.

DS1820’nin hafızası, scratchpad bir RAM ve TH TL alarm sıcaklık değerlerinin saklandığı uçucu olmayan birer byte’lık EEPROM’dan oluşmaktadır. Scratchpad, tek hat üzerinden haberleşme esnasında veri bütünlüğünün ve doğruluğunun sağlanmasına yardımcı olur. Veri tekrar okunmak üzere ilk önce buraya yazılır. Scratchpad 8 byte’lık bir bellek alanı olarak düzenlenmiştir. İlk iki byte ölçülen sıcaklık bilgisini içermektedir. Diğer ikisi TH (temperature high) ve TL (temperature low) değerlerinin geçici kopyalarıdır ve her seferinde yenilenmektedir. 4.ve 5. Bytelar kullanılmamaktadır. Geri kalan son ikisi ise daha yüksek sıcaklık çözünürlüğü elde etmek için kullanılan sayma kaydedici (Count register) leridir.

Haberleşme protokolünde, hazır olma hariç bütün haberleşmeyi mikroişlemci başlatır. DS1820 sadece hazır olma sinyalini alıcı tarafa göndererek işlemi başlatır. DS1820 ile mikroişlemci arasındaki haberleşme sırasında alınan bilgi veya yollanan komutlar en anlamsız bitten (LSB) başlanılarak tek hat üzerine yazılıp, bit bit yollanır veya alınır. DS1820’ye herhangi bir işlem yaptırdıktan sonra tekrardan RESET darbesi yollayıp hazır olmanın okunması, ROM ve hafıza komutlarının sıra ile yollanması gerekmektedir.

Uygulama:Devrenin özelliği hem sıcaklığı –55°C to +125°C arasında ölçmesi ayrıca bizim ayarladığımız bir SET değerinde uyarı vererek elektronik termostat şeklinde çalışması. Böylece sıcaklık değeri ayarlayadığımız değere geldiğinde RB0(6 numaralı bacak) çıkışına bağlı LED yanarak uyarı vermektedir. Bu çıkışı aynı zamanda kullanacağınız herhangi bir triyak-tristör devresi için tetikleme sinyali olarakta kullanabilirsiniz. Ben bu devreyi bir arkadaşımın bebeği için yaptım. Devre çıkışında ise Triyak'lı kontrol devresi kullanarak elektrikli kaloriferi kontrol ederek ortam sıcaklığının istediğimiz değerde kalmasını sağladık. Sizlerde buna benzer amaçlar için kullanabilirsiniz. Devrede bulunun 2 adet push-button'a aynı anda bastığımız zaman ayar kısmına giriyoruz



Daha sonra push-buttonları bırakıyoruz ve RB6 ucuna bağlı olan button arttırma için, RB7 ucuna bağlı olan buton ise ısı değerini azaltma için, bu push-buttonları kullanarak istediğimiz değeri ayarladıktan sonra SET tuşuna (RB5) basarak ayarladığımız SET değerini PIC'in EEPROM'una kaydediyoruz böylece devreyi kullanmadığınız zaman bile SET değerimiz hafızada kalmış oluyor. DS18B20'den ölçülen ısı değeri bizim ayarladığımız değerin altına düştüğü zaman LED yanarak bize uyarı verir. Siz program üzerinde istediğiniz değişikliği yaparak ısı değerini aştığı zaman yapacağınız projedeki duruma göre alarm vermesini sağlayabilirsiniz.
İyi çalışmalar.

Not:Devre şemasında switch olarak gösterilen (SW1-SW2) elemanlar, devrenin yapımı sırasında push-button olarak değiştirilmelidir.



İndir : Dijital Termostat
Boyut: 14.79KB, 4622 kez indirildi