Bu projede Atmega328P ve DS1307 ile LED matris ekranlı saat uygulamaya çalışacağız.
Çoğullama
LED'lerin işlemci ile doğrudan sürülmesini zaten başlı başına bir sorun. O kadar LED'i sürecek bacağı sahip işlemci bir yana bağlantıların yapılması bile ciddi bir konu.Aynı sistem seri giriş paralel çıkış entegreleri ile de oluşturulabiliyorsa da, entegrelerden ve LED'lere bağlanması gereken bacak sayısı bir yana her bir led'ini aynı anda yanmasından dolayı ciddi bir güç kaynağı gereksinimi de söz konusudur. (Piyasada bu yöntemi kullanan sistemler var). Sanırım programlanmasındaki kolaylıklardan dolayı tercih ediliyor.
Çoğullama konusu zaten bu işin temelini oluşturuyor. Yani bir anda tüm satır veya sütunların çalıştırılmayıp, zamanın bir anında sadece bir (uygulamamızda)sütunun aktiflenmesi esasına dayanır.
Şekil-1 :Led'lerin tarama prensibi.
Şekil-2 :7x5 matrisin çalışırken insan tarafından algılanan görünümü. Soldaki çizim,sağdaki gerçek görünümü
Not: Çoğullamanın sıkıntısı LED sütun sayısı belli bir değeri aştığı zaman LED parlaklığının düşmemesi için besleme gerilimi artırılması gerekir veya sistemin bloklar halinde kullanılması gerekir. (tarama hızının ona göre ayarlanması gerekir).
Şekil-3 :Led'lerin resmi.
Şekil-4 :Led'lerin 7x5 için matris bağlantı şeması.
Saat devresi açısından anlatıldığı şekilde bir devre oluşturmaktır.
DS1307
Şekil-5 :DS1307 çipi bacak bağlantıları.
DS1307 iletişim olarak i2c haberleşme tekniğiin kullanmaktadır, haliyle işlemci üzerinde donanımsal olarak i2c hattı bulunduğu için bacak bağlantılarına eklenecek olan 2 pull-up direnci i2c bağlantısını tamamlayacaktır.
DS1307 kristal bacaklarına bağlanan 32KHz saat kristali ile kararlı bir şekilde saat referans sinyali sağlayacaktır. Veri kağıtlarında saat kristali konusunda bazı sınırlama olduğu belirtilmiştir. Kristal konusu önemlidir, çünkü DS1307'nin çalışıp çalışmaması dahil saatin ileri veya geri gitmesi gibi konuları etkileyecekitr.
Şekil-6 :Kart üzerindeki DS1307, pil ve kristal.
PCB
Şekil-7 :Kartın her iki yüzünün resmi. Bazı deliklerin köprüleri lehimlenmiş halde.
LED olarak 1206 kılıfa sahip kırmızı LED kullanıldı (toplamda 214 tane gereken LED'lerden elimde 170 tanesi vardı), istenirse 1210 kılıfa sahip LED'de kullanılabilir.
Şekil-8 :Çift yüzlü kart üretiminde iki yöntem. Soldaki delik içi kaplama olmadan sağdaki delik içi kaplama ile.
Şekil-9 :Çift yüzlü kart montajında deliklere eleman ve köprü lehimi. Delik içi kaplama olmadığında yollar arasındaki iletimi sağlamak için kartın her iki yüzünden de lehimlenme gerekmektedir.
Şekil-10 :Kart üzerine lehimlenmiş işlemci.
Devre
Şekil-10 :Yapılmış haldeki devrenin ön yüzü. Görüldüğü gibi tüm elemanlar bu yüzde bulunmaktadır
Şekil-11 :Yapılmış haldeki devrenin arka yüzü.
Satır sürücüleri direnç üzerinden işlemci bacaklarına bağlı bir yapıdır. 7 adettir.
Sütun sürücüler 74HC154 ile dirençler üzerinden sürülen BC857 (PNP) transistörler oluşturur. 2 tane 74HC154 üzerinden 30 tane BC857'den oluşur.
Şekil-12 :Kart üzerinde lehimli 74HC154 ve bacak bağlantıları.
Şekil-13 :Kart üzerindeki 78M05.
İki tane buton da saat ve dakika ayarı için kullanılmaktadır. Ayrıca devre ilk çalıştırıldığında DS1307'nin ilk değerlerinin yüklenmesi için besleme verilmeden önce bu butonlara basıp ve basılı tutularak besleme verilmesi ve sonra butonların bırakılması gerekmektedir.
210 tane LED her biri 7x5 matris oluşturacak şekilde 6 hane olarak gruplanmıştır. Saat, dakika ve saniye değerleri bu LED matrisler üzerinde görüntülenmektedir.
Şema
Not: LED matrisi oluşturan D1..D210 LED'lere 210 tane oldukları için tanımlama kodu verilmemiştir.IC1 (Atmega328p) saatin tüm kontrolunu yapan mikrokontrollerdir. İşlemcinin iç saat kaynağı RC kullanıldığı için harici kristal kullanılmamıştır. İşlemciye bağlı S1 (saat ayar butonu) ve R38 (10k) pull-up direnci saat ayar kontrolu için kullanılan butonudur. Aynı şekilde işlemciye bağlı S2(dakika ayar butonu) ve R39 (10k) pull-up direnci dakika ayarını sağlamak için kullanılan devreyi oluşturur.
IC1'e (Atmega328p) IC2 ve IC3 (74HC154) decoder entegreleri sütun sürücüleri olarak çalışır. IC2 ve IC3 (74HC154) çıkışlarına bağlı R8...R37 (1k) dirençleri üzerinden bağlı olan Q1...Q30 (BC857) PNP transistörleri baz üzerinden (emetörleri +5V ve kollektörleri LED sütunlarına bağlı olmak üzere) LED sütunları kontrol edilir.
IC1'in (Atmega328p) bacaklarına bağlı R1...R7 (100 Ohm) dirençleri LED matrisin satır sürücüleri olarak çalışır.
IC1'in (Atmega328p) bacaklarına IC4 (DS1307) saat kaynağı olarak çalışır. Aynı zamanda i2c bacaklarına bağlı R40 ve R41 (10K) pull-up dirençleri i2c bağlantısının pull-up ihtiyacını karşılar. IC4 (DS1307) bacaklarına bağlı XTL1 (32KHz) kristal saat sayma için referans saat sinyalini üretir. IC4'ün(DS1307) 3. bacağına bağlı PIL1 (3V pil) destek beslemesi olarak güç kesintilerinde saat sayma işlemine devam edebilmesi için takılmaktadır.
IC5,D245 ve P1'den oluşan devre elemanları devrenin beslemesi için gereken gücü sağlayarak +5V regüleli gerilimi oluşturur.
D211,D212 (LED) ve R42(1k2) direnç ve D213,R214 (LED) ve R43 (1k2) direnç matris ekran üzerinde saat, dakika ve saniye arasında ayırıcı olarak işlev görür.
Kondansatörler ise devre üzerinde filtre amacı ile kullanılmıştır. .
Şekil-14:Blok şeması
Şekil-15:Devre şeması (Led matris içinde yer alan ledler blok halinde gösterilmiştir)
Devre Yapımı
Devre yapımında kartı delik içi kaplamalı yaptırıyorsanız, yapacağınız sadece elemanları monte etmek iken, eğer kendiniz basıyorsanız, bacaklı elemanların bulunduğu delikler haricindeki tüm deliklere birer tel geçirip her iki taraftan lehimlemeniz gerekir. Zorluğu işlemin zaman almasıdır.Entegreler biraz zorlar (IC1-Atmega328p) özellikle işlemci 4 tarafında bacaklar bulunduğu için lehimlemeden önce tüm bacakların hizalandığından emin olun.
LED'leri lehimlerden doğru yönde konumlandıklarından emin olun. Hatta lehim işlemi tamamlandıktan sonra Ohm kademesinde LED'lerin kontrol edilmesinde fayda var.
ISP konnektörünün bazı bacaklarının (kart delik içi kaplama değilse) elemanların bulunduğu taraftan lehimlenmesi gerektiğini dikkat ediniz.
Şekil-16:PCB şeması, (top) üst yollar
Şekil-17:PCB şeması, (bot) alt yollar
Şekil-18:Kartların üst yüzdeki eleman yerleşimi.
Şekil-19:Kartların yolları birlikte üstteki eleman yerleşimi (Alt yüzde eleman bulunmamaktadır.)
Şekil-20:Kart çalışırken bir görünümü. Monte edilmiş ve saat ayarı yapılmış.
Devre Elemanları
100R (1206) | R1...R7 |
1K (1206) | R8...R37 |
10K (1206) | R38...R41 |
1K2 (1206) | R42,R43 |
100nF (1206) | C1,..C6,C8...C10 |
10µF (1206) | C7 |
10µF/16V tantal (A-Case) | C4 |
BC857 (SOT23) | Q1...Q30 |
LED (1206) | D1...D214 |
2W10M vye benzeri | D215 |
Atmega328P (TQFP32) | IC1 |
74HC154 (SO24) | IC2,IC3 |
DS1307 (SO8) | IC4 |
78M05 (D-PAK) | IC5 |
32.768KHz Kristal | XTL1 |
2x3 Header (ISP6) | ISP |
Buton | S1,S2 |
3V pil | PIL1 |
2'li klemens | P1 |
Devrenin Çalıştırılması
Şekil-21:Matris ekran için bir deneme. Ayraç noktalarını söndürsem iyi olurmuş.(Saat üzerinde çıkmıyor, bu sadece bir deneme).
Şekil-22:Programlama için ISP konnektörü bağlantısı.
Pilin bittiği elektrik kesintilerinden sonra saat değerinde kayma veya saatin tamamen durması ile anlaşılır.
Şekil-23:Butonlar. Saat tarafındaki saati, dakika tarafındaki dakikayı ayarlar.
Saat 50mA civarında (ekranda yanan LED sayısına göre değişir) bir akım çekmektedir. Bu değer R1... R7 direnç değerlerine bağlıdır. R1...R7 değeri azaltılarak ekran parlaklığı artırılabilir ama bu değerin fazla küçültülmemesi gerekir. Ne de olsa sürme işlemi doğrudan işlemci üzerinden yapılmaktadır.
Şekil-24:Duvara asılmış saat. (Aydınlatmada kullanılan lamba renkleri biraz kaydırdı.)
Güncelleme
Şekil-25:Saatin güncellenmiş görünüm.Karanlıkta daha güzel görünüyor
Şekil-26:Saatin güncellenmiş görünüm.
Şekil-27:Kartın LED'leri değiştirildikten sonraki güncellenmiş görünüm.
İşlem olarak 214 tane 1206 kılıfındaki LED 1210 kılıfındaki kırmızı LED ile değiştirilmiştir. Bunun yanında LED'leri sürmek için işlemci ile seri bağlı olan R1...R7 dirençleri (120 Ohm) ile değiştirilmiştir. Ayrıca ayraç LED'leri seri bağlı olan R42 ve R42 dirençleri (2k2) ile değiştirilmiştir.
Şekil-28:1210 kılıflı LED'lerin yakından görünümü.
LED parlaklığında azalma olsa bile sonuçta devrenin harcadığı akımda azalma olduğu kesin. Özellikle gece karanlıkta gözü daha az rahatsız edici bir duruma indirgenmiştir.
Şekil-29:1210 kılıflı LED'lerin yakından görünümü. Görüldüğü üzere LED'in ışık verdiği bölüm daire şeklindedir. Led'lerin yanında satır sürücülerine seri bağlı 120 Ohm'luk direnç görülmektedir.
214 tane LED'i değiştirmek gerçekten zor bir işlem, o yüzde daha üretim aşamasında hangi malzemenin kullanılacağını belirlemek yerinde bir karar olacaktır.
Ekler:
Atmega328P hakkında bilgi için
"Atmega328P ve DS1307 ile LED Matris Ekranlı Saat" projesi için gereken dosyalar
Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....
3 yorum:
Devre hoşuma gitti atmega 328p program atılıyor galiba öyle mi
Devren hoşuma gitti Birtane yapacak yazılım nasıl yapılacak
Devre ile ilgili kod ve derlenmiş hex dosyaları linklerde verilmiştir. hex dosyasını , bir programlayıcı kullanarak işlemci içine yazabilirsiniz.
Yorum Gönder