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...

4 Temmuz 2009 Cumartesi

ATMEGA8 ile 24 Saat Modunda LED'li Dijital Saat


Günlük hayatımızda en çok kullanılan nesnelerden biride saattir. Nasıl olmasınki, hayatımızın tüm akışı zaman ölçümü üzerine kuruludur. Heleki modern zamanlarda. İşe gidilecek saat ile, okula gidilecek saat ile, yemek yenilecek saat ile, televizyonda sevilen bir dizi izlenecek saat ile... Gerçi yapılmasıda bir o kadar kolay. Sayıcı, sayıcı, sayıcı, eh birazda gösterge.

Daha önce projesine yer veriler 24 Saat Modunda LED'li Dijital Saat ile saat yapılsada biraz farklı bir yaklaşım ile bu proje ATMEGA8 işlemcisi üzerine taşınarak bu proje gerçekleştirildi. En biraz farklı olsun diye de gösterge olarak yeşil LED ekran seçildi. (Bulunabilirse mavi, beyaz, turuncu veya kırmızı renkli led ekran kullanılabilir. R1-R7 direnç değerlerine dikkat!) Saat uygulamasının temeli için 24 Saat Modunda LED'li Dijital Saat projesi referanstır.


Şekil-1 :Devre çalışırken görünümü. Devrenin çalışması hakkında bir fikir verecektir.

Sistemin kalbi olan IC1 (ATMEGA8) entegresi tüm saat sayma, ekranları gösterme ve buton algılama işlemlerini yerine getirir. Bu entegreye bağlı olan C2,C3 ve XTL1 işlemci için gereken saat sinyallerini oluşturur. Bu projedeki temel fark aslında sadece programda. Çünkü AT90S2313 ile Atmega8 arasında donanım adresleri ve iç kaynak yaklaşımlarında bazı farklar var. Program bu işlemciye uyarlanırken bu farklar göz önüne alındı.

Şema

İşe beslemeden başlarsak, 7805 bilindik 5V gerilim regülatörü ve çevresindeki kondansatörler filtre elemanları. Girişdeki D11 diyodu isteğe bağlı, özellikle farklı adaptörler kullanıldığında özellikle adaptör bağlantısı kutuplarını göz ardı edebilmek için oldukça yararlı olacaktır.

Devre aslında direkt olarak IC1 ATMEGA8 işlemcisine bağlı. Tüm işlemleri bu işlemci üzerinden yapılıyor. R1-R7 dirençleri LED ekran akım sınırlama dirençleridir. D1-D6 LED ekranlar doğrudan işlemci üzerinden sürüldüğü dikkatinizi çekmiştir. Aşırı akım çekilmesi LED ekranlar olduğu gibi işlemciyede zarar verebileceği açıkça görülür. LED ekranların ortak bacakları Q1-Q6 transistörleri üzerinden sürülüyor. R8,R9,R11,R12,R14,R15 dirençleri transistör baz akım sınırmlayıcı dirençlerini oluşturur. D7-D10 LED ekran ara noktaları oluşturur. S1 ve S2 saat ve dakika ayarları için. Geriye kalan XTL1 ve kondansatörleri işlemcinin iç saat frekansın üretir. ISP konnektörü artık bilindiği üzere işlemci programlama için kullanılır. İşlemci devre dışında bir programlayıcı üzerinde programlanacaksa takılmayabilir.


Şekil-2:Blok şeması


Şekil-3:Devrenin şeması


Ayar Butonları

S1 ve S2 butonları saat ve dakika ayarı için kullanılır. Basitçe butona basıldığı zaman bağlı olduğu bacağı lojik 0 çekerek basıldığın işlemciye bildirir. İşlemcide belirli aralıklara butonların bağlı olduğu bacakları kontrol eder. Butonlara sürekli basıldığı zaman saat ve dakika hanelerini hızlı bir sayma yaparker. Aralıklı basılması ile yavaş sayma yapacaktır.

Devre Yapımı

Devre yapımında kritik bir eleman yok. Baskı devre kartı üzerinde geçekleştirildiğinde standart eleman yerleşimi göz önüne alınarak devre kurulabilir. Bu noktada diğer devre teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. Tabii ki kristal topraklanmalıdır. Sistem 9V besleme ile yaklaşık 100mA civarında akım çekmekte. Bu nedenle 7805 üzerinde küçük bir soğutucuya hayır demeyecektir. Ne olur ne olmaz.
Tüm dirençler çeyrek wattır.
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) LED ekranlar ortak ucu ortada ortak anottur. Bacak bağlantıları uyan başka bir LED ekran kullanılabilir. Farklı renklerde kullanılacaksa R1-R7 direnç değerlerini değiştirmek gerekebilir.

Şekil-4:Devrenin yerleşim planı


Şekil-5:Devrenin baskı devresi şekli


Şekil-6:Eleman ve yolların birlikte görünümü


Şekil-7:Kartın alttan görünümü (Kartın altı lehimleme kolaylığı ve korozyana karşı kaplanmış)

Devre Elemanları

470RR10,R13
220R R1,R2,R3,R4,R5,R6,R7
1KR8,R9,R11,R12,R14,R15
27pFC2,C3
100nFC1,C4,C6,C8
10µFC5,C7
S-5612AG-21 D1,D2,D3,D4,D5,D6
BC327Q1,Q2,Q3,Q4,Q5,Q6
B125C1500D11
ATMEGA8IC1
7805IC2
butonS1,S2
4Mhz kristalXTL1
6 bacak konnektörisp

Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 28 bacaklı bir soket oluşabilecek problemlerin önüne geçecektir.
Besleme ister doğrudan adaptör bağla, istersen fiş-priz bağlantısını kullan. Ama devre kutu içine konulacaksa bu fiş-priz bağlantısı kullanışlı olacaktır. Kartın arka planında görülen kareli kağıt kartın boyutları hakkında bir fikir verecektir


Ekler:

ATMEGA8 ile 24 Saat Modunda LED'li Dijital Saat için dosyalar-birleşik

ATMEGA8 hakkında bilgi için



Not:S-5612AG-21 bacak bağlantıları ekranın üstten görünümüdür. Yani baskı devrenin eleman yüzü üzerinden göründüğü gibidir.

Elektronik üzerinde tecrübesi olan kişiler için zaten o eleman yerini bunu kullanmış veya yüzey montaj olmuş veya delikli kart üzerine yapılmış bu tür şeyler kişinin olanak ve tercihine kalmış şeyler.

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

Translate

Sayfalar

Etiketler

İzleyiciler