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.

10 Nisan 2010 Cumartesi

NEA02017 LCD Ekran Sürülmesi


Giriş

Üretilen elektronik cihazların belirli bir ömrü vardır. Hatta bu yedek parça ile uzatılabilse de, şirketler için bir cihaza destek verme süreleri yaklaşık olarak 10 yıl ile sınırlıdır. Bu sürenin sonunda yedek parça olarak piyasaya mahkumsunuz. Ki çoğunlukla gereken parçalar kırılgan olabilen aşınması kolay plastik yapılar. Yedek parça olarak bulduğunuz malzeme bile kullanılmış ömrü kısa parçalar olacaktır. Bu cihazın yazıcı olduğunu düşündüğümüzde ise tüketim malzemeleri (mürekkep kartuşları) bulmak giderek güçleşir ve pahalıya mal olmaya başlar. Bu durumdaki bir HP LJ3P yazıcısını emekliye ayırmak gerekti (Yazıcı üreticisinin kendi ticari markasıdır). Yazıcı üzerinden çıkan parçalar arasında güzel bir LCD ekran çıktı. Bu projede yazıcıdan elde edilen LCD ekranın sürülmesi üzerinde çalışacağız.

LCD Modül

Öncelikle LCD modül kartı üzerinde NEA02017AC ve ALPS yazıları var. Ve LCD'nin kenarındaki metalde 20106202 bulunan bir etiketi var.(üretim veya seri no gibi bir bilgi olabilir) Girişler seri bir direnç ve bir ucu direnç ile HD44780 girişi diğer ucu GND hattına bağlı bir kondansatör ile koruması sağlanmış.

Şekil-1 :NEA02017 LCD modülün ekran kenarındaki etiketi.


Şekil-2 :NEA02017 LCD modülün arkadan görünümü.

LCD yazıcının ön panelinde buton kartına bir şerit kablo ile monta edilmiş halde bulunmakta. Ve şu anda işlemci kartı ile bağlantıda kullanılan bağlantı uçlarına yazıcının kontrol kartına bağlantıyı sağlıyor. LCD ekranı kullanabilmek için tüm bağlantılar sökülerek sadece LCD bağlantısı için şerit kablo takıldı.

Şekil-3 :NEA02017 LCD modül ile bağlantılı buton-LED kartı.Butonlar kart üzerinde seçilebilirken, LEDler kartın sol kenarında görülebilmektedir

LCD kartı arkasındaki çip oldukça tanıdık bir model olması devrenin bacaklarının bulunmasında oldukça kolaylık sağladığını belirtmekte fayda var. Çip HD44780A00. Hitachi firması tarafından üretilmiş olan HD44780 karakter LCD ekran sürücü. Dolayısı ile internet üzerinde veri kağıtların erişilebilir (şu anda farklı sürümleri üretilse bile).

HD44780 çipinin veri kağıtları yardımı ile LCD modülün bacak bağlantılarına ulaşıldı. Görüldü ki LCD kontrast ayarı iptal edilip sabitlenmiş. Ayrıcı LCD modül üzerinde R/W bacağı doğrudan toprağa bağlanmış ki, bunun anlamı modül üzerinden meşgul kontrolu yapılamayacağı ve LCD modülden bir şey okunamayacağıdır. En önemlisi de modülün 4-bitlik veri aktarım modunda çalışmasıdır. Yani oldukça sınırlanmış bir yapı var. Üzerinde bazı değişiklikler yapmak mümkün olsa da modülü bu hali ile kullanmaya çalışacağız.

Şekil-4 :NEA02017 LCD modül kartın arka tarafından bacak bağlantıları.

LCD'nin Sürülmesi

Öncelikle modülün R/W bacağı toprağa bağlanmış olduğundan modül yazma konumunda demektir. Dolayısı ile en azından bu bacağı kontrol etmek gerekmeyecek. Ama bunun bir bedeli var. Bu da LCD modül meşguliyet kontrolü yapılamadığından LCD modül için işlemciden gönderilen komut ve işlemlerin yerine getirilmesi için bekleme gerekliliğidir. Yani zamanlamalar atanması gerekir. Ama ne yazık ki işlemler farklı zamanlarda gerçekleştirildiğinden LCD modül iletişim hızını düşürecektir.
Şekil-5 :NEA02017 LCD modül önden görünümü. Bacak bağlantıları çok olsa bile, bacakların yarısı buton kartı için ayrılmış.

Şu ana kadar burada verilmiş olan LCD modül projeleri 8-bitlik kontrol üzerine kuruludur. Bu tür bağlantılar kendilerine göre bazı avantajlar taşısalar da, özellikle LCD modülü süren işlemcide bacak sayısının sınırlı olduğu projeler için 4-bitlik veri iletişim sisteminin kullanımı gereklidir.

4-bitlik iletişim yönteminde aslında veri yine 8-bittir ama bu 8-bitlik veri iki 4-bitlik grup halinde gönderilir. Önce en anlamlı üst yarısı (4…7.bitler) sonra daha az anlamlı alt yarısı(0…3bitler) gönderilir. Bu durum da işlemci ile LCD modül arasındaki iletişim hızını yarıya düşürecektir. Tüm bunlardan dikkat edilmesi gereken hızlı iletişim için uygun olmadığıdır.

4-bitlik verinin kullanıldığı tek yer LCD başlatma bölümünde yer alan 4 komut grubudur. 4. komut LCD'nin 4-bitlik veri kullandığını belirtir ve bu noktadan sonra 4-bitlik gruplar halinde 8-bitlik veriler işleme konmaya başlar.

Bu projede kullanımı planlanan işlemci kartı daha önceki 8-bitlik LCD modülleri için kullanılan işlemci kartı olduğu için ucuna 14p konektör takılmış şerit kablonun uygun uçları LCD modül kartına lehimlenerek LCD modül ile işlemci kartı için gerekli bağlantı sağlandı.

Şekil-6 :işlemci kartının LCD ekran için bacak bağlantıları


Bu bağlantılarda, Vcc, GND, RS,E, D4,D5,D6,D7 uçları kullanıldı. İşlemci kartından gelen diğer bağlantı uçları kullanılması gerekli olmadığından iptal edildi.

Geriye kalan zaten işlemcinin programına kalıyor..

Şekil-7 :NEA02017 LCD modülü işlemci kartı ile birlikte çalışırken. Açılış ekranını biraz değiştirmek gerektir.

Devre

Devre olarak "FT232 ile USB-Seri LCD Sürülmesi" ve "AVR309 ile USB-Seri LCD Sürülmesi" projelerinde kullanılan işlemci modülü kullanılacak buna ek olarak RS232 iletişimi için "Atmega8 ile VFD Ekran Modülü Sürülmesi" ve "Atmega8 ve RS232 ile 3 Renkli LED Modül Sürülmesi" projelerinde kullanılan RS232 seri iletişim modülü kullanılacaktır.

İşlem basit. RS232 modülü bilgisayar ile işlemci arasındaki RS232 seri iletişimi sağlarken, işlemci modülü sistem için gereken beslemeyi sağlar ve bilgisayardan gelen veri ve komutları yorumlayarak NEA02017'e göre düzenleyip verileri gösterilmesini sağlar. Ekran iki satır olduğu için bilgisayardan sadece iki satıra göre bilgi gelir ve ekrana yazılır.

Sonuçta devrenin fiziksel bölümünü "L2432 LCD Ekran Sürülmesi" projesi üzerine kuruldu. Devrenin ekran haricindeki bölümlerin çalışması aynıdır. Sadece ekran ile ilgili bölümlerin çalışması (program) bu NEA02017 ekranına göre düzenlenmiştir.(4-bit, 2x8 ekran özellikleri gibi)

Şekil-8 :NEA02017 LCD modülüne kablo bağlantısı yapılmış halde. İşlemci kartı bacak bağlantılarına uygundur. LCD modül tarafında kesilmiş bağlantılar görülebilir.


Şekil-9 :İşlemci kartı.


Şekil-10 :RS232 seri kartı.

Şema

Sistemin kalbini IC1 Attiny2313 işlemcisi oluşturuyor. Bu işlemci için gereken saat sinyallerini XT1,C3,C4 oluşturuyor. D2,C7,C8 ve IC2 sistem için gereken besleme gerilimini (5V) üretir. R2,D1(LED) işlemcinin durumunu gösteren monitör LED'i olarak çalışır. R1 (C1) direnci kontrast ayarı için verilmiş olsada bu LCD modül üzerinde kullanılmamaktadır.

C10,C11,C12,C13 ve IC3 bilgisayar ile işlemci kartı arasında RS232 iletişimini düzenliyor. P4 DB9 seri port konnektörüdür. D3,R3 Aslında bu kart için kullanılsada, projede devrenin çalıştığını gösteren besleme monitörüdür.

Geri kalan kondansatörler zaten filtre için kullanılıyor. P1 LCD için bağlantı konnektörü, ISP işlemci için programlama konnektörü, P2 ve P2_2 işlemci kartı ve RS232 kartı arasındaki bağlantı için konnektördür.

Şekil-11 :LCD dönüştürücü blok şeması


Şekil-12 :Devrenin şeması

Devre Yapımı

Devre yapımı hakkında fazla bir şöylemeye gerek yok. Devre herhangi bir şekilde kurulabilir. Sadece farklı frekanslarda kristal kullanılırsa işlemci programının değiştirilmesi gerekir. En azından RS232 ve LCD ekran başlangıç işlemlerindeki zamanlayıcıların yeniden ayarlanması gerekir.

Kendi beslemesi olan ve kendine güvenen besleme devresi üzerinde değişiklik yapabilir. LED'ler ve bunlara bağlı dirençler(LED ve direnç birlikte)istenildiğinde takılmayabilir. Tabii ki kristal topraklanmalıdır. Sistem 9V besleme ile çok az akım çeker (LCD üzerindeki aydınlatma kullanmadığında) Bu nedenle 7805 üzerinde ek bir soğutucuya ihtiyaç duyulmamaktadır. Tüm dirençler çeyrek wattır. İsteyen RS232 kartı ile işlemci kartını birleştirerek P2 ve P2_2 konnektör bağlantısını iptal edebilir.

LCD modül için kullanılan bir alet üzerinden söküleceğinden, bu işlem sırasında dikkatli olmakta fayda var. Ayrıca kablo bağlantıları yapılırken uygun bacağa bağlandığına ve bağlantılar arasında kısa devre yapılmadığına emin olmakta fayda var

Şekil-13:Devrenin baskı devresi şekli(üstten görünüm)


Şekil-14:Devrenin yerleşim planı


Şekil-15:Kartın eleman ve yollarla birlikte yerleşim planı (Şemadaki D3 baskı devrede LED3 olarak gösterilmiştir)

Devre Elemanları

10K TrimpotR1
1KR2,R3
10µF/25VC1,C5,C7,C10,C11,C12,C13,C14
27pFC3,C4
100nFC2,C6,C8,C9
B125C1500 veya benzeriD2
Max232IC3
ATtiny2313IC1
7805IC2
3mm LEDD1,D3
3,6864Mhz kristalXT1
DB9 dişi konnektörP4
14P konnektör P1
10P konnektörP2,P2_2
KlemensP3
6'li headerisp
NEA02017 (2x8)LCD modül
10'lu kablo-

Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 20 ve 16 bacaklı soket oluşabilecek problemlerin önüne geçecektir.

Şekil-16:işlemci kartı ile RS232 kartı arasındaki bağlantıyı sağlayan kablo (konnektörleri ile birlikte)

Çalışması

İşlemci programlama için ekran takılmamalıdır. Sürekli programlayıcı devrede olmadığı için koruma öngörülmemiştir. Programlama ve sigorta ayarları tamamlandığı zaman besleme kesilir ve programlayıcı kablosu sökülür ve NEA02017 kablosu takılır. (Herşey tamamsa, ekranda bu tür ekranlar için kullanılmış olan test sayfası yer alacaktır).

Bu noktada alet seri port üzerinden bilgisayara bağlandığı göz önüne alınarak, bilgisayar üzerindeki "L2432LCDEkran.exe" programı çalıştırılır. Ayarlar bölümünden aletin bağlı olduğu port seçili olduğuna emin olunur.

Bu noktada hangi satıra ne yazılacağı artık kullanıcıya kalmıştır. Örneğin birinci satıra ismini yazarken, ikinci satıra tarih veya saat gösterimini seçebilir. İki buton seçeneği var. Eğer ekrandaki bilgi sürekli değişmeyecese sadece "LCD Ekrana Gönder" butonu kullanılabilir. Ama sürekli değeri değişen bir girdi(saat) varsa o zaman "LCD Ekrana Sürekli Gönder" butonu kullanılabilir.

Şekil-17:Proje çalışır halde

Bilgisayar Programı

Bu devredeki işlemcide bir yazılım mevcut ama bu sadece işin yarısı. Diğer yarısını ise bilgisayardaki yazılım oluşturuyor. Yani bilgisayardaki yazılım ekranda ne gösterileceğini denetliyor. Bilgisayardaki program Borland Delphi 7 ile yazıldı. (Neyse ki ücretsiz sürümü vardı)

Bilgisayar programı iki ana pencereden oluşuyor. Birincisi girdilerin yapıldığı ana pencere, diğer sadece port ayarını yapıldığı pencere

Ana pencere


Şekil-18 :Ana pencerenin görünümü

Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Birinci satır yazı alanı. Burada yazılan değer LCD ekran birinci satırda görüntülenir.(8 karakterle sınırlıdır)
  2. Birinci satır açılır menü şeklinde tanımlanan metin giriş türü vardır: Metin, saat, tarih, gün(haftanın günü) ve boş
  3. İkinci satır yazı alanı. Burada yazılan değer LCD ekran ikinci satırda görüntülenir.(8 karakterle sınırlıdır)
  4. İkinci satır açılır menü şeklinde tanımlanan metin giriş türü vardır: Metin, saat, tarih, gün(haftanın günü) ve boş
  5. LCD ekrana yazı alanlarındaki bilgiyi tek seferlik gönderir.
  6. LCD ekrana yazı alanlarındaki bilgiyi sürekli gönderir. (saat ve tarih sürekli güncellenir)
  7. LCD ekranı siler
  8. Seçenekler penceresini açar


Seçenekler


Şekil-19 :Seçenekler penceresinin görünümü

Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. LCD ekran seri port bölümünün bağlı olduğu portu seçilir. (bağladığınız porta dikkat.)
  2. Seçenekleri onaylar ve pencereyi kapatır



Not:Her projede saat gösteriminin kullanımı rahatsız edici olabilir. Ama bilgisayar üzerinden elde edilebilir en kolay bilgidir.

Ekler:

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

NEA02017 LCD Ekran Sürülmesi"için dosyalar -birleşik

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

Hiç yorum yok:

Translate

Sayfalar

Etiketler

İzleyiciler