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.

saat etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
saat etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

11 Ağustos 2014 Pazartesi

Atmega128 ve T6963C Grafik Kontroller İçeren 240x128 GLCD ile Saat


Zaman konusundaki güncel hayatımızda kullandığımız en basit araç saattir. Değişik yöntemlerle ve yollarla ölçülebilen zaman, elektronik uygulamalar ile de gerçekleştirilmesi oldukça basitleştirilmiştir. Her ne kadar asıl amacımız GLCD sürülmesi konusu.

Bu projede "Atmega128 ve T6963C Grafik Kontroller İçeren 240x128 GLCD ile Saat" uygulaması gerçekleştirmeye çalışacağız.

Saat
Şekil-1 :Zaman ölçümünde kullanılmış ve kullanılan saat modelleri

İnsanlar zamanın ölçülebilir bir büyüklük olarak ele alınabilir bir kavram olarak algılamaya başladığından beri değişik yöntemlerle zamanı ölçmeye çalışmıştır. Kendi zamanının teknikleri kullanılarak, mum, güneş, kum, ip yakma, su saati gibi bir çok yöntemle zamanı ölçmeye çalışmış, insanların mekanik alanındaki ilerlemeleri ile saat mekanik örnekleri oluşturulmuş, daha sonra elektroniğin gelişimi ile de, günümüz elektronik saatleri ortaya çıkmıştır.

Saat kavramını saniye, dakika ve saat olarak ele alabiliriz.

Saat konusunda son gelişmeler atom saatlerini ortaya çıkarmıştır ki, saniye olarak Sezyum-133 izotopunun rezonansının (iki radyasyon salınımı) kez  9.192.631.770 sayılmasına eşit olduğa karar verilmiştir. Tabii bu nokta Sezyum'un 0 K sıcaklıkta olma durumuna göre belirtilmiştir. Günümüzde lazer destekli atom saatleri kullanılmaktadır.

Saat konusunda, 1 gün=24 saat, 1 saat=60 dakika ve 1 dakika=60 saniye olarak ölçeklenmiştir. Saniyenin alt katları da mevcut ise de günlük kullanımda yer almaz. Hatta çoğu durumda saniye bile pek kullanılmaz.

T6963C Grafik LCD
Ölçülen bir büyüklüğün gösterilmesinde (kullanıcının anlayacağı şekilde yansıtılması) çeşitli yöntemler vardır. Bunlardan biri de grafik LCD'dir. Düşük enerji harcaması sayesinden birçok cihazın yapılmasına imkan tanımıştır. Özellikle düşük enerji gerektiren taşınabilir el tipi cihazlar.

Sıvı kristal teknolojisine dayanan sistemde, bir iki elektrod arasındaki sıvı kristalin elektrik alanı etkisi ile konum değiştirmesine bağlı görüntü oluşturulur. Burada 240x128=30720 pikselli bir görüntü alanı oluşturur. Neyse ki matris sürme tekniği sayesinde daha az bacak ile LCD sürülmesi sağlanmıştır.
Şekil-2 :GLCD üzerinde işlemciden gelen bir verinin yerleşimi...
Projede kullanılan GLCD 240x128 piksel çözünürlüğü sahip, T6963C grafik kontroller içeren mavi filtreli, negatif gösterime sahip,beyaz arkaplan aydınlatmalı bir üründür.

Veri iletişimini 8 bitlik paralel veri yolu üzerinden yapmaktadır. Kontrol uçları ile veri yönü, tipi gibi denetimler sağlanmaktadır. Her piksel 1 bitlik bir ver alanı kapsadığından 30720/8=3840 bayt'lık veri alanına denk düşer. Bu ya daha düşük kapasiteli bir işlemci kullanıp harici RAM kullanarak çözülecek ya da doğrudan yüksek kapasiteli işlemci seçilerek. Projede Atmega128 gibi (diğer özelliklerde sıkıntı olmadığından) 4Kbayt ram kapasitesine sahip olduğu için seçilmiştir.
Bacak NoSembolüAçıklaması
1FGModül Çerçeve Şasesi
2Vss0V
3Vdd+5V
4VoKontrast Ayarı
5WRVeri Yaz
6RDVeri Oku
7CEÇip İzni
8CDKomut/Veri Seçme
9RSTReset Sinyali
10DB0Veri Biti 0
11DB1Veri Biti 1
12DB2Veri Biti 2
13DB3Veri Biti 3
14DB4Veri Biti 4
15DB5Veri Biti 5
16DB6Veri Biti 6
17DB7Veri Biti 7
18FSFont Seç
19LED+LED'in Anot uçu (+5V)
20VEE-16.5V çıkış
Yukarıda projede kullanılan 240x128 GLCD bacak bağlantıları verilmiştir.

Devrenin çalışması
Şekil-3 :Ekran arkaplan resmi. Diğer öğeler bu resim üzerine eklenir.

Devredeki tüm denetimler Atmega128 tarafından yürütülmektedir. Devreye besleme verildiğinde öncelikle arkaplan resmi ekran için ayrılmış RAM alanına taşınır. Bundan sonra ayraç noktaları bu veriye eklenir. (Bu sabit resimdir) saat, dakika ve saniye değerlerine göre RAM üzerine eklenir. Ve değerler güncellendikçe sadece rakamlar değişir.

Harici bir gerçek zaman saati çip kullanılmadığı için, saat, dakika, saniye sayma işlemleri Atmega128 üzerinde gerçekleştirilmektedir. Atmega 128 üzerindeki Timer 1 yardımı ile 1 saniyelik kesmelerle 1 saniye sinyali üretilmektedir. Saat, dakika ve saniye sayma işleminden sonra elde edilen değerler bir sonraki aşamaya taşınır.
Şekil-4 :Saati göstermek için kullanılan rakamlar. Üstteki rakamlar ile alttaki rakamlar P1 üzerinde köprü (jumper)ile seçilmektedir.Takılırsa üsttekiler, takılmazsa alttakiler seçilmektedir.

GLCD üzerideki görüntü elde edilen saat, dakika ve saniye değerlerine göre işlemcinin üzerindeki RAM alanında oluşturulmakta ve görüntü oluşturma işlemi tamamlandıktan sonra Grafik LCD üzerine gönderilmektedir. Devre çalıştıkça (zaman değerleri değiştikçe) sadece rakamlar güncellenir ve ekrana gönderilir.
Şekil-5 :Ekran üzerindeki öğelerin yerleşim sıralaması.1,2 ve 3 nolu öğeler ekran ilk açıldığında yerleşir ve sonra hep sabit kalır. 4,5,6,7,8,9 saat değerine göre sürekli güncellenir. Tabi bu işlem öncelikle Atmega128 RAM alanı üzerinde gerçekleştirilir ve bütün olarak ekran güncellenir.

Devre üzerindeki P1 konnektörün ekranda gösterilen rakamların seçilmesini bir köprü yardımı ile sağlar. Ekran güncellemesi saat sayma aşamasında yerine getirilir. (En fazla 1 saniye sürer)
Şekil-6 :P1 köprüsünün ekran üzerindeki etkisi. Üstteki resimde P1 köprü takılı. Alttaki resimde P1 köprüsü takılı değil. (köprü mavi renkte)

İki adet buton saat ve dakika ayarı için kullanılır. Projede kullanılan butonlar ışıklı, devre butonlar kullanıldıkları zaman ışık verecek şekilde düzenlenmiştir.

Devre şu hali ile 70mA civarında bir akım çekmekte. Değiştirilecek elemanların (özellikle besleme) bu akımı taşıyacak kapasitede olmasına dikkat etmek gerekir.

Şekil-7 :S1 ve S2; saat ve dakika butonları.Biraz özel bir yapı olması dileği ile ayar butonları ışıklı seçildi. Hem ayar yaparken ışık verirler (hangisine basılmış ise) hemde saniye başında kısa bir süre yanıp sönerler. Sağdaki saat ayarı, soldaki dakika ayarı.

Devre
Devre basitçe ,işlemci (saat sayma dahil ) tüm denetimleri yerine getirir, 240x128 GLCD, besleme bölümü ve buton bölümünden oluşmaktadır.

İşlemci kartı aslında farklı bir proje için oluşturulduğundan buton bağlantıları biraz dağınıktır. Havya ve bir parça lehimin çözemeyeceği bir şey değil.

İşlemci kartı ile GLCD uçlarında IDC 40 dişi konnektör takılı yassı kablo ile bağlantısı sağlanmaktadır. Ekran ve işlemci kartı üzerinde 20 bacak sıra pin yer almaktadır. IDC'nin doğru sırasının takılı olduğundan emin olun. Çünkü sadece 1 sırası aktif olarak çalışmaktadır. İşlemci kartı üzerine 2x20 şeklinde bir sıra pin takılacak şekilde düzenlenirse bu sorun kalmaz.
Şekil-8 :İşlemci kartının ve buton kartlarının arkadan görünümü

Şekil-9 :Projede kullanılan T6963C grafik kontroller barındıran 240x128 GLCD

Şekil-10 :İşlemci kartı ile GLCD arasında bağlantıyı sağlayan kablo

Şekil-11 :Tüm bağlantıları tamamlanmış proje.Yassı kablo uzun olduğu için katlayıp halka lastik ile sabitlenmiş halde görülmektedir.

Şema
Devre IC1 (Atmega128) üzerine kuruludur. İşlemcinin osilatör için harici kristal XT1 (8MHz) ve C5 ve C6 (27pF) kondansatörler ile saat sinyali üretimini yerine getirmektedir.

P4 (besleme girişi), D1 (DF10M) köprü (kendisi aslında SMD değildir, bacakları biraz bükülerek SMD haline getirilmiştir), ve IC2 (7805) devre için gereken 5V besleme gerilimini sağlar.

R1 (10k) trimpot GLCD için kontrast ayarıdır ve GLCD ile kart arasındaki bağlantı P2 konnektörü üzerinden sağlanmaktadır. R7 (120 Ohm) GLCD arkaplan aydınlatması için akım sınırlama elemanı olarak kullanılmaktadır.

S1 ve S2 (ayar butonları) R8 ve R9 (10k) pull-up dirençleri üzerinden işlemciye bağlanmıştır. Butonun içinde yer alan şemada DS1 ve DS2 LED'dir. LED'ler bağlı R10 ve R11 (470R) LED'ler için akım sınırlama elemanı alarak iş görür.

Not: Bu tür buton bulunamadığı takdirde normal buton kullanılabilir.

Geri kalan kondansatörleri filtre amaçlıdır.

PCB üzerinde gösterilen P3,R3,R4,R5,R6 bu projede kullanılmamıştır.
Şekil-12:Blok şeması

Şekil-13:Devre şeması (projede kullanılmayan elemanlar gösterilmemiştir)

İşlemci bacağıProgramlayıcıAçıklaması
PE0MOSISeri veri girişi
PE1MISOSeri veri çıkışı
PB1SCKSeri saat
Atmega128 ISP programlama bacakları SPI iletişim bacaklarından farklı bacaklar üzerine atanmıştır.(SCK hariç) Bu nedenle PCB kendi çizeceklerin bu konuya dikkate almaları gerekmektedir.

Devre Yapımı
Devre yapımı konusunda işlemcinin durumunu saymazsak pek bir şey yok. Çünkü buradaki ön önemli konu işlemcinin lehimlenmesi. TQFP kılıfında olmasından dolayı işlemciyi lehimlemek biraz tecrübe gerektirecek.

Diğer SMD elemanları olan direnç ve kondansatörler 12/6 kılıfında olduğu için o kadar zor değildir. Zorlarsa biraz 7805 zorlayacaktır. Hatta iyi bir şekilde lehimlenmezse kararlı bir besleme elde etmekte zorlanabilirsiniz.

DF10M aslında SMD değil ama bacaklarını biraz eğip bükerek SMD haline getirildi. İsteyen uygun bir SMD köprü diyodu da kullanabilir..
Şekil-14:Grafik LCD sürücü kartı ve buton kartı yollar

Şekil-15:Grafik LCD sürücü kartı ve buton kartı yerleşimi

Şekil-16:Grafik LCD sürücü kartı bakır ve buton kartı yolların olduğu taraftaki elemanların yerleşimi

Şekil-17:Grafik LCD sürücü kartı ve buton kartı yolları ve yolların olduğun taraftaki yollarla birlikte eleman yerleşimi

Şekil-18:Grafik LCD sürücü kartı ve buton kartı yolları birlikte eleman yerleşimi

Şekil-19:İşlemci kartı ve buton kartı arasındaki kablo bağlantıları

Şekil-20:Montajı ve bağlantıları yapılmış sistemin arkadan görünümü

Şekil-21:Buton kartının arkadan kabloları ile birlikte

Şekil-22:Karta lehimlenmiş Atmega128 (buton kartından gelen kablolarla birlikte)

Devre Elemanları

120R (1206)R7
470R (1206)R10,R11
0R (1206)J1,J2
10K (1206)R2,R8,R9
10K yatık trimpotR1
27pF (1206)C5,C6
100nF(1206)C2,C3,C4,C7,C8,C9,C10,C11,C12,C13
10µF/25V (1206)C1
ATMEGA128 (TQFP)IC1
7805 (D2PAK)IC2
DF10MD1
8 Mhz kristalXT1
2x3 Header (ISP6)isp
2'li klemensP4
240x128 GLCDM1
12X12 LED ışıklı butonS1,S2
20'li sıra pin (2adet)- (P2)
40 yollu şerit kablo-
40 bacaklı şerit kablo için konnektör (2adet)-
Besleme için 9V'luk adaptör,belirtilmemiştir, isteğe göre kablo kullanılabilir. P5 için PCB üzerinde konnektör belirtilmiş ise de, kart üzerine doğrudan kablo lehimlenerek de bağlantı sağlanabilir.

Ekran Görünümleri
Şekil-23:P1 takılı değilken.

Şekil-24:P1 takılı iken

Şekil-25:Atmega128 için sigorta ayarları. Elimde sadece AVR Studio ile ilgili ayarlar olduğu için bunu verebiliyorum. Butonların hemen üzerindeki alanda yer alan hex sayıları kullanarak kendinize göre uyarlayabilirsiniz.

Şekil-26:Timer1 ayarı için kullanılan programın penceresinin ekran görüntüsü.



Ekler:

Atmega128 hakkında bilgi için

"Atmega128 ve T6963C Grafik Kontroller İçeren 240x128 GLCD ile Saat" projesi için gereken dosyalar

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


1 Haziran 2014 Pazar

Atmega328P ve DS1307 ile LED Matris Ekranlı Saat

Blog üzerinde çeşitli saat örnekleri gerçekleştirdik. Bu saat örneklerinde LED matris ekran kullanılanları da var.Hatta DS1307 ile birkaç proje oluşturduk ki kullanımının daha kolay anlaşılabilsin. Bu projede farklı bir işlemci ve DS1307'yi birleştirerek bir saat uygulaması daha oluşturmaya çalışacağız.

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.

Bu projede çoğullama yöntemi tercih edilmiştir. Bu yöntemde basitçe önce satırlar rakamı oluşturacak şekilde sürülür, sütun transistörü aktif edilir, bir süre beklenir ve sütun transistörü kapatılır. İkinci, üçüncü...ve otuzuncu sütun için işlem tekrarlanır ve tekrar baştan başlanır.
Şekil-4 :Led'lerin 7x5 için matris bağlantı şeması.

Yukarıdaki işlem için 30 baytlık RAM üzerinde ayrılmıştır (başlangıç adresi işlemcinin RAM başlangıç adresi olan 0x100 adresidir) ve ekran üzerinde oluşturulmak istenen görüntü bu RAM üzerine yazılır. Her RAM hücresi bir sütunluk veriyi tutar. Dolayısı ile işlemci hangi sütun aktiflenecek ise işlemci uygun RAM hücresinden veriyi okur ve satır sürücüsüne verir. (işlemcinin bacaklarından)


Saat devresi açısından anlatıldığı şekilde bir devre oluşturmaktır.

DS1307
Şekil-5 :DS1307 çipi bacak bağlantıları.

Projede uygulanan diğer LED matris saatleride saat işlemci tarafından sayılarak sağlanıyordu. Bu projide saat kaynağı olarak DS1307entegresi kullanımıştır. Her ne kadar DS1307'nin tarih tutma kapasite ve ek RAM alanı bulunsada sadece saat tutma (sayma) özelliği kullanılmıştır. DS1307'nin diğer bir özelliği ise destek besleme bacağının bulunmasıdır. Destek besleme bacağı kullanılarak 3V'luk saat pili ile elektrik kesintilerinde (saat için alternatif besleme düşünülmemiştir) DS1307 saat saymaya devam edecektir. Elektrik tekrar geldiğinde saat sayma devam ettiği görülecektir.

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.

NotKristalden emin değilseniz eski bilgisayar kartlarından sökeceğiniz bir saat kristali işinizi görecektir.
PCB
Şekil-7 :Kartın her iki yüzünün resmi. Bazı deliklerin köprüleri lehimlenmiş halde.

Devrede LED'ler ayrık eleman olarak tasarlandığı için tek yüzle gerçekleştirilmek istendiğinde çok fazla köprüleme gerektirecekti. (gerçi kartta delik içi kaplama olmadığı için yine de köprüleme vardır. Delik içi kaplama tekniği ile üretilen kartlarda köprüleme ihtiyacı olmayacaktır.) LED'lerin bağlantılara ve diğer elemanların bağlantıları nedeni ile çift yüzlü kart ile gerçekleştirilmektedir. Devre birkaç eleman dışında da SMD (yüzey montaj tekniği) kullanılacak şekilde tasarlanmıştır. Aynı zamanda devrenin daha küçük yapılmasına olanak tanımıştır. PCB elde üretileceği öngörülerek yollar arası geniş tutulmuştur. PCB basım esnasında bazı lehim adaları (çift taraf üzerinde) kaymış ise de kullanılabilir durumdadır. (Çizimde bir sıkıntı yoktur)

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.

Lehimleme konusunda en sıkıntılı eleman Atmega328p'dir, çünkü işlemci 4 kenarında 8 bacak bulunan 32 bacaklı bir elemandır. Yani entegre 4 taraftan da hizalanması gerekir.
Ş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ü.

Saat çipi DS1307 saat tutucu (sayıcı) kendi destek beslemesi ile elektrik kesintilerinde işlevine devam edecek yapıdadır.

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ı.

Besleme içinde 7805 gelen besleme gerilimini işlemci ve diğer entegreler için 5V sabitleyerek regülasyonu sağlar.
Şekil-13 :Kart üzerindeki 78M05.

Tabii ki burada Atmega328p sistemin tümünün kontrolunu sağlar.

İ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 benzeriD215
Atmega328P (TQFP32)IC1
74HC154 (SO24)IC2,IC3
DS1307 (SO8)IC4
78M05 (D-PAK)IC5
32.768KHz KristalXTL1
2x3 Header (ISP6)ISP
ButonS1,S2
3V pilPIL1
2'li klemensP1
Eğer kullanılan pil kendinden bacaklı değilse eleman listesine bir tane de pil için soket eklenmelidir. Besleme için 9V'luk adaptör unutulmamalıdır.

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).

Devreye ilk besleme verildiğinde öncelikle besleme geriliminin entegrelerin besleme bacaklarında +5V olmadığı incelenmelidir. İşlemcinin (sigorta ayarları ile birlikte) programlama işleminden sonra devrenin beslemesi kesiliyor. (DS1307 destek pili kalabilir) Çünkü ilk açılışta DS1307 saniye registerindeki CH biti yüzünden çalışmaya başlamaz. CH bitin sıfırlanması gerekir.
Şekil-22:Programlama için ISP konnektörü bağlantısı.

S1 ve S2 butonları (saat ayar ve dakika ayar butonları) basılı halde iken devreye besleme verilir. Besleme verildikten sonra butonlar bırakılır. Bu işlem DS1307 destek pili bitip de değiştirildiği zaman uygulanması gerekir. Normalde bu pilin (veri kağıtlarında yazılanlara göre) ömrü 10 yıla varabilmektedir.

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 saymaya başladıktan sonra, S1 ve S2 ayar butonları kullanılarak saat ve dakika ayarlanarak saat kullanıma hazırdır.

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ı.)

Devre pil ile beslemeye uygun değildir, onun için 9V bir adaptör ile kullanılabilir.

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.

Donanım üzerinde küçük değişiklikler yaptığımız cihazların hem daha güzel, hem de daha verimli kullanımını olanak sağlanır. Saat üzerinde de özellikle LED'lerin değiştirilmesi ile daha güzel bir görünüm sağlanmıştır.
Ş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....


Translate

Sayfalar

Etiketler

İzleyiciler