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.

15 Ocak 2010 Cuma

AVR309 ile USB-Seri LCD Sürülmesi


Gelişen günümüz teknolojileri ile birlikte bilgisayar çevre birimlerinde de ciddi gelişmeler yaşandı. Özelliklede bilgisayar ile çevre birimler arasındaki iletişimlerde. Daha 10 yıl öncesinde iletişim olarak paralel port ve seri port yer alırken, şu anda bazı bilgisayar ana kartları üzerinde bile yoklar. Bu günün yaygın iletişim yöntemi olarak USB bağlantılarını görmekteyiz. Bilgisayar çevre birim üretiyorsanız veya geliştiriyorsanız USB bağlantı ile iletişim kurmak bazı zorluklara sebep olabilir.

Burada Atmel firmasının uygulama notları arasında yer alan AVR 309 yardımı ile bir USB-LCD sürücüsünü anlatacağız. Bu Uygulama Notu içinde gerekli bilgiler, sürücü ve örneklerler ile açıklamalar yer almaktadır.

Not: internet üzerinde tek mikrokontroller ile yapılmış USB-LCD uygulamaları da mevcuttur.

Şekil-1 :Ekrandaki görüntü.

USB LCD

USB temelde içinde 4 tanel bağlantı kablosu ile bilgisayar ile çevre birimler arasında bağlantının gerçekleştirilmesini sağlayan iletişim yöntemidir. (en azından USB1.1 ve USB2.0 için) Bu kabloların 2 tanesi besleme +5V ve toprak ucudur. Geri kalan iki kablo ise veri iletişim kablolarıdır. Bu iletişimin nasıl yapıldığı konusunda internet üzerinde yapacağınız bir araştırma ile bulabilirsiniz.

Bu projede kullanılan USB-seri köprüsü "Yazılım Emülasyonu ile USB-Seri çevirici" (USB modülü) projesi üzerinde anlatılmıştır. Eklenen LCD modülü, LCD ekran ve bilgisayar ile USB modülü arasında iletişimi sağlayacak programın oluşturulmasıdır. Bilgisayar programı zaten AVR309.dll kütüphanesini kullanarak işin büyük kısmını halletmiş olacak.

USB modül ile LCD modül arasındaki bağlantı seri bağlantısıdır.(rs232 portunda kullanılan iletişim protokol) . Yani aralarında sadece 3 tane bağlantı var : Rx,Tx ve GND. LCD modülü olarak "FT232 ile USB-Seri LCD Sürülmesi" projesinde anlatılan LCD Modül devresi kullanılacaktır.

Her iki USB modülü ve LCD modülü bilindik projeler olduğundan (ilgili projeleri inceleyebilirsiniz) iş sadece bunları birbiriyle uyarlama gerekir.

Yaptığı işi şöyle özetleyebiliriz, bilgisayar üzerindeki program üzerinden gelen bilgilerin (USB bağlantısı) LCD ekran (karakter LCD ekran) üzerinde gösterilmesidir. Bu bilgiler MP3 player üzerindeki şarkı adı olabildiği gibi, işlemcinin kullanım bilgileri veya sabit diskin doluluk oranı da olabilir. Tabii ki fazla abartmayacağız sadece tarih ve saat gibi bilgilerle yetineceğiz.
USB üzerinden İletişim

Bu projede kullanılan sistemde herhangi bir USB ayarı mevcut değildir. Var olan ayar olarak Delphi üzerinde LCD modülün seri port iletişim hızı olan 9600 bps ayarıdır. Bu ayar doğrudan USB-Seri modülüne yüklenir. Geri kalan sadece verilerin USB-seri modüle göndermek ve oradan da LCD modülüne gitmesidir.

AVR 309 için gerekli örnekleri Atmel internet sitesinde bulabilirsiniz. Bu örnekleri kullanarak istediğiniz programlama dili üzerinden program geliştirebilirsiniz.

Şekil-2 :Kartlar ve bağlantıları.


Şekil-3 :AVR309 USB-seri modül ve LCD modül arasındaki bağlantı kablosu.

Şema

Aslında şemayı iki bölüme ayırmak gerekiyor. USB bölümü "Yazılım Emülasyonu ile USB-Seri çevirici" projesinde zaten anlatıldığı için o bölümü için ilgili bölüme bakılabilir. "Yazılım Emülasyonu ile USB-Seri çevirici" projesinin yaplımşı olduğunu varsayayıyoruz. LCD modülü için aslında aman aman bir durum yok. Temel düzeyde (iletişim bölümleri hariç) "RS485 (Seri) LCD Çevirici" ve "AVR Seri LCD Çevirci" projelerinde anlatıldı.

Devrede IC1 (ATtiny2313) işlemci seri port üzerinden gelen bilgiyi LCD ekran üzerine gönderiyor. Buna bağlı XTL1, C3 ve C4 işlemci için saat sinyalini üretiyor. R1 LCD ekranın kontrast ayarını sağlar. geri kalan kondarsatörler filtre için. ISP konnektörü işlemcinin programlanması için. R2 LED akım sınırlama direnci olmak üzere ve D1 LED için kullanılan sistem. IC2 5V regülatör olan 7805 D2 ise girişteki köprüdür. Geri kalan kondansatörler filtredir.

Besleme sadece LCD modül içindir. USB-seri modülü kendi beslemesi vardır, daha doğrusu doğrudan bilgisayardan beslenir.

Şekil-4:Blok şeması


Şekil-5:Devrenin şeması

Devre Yapımı

Devre yapımı sadece LCD modülü için anlatılacak. USB modülü için "Yazılım Emülasyonu ile USB-Seri çevirici" projesine bakılması gerekiyor. Öncelikle köprüleri ve dirençleri lehimle, sonra kondansatörleri. Konnektörleri tak,(entegre için dahil),sonra kristal ve LED tak. Kart üzerinde besleme için bölüm bulunsa da, besleme kullanılmamıştır..
Tüm dirençler çeyrek wattır.

Şekil-6:Devrenin baskı devre planı(eleman tarafından göründüğü şekilde)


Şekil-7:Devrenin yerleşim şekli


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


Şekil-9:LCD Modülünün alttan görünümü


Şekil-10:USB-Seri Modülünün alttan görünümü

LCD Modülünün Devre Elemanları

10K TrimpotR1
1KR2
27pFC3,C4
100nFC2,C6,C8
10µFC1,C5,C7
Attiny2313IC1
7805IC2
B125C1500D2
3mm kırmızı LEDD1
3,6864Mhz kristalXTL1
10P erkek konnektörP2
14P erkek konnektörP1
6 bacak konnektörisp

Not:
1. Kartlar arası bağlantı kabloları eleman listesinde verilmemiştir.
2. LCD ekran ve bağlantı kabloları malzeme listesinde verilmemiştir. (şekil-3)
3. P3 9V bağlantı konnektörü malzeme listesinde verilmemiştir.

Şekil-11:USB-Seri Modülünün LCD modülü


Şekil-12:USB-Seri Modülünde kullanılan USB modül


Şekil-13:İki kartın bağlantı şekli

İki kartın bağlantısın belki konnektör yerine doğrudan kablolar ile yapmak isteyen olur veya iki kartı birleştirmek isteyen olabilir diye iki kart arasındaki bağlantı Şekil-13 üzerinde gösterilmiştir.
Bilgisayar USB kontrol programı

Bu bölüm açısından söyleyebileceğim AVR309.dll dosyasının uygulama programı ile aynı klasörde olması gerektiğidir. Veri göndermek için öncelikle seri iletişim hızının belirlenmesidir. Sonra gönderilecek verinin gönderilmesidir. LCD modülüne her bir satır için 1 satır kodu, 20 karakter yazılacak bilgi ve 1 satır sonu kodu(tüm satırlar için aynı). Alında bir satırın tüm bilgisi bir anda gönderilebilsede, burada her bir karakteri ayrı ayrı gönderiyoruz. (biraz yavaşlatacaktır)
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ı)

Program birkaç ana bölümden oluşuyor.
  • Girdi-Yazı alanlarına girilen metni LCD ekrana yazar.
  • Metin-Metin bölümüne girilen veya kayıtlı bir metni LCD ekrana yazar.
  • Seçenekler-Program ve LCD ekranla ilgili ayarların yapıldığı bölüm.
  • Yardım-Temel düzeyde bilgilerin verildiği bölüm.


Girdi

Girdi penceresinin görünümü

Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Ekrandaki satırları temsil eden yazı alanları. Buraya girilen metin LCD ekranda gösterilir.
  2. 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. İşaretlendiğinde yazı alanlarına girilen metin LCD ekranda ortalanır.
  4. LCD ekrana yazı alanlarındaki bilgiyi tek seferlik gönderir.
  5. LCD ekrana yazı alanlarındaki bilgiyi sürekli gönderir. (saat ve tarih sürekli güncellenir)
  6. LCD ekranı siler
  7. Seçenekler bölümünü açar

Metin


Metin penceresinin görünümü


Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Bu alandaki metin seçenekler bölümündeki ayarlara uygun olarak LCD ekrana gönderilir. Bu alana metin girişi yapılmaz ama değişiklik için satın seçilebilir.
  2. Seçilen satırda değişiklik veya yeni metin giriş alanı. Metin girişini onaylamak için enter'a bas.
  3. Kaydedilmiş metinler 1 nolu alana yükler.
  4. Metnin bulunduğu 1 nolu alanı kaydeder.
  5. Metin alanındaki bilgiler seçeneklere uygun olarak LCD ekrana gönderir ve durdurur.
  6. Metin alanını(1 nolu) siler.
  7. Girilmiş olan metni(2 nolu) metin alanındaki (1 nolu) metnin sonuna ekler.
  8. Metin giriş alanındaki karakter sayısını gösterir.
  9. LCD ekranı siler.
  10. Seçenekler bölümünü açar

Not: Bu bölüm tam bir metin düzenleme programı değildir. Sadece kısıtlı düzeyde metin girdi ve düzenleme işlevlerine izin verir

Seçenekler


Seçenekler penceresinin görünümü

Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. LCD ekran satır sayısı. Burada 2 ve 4 vardır.
  2. Metnin ekrana gönderim şeklini belirler. Satır satır kaydırarak veya Satırları grup olarak.
  3. LCD ekrana gönderilecek bilgi kaynağı. Girdi veya metin
  4. Metin halinde LCD ekrana gönderildiğinde LCD ekran bilgisinin yenilenme süresi
  5. Seçenekleri onaylar ve pencereyi kapatır


Bilgisayar ekranındaki saat değiştiğinde LCD ekranda görülen yeni saat değeri de yenilenir.

Ekler:

Attiny 2313 hakkında bilgi için

AVR309 ile USB-Seri LCD 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