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
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 No | Sembolü | Açıklaması |
1 | FG | Modül Çerçeve Şasesi |
2 | Vss | 0V |
3 | Vdd | +5V |
4 | Vo | Kontrast Ayarı |
5 | WR | Veri Yaz |
6 | RD | Veri Oku |
7 | CE | Çip İzni |
8 | CD | Komut/Veri Seçme |
9 | RST | Reset Sinyali |
10 | DB0 | Veri Biti 0 |
11 | DB1 | Veri Biti 1 |
12 | DB2 | Veri Biti 2 |
13 | DB3 | Veri Biti 3 |
14 | DB4 | Veri Biti 4 |
15 | DB5 | Veri Biti 5 |
16 | DB6 | Veri Biti 6 |
17 | DB7 | Veri Biti 7 |
18 | FS | Font Seç |
19 | LED+ | LED'in Anot uçu (+5V) |
20 | VEE | -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ı |
PE0 | MOSI | Seri veri girişi |
PE1 | MISO | Seri veri çıkışı |
PB1 | SCK | Seri 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..
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 trimpot | R1 |
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 |
DF10M | D1 |
8 Mhz kristal | XT1 |
2x3 Header (ISP6) | isp |
2'li klemens | P4 |
240x128 GLCD | M1 |
12X12 LED ışıklı buton | S1,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ü.
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....
Hiç yorum yok:
Yorum Gönder