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.

24 Nisan 2010 Cumartesi

Atmega8 ve LM35 ile LED ekranlı Termometre


Giriş

Atmega8 işlemcisinin ADC girişini kullanarak ve sonucu 4 haneli 7 parçalı LED ekran üzerinde gösterecek şekilde bir voltmetre oluşturulmuştu("Atmega8 ile LED ekranlı Voltmetre" projesi). Şimdi ölçtüğü sıcaklığı gerilim değerine dönüştüren LM35 entegresi oluşturulmuş olan voltmetre devresine ekleyerek bir termometre projesi sunmaya çalışacağız.
Termometre

Fizikte ısınan her cisim genleşir, bu bilinen bir gerçektir (su hariç,çünkü su +4 derecenin altında ve üstünde genleşir). Termometreler de bu prensip üzerinden çalışır. Çoğunlukla civa ve bazı alkol türleri bir cam tüp içinde kapatılarak genleşmesi gözlenebilir hale gelir (en azından dünya üzerindeki çoğu bölgenin sıcaklığında sıvı halde kalabilen malzemeler) . Sıcaklığa göre genleşmesi cam tüp üzerinde ölçeklenerek bildiğimiz termometreler oluşturulur. Aynı yöntem metalin genleşmesi yöntemi kullanılarak (özellikle birbirine kaynatılmış genleşme değerleri farklı) mekanik termometrelerin yapımı ve kullanımıda vardır

Sıcaklık değerini (aslında ısı değeri oluyor) çeşitli elektronik ölçü araçları ile termo elektrik çift, ptc, ntc, transistör, diyot (ısıl sürüklenme) ve sonunda doğrudan bir sayısal çıkışı olan sıcaklık ölçü algılayıcıları ile okunması gerçekleştirilmektedir. İşin aslına bakılırsa, tüm elektronik araçlar ısıl değişimlerine karşı hassastır. Sadece bu ısıl değişimlerini karşılayacak şekilde koruma karşılayıcılar eklenek ısıl duyarlılıkları azaltılmaya çalışılır.

Yarı iletken malzeme içinde akımı taşıyan taşıyıcılar var (n ve p maddenin cinsine göre adı değişen). Isı ile bu taşıyıcıların sayısı arasında bir ilişki var. Bu ilişki kullanılarak ısı-akım arasında bir bağlantı oluşturulur. Ve sıcaklık başka bir ölçülebilir (gerilim veya akım) değer arasında bağlantı sağlanmış olur. İşte LM35 entegresi sıcaklığa göre çıkış gerilimini oranlayan yapıyı oluşturur.

Artık yapılması gereken LM35'in çıkışındaki gerilimi değerlendirmek. Bu konuda bir voltmetrenin işidir. sıcaklık başına 10mV'luk bir değişim olduğunu biliyoruz. Bu değişime göre ölçeklenmiş bir voltmetre sonuçta sıcaklık okumasını verecektir.

Şekil-1 LM35 ve 7106 ile LCD göstergeli 1993 yılına ait bir termometreyi gösteriyor. Üzerindeki ayarlar LM35 ölçümü ve gerilim seviyelerini ayarlamak için(işlemsel kuvvetlendiriciler ile).

Şekil-1:7106 entegresinin kullanımı ile yapılmış termometre LM35 ile yapıldığı için sıcaklık değeri gerilime dönüştürülür ve 7106 entegreside bu değeri okur.

"Atmega8 ve LM35 ile LED ekranlı Termometre" projesindeki voltmetre bölümü için "Atmega8 ile LED ekranlı Voltmetre" projesi referanstır

Not:LM35 veri kağıtlarında 0 derece altındaki sıcaklıkları ölçebiliyor. Fakat çıkış geriliminin negatif gerilim ihtiyacı yüzünden çıkış negatif gerilime geçeceğinden (işlemcinin 0V ile şu hali ile 2.5V aralığında ölçüm yaptığından) ve en önemlisi sistemi minimum tutma amacıyla (özellikle işlemsel kuvvetlendirici eklenmek istenmediğinden) 0 derece altı sıcaklıkların ölçümü ile ilgili çalışmalar projeye dahil edilmemiştir.)
Devre

Devre incelendiğinde saat üretici olarak kristal kullanılmadığı görülebilir. Bu projeye göre ciddi bir zamanlama durumu olmadığı için iç saat üretecinin kullanılması uygun görüldü.

Devreyi sadece besleme uygulayıp bağlantı uçlarını ölçülecek devrenin bağlantı noktasına bağlamak yeterli. Ölçülen noktadan gerilimi ölçer ve bunu LED ekran üzerinde gösterir. Devre uygun bir kutu ile bilgisayarın iç sıcaklığını ölçmek için ve bir oda termometresi olarak kullanılabilir.

Şekil-2:Oda sıcaklığında gösterilen değer.

Not: Bu projedeki termometrenin 0.1 derecelik çözünürlüğe sahip değil. Çünkü işlemcinin ADC adımları buna yeterli gelmiyor.(en azından buradaki kullanım şekline göre).
Şema

İşlemci ile işlem yaptığımıza sistemin kalbini IC1 Atmega8 oluşturuyor. D2, D3, D4, D5 ortak anotlu gösterge LED'leri oluşturuyor. Gösterge ile işlemci arasındaki seri bağlı R5, R6, R7, R8, R9, R10, R11 ve R12 LED göstergelerin akım sınırlama dirençleridir. LED ekranların ortak uçlarını süren Q1, Q2, Q3, Q3 transistörleri, bazlarına bağlı R1, R2, R3 ve R4 dirençleri üzerinden işlemciye bağlanır. Böylelikle gösterge bölümü bitirilmiş olur.

IC3 için söylenebilecek bir kablo ile ek olarak karta bağlandığıdır. Uygun bacakları uygun noktalara bağlantığından emin olun.

D1 köprü diyodu üzerinden bağlı olan IC2 7805 gerilim regülatörü devre beslemesi için 5V gerilimini üretir.

ISP konnektörü işlemcinin programlanması için gereken bağlantı elemanını oluşturur.

Geriye kalan kondansatörler filtre amaçlı elemanları oluşturur.

Şekil-3:Blok şeması


Şekil-4:Devrenin şeması

Devrenin Çalışması

Devrenin besleme uçları (P1) 9V uygulandığı zaman sistem çalışmaya başlar. Belirli aralıklarla LM35 ucundaki gerilim ATmega8 işlemcisi tarafından okunur, yorumlanır ve LED ekran üzerinde gösterilir.

Şekil-5:Termometrenin üstten görünümü.


Şekil-6:Termometrenin alttan görünümü. (Dirençlerin nerede olduğunu merak edenler için)

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

İşlemciyi programlarken sigorta ayarlarında iç osilötürün atandığına emin olun(1MHz). Yeni, daha önce kullanılmamış bir işlemci ise sorun yoktur, çünkü bu şekilde ayarlı gelirler. Ama daha önce kristal kullanan bir devrede kullanılmışsa, işlemcinin sigorta ayarlarını üzerinde kristal bulunan bir devrede yapmak gerekir.

Şekil-7:Devrenin baskı planı


Şekil-8:Devrenin yerleşim şekli


Şekil-9:Devrenin baskı devre planı ve yerleşim planı birlikte (Kullanılmayan elemanlar soluk renkte gösterilmiştir)


Şekil-10:LM35'ten gelen kabloların kart üzerindeki bağlantı noktaları


Şekil-11:LM35'in bacak bağlantıları(Ömrünü tamamlamış mürekkep püskürtmeli bir yazıcının ana kartından)

Not:Baski devre üzerinde soluk renkte gösterilen elemanlar malzeme listesine dahil edilmemiştir.
Devre Elemanları

220RR5,R6,R7,R8,R9,R10,R11,R12
1KR1,R2,R3,R4
100nFC2,C3,C4
10µFC1
B125C1500 veya benzeriD1
LM35IC3
FYS-3611BS (LED ekran)D2,D3,D4,D5
7805IC2
Atmega8IC1
6 Header (ISP6)ISP
2'li KlemensP1


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

Şekil-12:"ATMEGA8 ile DS1820 Algılayıcı ve LCD Göstergeli Termometre" projesindeki devre ile bu projedeki devrenin ölçüm sonuçları. DS1820'nin doğrudan dijital çıkış verdiğini ve LM35'in analog çıkışının işlemci üzerindeki ADC ile dijitale çevrildiğini ve aralarındaki ADC çözünürlüğünü göz önüne almak gerekir.



Ekler:

ATMEGA8 hakkında bilgi

Atmega8 ve LM35 ile LED ekranlı Termometre için dosyalar-birleşik.

FYS-3611BS (LED ekran) için eleman yüzü tarafından bacak bağlantıları


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

21 Nisan 2010 Çarşamba

Atmega8 ile LED ekranlı Voltmetre


Giriş

Elektroniğin en vazgeçilmez öğelerinden biri de voltmetredir. Birçok yol ve yöntemle gerçekleştirilebilen voltmetre bu projede bir Atmega8 işlemcisinin ADC girişini kullanarak ve sonucu 4 haneli 7 parçalı LED ekran üzerinde gösterilecek bir proje sunmaya çalışacağız.

Voltmetre

Voltmetre basit olarak bir referans noktasına göre iki nokta arasındaki elektriksel olarak potansiyel farkı ölçen araçlardır. Kullanım yerine göre doğru gerilim, alternatif gerilim ve daha özelleştirilerek değişken işaretlerin ölçümü gibi türleri mevcuttur.

Şekil-1:Voltmetre ve sistem


Ölçüm sistemlerinde ideal ölçüm araçlarının ölçüm yapılan sisteme etkilememesi gerekir. Bu durumda ideal bir voltmetrenin iç direncinin sonsuz olması beklenir. Ama ne yazık ki fiziksel olarak bunun gerçekleştirilmesi mümkün değildir. Sonuçta bu ölçülen sisteme yaptığı etki ölçüm sisteminin bir ölçme hatası olarak ölçüm sistemlerine eklenir.

Ayrıca ölçme araçlarının üzerindeki elemanların toleransı, sıcaklık, bağlantı elemanlarının direnci gibi parametreler ölçme sistemine ölçme hatası olarak yansır. Hatta sayısal ölçüm sistemlerinde son dijitin okuma adımı, analog dijital çeviricinin hataları bile ölçüm hatası olarak yansır.

Neyse ki bu kadar aman aman ölçüm sistemi oluşturmayacağımıza göre bu gibi hataları baştan kabulleniyoruz.

Şekil-2:7106 entegresinin yaygın kullanıldığı multimetre

Elektronikle uğraşanların yaptığı ilk voltmetreler bilinen 7107(LED) ve 7106(LCD) tüm devreleri kullanılır. Kullanımı kolay, birkaç ek devre elemanı ile basitçe gerçekleştirilen devrelerdir. (sadece gerilim bölücü dirençler ile giriş gerilimi ölçülebilir sınırlar içine çekilir)

Şekil-2:7106 entegresinin kullanımı ile yapılmış termometre LM35 ile yapıldığı için sıcaklık değeri gerilime dönüştürülür ve 7106 entegreside bu değeri okur.

Atmega8 dahil birçok işlemci üzerinde 10 bitlik Analog dijital çevirici var. Ve işlemcinin üzerine yüklenen programlar ile kolayca erişilip kullanılabiliyor. En azından burada kullanılan işlemci 5V besleme gerilimi ile besleniyor. Bu da ADC'nin ucunun doğrudan 5V ölçebileceği anlamını taşıyor. Yani 0V ile +5V aralığı 10 bitlik çözünürlükte okunabileceği anlamını taşıyor.

Peki daha yüksek bir gerilim okunmak istenirse? Çözümü basit gerilimi bölmek. Basitçe seri bağlı iki direncin birbirine bağlı olmayan uçlarına bir gerilim uygulandığı zaman bir direncin üzerinden daha düşük değere sahip bir gerilim alınabilir.

Şekil-3:Gerilim bölücü devresi (koruyucu zener dahil)

Bu noktada aynı şekilde seri bağlantılı iki 10K direncin orta noktasında gerilim yarıya düşmüş bir şekilde ulaşılabilir. Bu ADC'ye uygulandığında ölçülen gerilim dirençlerin birbirine bağlı olmayan gerilimin yarısı olur ki böylece ölçüm aralığı 10K direnç değerine ve ADC ölçüm maksimum değeri 5V olduğuna göre 10V olacaktır. Yapılması gereken alınan ölçüm sonucunu giriş değerlerine göre yorumlamaktır. (Eh, geri kalan program işi)

LED Ekran

7 parçalı LED ekranlar içine yerleştirilmiş LEDlerin bir aynı uçları birleştirilerek ortak çıkış olarak sunulurken diğer uçları ayrı olarak çıkış olarak sunulurlar. LED'lerin ortak uçlarına göre 7 parçalı LED ekranlar adlandırılmaktadır. LED'lerin ortak uçları Anot ise 7 parçalı LED ekran ortak Anot olarak adlandırılmakta. Ortak bağlı uçlar Katot ise 7 parçalı LED ekran ortak Katot olarak adlandırılmaktadır.

Üretildiği LED rengine göre ve boyutlarına göre de sınıflandırılmaktadır. Bununla birlikte LED ekranlar dışarıya çıkartılan bacakların yerleri de değiştiğine belirtmekte fayda var.

Atmega8'in doğrudan LED sürebildiği (seri direnç ile) biliniyor. Dolayıcı ile 7 parçalı LED ekranları da sürebilmektedir. Ama bacak sayısı yeterli olmadığı için işlemci 4 dijitlik bir ekranı sürmek gerektiğinde Atmega8 yetersiz kalacağı açık.

Şekil-4:Ekran sürme sistemi

Çözümü basit gösterilen bilgiyi zamana göre değiştirmek. Yani basitçe her bir ekran haneyi kısa sürelerde göstermek Bu işlem sürekli ve birbirine takip edecek şekilde gerçekleştirildiğinde 4 hane aynı anda sürülüyormuş (gösteriliyormuş) izlenimi yaratır. (Çoğullama)

Projede LED ekranların parça bacakları birleştirilerek direnç üzerinden işlemciye bağlanırken, ortak uçları her biri bir transistör üzerinden işlemci kontrolu sağlanır.(Ortak uçtaki akım işlemci için biraz yüksektir. Ayrıca işlemcinin çıkış sürücüleri içeriye akım akıtmaya daha uygundur.)

Devre

Devre incelendiğinde saat üretici olarak kristal kullanılmadığı görülebilir. Bu projeye göre ciddi bir zamanlama durumu olmadığı için iç saat üretecinin kullanılması uygun görüldü.

Devreyi sadece besleme uygulayıp bağlantı uçlarını ölçülecek devrenin bağlantı noktasına bağlamak yeterli. Ölçülen noktadan gerilimi ölçer ve bunu LED ekran üzerinde gösterir.

Şekil-5:Ölçme uçları boşta iken gösterilen değer.

Şema

İşlemci ile işlem yaptığımıza sistemin kalbini IC1 Atmega8 oluşturuyor. D2, D3, D4, D5 ortak anotlu gösterge LED'leri oluşturuyor. Gösterge ile işlemci arasındaki seri bağlı R5, R6, R7, R8, R9, R10, R11 ve R12 LED göstergelerin akım sınırlama dirençleridir. LED ekranların ortak uçlarını süren Q1, Q2, Q3, Q3 transistörleri, bazlarına bağlı R1, R2, R3 ve R4 dirençleri üzerinden işlemciye bağlanır. Böylelikle gösterge bölümü bitirilmiş olur.

R13 ve R14 dirençleri üzerinden ölçüm için gerilimi bölücü dirençlerini oluşturuyor. R13 ve R14 dirençlerinin %1 toleransa sahip elemanlar olması ölçüm sisteminin doğruluğu açısından önemlidir. R13 uçlarına bağlı D6 6,2V zener diyodu (5.6V veya 5.1V daha iyi olabilir) ölçüm ucunun gerilim işlemci tarafından gerilimi sınırlaması yaparak işlemci girişini korur.

D1 köprü diyodu üzerinden bağlı olan IC2 7805 gerilim regülatörü devre beslemesi için 5V gerilimini üretir.

ISP konnektörü işlemcinin programlanması için gereken bağlantı elemanını oluşturur.

Geriye kalan kondansatörler filtre amaçlı elemanları oluşturur.

Şekil-6:Blok şeması


Şekil-7:Devrenin şeması


Devrenin Çalışması

Devrenin P1 ucuna 7-12V aralığında bir besleme uygulandığında sistem çalışmaya başlar. Hemen ölçüm işlemine başlar ve P2 ucuna bir ölçme gerilimi uygulanmamışsa doğal olarak 0V gösterir. P2 ucunu ölçülecek bir sisteme bağlandığında işlemci bunu ölçüm değerini ekranda gösterecektir.

Devre konusunda ölçü uçlarını ters bağlamamaya özen gösterin. Çünkü işlemcideki analog dijital çevirici negatif gerilimlerde işlem yapmamakta. Sadece ve sadece 0V seviyesine göre pozitif gerilimleri çevirebildiğini göz önünde bulundurun.

Şekil-8:Voltmetrenin üstten görünümü.


Şekil-9:Voltmetrenin alttan görünümü. (Dirençlerin nerede olduğunu merak edenler için)

Not:Devrenin ölçtüğü sistemle etkileşime girdiğini belirtmekte fayda var. Özellikle bitmiş durumdaki pilleri oldukça etkilemekte.

Devre Yapımı

Aslında devre yüzey montaj olacak diye yola çıkıldı ama evdeki hesap çarşıya uymayınca haliyle iş malzeme kutularına kaldı ve bu şekle dönüştü. Ama yine de biraz olsun yüzey montajın ucundan bulaşsın diye dirençler (R13 ve R14 hariç) ve D6 kartın altında monte edildi.

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

İşlemciyi programlarken sigorta ayarlarında iç osilötürün atandığına emin olun(1MHz). Yeni, daha önce kullanılmamış bir işlemci ise sorun yoktur, çkü bu şekilde ayarlı gelirler. Ama daha önce kristal kullanan bir devrede kullanılmışsa, işlemcinin sigorta ayarlarını üzerinde kristal bulunan bir devrede yapmak gerekir.

Şekil-10:Devrenin baskı planı


Şekil-11:Devrenin yerleşim planı


Şekil-12:Devrenin baskı devre planı ve yerleşim planı birlikte (Kullanılmayan elemanlar soluk renkte gösterilmiştir)


Not:Baskı devre üzerinde soluk renkte gösterilen elemanlar malzeme listesine dahil edilmemiştir.

Devre Elemanları

220RR5,R6,R7,R8,R9,R10,R11,R12
1KR1,R2,R3,R4
10K %1R13,R14
100nFC2,C3,C4
10µFC1
B125C1500 veya benzeriD1
6,2V (veya 5,1V) zenerD6
FYS-3611BS (LED ekran)D2,D3,D4,D5
7805IC2
Atmega8IC1
6 Header (ISP6)ISP
2'li KlemensP1,P2

Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 28 bacaklı soketler oluşabilecek problemlerin önüne geçecektir.
Şekil-13:Bitmiş durumda 9V'luk pil


Şekil-14:1.5V'luk pil


Şekil-15:Kullanılmış 1.5V'luk pil


Şekil-16:9V'luk adaptör ölçümü


Şekil-17:SD kart okuyucusu olarak tasarlanmış devrenin besleme gerilimi ölçümü



Ekler:

ATMEGA8 hakkında bilgi

Atmega8 ile LED ekranlı Voltmetre için dosyalar-birleşik.

FYS-3611BS (LED ekran) için eleman yüzü tarafından bacak bağlantıları

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

17 Nisan 2010 Cumartesi

EDMCPR6YOY LCD Ekran Sürülmesi


Giriş

Bir zamanların en çok kullanılan lazer yazıcılarından ömrünü tamamlamış olan HP LJ 4p modelinin sökülmesinden elde edilmiş olan LCD ekranı sürülmesi üzerinde çalışacağız. (Belirtilen her ürün kendi üreticisinin tescilli markasıdır)
Not:Sökülmesi zevkli ve bir o kadar kolay olan bir makinedir.
LCD Modül

LCD yazıcının ön panelinde buton kartı üzerine monte edilmiş halde bulunmaktadır. Çip ek bir kart üzerine takılmış olarak bulunmakta: MB624496. İnternet üzerindeki araştırma sonucunda bu entegrenin Fujitsu Microelectronics firmasına ürünü olduğu anlaşıldı (en azından tahmini). İşlev olarak CMOS kapı dizisi olarak tanımlanmış. Yani bacakları istenildiği gibi fonksiyon atanabiliyor. Dolayısı ile bu entegre hakkında fazla bilgi yok ama en azından tek başına buton, LCD ve LED kontrolu yaptığı devreden anlaşılıyor. Bağlantıları incelendiğinde öncelikle VCC ve GND bağlantıları devre üzerindeki elektrolitik kondansatörden bulundu. Bu sayede devreye enerji verilerek en azından sistemin çalışıp çalışmadığı bulunmuş oldu.(Çünkü LCD LED aydınlatmalı-5V uygulandığında arka plan aydınlatma çalıştı.)

Şekil-1 :EDMCPR6YOY LCD modülünün bağlı olduğu buton kartının önden görünümü.LCD bağlantı noktası 10 tane sıralı olarak kartın üstünde görülmektedir.


Şekil-2 :EDMCPR6YOY LCD modülünün bağlı olduğu buton kartının arkadan görünümü.


Şekil-3 :Buton kartının çipi.

Yazıcının çok eski olması nedeniyle ve LCD'nin ayrı bir kart üzerinde olması ile en azından piyasada satılan LCD modüllerden olduğu varsayımından gidilerek 4 bitlik LCD bağlantısı olduğu düşünülerek sistem oluşturuldu ve sistem çalıştı.

Şekil-4 :EDMCPR6YOY LCD modülünün önden görünümü.

Kart üzerinde PC-PR60J şeklinde bir yazı var. LCD 1x16 ekran şeklinde olduğu görülmektedir. LCD ekran RAM 0,1,2,3,4,5,6,7 şeklide devam ederken ikinci satır için kullanılan RAM bölgesine geçerek devam ediyor. Ekranın arkasındaki karta bakıldığında değişik bir yapı olduğu görülür. Bir entegre öncelikle bir karta monte edilmiş. Ve bu küçük kartta ana LCD modül kartına monte edilmiş. Bu küçük kart üzerinde SA-22950A (internetten) gibi bir kod var.

Şekil-5 :EDMCPR6YOY LCD modülünün arkadan görünümü.

LCD kart üzerinde EDMCPR5YOY yazılı bir etiket yapıştırılmış. Bağlantıları ekranın sağ alt tarafında yer alıyor. LCD için kart üzerinde kontrast ayar bağlantısı yapılmadan da çalışabiliyor. Ne de olsa yazıcı böyle bir ayar konulması biraz sorunlara sebep olabilir.

Şekil-6 :EDMCPR6YOY LCD modülünün çipinin yakından görünümü.

Not: internet üzerinde bu LCD'nin ve işlemcisi hakkında bilgi bulunamamıştır. Bazı forumlarda LCD hakkında bazı fikirleri var ise de laftan ibaret.

Şekil-7 :EDMCPR6YOY LCD modülünün bacak bağlantısı (en azından RW haricindekiler kesin).

LCD bağlı olduğu karttan söküldü ve ucuna 14p kablosu takılın bir şerit kablo ile bağlantısı yapıldı. Bu bağlantıda Vo, D0, D1, D2, D3 bağlantı kabloları boş bırakıldı. Geriye kalan Vcc, GND, RS, RW, E, D4, D5, D6, D7 bağlantılarını sağlayan kablo bağlantıları sağlandı. Sistem üzerinde LCD arka plan aydınlatması için ayrı bir bağlantı olmayıp doğrudan VCC-GND bağlantısı üzerinden sağlanmaktadır.

Bu LCD'nin kullanıldığı zaman dilimi düşünülecek olursa, birçok alet için ne yazık ki Türkçe desteği olmayan bir zaman dilimiydi. Asıl anlatılmak istenen konu, bu aletin karakter ROM'u üzerinde sadece Latin karakterleri var, ve bu karakterler karakter kodu girilerek erişilebiliyor. Karakter ROM'unda Ç,Ö,Ü,ç,ö,ü gibi karakterler var. (Aslında bu karakterleri kullanan başka diller olduğu için var). LCD incelemesi ile bu karakter kullanılabilecek şekilde LCD programına eklendi.

Ayrıca LCD sürücü çipi üzerinde Karakter RAM bölgesi ya yok, yada farklı bir çalışma şekli var. Bu nedenle programdan bu bölüm çıkartıldı.

RW kullanımı var olduğu üzerine hareketle 4-bit programlama üzerine hareket edildi. Ama program çalıştığı halde bu ekran RW kullanımı ile erişimi mümkün olmadı. (en azından başka LCD modüller üzerinde çalıştı)

Not: Belki bir başkası bu konuda başarılı olabilir veya olmuştur. (Farklı bir LCD sürücü çipi kullanılmış olabilir).
4 bit LCD bağlantısı

Bu tür bağlantılar özellikle işlemcinin bacak sayısı sınırlı olan projeler için oldukça kullanışlıdır. Aslında LCD ile işlemci arasında yine 8 bitlik iletişim vardır. Ama işlemci ve ekran arasında veri iletişimi 4-bitlik gruplar halinde yapılır. Yani veri 2 tane 4-bitlik veri grubu olarak gönderilir. 0x38 şeklinde bir verimiz olduğunu varsayarsak, önce 0x03 verisi gönderilir sonra 0x08 verisi gönderilerek veri aktarımı tamamlanır. (Ama bu projedeki işlemcinin üst 4-bitlik grubu kullanıldığından veri 0x30 ve 0x80 şeklinde gönderildiğini belirtmekte fayda var.)

Bu bağlantı şekli LCD ekranın ilk başlatma adımlarında gönderiler bir komut ile sağlanır.

LCD başlangıç kodlarının ilk 4 komut zaten alt 4-bitini gönderilmesi gerekmiyor. Çünkü alt 4 bit ne olursa olsun şeklinde bir tanımı var. Bu ilk 4 komuttan sonraki veri ve komutlar 8 bit (4bit+4bit) olarak gönderilmesi gerekiyor.

Verilerin 4 bit iletişimini saymazsak geri kalan işlemler aynı 8-bit ile yapıldığı gibi yapılır. Aynen başlama komutları, LCD düzenleme komutları, gereken gecikmeler, hane seçimi aynen 8-bitlik bağlantı şeklinde olduğu gibi yerine getirilir.

Aslında tahmini olarak RW bağlantısı olduğu varsayımı üzerinden 4-bitlik iletişim üzerinde gidilmeye çalışıldı, ama başarılı olamayınca "NEA02017 LCD Ekran Sürülmesi" projesindeki LCD mesguliyetine zaman tanıyarak geçiştirme yöntemi ile başarılı şekilde kullanıldı.

Daha fazla bilgi için LCD'lerin veri kağıtlarının ve diğer sitelerden örneklere ulaşabilirsiniz.
Devre

"NEA02017 LCD Ekran Sürülmesi" projesinde kullanılan donanım aynen bu proje içinde kullanılmıştır. Aslında bu projedeki kartlar iyi bir LCD modül sürücüsü oldu.

Şekil-8 :EDMCPR6YOY LCD modülüne kablo bağlantısı yapılmış halde. İşlemci kartı bacak bağlantılarına uygundur. LCD modül tarafında kesilmiş bağlantılar görülebilir.


Şekil-9 :Attiny2313 ile işlemci kartı.


Şekil-10 :RS232 seri kartı.

Şema

Sistemin kalbini IC1 Attiny2313 işlemcisi oluşturuyor. Bu işlemci için gereken saat sinyallerini XT1,C3,C4 oluşturuyor. D2,C7,C8 ve IC2 sistem için gereken besleme gerilimini (5V) üretir. R2,D1(LED) işlemcinin durumunu gösteren monitör LED'i olarak çalışır. R1 (C1) direnci kontrast ayarı için verilmiş olsada bu LCD modül üzerinde kullanılmamaktadır.

C10,C11,C12,C13 ve IC3 bilgisayar ile işlemci kartı arasında RS232 iletişimini düzenliyor. P4 DB9 seri port konnektörüdür. D3,R3 Aslında bu kart için kullanılsada, projede devrenin çalıştığını gösteren besleme monitörüdür.

Geri kalan kondansatörler zaten filtre için kullanılıyor. P1 LCD için bağlantı konnektörü, ISP işlemci için programlama konnektörü, P2 ve P2_2 işlemci kartı ve RS232 kartı arasındaki bağlantı için konnektördür.

Şekil-11 :LCD dönüştürücü blok şeması


Şekil-12 :Devrenin şeması

Devre Yapımı

Devre yapımı hakkında fazla bir şöylemeye gerek yok. Devre herhangi bir şekilde kurulabilir. Sadece farklı frekanslarda kristal kullanılırsa işlemci programının değiştirilmesi gerekir. En azından RS232 ve LCD ekran başlangıç işlemlerindeki zamanlayıcıların yeniden ayarlanması gerekir.

Kendi beslemesi olan ve kendine güvenen besleme devresi üzerinde değişiklik yapabilir. LED'ler ve bunlara bağlı dirençler(LED ve direnç birlikte)istenildiğinde takılmayabilir. 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. İsteyen RS232 kartı ile işlemci kartını birleştirerek P2 ve P2_2 konnektör bağlantısını iptal edebilir.

LCD modül için kullanılan bir alet üzerinden söküleceğinden, bu işlem sırasında dikkatli olmakta fayda var. Ayrıca kablo bağlantıları yapılırken uygun bacağa bağlandığına ve bağlantılar arasında kısa devre yapılmadığına emin olmakta fayda var

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


Şekil-14:Devrenin yerleşim planı


Şekil-15:Kartın eleman ve yollarla birlikte yerleşim planı (Şemadaki D3 baskı devrede LED3 olarak gösterilmiştir)

Devre Elemanları

10K TrimpotR1
1KR2,R3
10µF/25VC1,C5,C7,C10,C11,C12,C13,C14
27pFC3,C4
100nFC2,C6,C8,C9
B125C1500 veya benzeriD2
Max232IC3
ATtiny2313IC1
7805IC2
3mm LEDD1,D3
3,6864Mhz kristalXT1
DB9 dişi konnektörP4
14P konnektörP1
10P konnektörP2,P2_2
KlemensP3
6'li headerisp
EDMCPR6YOY (1x16)LCD modül
10'lu kablo-

Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 20 ve 16 bacaklı soket oluşabilecek problemlerin önüne geçecektir.
Şekil-16:işlemci kartı ile RS232 kartı arasındaki bağlantıyı sağlayan kablo (konnektörleri ile birlikte)

Çalışması

İşlemci programlama için ekran takılmamalıdır. Sürekli programlayıcı devrede olmadığı için koruma öngörülmemiştir. Programlama ve sigorta ayarları tamamlandığı zaman besleme kesilir ve programlayıcı kablosu sökülür ve EDMCPR6YOY kablosu takılır. (Herşey tamamsa, ekranda bu tür ekranlar için kullanılmış olan test sayfası yer alacaktır).

Bu noktada alet seri port üzerinden bilgisayara bağlandığı göz önüne alınarak, bilgisayar üzerindeki "LCDEkran2x8.exe" programı çalıştırılır. Ayarlar bölümünden aletin bağlı olduğu port seçili olduğuna emin olunur.

Bu noktada hangi satıra ne yazılacağı artık kullanıcıya kalmıştır. Örneğin birinci satıra ismini yazarken, ikinci satıra tarih veya saat gösterimini seçebilir. İki buton seçeneği var. Eğer ekrandaki bilgi sürekli değişmeyecese sadece "LCD Ekrana Gönder" butonu kullanılabilir. Ama sürekli değeri değişen bir girdi(saat) varsa o zaman "LCD Ekrana Sürekli Gönder" butonu kullanılabilir.

Şekil-17:Proje çalışır halde


Şekil-18:Proje çalışır halde iken birkaç ekran mesajı:Açılış Ekranı, Saat ve yazılmış bir mesaj

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. Tama ekran 1x16 görünümünde iken sistem olarak ele alındığında 2x8 gibi çalışıyor ve dolayısı ile işleri basit tutmak için kontrolu 2x8 olarak düzenlendi

Bilgisayar programı iki ana pencereden oluşuyor. Birincisi girdilerin yapıldığı ana pencere, diğer sadece port ayarını yapıldığı pencere

Ana pencere


Şekil-19 :Ana pencerenin görünümü

Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Birinci satır yazı alanı. Burada yazılan değer LCD ekran birinci satırda görüntülenir.(8 karakterle sınırlıdır)
  2. Birinci satır 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. İkinci satır yazı alanı. Burada yazılan değer LCD ekran ikinci satırda görüntülenir.(8 karakterle sınırlıdır)
  4. İkinci satır açılır menü şeklinde tanımlanan metin giriş türü vardır: Metin, saat, tarih, gün(haftanın günü) ve boş
  5. LCD ekrana yazı alanlarındaki bilgiyi tek seferlik gönderir.
  6. LCD ekrana yazı alanlarındaki bilgiyi sürekli gönderir. (saat ve tarih sürekli güncellenir)
  7. LCD ekranı siler
  8. Seçenekler penceresini açar


Seçenekler


Şekil-20 :Seçenekler penceresinin görünümü

Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. LCD ekran seri port bölümünün bağlı olduğu portu seçilir. (bağladığınız porta dikkat.)
  2. Seçenekleri onaylar ve pencereyi kapatır



Ekler:

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

EDMCPR6YOY LCD Ekran Sürülmesi için dosyalar-birleşik

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

Translate

Sayfalar

Etiketler

İzleyiciler