Giriş
Bu projede termometre veya LM35 kullanımından ziyade T6963C kontroller barındıran 240x128 grafik LCD'nin ATMEGA128 ile sürülmesini sağlamaktı. KS108 kontroller barındıran GLCD'lerden farklı bir yapıya sahip olduğu için sürülmesi biraz farklı bir yaklaşık gerektiren 240x128 GLCD daha önceki blog sayfalarında anlatıldı.Bu projede "Atmega128 ve LM35 ile T6963C kontroller bulunan 240x128 GLCD termometre" konusu işlenecektir.
LM35
Şekil-1 :Sıcaklık algılayıcı olarak kullanılan LM35. Besleme bacakları arasına eklenen 100nF kondansatör ile birlikte. (Şema ve PCB üzerinde bu kondansatör gösterilmemiştir.)
Şekil-2 :LM35 test devresi. Besleme 9V (kırmızı ve siyah krokodil) Ölçü aleti; sarı (çıkış) siyah (GND) krokodil. Ekranda ortam sıcaklığı ölçümü. Multimetre 2V kademesinde olduğu için hali ile noktanın yeri önemsenmeyecek. Sağdaki ilk hane bizim ondalık hane olarak ele alınacak. (Ortam sıcaklığı 27.6 C)
T6963C Grafik işlemcisi
Toshiba tarafından üretilen T6963C Grafik işlemcisi kendine özgü bazı özellikler taşımaktadır. T6963C grafik işlemcisi piyasada yaygın olarak kullanılan S6B0108 veya eşdeğer grafik işlemcilerinden biraz farklı özellikler içermekte. En azından bu projede kullanılan 240x128 grafik LCD için tek sayfa olarak düzenlenmiş. Yani ekrana yazılan her bilgi sayfa seçmeden doğrudan ekrana gönderilebiliyor.
Şekil-3 :240x128 Grafik LCD'nin ekran veri yerleşimi
Grafik açısından satırlar bir bitlik bir yapıdadır. Ama sütunlar 8 bit veri içerecek şekilde gönderilmekte. Dolayısı ile ekrana gönderilecek veri bir satıra 30 bayt ve 128 tane de satırı olduğu sonucu çıkarılır. Ekrana grafik verinin tümünü gönderdiğimizi düşünürsek bu 3840 bayt edecektir. Atmega128 seçilmesinin neden oluyor ki, Atmega128'in ram kapasitesi 4kbayttır.
Grafik verisi için ayrılan RAM başlangıç adresi 0x0200 olmaktadır.
Projede düşünülen nokta ekranın her değişikliğinde tüm ekranın güncellenmesi idi. Şu şekilde ekran ile fazla iletişik kurmadan sadece gerektiği noktada yani görüntünün ekrana gönderilmesi noktasında iletişim kurulması idi.
Bu iş için ekran görüntüsü için gereken 3840 bayt'lık bir RAM alanına ihtiyaç var. Tabi çözüm olarak Atmega 16 veya Atmega32 kullanıp yanına harici RAM eklemek olabilir. Bu hem işlem miktarını artıracak, hemde kendine göre sorunlar ortaya koyacaktır. Devrenin basit tutulması adına en iyi çözüm 4Kbayt dahili RAM'ı olan Atmega128 kullanmaktır. Her güzel de olduğu gibi kusur sayılırsa, tek kusuru SMD yapısında olması.(DIP sürümünün bulunmamasıdır)
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ış |
Devrenin çalışması
Şekil-4 :Ekran arkaplan resmi. Diğer öğeler bu resim üzerine eklenir.
ekil-5 :Ekran üzerinde sıcaklığı göstermekte kullanılan rakamlar (Tahoma 60pt).
Şekil-6 :Verilerin ekran üzerine (işlem RAM) üzerine yerleşim sıralaması). 1,2 ve 3 (arkaplan, nokta ve derece santgrad işaretleri) sistem ilk açıldığında RAM üzerine aktarılır, sonraki aşamalarda, sadece 4,5,6 ve 7 (rakamlar) sürekli olarak güncellenir.
T6963C grafik ekran kontroller sistemindeki yapı işlemciden gelen verilerin ekrana yatay yerleşmesidir. Bu nedenle ekrana gönderiler rakamların yerleşiminde 8 piksellik bloklar halinde yerleşme zorunluluğu vardır. Bu nedenle karakterlerin boyutları ve yerleşimi konusunda dikkatli olmak gerekir.
Şekil-7 :Sistem ilk çalıştığında ekranda gösterilen değer.
Devre
Devre üzerinde fazla bir şey yok. GLCD, GLCD kontrast ayarı için bir trimpot,işlemci atmega128 , kristal,besleme için7805 ve DF10M köprü diyotu var .İşlemcinin istenilen kapasitede RAM'a ve çevre birimlere sahip olması devreyi basitleştirmeye olanak sağladı.
Şekil-8 :İşlemci kartının ön ve 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
Ş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 girisi), 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 konnaktörü üzerinden sağlanmaktadır. R7 (120 Ohm) GLCD arkaplan aydınlatması için akım sınırlama elemanı olarak kullanılmaktadır.
Geri kalan kondansatörleri filtre amaçlıdır.
PCB üzerinde gösterilen P1,R2,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 montajı açısından kritik eleman Atmega128'in kendisidir.. Görüldüğü gibi devre son derece sadedir. Sadece kabloları karta lehimlerken kısa devre olmamaları için dikkatli olmak yerinde olacaktır.
Şekil-14:Grafik LCD sürücü kartı yollar
Şekil-15:Grafik LCD sürücü kartı yerleşimi
Şekil-16:Grafik LCD sürücü kartı bakır yolların olduğu taraftaki elemanların yerleşimi
Şekil-17:Grafik LCD sürücü kartı yolları birlikte eleman yerleşimi
Şekil-18:Grafik LCD sürücü kartı yolları ve yoların olduğun taraftaki yollarla birlikte eleman yerleşimi
Şekil-19 :Montajı yapılmış işlemci kartı
Şekil-20:İşlemci kartına LM35'in bağlantısı
Şekil-21:Karta lehimlenmiş Atmega128
Devre Elemanları
120R (1206) | R7 |
0R (1206) | J1,J2,J3 |
10K yatık trimpot | R1 |
27pF (1206) | C5,C6 |
100nF(1206) | C2,C3,C4, C7,C8,C9,C10,C11 |
10µF/25V (1206) | C1 |
ATMEGA128 (TQFP) | IC1 |
7805 (D2PAK) | IC3 |
DF10M | D1 |
LM35 | IC2 |
8 Mhz kristal | XT1 |
2x3 Header (ISP6) | isp |
2'li klemens | P4 |
240x128 GLCD | M1 |
20'li sıra pin (2adet) | - (P2) |
40 yollu şerit kablo | - |
40 bacaklı şerit kablo için konnektör (2adet) | - |
Ekran Görünümleri
Şekil-22:Devre çalışırken ölçülen ortam sıcaklığı.
Şekil-23:Biraz sıcak hava üfleyince çeşitli zamanlarda çekilmiş ekran görüntüleri. 100 derece üzerine çıkıldı ise de hem sıca hava üflecini tutmak, hem fotograf çekmek pek kolay olmuyor. Görüntü bulanık çıkmış..
Şekil24: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.
Ekler:
Atmega128 hakkında bilgi için
"Atmega128 ve LM35 ile T6963C kontroller bulunan 240x128 GLCD termometre" 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