Gelişen mikrokontrol teknolojileri ve artan bilgi birikimi sayesinde geliştirici düzeyinde daha yaygın kullanımına olanak tanımıştır. Burada elimden geldiği kadar bazı örnekler sunmaya çalışacağım... Görüleceği gibi ilk örneklerimizde çoğunlukla ASM üzerinde iken daha sonraları C üzerinde örnekler yer almaktadır. Hatta ilerleyen zamanlarda Arduino örneklerinin yer alması kaçınılmaz olacaktır.

17 Ağustos 2009 Pazartesi

Atmega8 ile LCD Ekranlı Termometre


Sıcak havalarda neredeyse herkesin klasik bir yaklaşımı vardır: hava cehennem kadar sıcak. Belki havanın sadece sıcak olduğunu belirtmek isteriz. Ama ne kadar sıcak? (Bu çoğunla kişinin sağlık durumu ve beslenme alışkanlıkları ile ilintilidir) Hava sıcaklığını olarak bir termometre olmadan bilemeyiz. Aha bu noktada ne tür bir termometre olacak?

Halen kullanılan civalı termometreler civanın sıcaklık değeri ile sıvı metalin cam bir tüp içinde genleşme prensibine dayanır. Aynı prensibe dayanan ama farklı malzemeler ile aynı sonucu veren termometreler yapıldı.

Buradaki asıl konumuz olan elektronik termometreler çok değişik şekil ve biçimde yapılabilmekte. Sıcaklık algılayıcısı olarak NTC, PTC, transistör, diyot, termoelektrik çift gibi elemanlar kullanılabildiği gibi sıcaklık değerini bir analog gerilime dönüştüren tümdevreler hatta sıcaklık değerini bir dijital değere dönüştüren sıcaklık algılayıcıları kullanılabilir. Burada ele alacağımız eleman bu işle uğraşan çoğu kişi tarafından bilinen hatta kullanılan LM35 entegresidir.

Ölçülen değerin gösterilmesinde değişik gösterge tiplerinin kullanımı pek ala mümkündür. Bilinen ibreli göstergeler ,sayısal LED gösgeler, grafik çubuk şeklindeki göstergeler bu grupta sayılabilir. Kullanılacak olan LCD gösterge olacak.

Şimdi ikisini birleştirelim :Atmega8 ile LCD gösterge+LM35=Atmega8 ile LCD göstegeli termometre.

Devre

"Atmega 8 ile RS485 iletişimli LCD Ekran" projesi daha önce uygulandığı varsayılarak (uygulaması yapılmadı ise önce o projenin incelenmesi gerektiğini belirtmekte fayda var) IC2, C1,R1,P1 kodlu elemanlar devre dışı bırakılır.(aslında IC2 sökülmesi yeterlidir) Bu devrenin RS485 portunun iptal eder. Şu anda bir LCD gösterge için temel devreyi gösteriyor. Şimdi buna sadece LM35 bağlamak yetecek. Bu bağlantı için LM 35'in orta bacağı ve IC1 Atmega8 işlemcisinin 28. bacağı (PC5) arasına ve LM35'in besleme ucları ile C12'nin uygun ucları arasına (kutuplamayı dikkate alarak) bir şerit kablo ile bir bağlantı yapmak yeterlidir.

Şekil-1 :LM35'in bağlantısı ve bacakları.

Yani sonuçta LM35 ile işlemcinin ADC ucu arasında bağlantı yapılır. Bu zaten ölçüm işlemi için yeterlidir.

Şekil-2 :LM35'in kablosunun kart bağlantısı ve tanımları.VOUT bağlantısı Atmega8 işlemcisinin PC5 bacağına bağlanmıştır

Bu noktada söylenebilecek işlemcinin ne yazık ki sıcaklık çözünürlüğünün düşeceğidir. Çünkü devre dikkat edildiyse işlemcinin üzerinde Aref bacağının Vcc üzerine bağlı olduğudur. Bu da programlama için iç referans geriliminin kullanılamayacağını gösterir. Normalde ADC kullanılacağı zaman ki özellikle ADC için iç referans gerilimi kullanılacağı zaman, Aref ile GND arasına bir kondansatör bağlanarak referans gerillim için kullanalarak 2,5V ile kullanılır.(LM35 maksimum ölçüm aralığı 125C olduğuna ve 10mV/C dönüşüm hassasiyetine sahip olduğuna göre LM35 maksimum değerde 1,25V olacaktır). Bunda 125C'i ölçmek için sadece 256 adım olduğunu gösteriyor. Bu bölüm programla ilgili.

LML35'in karışıklığa sebep olmaması için IC_ek olarak tanımlandı. Aslında bu entegrenin besleme bacaklarına bir kondansatör koyuması gerekiyordu, ama bu şekilde de çalışabiliyor.(Devrenin düşük güç çekmesi bazen avantaj sağlıyor)

Not: Aslında devrenin tasarımı esnasında bu fonksiyonu yerine getirmesi için bazı düşüncelerim vardı. Ama gerek zaman yetersizliği gerekse kartın o bölümünün karışık olması nedeniyle işlem yapılması iptal edilmek zorunda kalındı.

Şema

"Atmega 8 ile RS485 iletişimli LCD Ekran" projesi aynen temen alınarak temelde şema eşleştirilir. Şemada görüldüğü gibi IC2 ile ilgili bölüm devre dışı. Ek olarak sadece IC_ek adı altında LM35 entegresi. Gösterge bölümünü saymazsak devre karışık sayılmaz.

Şekil-3 :ATMEGA 8 ile LCD Ekranlı termometre devresinin blok şeması.


Şekil-4 :ATMEGA 8 ile LCD Ekranlı termometre devresi.

Devre Yapımı

Devre yapım açısından entegre fazla olması ve sıkışık düzen nedeniyle biraz sorun çıkarabilir. Öncelikle köprüleri takmak takmakla işe başlanabilir. Entegre elemanlar için soket kullanmak yerinde bir seçim olabilir. Gerçi LCD için soket kullanmak zaten olmazsa olmaz bir durum. Diğerlerinin nasıl takılacağı size kalmış.

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ştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız).

LM35 entegresini pek kablo ucunu takılmasından hoşlanmasamda uygulamada bu yolu tercih etmek zorunda kaldım. Ama denemeye değerdi.

Şekil-5:Kartın eleman ve yollarla birlikte yerleşim planı. Mavi renkteki elemanlar devre dışı bırakılanlar, kırmızı renkteki eleman eklenen elemanları belirtmektedir

Devre Elemanları

Aslında devre elemanları listesi olarak "Atmega 8 ile RS485 iletişimli LCD Ekran" projesindeki liste aynen geçerli olmaktadır. Sadece listeye bir LM35 elemanı eklemek yeterlidir.

Şekil-6:Kartın arkadan görünümü. Kablo kart üzerinde biraz eğreti duruyor.


Şekil-7:Termometre pencere kenarında ve LM35 dışarıda iken dış ortam sıcaklığı.


Şekil-8:Oda içi sıcaklık.


Yukarıdaki filmde görüleceği gibi ekran LED yandığı zamanlarda güncellenmektedir. O filmi LM35 sıcaklık algılayıcısı parmakla tutulurken oluşan sıcaklık yükselmesini gösteriyor.

Ekler:

Atmega8 ile LCD Ekranlı Termometre için dosyalar-birleşik

ATmega8 hakkında ayrıntılı bilgi için

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....

14 Ağustos 2009 Cuma

Atmega 8 ile LCD mutfak Saati


Zaman için teknolojinin gelişimi ile bazı şeyler değişti. Gün oldu mutfakta haşladığımız yumurtanın isteğimizi gibi olması için neler yapmadık. Kimi zaman süreyi kaçırıp iyi pişmiş bir yumurta yedik.Yada iyi pişmiş bir yumurta beklerken yarı pişmiş veya pişmemiş bir yumurtayla karşılatık. Eh, yerine göre pek iyi bir deneyim olmayabiliyor. Hazır bir çorba yapmak için bile saat ihtiyacı duyduk. Şimdi gidipde mutfak için bir saat mi alalım? Bu projede bir mutfak saati ele alacağız. Aslında bir zamanlayıcı diyelim.

Zamanlayıcı

Belirli bir zaman aralığını ölçmek için oluşturulmuş sistemlerdir. Temelde bu işlemi saatin o anı (yani sıfır noktası diyelim) başlangıç noktası kabul edilerek bu değer üzerine sayılır. Bu işlemi özel bir alete uygularsak;

Sistem sıfır konumundan itibaren istenen değere kadar sayar(ileriye doğru). Bu durumda istenen değerin önceden belirlenmesi veya zamanlayıcının takibi gerekebilir.

İkinci olarak belirlenen bir değer girilir ve bu değerden geriye doğru yani sıfır noktasına sayması istenir. Bu şekilde istenen zaman aralığı elde edilmiş olur.

Devre


Şekil-1 :ATMEGA 8 LCD Mutfak Saati devresinin çalışan bir görüntüsü.

Her iki yönteminde kullanımı mümkündür. İstenen değerin girilmesinde bir sayısal tuş takımı kullanılabilrdiği gibi basit birkaç tuştan oluşan bir devrde yeterli olabilir. Bu projede "Atmega 8 ile LCD Saat" projesinde anlatılan sistem kullanılacaktır. Zaten o projede "ATMEGA 8 ile RS485 iletişimli LCD Ekran" projesinin devamı idi. Bu projede kullanılacak sistem için öncelikle sözü geçen projelerin incelenmesinde fayda var.

Burada basitçe 3 buton kullanacağız.

Başlama/Durdurma, hane ayarları ve sıfırlama gibi işlemler yüklenen bu tuşlar şu hali ile bir kablo ile isp konnektörüne bağlanmıştır.

Not:Sistem için bir alarm çıkışı öngörülmemiştir. Aslında iyi olabilir. Kişinin kendi arzusuna bırakılmıştır.


Şimdi basitçe sistemin çalışmasını ele alırsak;

Bir değer girişmişse, yani başlangıç olarak sıfırdan farklı bir değer varsa, bu durumda sistem saat ve dakika biçiminde bir sayıcı olarak belirlenmiş demektir. Atanabilecek maksimum değer 23:59 şeklinde olacaktır. Dolayısı ile zamanlayıcı geriye doğru sayacaktır ve 00:00 değerine ulaştığında girilmiş olan değere geri dönecek.(Tabii ki başla/durdur butonu ile kontrol edilebilir) Değerler Saat: Dakika şeklinde biçimlenmiştir. (Bu durumda ayıraç noktaları yanıp sönecektir) Sistem başla/durdur butonu ile kontrol edilir. Dolayısı ile bu butona basılana kadar sayma işlemine devam edecektir.

İkinci durumda zamanlayıcı 00:00 değerinden başlar ve ileri doğru sayar. Burada kullanıcı başla/durdur butonuna basana kadar sistem saymaya devam eder. Sayıcı haneleri Dakika:Saniye şeklinde biçimlenir. Tabii ki alabileceği maksimum değer 59:59 olur ki bu değerden sonra 00:00 değerinden devam eder.

Her iki durumda zamanlayıcı devrede iken ayar butonları çalışmaz. Zamanlayıcı dururken ayar butonlarının her ikisine birlikte basılması sistemin 00:00 değerine döndürecektir.

Şekil-2 :Saat için buton işlev ve resimi.

Şema

Şema olarak "Atmega 8 ile LCD Saat " projesinde anlatıldığı ve gösterildiği şekilde aynen geçerli. Değişiklik sadece programda. .

Devre Yapımı

Yapı hakkında ekleyecek bir şey yok. İş sizin bilgi ve tecrübenize kalmış. Lehimleri yaparken dikkatli olur, kısa devre oluşturulmazsa ve kaliteli ürünler kullanıldığı takdirde sorun çıkmaz.

Şekil-3:Kart çalışırken


Şekil-4:Kart ilk açıldığındaki değeri

Butonları isteğin gibi düzenleme kullanma şansın açık. Zevkine ve olanaklarına kalmış.

Devre Elemanları

Listeye eklenecek eleman sadece butonlar. Bunu projeyi inceleyerek kendinizin bulabileceği bir öğeler. "ATMEGA 8 ile RS485 iletişimli LCD Ekran" projesi zaten bu projenin temelini oluşturuyor.

Devre olarak saat projesindeki gibi çalışıyor. Program olarak hem ileri (saniye ve dakika) ve geri (saat ve dakika) olarak düzenlendi. Bunlar başlangıç değerinin 00:00 olma durumuna göre karar verecek şekilde düzenlendi...

Kullanımı

Aletin kullanımı basit.

*Saatin ileri doğru sayması için ekran 00:00 değerine sıfırlanmışken(butonlar ile) başla/durdur butonuna bas. Durdurmak için tekrar bas. Alet sıfırlanana (butonlar ile) kadar başla/durdur yapılabilir.(dakika:saniye biçimindedir) Alet 59:59 değerine ulaştığında 00:00 değeri döner.

*Saatin geriye doğru sayması için saat ve dakika butonları ile istenen değeri ayarla. Başla/Durdur butonuna bas. Durdurmak için tekrar bas. Alet sıfırlanana (butonlar ile) kadar başla/durdur yapılabilir.(Saat:dakika biçimindedir) Alet 00:00 değerine ulaştığı zaman ayarlanan değere geri döner.

*Sıfırlamak için saat ve dakika butonlarını birlikte bas.Ekran 00:00 değerine döner. Yeni değer girişi için bekler.

Not:sıfırlama işlemi zamanlayıcı devrede iken de yapılabilir.



Ekler:

Atmega 8 ile LCD mutfak Saati için dosyalar- birleşik

ATmega8 hakkında ayrıntılı bilgi için

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....

10 Ağustos 2009 Pazartesi

Atmega 8 ile LCD Saat


LCD

LCD göstergeler diğer gösterge tiplerine göre göreceli olarak çok az akım çekerler. Çünkü gösterge biçim ve çalışmasında ne LED ekranlar gibi akım çekerek ışık verirler, ne de vakum floresan ekranlar gibi çalıştırmak için bir ısıtıcı direnci ısıtmak gerekir. LCD ekranlarda neredeyse hemen hemen hiç akım akmaz. Bu nedenle LCD uygulamaları pil ile beslenebilir. Hele ki LCD sürücü birimleri düşük güç harcasın..
Devre


Şekil-1 :ATMEGA 8 LCD Saat devresinin çalışan bir görüntüsü.

LCD ekran ile ilgi çalışma "ATMEGA 8 ile RS485 iletişimli LCD Ekran" isimli projede yapıldı. Temelde aynı devre, sadece IC2 RS485 çipi ve saat gösteriminde kullanılması gerekmeyen IC9 4030 çıkartılarak en azından akım harcamaları engellendi. İsteyen LED'i iptal ederek akım harcamasını daha da azaltabilir. Belki işlemcide kullanılan kristal daha düşük bir frekansta seçilirse daha az enerji harcamasını sağlar. Normalde işlemci kullanılan bölümüne göre 5-15 mA akım harcamakta. Ama 7805 için aynı şeyi söylenemez. Bu iş için daha özel bir besleme kaynağı kullanılması güç harcamasını azaltarak pil ömrünü uzatabilir. (Eh kısa süreli kullanım için uygun ama uzun süreli kullanımlar için adaptör kullanmaya devam)

Bu devreye ISP portuna bağlanan bir konnektör yardımıyla saat ayarlama butonları eklendi. Normalde işlemciler için buton bir işlemci port bacağı ve GND arasına konur. Çünkü hali hazırda port bacağı bir pull up direnci bulunduğu ve aktif halde programlandığından port bacağı lojik 1 seviyesinde olacaktır. Butona basıldığında port bacağını GND'ye çekerek lojik 0 bilgisini üretecektir. Bu devrede butonlar PB5 ve PB4 bacaklarına bağlandı.

PB5=Saat ayar butonu

PB4=Dakika ayar butonu.

Şekil-2 :Saat için buton şeması.


Şekil-3 :Saat için buton işlev ve resimi.


Şekil-4 :Saat için butonun kablosu ile birlikte.

Şu anda ayar butona sürekli basıldığında 2Hz ile ilgili ayar sayacaktır. Bu butonlar ayrı bir kart üzerine takılıp bir kablo ile ISP portu üzerine bağlantı oluşturulacak. İsteyen sadece bu amaç için kullanacaksa butonları kart üzerinde monte edilmiş bir devre oluşturabilir.

Doğrudan pille beslemek isteyen çıkabileceğinden pil bağlantısını doğrudan 7805 girişindeki kondansatör bağlantısı yerine takılabilir. (aman besleme bağlantılarının doğru kutuplarda takıldığına emin olun. Çünkü regülatör entegresine test besleme vermek pek iyi olmayabilir.)Böylece girişteki köprü diyot devre dışı bırakılabilir. Yani bu da devrede bir boğaz eksildiği anlamını taşır. Yani güç harcayacak bir eleman.

IC9 4030 çıkartıldığı zaman ki bu entegre ondalık noktaları ve 3 1/2 dijit LCD'nin bazı elemanlarını kontrol eder(bu LCD tipi şu anda kullanılmıyor), ne yazık ki bu parçalar kontrol dışı kalmakta ve isteğimiz dışında bazı işlevleri yerine getirebiliyorlar. Bu nedenle IC9 sökülecekse en azından noktaların LCD'nin COM ucu ile bir bağlantı oluşturmakta fayda var. Aslında bu kartı başka amaçlar içinde kullanmayı planladığımdan IC9 konnektörü üzerinden 3 tel köprü ile bu problemi geçici olarak çözdüldü.

Şekil-5 :Düzenlemesi yapılan elemanlar açıkça görülmektedir.

Şema

Bu devrenin şeması hakkında söylenecek fazla bir şey yok. Projenin devresi şeması ,baskı devresi ve ayrıntılı bilgiler "ATMEGA 8 ile RS485 iletişimli LCD Ekran" burada sadece o projedeki devre üzerinde değişiklikler yaparak pille çalışan bir LCD göstergeli saat uygulaması anlatıldı.

İlk etapta IC9 ve IC2 iptal ediliyor. Dolayısı ile IC2 etrafındaki C1, R1 ve P1 kendiliğinden kullanım dışı kalıyor. (C1 IC2'nin filtre kondansatörü). IC9 etrafındaki C11 devre dışı kalıyor.

LED1 elemanı işlemci üzerindeki program ile kullanım dışı bırakıldı. Dolayısı ile LED1 ve R3 iptal edilmiş oluyor.

Pille besleme için D1 köprü diyodu devre dışı kalır ve dolayısı ile adaptör girişide gereksiz oluyor. (Ne yazıkki kısa süreli kullanım veya destek beslemesi için olablir. Uzun süreli kullanım için resimlerrde gördüğünüz pil ancak 2-3 gün dayanabiliyor.) Bitmeyen piliniz varsa o zaman başka.

İsteyen bunlanı sökebilir veya yeni bir devre oluşturacaksa (verilen baskı devre kullanıldığı varsayılarak) bu elemanları takmayabilir.

"ATMEGA 8 ile RS485 iletişimli LCD Ekran" projesine ek sadece 9V pil ve buton kartı. Pili bağlantı uçları C3 bacaklarının olduğu yere takıldı (C3 sökülerek)

Butonlar içinde basit bir kart 3 butondan oluşan ek devre bir 4 yollu şerit kablo ile ISP konnektörüne bağlantı.(Aslında 2 buton yeterli. Bu buton kartını başka bir proje içinde kullanımı planlanmaktadır.)


Şekil-6 :ATMEGA 8 LCD Saat devresinin blok şeması.


Şekil-7 :ATMEGA 8 LCD Saat devresi.

Devre Yapımı

Devrenin nasıl yapılacağı konusunda geniş bilgi "ATMEGA 8 ile RS485 iletişimli LCD Ekran" proje başlığı anlatıldı. Aslında burada devreyi yapabilir bilgi ve deneyime varsayılıyor.

Şekil-8 üzerindeki devre yerleşime bir göz atılırsa:

Mavi ile gösterilmiş olan elemanlar takılmayacak veya takılmışsa kullanım dışı bırakılacak.

Yeşil ile gösterilen ise köprülecek öğeleri gösterir. IC9 elemanı takılmayacaksa gösterilen elemanlar köprü olarak takılır. (Baskı devresi yeniden yapılacaksa zaten doğrudan iptal edilebilir)

Şekil-8:Kartın eleman ve yollarla birlikte yerleşim planı(Yapılması gereken değişiklikler)


Şekil-9:Butonlar için baskı devre kartı ve yerleşim planı

Butonları isteğin gibi düzenleme kullanma şansın açık. Zevkine ve olanaklarına kalmış.

Devre Elemanları

Listeye eklenecek eleman sadece butonlar. Bunu projeyi inceleyerek kendinizin bulabileceği bir öğeler. "ATMEGA 8 ile RS485 iletişimli LCD Ekran" projesi zaten bu projenin temelini oluşturuyor.

Şekil-10:Tamamlanmış devrenin görünümü. En azından bir fikir verir..

Aslına bakarsanız devreyi pil ile beslemeyi planlamıştım. Devre her ne kadar çok az akım çeksede (ölçme şansım olmadı) Şekil-10 üzerinde görülen pil sadece 2-3 gün kadar dayanabildi. Bu nedenle pille besleme hayalimi başka bir devreye saklamam gerekti. Böyle bir devrenin pil ile beslenebilmesi için çok daha az akım çeken devre elemanları kullanmak gerekiyor. Hatta doğrudan LCD ekranı sürebilen bir işlemcinin kullanılması gerekiyor.

Ekler:

Atmega 8 ile LCD Saat için dosyalar-birleşik

ATmega8 hakkında ayrıntılı bilgi için

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....

4 Ağustos 2009 Salı

Atmega 8 ile RS485 iletişimli LED Saat


Saat zaman ölçüm aracı olarak vazgeçilmez bir nesnedir. Bunu kimse gözardı edemez. Hani bir söz vardır:"Bir saati olan zamanı kesin olarak bilir ama iki saati olan asla." Hangi saat olarsa olsun nerede durursa dursun mutlaka saatlerin gösterdikleri zaman arasında fark vardır. Bu o kadar önemli olmayabilir ama olabilirde.

İnsanlar zamanı kesin bir biçimde belirleyebilmek için atom saatleri geliştirdiler. Hassasiyetleri o kadar iyi idi ki 1 saniye ileri veya geri kalabilmesi için yüzyıllar geçmesi gerekiyordu. Ama atom saatlerinin sayısı artıkça bu saatlerin gösterdikleri değerler arasında farklar oluşmaya başladı. Hatta bu cihazların gösterdikleri değerlerin ayarlanması için ayrı bölüm oluşturulmak zorunda kaldılar. Çünkü ortaya tam zamanın ne olduğu konusunda bir sorun ortaya çıktı.

Hepimizin evinde, işinde veya etrafında aynı ortamda birden fazla saat vardır. Çoğunlukla bunları ayarlamak için zaman harcamak gerekir. Çünkü gösterdikleri değerler farklıdır. Peki hangisi doğru? Bu saatlerin aynı değeri göstermesini ve bir tek noktadan ayarlanmasına ne dersiniz? Bu projede bu konu ele alacak.

Aslında burada bir tek saat kaynağı var. Diğerleri aptal terminal olarak tanımlanabilecek sadece değeri gösterecek şekilde düzenlenmiş araçlardır. Bu projede saat kaynağı olarak ilk etapta bilgisayar öngörüldü. İletişim ortamı olarak RS485 düşünüldü. Bilgisayar için RS485 iletişim bölümü "RS232/RS485 dönüştürücü arabirim" projesinde ele alınmış ve birçok projede başarı ile kullanıldı.

Proje 4 adet LED ekran ve iki ayraç noktası üzerinde RS485 iletişimi ile gelen saat bilgisini ATMEGA8 işlemcisi yardımı ile gösterecek şekilde düzenlendi. Değişik projeler üzerinde LED ekranların çoğullaması sürülmesi ile ilgili uygulamalar
yapıldı.

Şekil-1 :ATMEGA 8 RS485 Saat LED çalışması.

Devrenin çalışması

Devre "Atmega8 ile RS485 İletişimli Led Ekran" projesinde anlatıldığı gibi çalışıyor. Neredeyse aynısı. Tek fark LED ekranların arasında yer alan ayıraç ledleri. Bu ledler için bir kontrol programı eklendi o kadar. Örneğin "80" gönderildiğinde LEDler yanar. "81" gönderildiğinde söner. RS 485 bağlantısı üzerine birden çok bu modülden eklendiğinde hepsi aynı değeri göstermiş olacaktır.

Şema

Sistem Atmega8 işlemcisine dayalı. Bu işlemcinin saat frekansı XTL1, C5 ve C6 tarafından sağlanır. (Burada niye 4MHz diyenler için 3,6864MHz kristali bulmakta biraz zorlandım ve fazla uzatmak istemedim.) R3…R9 dirençleri LED akım sınırlama dirençleridir.R10…R15 dirençleri transistör akım sınırlama dirençleridir. D3…D6 7 parçalı LED ekranların ortak bacakları Q1,Q2,Q4 ve Q5 transistörler ile sürülür. LED ekranların her (a,b,c,…)aynı parçası birlikte bağlanarak işlemciye ilişkilendirilir. Böylece bir çoğullama devresi oluşturulur. D7 ve D8 ayıraç ledleri R12 direnci üzerinden Q3 transistörü ile sürülür. Böylece işlemci ile yakılıp söndürülmesi sağlanır. R2, D2 birlikte enerji var ve işlemci çalışıyor göstergesi olarak çalışıyor. ISP konektörü işlemci programlamak için kullanılacak konektör bağlantısıdır. (isteyen işlemciyi başka bir yerde programlayıp sonra devreye takabilir.)

IC2 artık bilindiği üzere RS485-RS232 dönüştürücü. R1 direnci hat empedans uygunlaştırma direnci. P1 RS485 bağlantısı için 6p2c konnektörüdür.( İsteyen başka bir bağlantı yöntemi kullanabilir)

D1, IC3, C2, C3, C7 ve C8 besleme devresini oluşturmaktalar. Geriye kalan bütün kondansatörler devre oluşabilecek gürültüleri süzme görevini yerine getirir. Eh geriyede pek fazla eleman kalmadı.

Şekil-2 :ATMEGA 8 RS485 SAAT LED Sürücü devresinin blok şeması.


Şekil-3 :ATMEGA 8 RS485 SAAT LED Sürücü devresi.

Devre Yapımı

Devre montaj açısından fazla bir kritik eleman içermiyor.Dikkatli bir şekilde monte edildiği zaman bir sorun çıkarmıyor. Kartı kendiniz yapacaksanız, elemanları monte etmeden önce bir son kontrol yerinde olabilir. Tümdevreleri takmadan önce devreye besleme gerilim uygulayıp, besleme bacaklarında besleme gerilimi olduğunu onayladıktan sonra entegre devrelerin takınması yerinde olacaktı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ştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız).

Kristal kılıfının GND ile bağlantısı oluşturulması olası kaçak kondansatörleri dolayısı ile sizden kaynaklanabilecek sorunları ortadan kaldıracaktır.

Şekil-5:Devrenin baskı devresi şekli


Şekil-4:Devrenin yerleşim planı


Şekil-6:Kartın eleman ve yollarla birlikte yerleşim planı

Devre Elemanları

120RR1
220RR3,R4,R5,R6,R7,R8,R9
470RR12
1KR2,R10,R11,R13,R14,R15
10µF/25VC2,C8
27pFC5,C6
100nFC1,C3,C4,C7,C9
MAX485IC2
ATMEGA8IC1
7805IC3
4MHz kristalXTL1
3mm Sarı LEDD2
3mm Kırmızı LEDD7,D8
7 parçalı LED EkranD3,D4,D5,D6
BC327Q1,Q2,Q3,Q4,Q5
B125C1500 veya benzeriD1
6P6C ve 6P2C rj12 konnektörP1
6P konnektörISP

Malzeme listesi. Burada işlemci ve diğer tümdevreler için soket,9V adaptör verilmemiştir. Entegreler için soket isteğe bağlıdır. Köprü olarak bacak bağlantıları uyan herhangi bir eleman kullanılabilir.

Şekil-7:Kartın arkadan görünümü. Sıkışıklık biraz özen gerektirir.


Şekil-8:Kart saat olarak çalışırken. Yeşil LED ekran ve yeşil LED kullanılarak yapılmış.


Şekil-9:Kart saat olarak çalışırken. Kırmızı LED ekran ve kırmızı LED kullanılarak yapılmış.

Bilgisayar Programı


Şekil-10:LED ekran devresine veri göndermek üzere kullanılan bilgisayar programın ana penceresi.

Pencere üzerinde LED ekrana bilgi gönderebilecek 5 bölge var. Bunlar en sağ taraftaki yuvarlak butoncuklar ile seçiliyor. Seçilen bölge mavi renkte işaretlenmekte ve o bölge üzerinde işlem yapılabilmekte.

Şekil 10'daki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. 1000 hanesi değer seçme. (Saat 10 hanesi)
  2. 100 hanesi değer seçme. (Saat 1 hanesi)
  3. Ayıraç LEDlerinin yanıp sönmesi buton ile kontrol edilir.
  4. 10 hanesi değer seçme. (dakika 10 hanesi)
  5. 1 hanesi değer seçme. (dakika 1 hanesi)
  6. LED ekrana yandaki ayarlara uygun değerleri ekrana gönderir.
  7. LED Ekrana saat bilgisi gönderildiği zaman saat bu bölgede saklanır.
  8. Saat bilgisi burada görüntülenir ve buradan gönderilir.
  9. Saat bilgisinin LED ekrana gönderilir veya gönderilmesini keser.
  10. Ekranı silerek Devrenin genel tanımı başlığı üzerindeki gibi görünmesini sağlar
  11. Seçenekler penceresini açar


Şekil-11:LED ekran devresine veri göndermek üzere kullanılan bilgisayar programının seçenekler penceresi.

Şekil 11'deki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Bilgisayarda seri port seçimini sağlar.
  2. LED ekrana gidecek değerin güncelleme süresini ayarlar.(Burada kullanılmıyor)
  3. LED ekran seçimi (4 dijit veya 3 1/2 dijit) (24 saat 12 saat moduna göre)
  4. Seçenekleri onaylar ve pencereyi kapatır(Program penceresini açar)

Not:Program Delphi 7 ile sadece LED ekran kartını test için yazılmıştır.

Devre ile neler yapılabileceği sadece hayal gücüne kalmış..


Ekler:

NOT: Bu proje bu hali ile "RS232/RS485 dönüştürücü arabirim" projesi ile birlikte kullanılmaktadır.

Atmega 8 ile RS485 iletişimli LED Saat için dosyalar- birleşik

ATmega8 hakkında ayrıntılı bilgi için

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....

Translate

Sayfalar

Etiketler

İzleyiciler