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.

30 Nisan 2011 Cumartesi

Atmega16 ve LM35 ile Grafik LCD Ekranlı Termometre


İnternet üzerinde çok çeşitli termometre şemaları bulmak mümkündür. Ama ya karakter LCD ekranlı yada yedi parçalı LED ekranlıdırlar. Yani ekranlar gösterme şekli açısından aletlerin fiziksel yapılarının sınırları içindedir. Yeni karakter LCD ekranın ROM'unda kayıtlı karakterlerin büyüklüğü veya kullanılan yedi parçalı LED ekranların gösterim şekli ve yapıları ile rakamları gösterebilirler. Peki neden daha esnek bir gösterim olamasın?

Bu projede Atmega16 ve LM35 ile Grafik ekranlı termometre oluşturmaya çalışılacaktır.
Grafik LCD ve Görüntüleme

Bu projede kullanılan ekran 128x64 nokta gösterim alanına sahip PGM12864'tür. "Atmega32 ile Grafik LCD'nin Sürülmesi" projesinde bu ekran ve sürülmesi konusunda gerekli bilgiler sunulmuştu. Hatta bu projede kullanılan sistem işlemci hariç aynıdır.

Şekil-1 :Termometre için kullanılan arkaplan resmi.

Grafik ekran üzerinde ölçülen bir değerin (örneğin) gösterilebilmesi için ekran üzerinde gösterilecek tüm değerlerin tanımlanmış olması gerekir. Yani başka bir deyişle bir karakter ROM'un oluşturulması gerekir. Şöyleki sıcaklık ölçümü sonucu sayısal (rakam ile) görüntülenecekse en azından 0..9 arasındaki rakamların ve derece ile birlikte "C" işaretlerinin en azından resim verisi olarak işlemcinin program belleğine programlanması gerekir.

Şekil-2 :Ölçülen sıcaklık sonucunun gösteriminde kullanılan rakamlar.

Yoksa tüm ekran olarak saklanıp her bir ölçüm karşılığında ekrana tek tek çağırmak pek uygun olmayabilir. Örneğin LM 35 ile ölçüm yapıldığını ve her bir sonucun tek tek çağrılması için 125 tane ekran oluşturulması gerekir ve (sadece tam dereceler için olduğunu varsayarak) sadece bu veri yaklaşık olarak 125Kbayt tutar ki birçok işlemci için oldukça büyük bir değerdir.

Diğer bir yöntem olarak görüntü işlemcinin veri belleğinde oluşturulması (RAM) ve sonra Grafik LCD ekrana aktarılmasıdır. Buradaki sorun ise Atmega16 işlemcisinde sadece 1Kbayt RAM var. Sadece bu işe ayrılsa bile Yığın işlemleri için yer kalmayacaktır. (Yığın işlemleri bu tip işlemcide RAM'in belli bölgesinde tutulmaktadır).

Geriye basit bir şekilde verinin ekrana doğrudan gönderilmesi kalıyor. Basitçe ekrandaki sabit yazılar ve şekilleri bütün olarak ekrana yüzleniyor, sonra sadece gerekli olan bölümler gerektikçe yüklenir. Burada sıcaklık ölçümü sonucu ekrana yazıldığı ve LM35'in 125 derece ölçtüğü ve de sadece tam sayı olarak gösterildiğini kabul edersek ekranda değişen sadece 3 hanenin kapladığı alandır.Basitçe ölçüm sonucunu al bunu onluk sisteme çevir ve sonucu 3 hane üzerine yerleştir.

Şekil-3 :Hanelerin yerleşiminde kullanılan sola göre nokta olarak uzaklıkları. Zaten üstten hizalıdır.Tüm karakterler hanelerde kırmızı çizgiye dayalı olarak görüntülenir.


Buradaki önemli konulardan biri karakter genişlikleridir. Yani bilgisayar üzerinde metin işleri (yazı) uğraşan kişiler bilir, bazı fontların her bir karakter genişliği karakterine göre değişiklik gösterebilir. Bu nedenle karakter genişliği birbirine yakın bir karakter seçilerek, bu sorundan kolaylıkla sıyrılmak mümkündür.
LM35

LM35 tek +5V ile beslenebilen ve ölçüm sonucunu analog olarak çıkış üzerinden verebilen bir üç bacaklı bir entegredir. Normalde ADC kullanılacağı zaman ki özellikle ADC için iç referans gerilimi kullanılacağı zaman, Aref ile GND arasına bir kondansatör bağlanarak referans gerillim için kullanalarak 2,5V ile kullanılır. (LM35 maksimum ölçüm aralığı 125C olduğuna ve 10mV/C dönüşüm hassasiyetine sahip olduğuna göre LM35 maksimum değerde 1,25V olacaktır). İşlemciye bağlamak gayet kolay, besleme için gereken uçları besleme hatlarına bağlanır, ve LM35'in çıkış ucu da işlemcinin ADC uçlarından birine bağlanır. Gerisi işlemci ve yüklenen yazılıma kalmış.

Şekil-4 :Sıcaklık algılayıcı olmadan termometre olamazdı. LM35.

Devre

Devre iki ana bölümden oluşuyor. İşlemci kartı LM35 üzerinden sıcaklığı ölçüyor, sonucu değerlendiriyor ve bağlantı kabloları üzerinden Grafik LCD ekrana kontrol ederek görekli görüntünün oluşturulması için gereken veri ve kontrol sinyallerini iletiyor. Ayrıca işlemci kartı üzerinden Grafik LCD için kontrast ayarıda vardır.

Şekil-5 :İşlemci kartı şu hali ile Grafik LCD ekrana ve LM35'e kablolar ile lehimli.

Şema

Sistemin kalbini IC1 ile ATMEGA16 oluşturuyor. Aslında kristale gerek olmasada kesin zamanlama ihtiyacını karşılamak için XT1(3.6864MHz) kristal ile C6 ve C7 (27pF) kondansatörler ile birlikte işlemci için gereken zamanlama frekansını üretirler. R1 (1K) ve LED1 (LED) ile devrenin çalışmasını izlemek üzere kullanılmaktadır. Grafik LCD ekran şemada gösterilmese de P3 konnektör bağlatısı üzerinden kablo ile bağlanmaktadır. R3 (10K) trimpot grafik LCD'nin kontrast ayarı için kullanılmaktadır.

Devrenin beslemesi P1 konnnektörü üzerinden D1 (2W10M) köprü diyodu üzerinden IC2 (7805)regüle edilerek devrelinin ihtiyacı olan beslemeyi oluşturur.

ISP içinse işlemcinin programlama işlemi için kullanılmakla birlikte şu hali ile butonlar için bağlantı noktası işlevini yerine getirmektedir. IC3 (LM35) P4 konnektörünün 1. bacağı GND (LM35) ve 4. bacağına Vout (LM35) P4 ve P5 arasındaki bağlantı noktasına Vcc(LM35) bağlanır.(şekil 10 üzerinde LM35 bağlantıları görülebilir).

Belirtilmeyen geri kalan kondansatörler filtre amaçlıdır.

Şekil-6:Blok şeması


Şekil-7:Devre şeması (isp ve P1 haricindeki konnektörler gösterilmemiştir)

Devre Yapımı

Devre montajı açısından kritik bir durum yoktur. Görüldüğü gibi devre son derece sadedir. Sadece kabloları karta lehimlerken kısa devre olmamaları için dikkatli olmak yerinde olacaktır.

Şekil-8:Grafik LCD termometre kartı yollar


Şekil-9:Grafik LCD termometre kartı eleman yerleşimi


Şekil-10:Grafik LCD termometre kartı yolları birlikte eleman yerleşimi


Şekil-11:İşlemci kartı üzerindeki LM35 bacak bağlantıları

Devre Elemanları

1KR1
27RR2
10K yatık trimpotR3
27pFC6,C7
100nFC1,C2,C4,C5,C8
10µF/25VC3
3mm yeşil LEDLED1
ATMEGA16 (DIL)IC1
7805IC2
LM35IC3
2W10M veya benzeriD1
3,6864 Mhz kristalXT1
2x3Header (ISP6)isp
2'li klemensP1
40 bacaklı entegre soketi (DIL)-
PGM12864-

Besleme için 9V'luk adaptör, LM35 ile işlemci kartı arasındaki kablo ve LCD ekran ile işlemci kartı arasındaki kablolar unutulmamalıdır.
Ayar ve kullanım

Grafik LCD için kontrast ayarı haricinde (R3) bir ayar yok. Ekran görüntüsünü istenilen kalitede ayarla ve bırak. Geri kalan ölçüm ve görüntüleme bölümleri otomatik çalışır. İşlemci yaklaşım her 0.5 saniyede bir ölçüm yapar. Bu an LED1 üzerinde yanıp sönme olarak gözlenebilir. Ölçüm sonucu gerekli işlemlerden geçirilerek Grafik LCD üzerinde görüntülenir.

Şekil-12:Oda sıcaklığı.


Şekil-13:LM35 el ile tutularak elde edilen avuç içi sıcaklık.


Şekil-14:Buzdolabının derin dondurucu sıcaklığı. Aslında derin dondurucu daha soğuk ama LM35 bu bağlantı şekli ile en düşük sadece 0 dereceye kadar ölçüm yapabiliyor.


Şekil-15:LM35 pencere dışına konumlanarak ölçülen dış ortam sıcaklığı.




Ekler:

ATMEGA16 hakkında bilgi için

"Atmega16 ve LM35 ile Grafik LCD Ekranlı Termometre" 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