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 Haziran 2010 Perşembe

Atmega8 ile LED Matris Ekranlı Saat (Yüzey montaj)


Giriş

LED günlük kullanımda bir çok cihaz uygulaması açısından yaygın kullanım alanına sahip elektronik bir elemandır. LED dizisinin özel bir uygulaması olan matris ekran oluşturularak çeşitli şekillerin oluşturulması mümkündür. Bu projede Atmega8 işlemcisi ve LED matris ekran kullanılarak saat yapımı işlenecektir.
Temelleri

Saat konusu gayet bilinen bir konu olduğu için bu bölüm doğrudan okuyucuya bırakılmıştır. "24 Saat Modunda LED'li Dijital Saat" projesinde ve diğer ilgili sayfalar üzerinde bu konu üzerinde ayrıntılı bilgi bulabilirsiniz. Zaten şöyle bir düşününce aslında kendiniz bile bu konuyu rahatlıkla çözebilirsiniz. Sadece saniye, dakika, saat ve gün kavramlarını düşünmeniz ve bu kavramları birbirine göre karşılaştırmanız yeterlidir.

Normalde bir LED üzerinden sabit bir akım akıtılarak ışık vermesi sağlanır.(gerilim eşik gerilimini aşması kaydı ile ki zaten bu eşik gerilimi aşılmadan istenen akım akamayacağı açıktır). Bu noktada devreye seri bir anahtar ekleyerek LED'in yanması veya sönmesi kontrol edilebilir.

Şekil 1: Matris ekran çalışırken

Şimdi 7x5 matris şeklinde bir göstergenin her bir LED'i tek tek kontrol edildiğini varsayarsak, tümü yandığı zaman çektiği akımı bir yana koyarsak tüm bu LED'ler için gereken bacak sayısı 35'tir. Görüleceği gibi bu sayı Atmega8 gibi bir işlemci için oldukça yüksek bir rakamdır. Bu durum 6 haneli bir saat için düşünülecek olursa toplamda 210 rakamıdır ki gerisini siz düşünün.

Çözümü ise 7 parçalı LED ekranlar üzerinde uğraşanların aşina olduğu çoğullama tekniğidir. Çoğullama tekniği, LED ekran satır veya sütunlara ayrılır. Projede bu sütunlar ortak olacak şekilde bağlantıları oluşturulmuştur. Yani zamanın belli bir bölümünde sadece bir sütun üzerinde gösterilmesi gereken bilgi gösterilir diğer sütunlar kapalıdır. Her bir sütun bilgisi sıra ile gösterilerek bir tarama oluşturulur.

Şekil 2: LEDleri tarama yöntemi


Şekil 3: LED ekranı tarama animasyonu

Basitçe önce 1. sütun bilgisi aktif hale getirilir. 1. sütun sürücüsü aktifleştirilir, bir süre beklenir ve 1. sütun sürücüsü kapatılır. Bu konumda iken 2. sütun bilgisi aktif hale getirilir, 2. sütun sürücüsü aktifleştirilir, biraz beklenir ve 2. sütun sürücüsü kapatılır. Bu işlem sonu sütuna kadar devam ettirilir ve son sütun sürücüsü kapatıldıktan sonra tekrar 1. sütundan işlem devam eder. Bu işlem dizisi sürekli olarak devam ettirildiğinde ekran üzerinde bir görüntü oluşturulur.

Buradaki tarama hızı ile ilgili olarak; insan gözünün algılama kapasitesi ile ilgilidir. Yani insan gözünün algılama hızı saniyenin 24'e biri gibi hızları algılayamadığı için tarama hızı bunu karşılayacak şekilde seçilir.
Satır ve Sütun sürücüleri

Satır sürücüsü aslında doğrudan işlemcinin kendisidir. Sadece akım sınırlaması için LED ekran ile işlemci arasına seri direnç konulmuştur. Aslında bu direnç değeri ile doğrudan LED sürülmeye kalkılsa LED büyük olasılıkla yanacaktır. Ama LED'ler zamanın kısa aralıklarında ışık verdikleri için dolayısı ile üzerinde harcanan güç kısa süreli yüksek olsa bile LED'ler bu gücü kaldırabilmektedir.

Şekil-4:LED ekranı tarama yöntem

Sütun sürücülerine gelince; 6 haneli 7x5 matris ekran olarak düşünüldüğünde 30 tane sütun var demektir. Atmega8 işlemcisi bu işlem için yeterli bacağı olmadığı açık. Ama 4/16 çoğullayıcı entegresi olan 74154 ile (iki tane kullanılarak) bu soruna bir çözüm getirilebilir.(Bilgi için entegrenin veri kağıtlarını incelemeniz önerilir.)

Bu entegre 4 tane veri hattı kullanılarak (5. olarak çip seçme bacağı) 16 tane çıkış bacağı adresleyebilir. Bacak çıkış gücü istenen akımı sağlamakta yetersiz kalacağından sürücü transistör ile sütun sürme işleminde kullanılır. Tabii ki projede 30 sütun olduğundan 74154 çiplerinin son sürücü çıkışları kullanılmamıştır. Daha teknik bir deyişle 74154'ün ikilik sayı sisteminde 0000-1110 adres aralığı kullanılmaktadır.
Yüzey montaj

Aslında devrenin tümünün yüzey montaj olduğu söylenemez. Karma bir devre olduğunu belirtmek daha doğru olacaktır. Devrelerin küçültülmesine olanak tanıyan bu montaj şekli özellikle yüksek frekanslı uygulamalarda oldukça kullanışlıdır. (Kaçak kapasite ve bacak direnci gibi problemlere çözüm sunarken elemanların boyutlarının küçük olmasıda cabasıdır.)

Şekil-5:Yüzey montaj Atmega8 ve diğer elemanlar

Yüzey montaj aslında normal elemanlar ile de gerçekleştirilebilir. Göreceğiniz gibi yüzey montaj tekniği ile üretilen devreler daha küçük yapılarda üretilme imkanı sunar. Özellikle devre çift yüzlü (veya daha fazla katmanlı) ve delik içi kaplama içeren kartlar ile oldukça küçültme olanağı tanır(Çünkü kartın her iki yüzüne de eleman yerleştirme olanağı vardır). Ama bu tip kartların üretim maliyetleri yüksektir. Ama kart yüzeyi küçüleceği için özellikle yer sorunu olan uygulamalarda oldukça oldukça iyi bir çözümdür. Örneğin şu anda kullandığınız bilgisar normal boyutlu devre elemanları ile üretilseydi bilgisayarın kartlarının şu anda kullandığınız bilgisayar kasasının içine sığmayacağı kesindir. Çalışma ve ısınma sorunlarından söz bile edemeyiz.

Şekil-6:Yüzey montaj 74154 ,direnç ve kondansatör

Bir çok avantaj ve dezavantajı üzerinde barındıran yüzey montaj yöntemi tamamen kişisel bir tercihtir. (Zorunlu endüstriyel uygulamalar hariç) Yüzey montaj işleminin ne olduğu ve nasıl yapıldığı konusunda ayrıntılı bilgiyi internet üzerinde bulabilirsiniz.

Şekil-7:Kart tek yüzlü olduğundan ara bağlantılar köprülerle sağlandı. Haliyle hatırı sayılır miktarda köprü oluştu.(kartı kendi yapanlar için delinmesi gereken daha az sayıda delik var! Çift yüzlü ve delik içi kaplamalı baskı devre yapmak sanırım bu devreyi sadeleştirebilir; ama maliyetini artırır)

Devre

Devre 6 tane 7x5 LED matris ekran ve bu ekranların sürülmesi üzerine kurulu. Burada kullanılan matris ekranlar ortak anot olarak tanımlanmış..(Anot ucu sütunlarda)

Şekil-8:Bu projenin yapımına olanak tanıyan 7x5 led matris ekran.

74154 entegresinin her biri led matris ekranların yarısını sürüyor. Yani üç tane biri üç tane diğeri şeklinde. 74154 entegresinin her bir çıkışı üzerine seri 1K direnç üzerinden BC857 (PNP) transistörü bağlı(baz ucuna). Transistörün emetör ucu +5V ucuna ve kollektör ucu da matris ekranın sütun bacağına bağlı(16. çıkış ucu hariç). Tüm ekran bu şekilde şekilleniyor.

74154 entegresinin A,B,C,D bacakları(hat uçları) ortak olarak birbirine ve işlemciye bağlanıyor Ayrıca 74154 entgresinin seçme uçlarının biri toprağa diğer ucu işlemcinin bir bacağına bağlanarak bir sütun tarama birimi oluşturuluyor.

Satır sürücüsü olarak işlemcinin bacaklarına bağlı seri direnç üzerinden matris ekranların satırları ortak bağlanarak bu dirençlere ilişkilendirilir.

Geriye sadece iki buton kaldı... Bunlarda saat ve dakika ayarı. Butonların bir bacakları toprağa diğer ucu da işlemcinin bacaklarına bağlanır.

Şekil-9:Devrenin önden görünümü, sadece normal elemanlar bu yüz üzerinde.


Şekil-10:Devrenin arkadan görünümü, yüzey montaj elemanların hepsi bu yüz üzerinde.

İşlemci için gereken bağlantıların bilindiğini varsayarak, geri kalan sadece saat için programı oluşturmak ve işlemciye yüklemek.
Şema


Şekil-11:Devrenin blok şeması

Devrenin blok şeması şekil 11 üzerinde gösterilmiştir. Bu bloklar şekil-12 üzerindeı açarak açıklanırsa;

Sistemin kalbini IC1 Atmega8 işlemcisi oluşturuyor. XTL1,C6 ve C7 işlemcinin saat osilatörünü şekillendirir. İşlemciye bağlı R1...R7 dirençleri LED matris ekranın akım sınırlayıcısı olarak işlem görür. İşlemciye bağlı IC2 ve IC3 (74154) tarama için kod çözücü olarak işlem görür. IC2 ve IC3 entegrelerinin çıkış uçlarına seri olarak bağlı R8...R17,R19...R28 ve R30...R39 dirençleri üzerinden (akım sınırlayıcı 1K dirençler) Q1...Q30 (BC857) transistörleri sürülür. Bu transistörlerin emetör bacakları ortak olarak +5V ile bağlanırken, her bir kollektör bacağı matris ekranların sütun bacaklarına bağlanır.

Bir bacakları işlemciye bağlı S1 ve S2 butonları, diğer bacakları toprak hattına bağlanarak saat ve dakika ayarı için kullanılırlar.

P1 besleme bağlantı girişini oluşturur. D1,C1,IC4,C2 ve C3 elemanları devre için gereken +5V bseleme gerilimini sağlarlar.

Seri bağlı D4 ve D5 LEDlerin ucuna bağlı R18 gibi D8 ve D9 LED'lerin ucuna bağlı R29'da hane ayıracı olarak kullanılır.

D2,D3,D6,D7,D10,D11 asıl konu olan 7x5 LED matris ekranlardır.

ISP artık iyice bilindik olan işlemci programlama konnektörüdür. Geri kalan kondansatörler de filtre işlevini yerine getirir.

Şekil-12:Devrenin şeması

Ayar Butonları

Bu noktada fazla birşey yok. Sadece S1 ve S2 bas bırak butonlardır İşlemci butonun basılıp basılmadığına bakar. S1 dakika ayarını, S2 saat ayarını yerine getirir.
Devre Yapımı

Öncelikle köprülerin monte edilmesi yerinde olacaktır. Yüzey montaj elemanları olan IC1, IC2, IC3, tüm direnç ve kondansatörleri (C3 hariç) ek dikkat gerektiriyor. Hatta özel donanım gerekebilir. (Bu bölüm tamamen sizin bilgi ve becerinize kalmış)

Tabii ki kristalin topraklanması yerinde olur.

Besleme devresi için regülatörün üzerine bir soğutucu bağlamak iyi olur.

Sadece normal elemanlar ve PCB üzerindeki yüzey montaj elemanları eleman yüzü üzerinde gösterilmiştir. Yüzey montaj elemanlarından entgreler bu nedenle ters gösterilmektedir

Şekil-13:Devrenin baskı devresi(PCB eleman yüzünden görünümüdür)


Şekil-14:Devrenin yerleşim planı.PCB tarafına monte edilen elemanlar, kartın eleman yüzü üzerinde gösterilmiştir. PCB yüzüne göre ters gösterilmektedir.


Şekil-15:PCB ve eleman yerleşimi katlarının birlikte görünümü(PCB tarafına monte edilen elemanlar da eleman yüzü üzerinde gösterilmiştir).

Devre Elemanları

22R (1206 smd)R18, R29
56R (1206 smd)R1,...,R7
1K (1206 smd)R8,...,R17, R19,...,R28,R30,...,R39
27pF (1206 smd)C6,C7
100nF (1206 smd)C1,C2,C4,C5,C8,C9
10µFC3
FYM-7571AE-21 (7x5 led matris)D2,D3,D6,D7,D10,D11
3mm Kırmızı LedD4,D5,D8,D9
BC857Q1,...,Q30
B125C1500 veya W10M D1
Atmega8 (smd) IC1
74154(smd) IC2,IC3
7805IC4
butonS1,S2
4Mhz kristalXTL1
klemensP1
2x3 headerisp
soğutucuIC4 için


Malzeme listesi. Burada 9V adaptör verilmemiştir.

Şekil-16:Kart çalışırken.


Şekil-17:Kart çalışırken.


Ekler:

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

"Atmega8 ile LED Matris Ekranlı Saat(Yüzey montaj)" için dosyalar- birleşik

"FYM-7574AE-21" 7x5 led matris bacak bağlantısı:

7x5 Matris ekran bacak bağlantısı (eleman yüzünden)


Buradaki X satırları (yukarıdan aşağı-X1,X2..), Y sütunları (soldan sağa-Y1,Y2..) temsil eder.

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

1 yorum:

Hakan ARAS dedi ki...

Tarama yöntemini çok güzel anlatmışsınız. Öok güzel bi yazı olmuş. Teşekkür ederim..

Translate

Sayfalar

Etiketler

İzleyiciler