Bu projede "Atmega8 ve LM75 ile LED Ekranlı Termometre" üzerinde duracağız
LM75
Şekil-1 :Küçük bir kart üzerindeki LM75. i2c pull-up dirençleri
görülmektedir. Üstteki kondansatörler 100nF ve 10µF'dır
LM75 için alet adresi 1001,A2,A1,A0 ve oku/yaz biti ile oluşturulur. Bu projede A2,A1 ve A0 bacakları toprağa bağlandığından 0 olur ve dolayısı ile alet slave adresi 1001000+oku/yaz şeklinde düzenlenir. Buna göre LM75 yaz tanım kodu 10010000(0x90) ve oku tanım kodu 10010001 (0x91) şeklinde olmaktadır.
Şekil-2 :i2c üzerinden işlemci ve LM75 arasındaki iletişim..
- LM75'e başlama durumu gönder
- LM75'e tanıma kodunu (çip kodu+adres+ yaz biti) gönder ---LM75'den kabul durumu bekle
- LM75'e okunacak bayt adresini (0x00) gönder --- LM75'den kabul durumu bekle
- LM75'e başlama durumu gönder --- LM75'den kabul durumu bekle
- LM75'e tanıma kodunu (çip kodu+adres+ oku biti) gönder ---LM75'den kabul durumu bekle
- LM75'den sıcaklık yüksek anlamlı baytı oku --- LM75'e kabul durumunu gönder
- LM75'den sıcaklık düşük anlamlı baytı oku --- LM75'e kabul değil durumunu gönder
- LM75'e durdur durumu gönder...
kabul durumu :Lojik-0
kabul değil durumu: Lojik-1
Artık bu noktadan sonra okunan verinin değerlendirilerek sıcaklık değeri ile eşleştirilmesine kalmıştır.
Düşük anlamlı baytı sadece bit7 değerlendirilmektedir. bit.7'de sıcaklık değerinin ondalık hanesine denk düşmektedir ki sadece 0 ve 5 değerini almaktadır.
Şekil-3 :LM75'den alınan sıcaklık verisi.
Yüksek anlamı bayt değeri onluk sistemde doğrudan sıcaklık değerine denk düşmektedir ki bu bir çevirme işlemine gerek olmayacağı anlamını taşır. Sadece sıcaklık değeri sıfırın altında ise o zaman elde edilen değerinden 255'nın çıkarılması gerekmektedir.(ikinin tümleyeni ve yüksek anlamlı baytın bit-7 dahil).Bu noktada göz önüne alınması gereken LSB değerininde hesaba katılması gerekliliğidir.
LED ekran
Şekil-4 :Devrede kullanılan LED ekranları birisinin üzerindeki 2
rakamı.
Sadece işlemcinin bacak sayısı her LED ekranı tek tek sürmeye yeterli gelmediğinden dolayı çoğullama adı verilen bir teknik kullanılmaktadır. Yeni her LED ekran aynı anda sürülmemektedir. Sadece zamanın küçük bir kesrinde kendisine ait değeri göstermektedir. İnsan gözü saniyenin 1/20'deki değişimleri algılayamadığı için bütün değerleri bir anda gösteriliyormuş gibi algılıyoruz.
Bu işlemcinin bacak sayısında tasarruf sağlıyor ama işlemci programını biraz karıştırıyor..
Devre
Şekil-5 :Tam sistem. Tek yapılması gereken besleme
bağlantısı
Şekil-6 :İşlemci kartı. Bu kart daha önceki projelerde kullanılan
bir devre olduğu için bazı eleman fazlalıkları vardır.(voltmetre ve termometre
)
Şekil-7 :İşlemci kartı arkadan görünüm. Görünmeyen elemanlar
kartın arkasında. Kart tasarlanırken harici kristal kullanılabileceği de
öngörülmüştü. Bu nedenle PCB üzerinde kristal ile ilgili bacak bağlantıları da
yer almaktadır.
Şekil-8 :LM75'in bulunduğu kart
Şema
İşlemci ile işlem yaptığımıza sistemin kalbini IC1 Atmega8 oluşturuyor. D2, D3, D4, D5 ortak anotlu gösterge LED'leri oluşturuyor. Gösterge ile işlemci arasındaki seri bağlı R5, R6, R7, R8, R9, R10, R11 ve R12 (220Ohm) LED göstergelerin akım sınırlama dirençleridir. LED ekranların ortak uçlarını süren Q1, Q2, Q3, Q3 (BC327) transistörleri, bazılarına bağlı R1, R2, R3 ve R4 (1K)dirençleri üzerinden işlemciye bağlanır. Böylelikle gösterge bölümü bitirilmiş olur.IC3 (LM75) ayrı küçük bir kart üzerinden kablo ile taşınmıştır. IC3 için i2c bağlantısı desteği olan R13 ve R14 (10K) pull-up dirençleri eklenmiştir.
D1 (2W10M) köprü diyodu üzerinden bağlı olan IC2 (7805) gerilim regülatörü devre beslemesi için 5V gerilimini üretir.
ISP konnektörü işlemcinin programlanması için gereken bağlantı elemanını oluşturur.
Geriye kalan kondansatörler filtre amaçlı elemanları oluşturur.
Şekil-9:Blok şeması
Şekil-10:Devre şeması (P1,P4 ve P6 konnektörü
gösterilmemiştir)
Devre Yapımı
Şekil-11:Kartların yollar
Şekil-12:Kartların üstteki eleman yerleşimi Kart üzerindeki
C5,C6,XTL1 elemanları kart üzerine takılması gerekli değildir, takılsa bile
çalışmayacaktır.
Şekil-13:Kartların alttaki eleman yerleşimi
Şekil-14:Kartların yolları birlikte üstteki eleman
yerleşimi
Şekil-15:Kartların yolları birlikte alttaki eleman yerleşimi
Şekil-16:Kartların bağlantıları. .
Şekil-17:Tüm sistemin bağlantı yapılmış hali. Parmak ucu
sıcaklığı ölçerken
Devre Elemanları
220R | R5,R6,R7,R8,R9,R10,R11,R12 |
1K | R1,R2,R3,R4 |
10K (1206 smd) | R13,R14 |
100nF | C2,C3,C4 |
100nF (1206 smd) | C7,C9 |
10µF | C1 |
10µF (1206 SMD) | C8 |
B125C1500 veya benzeri | D1 |
LM75( SOIC8) | IC3 |
FYS-3611BS (LED ekran) | D2,D3,D4,D5 |
7805 | IC2 |
Atmega8 | IC1 |
LM75 | IC3 |
6 Header (ISP6) | ISP |
2'li Klemens | P1 |
Sonuç
Sonuç olarak devre küçük bir yapıda. (daha da küçültülmemesi için elbette bir sebep yok) İsteyen LM75'i de işlemci kartına dahil ederek bir ortam termometresi oluşturabilir. Sadece dikkat etmesi gereken kutu içine konulduğu zaman devrenin hava alması için yeterli sayıda delik açılması gerekliliğidir. Bu şekilde LM75 doğru bir şekilde ölçüm yapması sağlanır.
Şekil-18:Ortam sıcaklığı
Şekil-19:Buzdolabı. Suyun en yoğun olduğu sıcaklıkta
Şekil-20:Buzdolabı buzluk. Yazın bu sıcaklığı görebileceğiniz
nadir yerlerden biri
Şekil-21:Buzdolabı buzluk. Biraz daha beklersek daha da soğuyacaktır.
Not: Filmin sonuna doğru parmak ile LM75'e dokunulmuş ve sıcaklık artırılmıştır.
Ekler:
Atmega8 hakkında bilgi için
"Atmega8 ve LM75 ile LED Ekranlı Termometre" projesi için gereken dosyalar
Hiç yorum yok:
Yorum Gönder