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.

25 Temmuz 2009 Cumartesi

Atmega 8 ile RS485 iletişimli LCD Ekran


LCD

Ölçülen bir büyüklüğün tarafımızdan okunabilmesi için ekranlar veya göstergeler vazgeçilmez ögelerdir. Bu tür göstergeler arasında LED göstergeler, vakum flöresan, mekanik röle sistemleri, ibreli göstergeler örnek verilebilir. Burada 7106 ve benzerleri ile birlikte dijital voltmetrelerde kullanılan (örneğin dijital multimetrelerde) (nümerik) rakamsal olarak verileri gösterebilen LCD ekran üzeride duracağız.

Temel olarak sıvı kristal 1888 yılına dayanan bir zaman diliminde keşfedildi. Elektronik açısından kullandığımız LCD elemanı 1968 yıllarına dayanıyor.

Şekil-1 :Bir LCD yapısının kesiti.

LCD yapısı basitçe cam yüzey üzerinde bulunan iki elektrot arasına konan sıvı kristal malzemesinin optik özelliklerinin uygulanan elektrik alanı ile değiştirilmesine dayanıyor. Tabii ki bunun için ışığın kutuplanması için filtre uygulanması gerekiyor. LCD çalışması ve yapısı konusunda ayrıntılı bilgiyi internet üzerinde bulabilirsiniz. Şekil-1 bir LCD yapısını kabaca anlamamıza yardım edecektir. Basitçe elektrik verilen elektroların arasında sıvı kristalin kristal dizilimleri değişerek ışığa farklı bir tepki verecektir. Böylece normal durumda geçebilen ışık elektrik uygulanan elektrotların arasındaki bölgeden geçemeyecektir. Dolayısı ile bize o bölgeyi koyu görülecektir. Şekil-2 LCD uçlarına elektrik sinyali uygulamasındaki yaklaşım uygulandığında LCD normal görülecek. Yani koyulaşma yok. Şekil-3 şeklinde bir sinyal uygulaması veya LCD'nin sürülmesi durumunda sürülen bölge koyulaşacaktır.

Şekil-2 :LCD elektrotlarına aynı fazlı sinyal uygulandığında.


Şekil-3 :LCD elektrotlarına ters fazlı sinyal uygulandığında.

LCD Kullanımı

Asıl konu LCD nasıl sürülür. LCD birimler doğru akım ile sürülemezler. Sürülen bölüm bir süre sonra kararlılığını kaybedip sürülmemiş gibi bir görüntüye bürünüyor. Yani LCD birimi (ki burada rakam gösteren LCD anılıyor) değişken bir akım daha doğrusu gerilim ile sürülmesi gerekiyor. İşte harika olanı bunun bir kare dalga ile yapılabilmesi. Şekil-2 ve şekil-3 LCD sürülmesi konusunda kabaca bir fikir verecektir.

Bu projede (çoğullaması LCD birimler konu dışı bırakılarak) her bir gösterge parçası LCD birimin bir bacak bağlantısına bağlı. Ve tüm gösterge parçalarının ortak bir bacağı var. LCD sürmek için sürülecek parçanın bacağı ve ortak bacak arasına bir gerilim uygulanır. 4 dijitlik bir göstergede kabaca bakacak olursak, ortak bacak, her bir dijit için 7 tane olmak üzere toplamda 28 bacak rakamlar için, en az 3 tane ondalık nokta için bacak ,ve saat için kullanılabilen iki nokta için bir bacak olarak ele alındığında toplamda 33-34 arasında kullanılabilen LCD birim bacağı ortaya çıkar.

Her ne kadar doğrudan LCD birimleri sürebilen işlemciler bulunsa da, ne yazık ki herkes için bulunabilir değildir. Bu projede ATMEGA8 işlemcisi ile bir rakamsal LCD birimin nasıl kontrol edileceği üzerinde durulacaktır.

Şekil-4 :İki LCD ekran resmi (soldaki) 4 dijit, (sağdaki) 3 1/2 dijit.

Şekil 4 üzerinde gösteriler LCD göstergeler bu devre ile kullanılabilecen iki örnektir. Örnekteki LCD göstergeler bacak bağlantıları içeren modellerdir. Birçok dijital multimetre türü araçlarda LCD bacak bağlantıları farklı yöntemler kullanılarak sağlanır.

Şekil-5 :Şekil-4'de gösterilen LCD gösterglerin bacak bağlantıları. Not:3 1/2 dijit LCD göstergenin çiziminde LOBAT simgesi gösterilmemiştir.

Öncelikle LCD değişken gerilimle sürülüyor. Bu tamam, bu değişken gerilimi işlemciden üretebiliriz. Olabilir ama işlemcinin zaten yeterince işi var. Ekran için basitçe 30-100Hz arasında yenileme frekansı oluşturuldu. Böylece geriye LCD ekran kontrolü bölümü işlemciye rahatlıkla yıkılabilir.

LCD üzerindeki rakam parçalarını sürmek için 4543 kodlu bir entegreye ulaşıldı. Neredeyse bu iş için biçilmiş kaftandı. BCD girişleri doğrudan rakam parçaları için çıkışları ve LCD ekranın ortak bacağı için bir faz girişi var. En güzeli entegre bir tampon hafıza içeriyor. Böylece 4 hane için 4 entegre kolayca kontrol edilebilir.

Peki kalan rakam olmayan parçalar nasıl kontrol edilecek? 7106 uygulamaları zaten bu sorunun cevabını veriyor. XOR kapı olarak bilinen dijital kapılar içeren 4030 entegresini kullanmak. İki girişten biri LCD ortak bacağı sinyaline diğeri işlemcinin ortak bacağına.

Zaten geriye işlemcinin bu elemanları kontrol etmesi kaldı... Devre en 4 ve 3 1/2 dijit LCD ekranların her ikisini kontrol edecek (3 1/2 dijit ekranlarda “-“ hariç) şekilde düzenlendi.

BCD 4543 entegresinin A,B,C,D girişleri ortak olarak bağlanmakta. Çünkü entegre içindeki tutucu tamponlar LE bacağı ile kontrol edilerek girilmiş olan değerin tutulmasını sağlar. Böylece diğer haneler yüklenirken hane içeriği korunmuş olur. 4030 ile sürülen diğer elemanlar doğrudan işlemci tarafından kontrol edilir. En azından işlemci için yeterli bacak var..

Şema

Bu devre üzerinde de temel eleman tabii ki IC1 işlemci. Bu elemen diğer elemanların kontrolu ile birlikte LCD ekran üzerinde gösterilecek bilgi ve RS485 üzerinden gelen bilginin incelenmesi, sınıflandırılması ve gösterilmesi işlemini yerine getirir. IC1 üzerine bağlı olana C5, C6 ve XTL1 işlemci için gereken saat referans frekansını üretir. LED1 ve R3 işlemcinin kontrol göstergesi olarak belirtilebilir. IC2 ve R1 RS485 - RS232 körüsü olarak çalışır. Yani RS485 üzerinden gelen bilgiyi işlemciye iletir. Proje ile ilgili metinlerde LCD referans sinyali üretiminden bahsedilmişti. Bu işlem IC4C, IC4D, R2 ve C10 grubundan oluşan devre tarafından sağlanır. Bu sinyal LCD COM bacağına bağlanırken kalan IC4 bölümleri, IC5, IC6,IC7 IC8 ve IC9 elemanları tarafından da kullanılır. IC4 ve IC5 (4030)içinde yer alan kapıların bir girişleri işlemciye bağlanırken diğer girişleri LCD referans sinyalini bağlanır. Her bir çıkışda kendisi ile ilgili LCD bacağına bağlanır. IC5-IC8 (4543)BCD LCD sürücüleridir.A,B,C,D bacakları her bir tümdevrede birlikte bağlanıp işlemci ile bağlantısı oluşturulur. PH bacakları birlikte bağlanıp LCD refens sinyali kaynağına bağlanır. Her bir LD bacağı kendisi ile ilgili işlemci bacağına bağlanır.

D1,IC3,C2,C3,C7 ve C8 besleme ve regülatör için kullanılan elmanlardır. Geriye kalan kondansatörler ise genel filtreleme kondansatörleridir. ISP konektör işlemciyi programlamak için kullanılan bağlantı elemanıdır.

Şekil-6 :ATMEGA 8 LCD Sürücü devresinin blok şeması.



Şekil-7 :ATMEGA 8 LCD Sürücü devresi.


Devre Yapımı

Devre yapım açısından entegre fazla olması ve sıkışık düzen nedeniyle biraz sorun çıkarabilir. Öncelikle köprüleri takmak takmakla işe başlanabilir. Entegre elemanlar için soket kullanmak yerinde bir seçim olabilir. Gerçi LCD için soket kullanmak zaten olmazsa olmaz bir durum. Diğerlerinin nasıl takılacağı size kalmış.

Besleme konusunda bir sorun oluşturmayacağınızı düşünüyorsanız girişteki köprüyü devre dışı bırakabilir veya tek bir diyotla değiştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız).

Şekil-8:Devrenin yerleşim planı


Şekil-9:Devrenin baskı devresi şekli


Şekil-10:Kartın eleman ve yollarla birlikte yerleşim planı

Devre Elemanları


120RR1
1KR2
100KR3
10µF/25VC2,C7
27pFC5,C6
100nFC1,C3,C4,C8,C9,C10,C11,C12,C13,C14
MAX485IC2
ATMEGA8IC1
7805IC3
4030IC4,IC9
4543IC5,IC6,IC7,IC8
3,6864MHz kristalXTL1
3mm Kırmızı LEDLED1
B125C1500 veya benzeriD1
6P6C ve 6P2C rj12 konnektörP1
6P konnektörISP
4 dijit veya 3 1/2 dijit LCDLCD1

Malzeme listesi. Burada işlemci ve diğer tümdevreler için soket, LCD soketi ve 9V adaptör verilmemiştir. Entegreler için soket isteğe bağlıdır. Köprü olarak bacak bağlantıları uyan herhangi bir eleman kullanılabilir.

Şekil-11:LCD karta takılı değilken. Köprü için kullanılan tellerin çokluğu dikkat çekicidir. Çift yüzlü kart ihtiyacı ortada.


Şekil-12:Kartın arkadan görünümü. Sıkışıklık biraz özen gerektirir. Montaj biraz zorladı.


Şekil-13:Kart saat olarak çalışırken. Saat ve dakika arasındaki noktalar yanıp sönüyor.(bilgisayar bağlantısı ile 24 saat modu ile)


Şekil-14:3 1/2 dijit LCD ekran ile.


Şekil-15:3 1/2 dijit LCD ekran ile 12 saat modunda saat ile. (Not: bilgisayar bağlantısı ile).

Bilgisayar Programı

Bu proje şu hali ile bir bilgisayardan RS485 veri iletşimi bilgiyi alıp göstermek
üzere geliştirildi. Doğal olarak bu projeye bir bilgisayar programı gerekir. Proje için geliştirilen bilgisayar programı iki pencereden oluşuyor. Bu pencerlere ve açıklamaları:

Şekil-16:LCD ekran devresine veri göndermek üzere kullanılan bilgisayar programın ana penceresi.


Pencere üzerinde LCD ekrana bilgi gönderebilecek 5 bölge var. Bunlar en sağ taraftaki yuvarlak butoncuklar ile seçiliyor. Seçilen bölge mavi renkte işaretlenmekte ve o bölge üzerinde işlem yapılabilmekte.

Şekil 16'daki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. 1. grubun seçilerek aktif olmasını sağlar
  2. (1.grup)Elle değer girme. Klavyeden girilen değerler doğrudan LCD ekrana gönderilir.(sadece rakam)
  3. 2. grubun seçilerek aktif olmasını sağlar
  4. (2.grup)1000 hanesi değer seçme. Sağ alt yanındaki yuvarlak butoncuk noktayı simgeliyor.
  5. (2.grup)100 hanesi değer seçme. Sağ alt yanındaki yuvarlak butoncuk noktayı simgeliyor.
  6. (2.grup)10 hanesi değer seçme. Sağ alt yanındaki yuvarlak butoncuk noktayı simgeliyor.
  7. (2.grup)1 hanesi değer seçme. Sağ alt yanındaki yuvarlak butoncuk kullanılmıyor. Sadece diğerlerin iptal ediyor.
  8. 3. grubun seçilerek aktif olmasını sağlar
  9. (3.grup-ileri sayma)Sayıcıdaki ilk değer elle girilir.(sadece rakam)
  10. (3.grup-ileri sayma)Sayıcıdaki son değer elle girilir.(sadece rakam)
  11. (3.grup-ileri sayma)Sayıcıdaki sayılan değeri gösterir (sadece gönderme durumunda aktiftir ve değer girilmez.)
  12. 4. grubun seçilerek aktif olmasını sağlar
  13. (4.grup-geri sayma)Sayıcıdaki ilk değer elle girilir.(sadece rakam)
  14. (4.grup-geri sayma)Sayıcıdaki son değer elle girilir.(sadece rakam)
  15. (4.grup-geri sayma)Sayıcıdaki sayılan değeri gösterir (sadece gönderme durumunda aktiftir ve değer girilmez.)
  16. Sistem saati ve dolayısı ile LCD ekrana gönderilecek bilgi(saat ve dakika)
  17. LCD ekrana saat verisini gönderir veya durdurur.
  18. Yukarıdaki seçimlere bağlı olarak LCD ekrana bilgi gönderilmesini sağlar veya durdurur.
  19. Ekranı silerek Devrenin genel tanımı başlığı üzerindeki gibi görünmesini sağlar
  20. Seçenekler penceresini açar


Şekil-17:LCD ekran devresine veri göndermek üzere kullanılan bilgisayar programının seçenekler penceresi.


Şekil 17'deki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Bilgisayarda seri port seçimini sağlar.
  2. Lcd ekrana gidecek değerin güncelleme süresini ayarlar.
  3. LCD ekran seçimi (4 dijit veya 3 1/2 dijit)
  4. Seçenekleri onaylar ve pencereyi kapatır(Program penceresini açar)


Not:Program Delphi 7 ile sadece LCD ekran kartını test için yazılmıştır.

Devre ile neler yapılabileceği sadece hayal gücüne kalmış....

Ekler:

NOT:
1-Bu proje bu hali ile "RS232/RS485 dönüştürücü arabirim" projesi ile birlikte kullanılmaktadır.(bilgisayar bağlantısı için)
2-LCD üzerinde 3 1/2 dijit göstergelerde "-" ve "LOBAT" bacakları kullanılmamıştır.
(aslında "-" elemanı kullanmayı planlamıştım. Onun yerine "-" ile birlikte kullanıldığında "+" oluşturan elemanları adreslemişim. Şu anda bu elemanlar işlemci programı üzerinde kullanılmamaktadır.)

Atmega 8 ile RS485 iletişimli LCD Ekran

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



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

Hiç yorum yok:

Translate

Sayfalar

Etiketler

İzleyiciler