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.

26 Nisan 2009 Pazar

RS485 (Seri) LCD Çevirici


Devrenin Temeleri

Devremizi basitçe inceleyecek olursak.

Besleme; devrenin çalışması için olmazsa olmazı..
RS485; bilgisayar ile işlemci haberleşmesi için (sadece işlemci tarafı)
İşlemci; bilgisayar ile LCD modül arasındaki köprü AT90S2313
LCD; bilgisayardan gelen bilgilerin görüntülendiği yer

Devre ilk açılışında işlemci LCD modülü sıfırlar ve veri yazmak için hazırlar. Bilgisayardan gelen veri durumuna göre bu ilk gönderildiğinde satır seçimi ve sonrakiler ekrana yazılaması gereken veridir. Ve son olarak satır sonu verisini alır ve işlemci bunlara uygun olarak LCD modülü kontrol eder. RS485 için söylenecek fazla bir şey yok. Bu bölüm sadece bilgisayar seri portu ile ve işlemcinin seri portu arasında bir köprüdür. RS485 için internet üzerinde ayrıntılı araştırma yapabilirsiniz. LCD modüller hakkında daha ayrıntılı bilgi için internet sayfaları ve LCD modül üretici sayfalara oldukça bilgi sunacaktır.
RS485 için söyleyebileceğim tek şey portun işlemci tarafı sadece alma konumunda ve bilgisayar tarafında gönderme konumunda ayarlandığıdır.
(Not: Bilgisayar ve işlemci tarafındaki programlar aslında doğrudan RS232 iletişim sistemi için doğrudan kullanılabilir. Çünkü RS232/RS485 dönüştürücü arabirim ullanılmakta.)

LCD ve Teknolojisi


LCD temelde sıvı kristalleri üzerine kurulu yapıdır. Yani basitçe iki elektrot yüzeyi arasına bir sıvı doldurulur. Bu sıvıyı oluşturan bileşenler normalde düzensiz bir yapıda yerleşir. Ama bu elektrotlar üzerine bir gerilim uygulandığında bu sıvıyı oluşturan bileşenleri belli bir düzende yerleşime zorlar. Bu tek başına görüntü oluşumuna yeterli değildir. Önemli bir yapı olarak özel ışık filtreleri bu noktada devreye girer. Işığı kutuplama olarak tanımlanan işlemi gerçekleştiren bu elemanlar ışığın belli bir düzende geçmesini sağlar. Eğer ele edebilirseniz bu iki elemanın belirli açılarda birbiri üzerine yerleştirildiği zaman ışığı geçirdiği başka açılarda geçermediğini görebilirsiniz. Hatta bunu LCD kullanan hesap makinelerinde de görebilirsiniz.

Aslında bu elemanlar oldukça kullanışlı ve düşük güç harcayan yapıları vardır. İmalatı göreceli olarak daha basit ve hızlıdır. Şu anda günümüzdü kol saatleri, hesap makineleri, masa saatleri gibi bir çok kullanım alanı bulanbilen bu ürün düşük güç harcaması sayesinde küçücük bir pil sayesinden uzunca zaman çalışabilmektedir.

Bu noktaya kadar her şey güzelde bu elemanların sürülmesi yani çalıştırılabilmesi biraz karmaşık yöntemleri gerektirir. Bu da gelişen elektronik sayesinde kendiliğinden ortadan kalktı. Hatta artık LCD devrelerini kendiniz sürmeniz bile gerekmeyen modüller mevcut. Burada bu modüllerin bir mikrokontroller (AT90S2313)üzerinden kontrol ve bir seri port ile birlikte bilgisayardan veri aktarılması, yani bilgisayardan LCD üzerine yazı yazıdıracak bir devre oluşturacağız. Kullanacağımız LCD karakter tipi bir yapıdır. Yani sadece karakter göstermek üzere tasarlanmış ve yapılmış. Karakterler önceden belirlenmiş ve LCD rom'una kaydedilmiş. Bizim yapacağımız sadece yazdırmak istediğimiz karakteri ve yerini berlirleyip, bununla ilgili bilgiyi LCD modüle göndermektir.


Şekil-1 :2x20 LCD modülün önden ve arkadan görünümü.



Şekil-2 :4x20 LCD modülün önden ve arkadan görünümü.


LCD modüllerde değişik haberleşme yöntemleri mevcuttur. Burada paralel bağlantıyı kullanacağız. Yani 8 bit veri hattı, 1 seçme hattı, 1 yaz/oku hattı ve 1 yazıcı seçme hattını kullanacağız. Buna ek olarak kullandığımız LCD modülde 1 tanede kontras ayarlama hattı mevcuttur. Bu modüller üzerinde arka aydınlatma için besleme hatları var ama kullanmadık. Çünkü çok fazla akım çekiyor. Daha fazla ayrıntı için internet üzerinde ayrıntılı bilgi bulabilirsiniz.


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


Sistemin kalbi olan IC3 (AT90S2313) entegresi tüm saat seri haberleşme ve LCD kontrol işlemlerini yürütür. Bu entegreye bağlı olan C6,C7 ve XTL1 işlemci için gereken saat sinyallerini oluşturur.

Şema

Devre şeması aslında açık ve kendini anlatmaya yinede yeterli. IC3 devrenin kalbini AT90S2313 oluşturuyor. IC1 RS485 ve işlemci arasındaki seri haberleşme arabirimdir. R2 LCD ekranın kontrast ayarı içindir. İstenilen kontrast için ayarlanabilir. IC2 zaten çok tanınan ve bilinen 7805 olarak 5 voltluk regülatördür. Fazla güç çekilmediği için soğutucuya ihtiyaç duyulmamıştır. Aslında seri port bölümünü bir yana bırakacak olursak işlemci ve LCD ekran birlikte pille beslenebilecek kadar küçük akım çekmekte.


RS485 LCD dönüştürücü blok şeması



Şekil-4: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 teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. 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 vattı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) P4 AVR işlemcileri için programlama girişi olarak kullanılmak üzere devreye eklendi.


Şekil-6:Devrenin yerleşim planı



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



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


Devre Elemanları

120RR1
10K TrimpotR2
10µF/25VC3,C4,C5,C8
27pFC6,C7
100nFC2,C2,C9,C10
B125C1500D1
ST485IC1
7805IC2
AT90S2313(ATTINY2313)IC3
4Mhz kristalXTL1
6p6c veya 6p2c RJ12 konnektörP1
Adaptör priziP2
14P konnektörP3
10P konnektörP4

Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 20 bacaklı bir soket oluşabilecek problemlerin önüne geçecektir. RS485 entegresi için 8 bacaklı bir soket kullanımı oluşabilecek arıza durumlarında RS485 entegresinin değiştirilmesinde kolaylık sağlayacaktır.



Devrenin toplanmış ve çalışmaya hazır.



Devre ilk çalıştığında bilgisayara bağlı olmasa bile LCD ekranda görülen metin(test sayfası diyelim).



(4x20)Devrenin çalıştığını göstermek için oluşturulmuş bir örnek


Peki 2x20 veya 4x20'den başka LCD ekranları kullanırsak ne olur. İşte 2x16 olarak bir örnek:


2x16 LCD ekran



Bunu yazmasaydım içim rahat etmeyecekti.

Bu LCD ekran 2x16 olmasına doğruda, karekter rom olarak diğer gösterilen örneklerden biraz farklı. Nadir olarak karakter romu kiril alfabesini içerecek şekilde düzenlenmiş. Bu sayede bu alfabeyi kullanan dil yapısında ek bir işleme gerek duyulmadan kullanılabiliyor. Darısı Türkçe'nin başına... Çünkü burada yer alan Türkçe karakterler için LCD'nin RAM bölümüne bu karakterler ile ilgili verileri yüklemek gerekti. Yani her açılışta bu karakterler RAM bölümüne yüklenmesi gerekiyor.

Buraya kadar anlatılanlar devrenin donanım bölümünü içermekte. Ama devrenin bir de yazılım bölümü var, daha doğrusu bir bilgisayardaki programı. O olmazsa olmaz.

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


Girdi 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. LCD ekran seri port bölümünün bağlı olduğu portu seçilir. (bağladığınız porta dikkat.)
  3. Metnin ekrana gönderim şeklini belirler. Satır satır kaydırarak veya Satırları grup olarak.
  4. LCD ekrana gönderilecek bilgi kaynağı. Girdi veya metin
  5. Metin halinde LCD ekrana gönderildiğinde LCD ekran bilgisinin yenilenme süresi
  6. Seçenekleri onaylar ve pencereyi kapatır

Not: Buradaki işlemci yazılımı ve bilgisayar yazılımı rs232 iletişimi içinde aynen kullanılabilir. Çünkü sadece iletişim yönünü kontrol eden bacak haricinde tamamiyle aynıdır.

Ekler:

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

RS485 (Seri) LCD Çevirici için dosyalar-birleşik

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

22 Nisan 2009 Çarşamba

RS232/RS485 dönüştürücü arabirim


Burada yer alan devre aslında doğrudan işlemci uygulaması için değil ama bazı devrelerde bilgisayar ile bağlantı için kullanılacaktır. Dolayısı ile bilgisayar programıda ilgili devre ile birlikte sunulacaktır.

Devrenin genel tanımı


Bilgisayarlar uzun zamandan beri seri haberleşme portu üzerinden kolayca haberleşmektedir. (Her ne kadar günümüzde birçok ana kart üzerinde bu port olmasa bile)
RS232 portu kullanımı ve kontrolu son derece kolay bir yapıya ve programlama dilleri açısından oldukça yaygın bir desteğe de sahiptir. Ama yinede bazı sınırlamalara sahiptir. Bunlardan biri de bağlantı için kullanılan kablo boyudur. Çoğunlukla 2-3 metre civarındadır. Peki 10 metre veya 20 metre mesafedeki bir devre ile iletişim için kullanmak istersek ne olur?

Bu durumda diğer iletişim tekniklerine geçmek gerekir. Bunlardan r422, rs485, ethernet, kablosuz rf bağlantı ürüntleri, kızılaltı iletişim sistemleri örnek gösterilebilir. Burada ele alacağımız rs485 bağlantısıdır. Bu iletişim için birçok üretici kendilerine göre özellikleri bulunan çeşitli devre elemanları üretmiştir.

rs485 basitçe iki kablo üzerinden iletişim için tasarlanmış bir iletişim yöntemi. İki kablo üzerindeki bilgi kabloların birbirine göre elektriksel seviyelerine bakarak işletişim kurar. İşlemci veya bilgisayar tarafında ise Rx,Tx ve kontrol uçları bulunur. Kontrol uçları birbirine göre evrilmiş durumda olduğundan birleştirilerek tek bir kontrol ucu olarak kullanılmakta.

Devremiz basitçe üç bölüm üzerinden incelenebilir. Her zamanki gibi besleme, RS232 arabirimi ve RS485 arabirimi.

Bu sistem sadece bu tipte iletişim sistemlerinin bir bilgisayar için oluruşturulmuş bir modülüdür. Yani bu tipte iletişim kurabilen sistemler ile sadece kablo bağlantıları kullanılarak bir ağ oluşturulması mümkün. Oluşturulacak ağ fiziksel olarak kablo bağlantı uzunluğu (çevreden gelebilecek elektriksel parazitleri ve sinyal bozulmalarını göz önüne almak gerekir) ve sistemin izin verebileceği modüller ile sınırlı. Tabii ki uygun bir kontrol yazılı kullanılarak.


Şekil-1 Devrenin çalışması hakkında bir fikir verecektir.


Temelleri



Şekil-2:485 entegresi bacak bağlantısı


Bacak bağlantısıAçıklaması
ROAlıcı çıkışı
REAlıcı çıkış izni
DE Sürücü çıkış izni
DISürücü girişi
AEvirmeyen alıcı girişi ve evirmeyen sürücü çıkışı
BEviren alıcı girişi ve eviren sürücü çıkışı
GND Toprak
VccBesleme


Yukarıdaki tablo rs485 iletişimi için kullanılan bir entegrenin bacak bağlantılarını göstermektedir. Doğrudan DE ve RE bacakları birbirine bağlanarak bir kontrol ucu oluşturularak iletişim yönünü belirlemede kullanırız.
RO bağlantısı Rx ve DI bağlantısı Tx bağlantısını oluşturur. Bunlar bilgisayar bağlantısıdır. (RS232 üzerinden)
A ve B uçları ise doğrudan RS485 bağlantı uçlarıdır. Buna tek eklenecek olan bir dirençtir. Yani hatta bir yük direnci eklenecek böylece hat üzerindeki parazitlerin bir bölümü süzülecek hattan meydana gelebilecek sinyal bozulmaları engelenecek. Daha ayrıntılı bilgi için üreticilerin veri kağıtları ve internet üzerinden araştırma yapılması daha iyi olacaktır.

Şema

Devre basit bir şekilde 3 bölüme ayrılabilir:
Besleme köprü üzerinden alınan gerilim süzme kondansatörleri üzerinden süzülür ve 7805 üzerinden 5V gerilim oluşturulur.
RS232 bağlantısı; bilgisayar seri portu üzerinden Rx,Tx ve DTR bağlantıları TTL seviyesine uyarlanır.


Şekil-3:Devrenin şeması


Devre Yapımı

Devre yapımında kritik elemanı rs485 ve rs232 entegreleri. Bu elemalar için soket kullanılması ileride oluşabilecek sorunlarda bu elemanların değiştirilmesini kolaylaştırır. Devre fazla karışık değil isteyen delik kart veya diğer devre montaj teknikleri kullanılabilir.


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

Devre yapımında izlenecek adımlar basitçe:


1-Köprüleri tak
2-Dirençleri tak
3-Soketleri tak
4-Kondansatörleri tak
5-Yarı iletken elemanları tak
6-Tüm elemanları taktıktan sonra devreye entegreleri takmadan elektrik ver ve entegrelerin bacaklarında doğru gerilim olduğunu onayla
7-Son olarak entegreleri soketlere tak.
Zaten gerisi devrenin bilgisayar bağlantısını yapıp çalışmasını test etmektir.


Şekil-4:Devrenin yerleşim planı



Şekil-5:Devrenin baskı devresi şekli (eleman yüzü tarafından göründüğü gibi)



Şekil-6:Eleman ve baskı devre birleşimi



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

Devre Elemanları
120RR1
100nFC1,C6,C7,C10
10µF C2,C3,C4,C5,C8,C9
MAX232 IC1
ST485 IC2
7805 IC3
B125C1500 D13
DB9 P1
6P6C veya 6P2C RJ12 prizi P2
Adaptör girişi P3


Malzeme listesi. Malzeme listesinde 9V adaptör verilmemiştir.

Not: Devre şemasında ,beslemenin olduğunu gösteren uyarı LEDi eklenmemiştir. İsteyen bunu devresine ekleyebilir.


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ı bağlantısı kullanışlı olacaktır.


Ekler:

RS232/RS485 dönüştürücü arabirim için dosyalar- birleşik

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

6 Mart 2009 Cuma

AT90S2313 ADC-Seri Köprüsü


Devre basitçe dört bölümden oluşuyor.
ADC çevirici 8 bitlik i2c bağlantısı bulunan ADC0831 entegresi..
2K flash belleği ile ACD bilgisini okuyup bunu bilgisayara gönderen AT90S2313 işlemci entegresi
İşlemci ile bilgisayar arasındaki seviyeleri uyarlayan RS232 entegresi
Tabii ki elektronik devrelerin vazgeçilmesi besleme devresi
Devre üzerinde bilgisayar üzerinden devreyi adc'deki bilgiyi okuyup bilgisayara göndermek üzere bir bilgi gelir. Bu işlemci tarafından çözülür. ADC'yi üzerindeki gerilimi okuyup göndermek üzere adresler. ADC bilgisi okunur ve bu bilgi bilgisayar iletilir. Bu noktadan sonra ne olacağı ise sadece bilgisiyar üzerindeki yazılımın bileceği iştir. Burada o noktaya değinmeyeceğiz. Ama alttaki ekler bölümünde bir örnek yazılım yer alacaktır.

Şekil-1 :Devre görünümü. Devre hakkında bir fikir verecektir

Sistemin kalbi olan IC1 (AT90S2313) entegresi gayet normal olarak bu sistemin kalbi. Bu entegreye bağlı olan C8,C9 ve XTL1 işlemci için gereken saat sinyallerini oluşturur.

NOT:Resimde görülen kartın kenarındaki 10 bacaklı konnektör kartları AVR işlemcileri programlamak üzere eklenmiştir. İşlemciyi karttan sökmeden programlamak için kullanılmak üzere (Programlama için)

Temelleri

Basitçe ADC üzerine eğilecek olursak. Genelde çeşitli yöntemler uygulayarak girişine uygulanan gerilim seviyesine uygun bir sayısal sinyal üretirler. Bu sayısal sinyaller değişik şekillerde sayısal devrelere aktarılır. Buradaki devre üzerinde i2c olarak bilinen bağlantı yöntemi ile bilgi işlemciye aktarılır. Temelde iki bağlantımız var. Bunlardan birisi saat sinyali, ikincisi ise veri sinyali için kullanılır. Buradaki ADC üzerinde ek olarak adc sadece istenilen zaman ölçüm yapması için birde çip seçme ucu mevcuttur.

Adc ile çalışırken kullanacağımız adc'nin bağlantısı için için üç ucu vardır.

Adc izin ucu. Bu bağlantı noktası lojik 0 konumuda indiğinden adc işlem için hazırdır. Adc üzerinden veri okunabilir.
Adc saat ucu. Bu uç veri ucundan veri alınabilmesi için referans darbelerinin uygulandığı uçtur.
Adc veri ucu. Bu uç okunan gerilim seviyesinin 8 bitlik veri olarak okunduğu uçtur.
Burada basitçe bilgisayar tarafından işlemciye adc üzerindeki gerilim seviyesini okuması için bir veri gelir. Gelen veri okuma için uygunsa işlemci adc üzerindeki veriyi okur ve bilgisayara gönderir. Bilgisayar gelen veriyi ne yapacağı artık bilgisayar üzerindeki programın ve adc üzerinde okunan gerilimin niteliğine bağlı olarak(akım, gerilim, sıcaklık, ışık, uzama, basınç, gibi) değerlendirilir. Burada dikkat edilmmesi gereken nokta acd'nin 8 bitlik olduğudur, dolayısı ile gerilim çözünürlüğü 256 sayısı kadardır. Yani en yüksek ölçme gerilimi 5V olduğuna göre (şu anki devre ona ayarlıdır) ölçülecek en küçük gerilim 5/256=0.19 gibi bir gerilim bulunur. Daha yüksek hassasiyetle ölçüm için 10 veya 12 bit bir adc seçimi daha iyi olacaktır.


Şema

Devre şeması aslında açık ve kendini anlatmaya yinede yeterli. IC1 Bilgisayar seri port ile işlemci arasında seviye çevirici olarak kullanılır. IC2 devrenin kalbini AT90S2313 oluşturuyor. IC4 zaten çok tanınan ve bilinen 7805 olarak 5 voltluk regülatördür. Fazla güç çekilmediği için soğutucuya ihtiyaç duyulmamıştır. IC3 analog sinyalleri dijitale çevirmek üzere kullanılmaktadır. 8-bit çeviricidir. Şu anki bağlantı şekli ile 5 Volt üzerinden ölçüm yapar.


Şekil-2:Seri ADC devresinin blok şeması



Şekil-3: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 teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. Tabii ki kristal topraklanmalıdır. Sistem 9V besleme kullanmakta. Bu nedenle 7805 üzerinde ek bir soğutucuya ihtiyaç duyulmamaktadır.
Tüm dirençler çeyrek vattı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)

Devre yapımında kaliteli konnektör ve malzeme kullanımı bir çok sorunu daha oluşmadan üstesinden gelmenize olanak tanıyacaktır.


Şekil-4:Devrenin yerleşim planı


Şekil-5:Devrenin baskı devresi şekli



Şekil-6:Devrenin baskı devresi ve yerleşimi birleşim. Not: Kartın kullanımı için şekildeki gibi bir potansiyometre veya trimpot eklenebilir. Tabii ki aslında gerilimi örneklenecek devreye veya algılayıcıya bağlanır.



Şekil-7:Kartın alttan görünümü (Kartın altı lehimleme kolaylığı ve korozyana karşı kaplanmış) Kart resimlerinde R1 ve R2'yi bulamayanlar için bu elemanlar kartın altında.


Devre Elemanları

10KR1,R2
27pFC8,C9
100nFC2,C7,C11,C12,C13
10µF/25VC1,C3,C4,C5,C10
1000µF/25VC6
B125C1500D1
Max232IC1
AT90S2313(Attiny2313)IC2
7805IC4
AC0831IC3
4Mhz kristalXTL1
DB9 konnektörP1
10P konnektör(ISP)ST1


Malzeme listesi. Burada soket ve 9V adaptör verilmemiştir. Kaliteli 20 bacaklı bir soket oluşabilecek problemlerin önüne geçecektir.
Not:Atmel At90s2313 yerine daha fazla özellik içeren Attiny2313 üretimine geçmiş.


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ı bağlantısı kullanışlı olacaktır.

Buraya kadar sadece donanım kısmı diyebileceğimiz kart bölümü ile ilgilendik. Ama bu projenin birde bilgisayar tarafı var. Yani kart kendi başına iş yapamaz. En azından seri bir port üzerinden bilgisayara bağlanması gerekir. Bu noktada bilgisayar üzerinde çalışacak program devreye giriyor.

Bilgisayar programı

Bu kartın çalışması için en azından bilgisayardan veya başka bir kaynaktan ADC okuması için bir komut gelmesi ve bu komutun karşılığında okunan ADC giriş değerinin kart tarafından bağlı olduğu sisteme gönderilmesi gerekir. (burada bilgisayar oluyor). Bu noktada devreye ADC seri programı giriyor. Bu program Borland Delphi 7 ile yazıldı.

Program üç ana bölümden oluşuyor:
  • Ana pencere-Temel adc işlemleri, okunan değerlerin gösterilmesi ve
    değerlendirilmesi.
  • Seçenekler-Programın çalışmasında gerekli ayarların yapıldığı bölüm.
  • Hakkında-Program hakkında basit düzeyde bilgi verir.


Ana Pencere


Ana pencerenin görünümü.

  1. Ölçüm sonuçları listesi
  2. Son ölçüm sonucunun grafik çubuğu olarak gösterimi.
  3. Son ölçüm sonucu değeri.
  4. ADC sürekli oku/okumayı kes butonu
  5. ADC oku butonu
  6. Ayarlar butonu

Seçenekler Penceresi


Seçenekler pencerenin görünümü.

  1. ADC okuma kartının takılı olduğu seri portu seç
  2. Okunan ADC sonucunun kaydedileceği dosya adı
  3. Dosya adı seçme butonu(bir diyalog penceresi açar)
  4. Kayıt dosyası oluştur; seçildiğinde adc ölçüm sonuçlarını bir dosyaya kaydeder.
  5. Okuma zamanı; ADC okumalarının zamanlamasını belirler.
  6. Tamam butonu; yapılan seçimlerin onaylanmasını ve uygulanmasını sağlar.


Kayıt


Okunan ADC değerinin dosyaya yazılmış örneği.


Yapılan ADC okumaları eğer seçenekler penceresindeki Kayıt Dosyası oluştur kontrol butonu seçilmişse, bilgisayarın sabit diskine kaydeder.

Bu seçenek işaretli ise program ilk açıldığında günün tarihi ve saati kaydeder. Ve her ölçüm sonucu saati ile birlikte kaydedilir. Kayıt metin biçiminde (txt) uzantılı dosyaya yapılır. Herhangi bir metin tabanlı program ile dosyalar okunabilir.

Ekler:
AT90S2313 hakkında ayrıntılı bilgi için

AVR ADC Seri köprü için dosyalar-birleşik

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

22 Kasım 2008 Cumartesi

AVR Seri LCD Çevirici


Devrenin Temeleri

Devremizi basitçe inceleyecek olursak
Besleme; devrenin çalışması için olmazsa olmazı..
RS232; bilgisayar ile işlemci haberleşmesi için seviye uygunlaştırıcı
İşlemci; bilgisayar ile LCD modül arasındaki köprü AT90S2313
LCD; bilgisayardan gelen bilgilerin görüntülendiği yer
Devre ilk açılışında işlemci LCD modülü sıfırlar ve veri yazmak için hazırlar. Bilgisayardan gelen veri durumuna göre bu ilk gönderildiğinde satır seçimi ve sonrakiler ekrana yazılaması gereken veridir. Ve son olarak satır sonu verisini alır ve işlemci bunlara uygun olarak LCD modülü kontrol eder. Seri port için söylenecek fazla bir şey yok. Bu bölüm sadece bilgisayar seri portu ile ve işlemcinin seri portu arasında bir lojik seviye çevirmesinden başka bir şey yapmaz. LCD modüller hakkında daha ayrıntılı bilgi için internet sayfaları ve LCD modül üretici sayfalara oldukça bilgi sunacaktır.

LCD ler

LCD temelde sıvı kristalleri üzerine kurulu yapıdır. Yani basitçe iki elektrot yüzeyi arasına bir sıvı doldurulur. Bu sıvıyı oluşturan bileşenler normalde düzensiz bir yapıda yerleşir. Ama bu elektrotlar üzerine bir gerilim uygulandığında bu sıvıyı oluşturan bileşenleri belli bir düzende yerleşime zorlar. Bu tek başına görüntü oluşumuna yeterli değildir. Önemli bir yapı olarak özel ışık filtreleri bu noktada devreye girer. Işığı kutuplama olarak tanımlanan işlemi gerçekleştiren bu elemanlar ışığın belli bir düzende geçmesini sağlar. Eğer ele edebilirseniz bu iki elemanın belirli açılarda birbiri üzerine yerleştirildiği zaman ışığı geçirdiği başka açılarda geçermediğini görebilirsiniz. Hatta bunu LCD kullanan hesap makinelerinde de görebilirsiniz.

Aslında bu elemanlar oldukça kullanışlı ve düşük güç harcayan yapıları vardır. İmalatı göreceli olarak daha basit ve hızlıdır. Şu anda günümüzdü kol saatleri, hesap makineleri, masa saatleri gibi bir çok kullanım alanı bulanbilen bu ürün düşük güç harcaması sayesinde küçücük bir pil sayesinden uzunca zaman çalışabilmektedir.

Bu noktaya kadar her şey güzelde bu elemanların sürülmesi yani çalıştırılabilmesi biraz karmaşık yöntemleri gerektirir. Bu da gelişen elektronik sayesinde kendiliğinden ortadan kalktı. Hatta artık LCD devrelerini kendiniz sürmeniz bile gerekmeyen modüller mevcut. Burada bu modüllerin bir mikrokontroller (AT90S2313)üzerinden kontrol ve bir seri port ile birlikte bilgisayardan veri aktarılması, yani bilgisayardan LCD üzerine yazı yazıdıracak bir devre oluşturacağız. Kullanacağımız LCD karakter tipi bir yapıdır. Yani sadece karakter göstermek üzere tasarlanmış ve yapılmış. Karakterler önceden belirlenmiş ve LCD rom'una kaydedilmiş. Bizim yapacağımız sadece yazdırmak istediğimiz karakteri ve yerini berlirleyip, bununla ilgili bilgiyi LCD modüle göndermektir.


Şekil-1 :2x20 LCD modülün önden ve arkadan görünümü.


Şekil-2 :4x20 LCD modülün önden ve arkadan görünümü.


LCD modüllerde değişik haberleşme yöntemleri mevcuttur. Burada paralel bağlantıyı kullanacağız. Yani 8 bit veri hattı, 1 seçme hattı, 1 yaz/oku hattı ve 1 yazıcı seçme hattını kullanacağız. Buna ek olarak kullandığımız LCD modülde 1 tanede kontras ayarlama hattı mevcuttur. Bu modüller üzerinde arka aydınlatma için besleme hatları var ama kullanmadık. Çünkü çok fazla akım çekiyor. Daha fazla ayrıntı için internet üzerinde ayrıntılı bilgi bulabilirsiniz.


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

Sistemin kalbi olan IC1 (AT90S2313) entegresi tüm saat seri haberleşme ve LCD kontrol işlemlerini yürütür. Bu entegreye bağlı olan C2,C3 ve XTL1 işlemci için gereken saat sinyallerini oluşturur.

Şema

Devre şeması aslında açık ve kendini anlatmaya yinede yeterli. U2 devrenin kalbini AT90S2313 oluşturuyor. U1 bilgisayar ve işlemci arasındaki RS232 arabirimdir. R1 LCD ekranın kontrast ayarı içindir. İstenilen kontrast için ayarlanabilir. U3 zaten çok tanınan ve bilinen 7805 olarak 5 voltluk regülatördür. Fazla güç çekilmediği için soğutucuya ihtiyaç duyulmamıştır. Aslında seri port bölümünü bir yana bırakacak olursak işlemci ve LCD ekran birlikte pille beslenebilecek kadar küçük akım çekmekte.


Seri LCD dönüştürücü blok şeması



Şekil-4: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 teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. 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.
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) Devre üzerinde P3 konnektörü bu devre üzerine monte edilmesi gerekmez. Çünkü P3 aynı devre kartı AVR işlemciler ile kullanıldığında AVR programlama girişi olarak kullanılmak üzere devreye eklendi.


Şekil-6:Devrenin yerleşim planı



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



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

Devre Elemanları

10K TrimpotR1
10µF/25VC1,C3,C4,C5,C10,C12
27pFC8,C9
100nFC2,C7,C11,C13
1000µF/25VC6
B125C1500D1
Max232U1
AT90S2313 (Attiny2313)U2
7805U3
4Mhz kristalXTL1
DB9 dişi konnektörP1
14P konnektörP2
10P konnektörP3
adaptör priziDC1


Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 20 bacaklı bir soket oluşabilecek problemlerin önüne geçecektir.
Not: Atmel firması AT90S2313 yerine artık Attiny2313 üretmektedir.


Devrenin toplanmış ve çalışmaya hazır.



Devrenin yandan görünümü.



Devre ilk çalıştığında bilgisayara bağlı olmasa bile LCD ekranda görülen metin(test sayfası diyelim).



(4x20)Devrenin çalıştığını göstermek için oluşturulmuş bir örnek:

Peki 2x20 veya 4x20'den başka LCD ekranları kullanırsak ne olur. İşte 2x16 olarak bir örnek:


2x16 LCD ekran



Bunu yazmasaydım içim rahat etmeyecekti.


Bu LCD ekran 2x16 olmasına doğruda, karekter rom olarak diğer gösterilen örneklerden biraz farklı. Nadir olarak karakter romu kiril alfabesini içerecek şekilde düzenlenmiş. Bu sayede bu alfabeyi kullanan dil yapısında ek bir işleme gerek duyulmadan kullanılabiliyor. Darısı Türkçe'nin başına... Çünkü burada yer alan Türkçe karakterler için LCD'nin RAM bölümüne bu karakterler ile ilgili verileri yüklemek gerekti. Yani her açılışta bu karakterler RAM bölümüne yüklenmesi gerekiyor.

Buraya kadar anlatılanlar devrenin donanım bölümünü içermekte. Ama devrenin bir de yazılım bölümü var, daha doğrusu bir bilgisayardaki programı. O olmazsa olmaz.

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şiyapı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. LCD ekran seri port bölümünün bağlı olduğu portu seçilir. (bağladığınız porta dikkat.)
  3. Metnin ekrana gönderim şeklini belirler. Satır satır kaydırarak veya Satırları grup olarak.
  4. LCD ekrana gönderilecek bilgi kaynağı. Girdi veya metin
  5. Metin halinde LCD ekrana gönderildiğinde LCD ekran bilgisinin yenilenme süresi
  6. Seçenekleri onaylar ve pencereyi kapatır

Ekler:



AVR Seri LCD Çevirici için dosyalar-birleşik

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

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

Translate

Sayfalar

Etiketler

İzleyiciler