İ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.
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.
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.
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.
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 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ış.
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.
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.
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.
1K | R1 |
27R | R2 |
10K yatık trimpot | R3 |
27pF | C6,C7 |
100nF | C1,C2,C4,C5,C8 |
10µF/25V | C3 |
3mm yeşil LED | LED1 |
ATMEGA16 (DIL) | IC1 |
7805 | IC2 |
LM35 | IC3 |
2W10M veya benzeri | D1 |
3,6864 Mhz kristal | XT1 |
2x3Header (ISP6) | isp |
2'li klemens | P1 |
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.
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.
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:
Yorum Gönder