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.

23 Mayıs 2009 Cumartesi

Atmega8 ile RS485 İletişimli Led Ekran


Giriş

Bir ölçüm sonucunu, ölçüm yapılan yerin uzağında görmemiz gerekebilir. Çünkü ölçüm yapılan yer bu işlemin uzun süreli yapılmasına izin vermeyen bir durumu olabilir. Bu durumda ölçüm sonucunu taşımamız veya ölçüm yapan algılayıcıya uzun bir bağlantı yapılması gerekir ki çoğu algılayıcı için bu biraz sorun olabilir. Örneğin dış ortamın sıcaklığını sürekli ölçmek gerekebilir, bu durumda ölçüm sonucu odamıza taşımamız gerir. Çünkü sürekli pencere önünde duramayız ya da sürekli olarak kafamızı pencereden uzatamayız. Bunun en pratik yolu sonucu ek bir ekranda göstermek. Günümüzde LCD ekranlarda dahil olmak üzere geliştirilmiş birçok gösterge aletlerinden birini kullanacağız: LED Ekranlar

Kullanımı göreceli olarak kolay ve aşına olunan LED ekranlardan 7 parçalı 4 tanesini kullanarak ATMEGA8 işlemcisi ile birlikte göstergeyi ele alacağız.

Devrenin genel tanımı

Devre basit bir şekilde 4 bölüme ayrılabilir:

LED Ekran: Gelen değerlerin gösterildiği bölüm
İşlemci:ATMEGA8 mikrokontroller işlemcisi
RS485: İşlemci RS232 iletişim hattını RS485 iletişim hattına dönüştüren devre.
Besleme: Sonuçta girişten gerilimi süzüp devrenin kullanabileceği hale getiren bölüm.

Şekil-1 :Kartın görünümü.

Devreye bilgi RS485 portu üzerinden gelip işlemcinin anlayabileceği RS232 biçimine dönüştürülüyor. İşlemcinin geri bildirim veya göndermesi gereken bir bilgi olmadığı için RS485 sürekli giriş konumunda tutuluyor. Bilgi biçimi olarak(bit7...bit0);

nokta-1 bit+ayrılmış(boş)-1 bit+hane bilgisi-2 bit+rakam sayısı-4 bit

biçiminde geliyor. Öncelikle hane bilgisi ayıklanıp ilgili hane veri hafızasına konuyor. Veriler hane bilgisi ile geldiğinden karışık sırada veya tam ekran bilgisi olmadanda işlem yapılabiliyor. Basitçe örnek verecek olursak sadece 1. hane bilgisi gönderilerek diğer hanelere değiştirilmeden 1. hane güncellenmesi yapılabiliyor. Geri kalanı zaten ilgili rakamlar haneye yazılırken yapılıyor.

Ekrana bu bilgi yazılırken öncelikle nokta biti ayrıştırılıyor, bu bilgi ile birlikte ilgili LED sürücüleri aktifleştiriliyor ve son olarak hane sürücüsü aktifleştirilerek sonuç görüntüleniyor.

İşlemcinin bilgisayar veya başka bir devre ile iletişimi sağlayan bölüm RS485 entegresi. Bu bölümle ilgili bilgiyi bilgisayar üzerinden iletişi sağlayan "RS232/RS485 dönüştürücü arabirim" başlığı altında anlatıldı ve ek bilgi internet üzerinden bulunabilir.

Tabii ki tüm devrelerin vazgeçilmezi besleme veya güç kaynağı. Köprü, birkaç kondansatör ve bir 5V sabit gerilim sağlayan regülatörden oluşuyor..

Şema

Devrenin kalbini IC1 ATMEGA8 işlemcisi oluşturuyor. Ne de olsa haberleşme, LED ekran gösterimi,bilgilerin denetlenmesi gibi tüm işlemleri kontrol ediyor. C5 ve C6 kondansatörleri XT1 kristali ile birlikte bu işlemci için gereken referans saatini üretiyor. Kristal bu kadar küsuratlı bir seçim yapılabilir. Çünkü işlemci seri port üzerinden iletişim yaptığında hata miktarını ortadan kaldırmak için seçilebilecek en uygun kristallerden biri. IC2 RS485 iletişimini sağlamakta. IC2'e bağlı R1 direnci hat empedansını uygunlaştırmak için kullanılıyor. D1, IC3 ve çevresindeki hatta geri kalan kondansatörler filtere ve regülasyon için kullanılıyor. Besleme 9 Voltluk bir adaptör ile sağlanıyor. İşlemci devresi olduğu için zaten işin çoğunu mikrokontroller yürütüyor. Q1...Q4 transistörleri LED ekranları ortak bacakları sürerek çoğullamalı çalışmasını sağlıyor. LEDlerin parçalarını sürmek için işlemci içindeki sürücüler yeterli olduğundan sadece bir akım sınırlama direnci ile doğrudan LED ekranlar işlemci tarafından sürülebiliyor (Çoğullama hakkında ek bilgi diğer örneklerde anlatılmaktadır.)

P1 konnektörü bilineceği üzere zaten RS485 portu olarak kullanılıyor. Basit bir (RJ12) 6p6c tipinde telefon prizi kullanılıyor. P2 işlemcinin programlanması için kullanılan ISP konnektörü. Bacak bağlantıları bu tip konnektörleri (isp-6) ile uyumludur. D2 için söylenecek fazla bir şey yok. Aslında seri haberleşme göstergesi olarak kullanmayı planlamıştım. Ama şimdilik devrenin beslemesi olduğu ve işlemcinin çalışmakta olduğunu gösterebiliyor.


Şekil-2:Devrenin şeması

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 montaj teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. Tabii ki kristal topraklanmalıdır. Devrede 7805 5V gerilim regülatörü üzerinden geçen akım göreceli olarak küçük olduğu için ek bir soğutucu kullanımına gerek duyulmamamıştır.
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). Bacak bağlantıları uyan başka bir LED kullanılabilir. Entegreler için soket kullanılması sonradan oluşabilecek sorunların çözümünde size yardımcı olabilecektir. Belki daha sonra tümdevreleri başka bir devre üzerinde kullanmak isteyebilirsiniz. Sizin imkan ve tercihlerinize kalmış bir durum...

Şekil-3:Devrenin baskı planı


Şekil-4:Devrenin yerleşim şekli


Şekil-5:Devrenin yerleşim planı


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

Devre Elemanları

120RR1
470RR2
220RR3,..,R10
27pFC5,C6
100nFC1,C2,C4,C7,C9
10µFC3,C4
B125C1500 veya benzeriD1
LEDD2
1056AURD3,D4,D5,D6
BC327Q1,Q2,Q3,Q4
ATMEGA8IC1
ST485IC2
7805IC3
3,6864Mhz kristalXT1
6P6C veya 6P2C konnektörP1
10 Header (ISP10)P3
kullanılmıyor P2

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


Şekil-7:Devre üzerindeki elemanların genel açıklaması


Şekil-8:Devre çalışırken (en azından ilk açıldığında) görünümü


Şekil-9:Devrenin çalışırken iki görünümü(ondalık noktalı bir sayı ve bu yıl)


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.
LED sürekli yanıyorsa devreye besleme geliyor demektir .Devrenin çalıştığı ve işlemcinin programının çalıştığını gösteriyor..
Bilgisayar Programı

Devreyi yaptıktan sonra bir bilgi kaynağı gerekiyor. Bu şekilde bir bilgi kaynağı olarak elimizdeki en basit kaynak bilgisayar. Bu devre tek başına yeterli değildir. Çünkü bu bir iletişim sistemi içeriyor, ve kendi üzerinde gösterebileceği değeri elde edebileceği bir kaynak yok. Deneme için bilgisayar ile birlikte kullanılacak. Bu devre ile verilen program için. Program iki pencereden oluşuyor. Kontrol penceresi ve Seçenekler penceresi.


Şekil-10:Kontrol penceresinin ekran resmi


Pencere üzerinde LED ekrana bilgi gönderebilecek 4 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 10'daki resimde görülen alanların basitce tanımlarını açıklayacak olursak;

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


Şekil-11:Seçenekler penceresinin ekran resmi


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

Not:Program Delphi 7 ile sadece LED ekran kartını test için yazılmıştır.
Devre ile neler yapılabileceği sadece hayal gücüne kalmış....

Ekler:

ATMEGA8 hakkında bilgi-www.atmel.com

Atmega8 ile RS485 İletişimli Led Ekran 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