
Sıcaklık ölçümü ile ilgili değişik araçlar ve yöntemler var. Elektronik olarak sıcaklık ölçümü “Atmega8 ile LCD Ekranlı Termometre” , “LCD Ekran ve Atmega8 RS485 İletişimi Termometre”, “Atmega8 Led Ekran ve Atmega8 Termometre RS485 İletişimi” ve “ATMEGA8 ve bilgisayar ile RS485 iletişimli Termometre” gibi uygulamalar ile LM35 analog sıcaklık algılayıcısı ile yapıldı. Bu algılayıcı iyi idi ama ne kullanmak için bir analog dijital çevirici gerektiriyor. Bu projede ele alınacak olan sıcaklık algılayıcısı biraz farklı,(DS1820) doğrudan sıcaklığa göre bir dijital çıkış verebiliyor. Bu iyide bu işi nasıl 3 bacaklı bir bağlantı üzerinden başarabiliyor?
DS1820 dijital çıkış verebilen bir sıcaklık algılayıcısıdır. İşlemciye bilgi iletişimi biraz ilginç. Dallas Semiconductor tarafından geliştirilen bir iletişim yöntemi. Yani tüm iletişim tek bir hat üzerinden (GND bağlantısı doğal bir bağlantı sayılmak üzere) gerçekleştiriliyor. Bu yüzden bu bağlantı adına 1-hatlı bağlantı denmektedir..
Aslında 1-hatlı bağlantıyı kullanan birçok elektronik eleman var. Ama burada ele alınan elaman DS1820 olacak.
Temelde tüm iletişim tek hat üzerinden gerçekleştiriliyor. Gerçekleştirme şekli sıkı sıkıya şekillendirilmiş bir zamanlama kontrolu üzerinden oluyor.

İşlemci veri gönderecekse;
1 için uzun bir darbe oluşturacak; 0 için ise kısa bir darbe oluşturacak. DS1820 bu sinyalleri okuyup gerekli biti alacaktır.(bir bit için)
DS1820 veri gönderecekse;
İşlemci zaten veri alma işlemine hazırdır çünkü kendisi bir veri istemiştir. İşlemci kısa bir darbe oluşturacak ve DS1820 buna ; 1 için uzun bir darbe ve 0 için kısa bir darbe ile karşılık verecektir.
Bit işlemi ile ard arda tekrarlanarak bayt elde edilir.
iş aşamaları 1-hatlı port üzerinden DS1820 erişimi için protokol:
- Başlama
- ROM fonksiyon komutu
- Bellek fonksiyon komutu
- İş/Veri
DS1820 ile haberleşme aşamaları...
- işlemci tarafından bir sıfırlama darbesi gönderilir.
- DS1820 tarafından HAZIR darbesi ile cevaplanır.
- DS1820 ROM bölümünü okumak isteyen okusun, ama biz atlıyoruz
- -İşlemci sıcaklığı dönüştür komutunu gönderir.
- işlemci 500ms süresince hattı lojik 1 seviyesinde tutarak sıcaklık çevrilmesine izin verir.
- Tekrar işlemci tarafından bir sıfırlama darbesi gönderilir.
- DS1820 tarafından HAZIR darbesi ile cevaplanır.
- Tabii ki ROM okuma bölümünü atlıyoruz.
- Bu noktada İşlemci DS1820'nin Geçici Bellek alanını oku komutu gönderiyor.
- DS1820 bu noktada CRC kontrol baytı dahil olmak üzere 9 bayt gönderir.
- işlemci tarafından bir sıfırlama darbesi gönderilir.
- DS1820 tarafından HAZIR darbesi ile cevaplanır.
bir sıcaklık okuma işlemi tamamlanmış olur. Elimizde CRC kontrolu yapmadığımızı varsayarsak 8 değerlendirilmesi gereken bayt var,bunlar;
Not: biz sadece kırmızı ile işaretli baytları kullanacak ve değerlendirecek şekilde yazılım düzenlendi. Eğer yüksek çözünürlük isteyen varsa pembe ile işaretli baytlar kullanılarak elde edilir. Bunun için biraz internet ve DS1820 üzerine örnekleri araştırmanızı öneririm.
ilk iki bayt sıcaklık değeridir. LSB sıcaklığın kendisini ve MSB ise sıcaklığın eksi/artı için değer içerir. (asılnda 9.bit oluyor) TH ve TL Registerleri alarm registerleri(kayıt için). 4. ve 5. bayt başka geliştirilen aletlerde kullanılmak üzere ayrılmış. 6. ve 7. bayt yüksek çözünürlük isteyenler için eklenmiş baytlardır. (biraz hesap gerektirir) Son bayt yukarıda belirtilen baytları kullanarak oluşturulan bir hata kontrol baytı.
DS1820 hakkında ayrıntılı bilgi için biraz internet araştırması yerinde olacaktır. Üreticisi Dallas Semiconductor.
Devre aslında “ATMEGA8 ve bilgisayar ile RS485 iletişimli Termometre” projesinde kullanılan devrenin aynısı tek farkla. LM35 yerine DS1820 takılıyor. Ölçme işlemlerinde kolaylık sağlaması için DS1820 kablo ucuna lehimlendi. Adı geçen proje bu devre için referanstır. Yinede kısaca özet geçersek, İşlemci iki kondansatör C5 ve C6 ve kristal ile saat frekansını üretiyor. L1, C9 ve C10 aslında analog dijital dönüştürücü için ama bu projede analog dijital dönüştürücü kullanılmıyor. D2 ve R2 sistem durum göstergesi olarak DS1820 okuma ve veri gönderilme aşamasını gösteriyor. IC4 ve R1 P1 ile RS485 iletişi noktasını oluşturuyor ki işlemci için RS232/RS485 dönüştürücü işlevini yerine getiriyor. D1,C3,C2,C7,c8 ve IC3 artık iyice bilinen besleme devresini oluşturuyor. IC2 kendisi projenin esas noktasını oluşturuyor DS1820 sıcaklık algılayıcı. Geriye kalan kondansatörler filtre kondansatörleri

Not: Bu projede ölçüm çözünürlüğü 0,5C olan sistem kullanıldı. Tabii isteyen yüksek çözünürlük sistemini kullanabilir(eh biraz araştırma iyi olacaktır). Bu nedenle diğer baytlar okunsa bile sadece ilk 2 bayt üzerinde işlem yapıldı.


Şema dikkatle incelenirse neredeyse “ATMEGA8 ve bilgisayar ile RS485 iletişimli Termometre” ile aynı olduğu görülür. Hatta IC2 bile. Çünkü sadece adı değiştirildi. Blok şeması devre şeması hakkında bir fikir verecektir. Donanım zaten işlemci ve DS1820 sayesinde yeterince basitleştirilmiştir. Geri kalan işlemci üzerinde yazılıma yüklenmiştir. Aslında dikkat ettiyseniz DS1820 üzerinde ADC olmayan işlemciler ile bile rahatlıkla kullanılabilecek bir donanım.


Bu bölüme değinmeden geçmek yerinde olmaz. Bu hali ile işlemci bilgisayara 2 baytlık veri göndermekte. Ama bunları DS1820'den okunmuş halinden biraz farklı halde gönderiyor. Öncelikle LSB olarak işaretli bayt 4 bitlik iki gruba ayrılıyor.
LSB=yüksek 4bit+ alçak 4 bit
burada gönderilen birinci bayt= "0000"+alçak 4 bit böylece gönderilen birinci bayt tamamlanmış oldu.
İkinci bayt="1"+MSB 0. biti+"00"+yüksek 4 bit
bu şekilde gönderilen bilgi bilgisayar tarafından tekrar yorumlanarak sonuç elde edilmiş oluyor. MSB 0.biti aslında bir işaret biti yani ölçülen sıcaklığın eksi veya artı olduğunu belirtiyor. (Ölçüm sonucu işaret ile birlikte 9 bitlik oluyor),
Bilgisayarda ise sıcaklığın değerlendirilmesi için gelen değerin onluk sisteme çevrildiğini varsayarak. Her zaman için ölçüm 0,5 C'lik çözünürlükle olduğuna göre elde edilen bilgi doğrudan 2'e bölünerek istenen sıcaklık elde edilebilir.
Sıcaklık= ölçülen değer/2 tabi bu sonuç pozitif değerler için geçerli.
Negatif sıcaklık değerleri için ise basitçe
Sıcaklık =(ölçülen değer-256)/2 olarak hesaplanabilir.
Devre yapımında kritik bir eleman yok. Baskı devre kartı üzerinde geçekleştirildiğinde standart eleman yerleşimi göz önüne alınarak devre kurulabilir. Bu noktada diğer devre montaj teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. Tabii ki kristal topraklanmalıdır. Devrede 7805 5V gerilim regülatörü üzerinden geçen akım göreceli olarak küçük olduğu için ek bir soğutucu kullanımına gerek duyulmamamıştır.
Tüm dirençler çeyrek wattır.
Besleme konusunda bir sorun oluşturmayacağınızı düşünüyorsanız girişteki köprüyü devre dışı bırakabilir veya tek bir diyotla değiştirebilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız). Bacak bağlantıları uyan başka bir LED kullanılabilir. Entegreler için soket kullanılması sonradan oluşabilecek sorunların çözümünde size yardımcı olabilecektir. Belki daha sonra tümdevreleri başka bir devre üzerinde kullanmak isteyebilirsiniz. Sizin imkan ve tercihlerinize kalmış bir durum...



Bilgisayara buzdolabı uzaktı. Elimde yeterli miktarda kablo yoktu. Bu nedenle yukarıdaki resmi win98 olan bir bilgisayardan elde ettim.
120R | R1 |
470R | R2 |
4k7 | R3 |
27pF | C5,C6 |
100nF | C1,C4,C7,C9,C10 |
10µF | C3,C4 |
10µH | L1 |
B125C1500 | D1 |
ATMEGA8 | IC1 |
DS1820 | IC2 |
7805 | IC3 |
ST485 | IC4 |
3,6864Mhz kristal | XT1 |
6P6C veya 6P2C konnektör | P1 |
10 Header (ISP10) | P3 |
kullanılmıyor | P2 |
Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 8 ve 28 bacaklı soketler oluşabilecek problemlerin önüne geçecektir.

Besleme ister doğrudan adaptör bağla, istersen fiş-priz bağlantısını kullan. Ama devre kutu içine konulacaksa bu fiş-priz bağlantısı bağlantısı kullanışlı olacaktır.
LED sürekli yanıyorsa devreye besleme geliyor demektir .Devrenin çalıştığı, daha doğrusu ölçüm yaptığı led'in sönüp yanmasından takip edilebilir.
işlemci tarafı tamamda. Bu devrde tek başına yeterli değildir. Çünkü bu bir iletişim sistemi içeriyor, özellikle bilgisayar ile işlemci devre sistemini kapsadığından bir bilgisayar programı gerekiyor. Bu devre ile verilen program için. Program iki pencereden oluşuyor. Program penceresi ve Seçenekler penceresi.

Şekil 10'daki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
- Ölçüm sonuç listesi. Ölçümler liste olarak gösterilir.
- Son ölçülen değer görüntülenir.
- Seçeneklerde belirlenen zaman aralığında ölçüm gerçekleştirilir. Bas başlat-bas bitir.
- Kolay okunur ölçüm sonucu (son ölçüm sonucu)
- Seçenekler penceresini açar

Şekil 11'deki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
- Bilgisayarda seri port seçimini sağlar.
- Kaydedilecek metin adı ve yolu(Rapor dosyası)
- Kaydedilecek dosyanın adı ve yeri seçinini sağlar.
- Seçildiğinde kayıt dosyası izni verir.
- Seçenekleri onaylar ve pencereyi kapatır(Program penceresini açar)
Tabii ki kendi programınızı yazmanıza kim engel olabilir ki...
Üstteki film sadece ölçüm devresinin nasıl çalıştığı hakkında genel bir fikir verecektir. LED'in sönme süresi çok kısa, çünkü DS1820'nin ölçüm süresi çok uzun. Eh sıra dışı çözümlerin sıradışı olumsuzlukları olabiliyor.
Ekler:
ATMEGA8 hakkında bilgi-www.atmel.com
ATMEGA8 ve bilgisayar ile DS1820 algılayıcı RS232 iletişimli Termometre için dosyalar -birleşik
Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A...
Hiç yorum yok:
Yorum Gönder