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.

29 Mayıs 2009 Cuma

Atmega8 Led Ekran ve Atmega8 Termometre RS485 İletişimi


Şimdiye kadar bir RS485 iletişimli termometre ve bir de RS485 iletişimli LED ekran yaptık. Tamam ayrı ayrı güzel çalıştılar. Peki termometere ölçüm sonucu bir bilgisayar yerine doğrudan bu LED ekran üzerinde görmek istersek ne yaparız? Bu durumda veri akışını yönetecek bir program oluşturmamız gerekir. Ya modüllerden birini ana kontrol modülü olarak düzenleyeceğiz yada bir başka kontrol modülü oluşturacağız. Her halikarda veri akışının kontrol altına alıması gerekiyor. Bu sistemde en kolayı termometre bölümünün ana kontroller olarak düzenlenip ekranda gösterilecek verilerin LED ekrana uygun bir şekilde biçimlendirimesi olacağı düşünülerek bu yönde harekete geçildi. İlk adı olarak RS485 sadece veri gönderecek biçimde veri akış yönü atandı.

Şekil-1 :LED Ekran kartı ile oda sıcaklığı ölçüm gösterimi.


Şekil-2 :Termometre kartı.

Burada LED ekran olarak Atmega8 ile RS485 İletişimli Led Ekran projeyi ve Termometre olarak ATMEGA8 ve bilgisayar ile RS485 iletişimli Termometre projesini kullanılacak. Yani her iki projedeki bilgisayar bağlantısını çıkartıp sadece bu iki modül kullanılacak.Bu modüllerin yapımları ile ilgili bilgiler kendi modül başlıkları altında bulunabilir. İstenirse çalıştıklarından emin olmak için önce o projeler gerçekleştirilip, daha sonra bu projeye geçilebilir.

Şekil-3 :Sistemin blok şeması.


Aslında sözler yerine şekil-1'deki blok şeması herşeyi anlatmaya yeterlidir. Sistemin çalışması basitçe:

Şekil-4 :Termometre kartı düzenli aralıklarla ölçüm yapar ve sonucu LED ekrana gönderir.


Termometre: Algılayıcı sıcaklık ile orantılı bir gerilim oluşturmakta. Bu İşlemci tarafından alınıp, işlenerek LED ekran üzerinde gösterilecek bilgiye dönüşüyor.(Yani yüzler hanesi, onlar hanesi, birler hanesi ile birlikte ondalık noktası ve ondalık sayı) Oluşturulan bilgi RS485 üzerinden gönderiliyor. Burada bu bölümün programı değiştirilecek.

Şekil-5 :LED Gösterge kartı, şekildeki değer gece dış ortam sıcaklığını gösteriyor.


LED Ekran: RS485 portundan alınan veri işlemci tarafından işlenerek ekran üzerinde gösterilmek üzere hazırlanır ve sürekli olarak gelen veri ekran üzerinde gösterilir. (Bu bölümün programında bir değişiklikyapılması gerekmiyor.)

Atmega8 ile RS485 İletişimli Led Ekran ve ATMEGA8 ve bilgisayar ile RS485 iletişimli Termometre projelerinde konu etraflıca anlatıldığı için ilgili projelere bakılarak bu projenin nasıl çalıştığı rahatlıkla anlaşılabilir. Daha doğrusu sadece modüller ile ilgili bölümlerin incelenmesi yeterlidir.

Termometre programında ölçülen ADC değerini bizim anlayabileceğimiz ondalık sisteme dönüştürmek için matematik işlemlerini Atmaga8'in sınırlı kaynaklarında uğraşmak yerine basitçe bir tablo oluşturuldu.

Şimdi ADC'nin 10 bit olduğunu biliyoruz. Ama referans olarak iç referans kaynağı ve 2.5V ile atandı. Bu da demektir ki ADC 10 bit yerine 9 bit olacak. Çünkü LM35 entegresi maksimum ölçüm sıcaklığı olarak 125°C ve maksimum oluşturabileceği gerilim 1.25V olacak demektir. Buda 125°C ölçmek için 512 kademe olacaktır. Böylece tabloda 512 aralığın hangi sıcaklığa karşılık geldiğin belirleyip, her bir hane için hangi rakamın karşılık geldiğini belirlendi. Basitce maksimum 125°C ölçüldüğü için 3 hane buna ayrıldı ve son hane ondalık değer olarak atandı. Noktada sağdan itibaren 1. ve 2. hane arasına konuldu. Tüm bunlara göre 3 tane tablo oluşturuldu.Soldan birinci hane için sadece 2 değer bulunduğundan (0 ve 1) sadece hangi ADC değerinden itibaren değiştiği belirlenerek atanmasını sağlayacak bir karşılaştırma betiği oluşturuldu.

Değer çevirme için tablo örneği. Soldaki sıfır değeri gösterilmemesi için a olarak atanmış. Nokta değeri h2 değeri üzerine eklenir.


Hesaplama için: Sıcaklık(onluk sistem)=ADC değeri X 1.25/512

Sonuçta bunlar 3 tane tablo ve karşılaştırma betiği kullanılarak ölçülen ADC değeri onluk sayı sistemene dönüştürülüyor ve bu değere hane kodu ve buna ek olarak nokta değeri uygun hane koduna eklenerek her ölçüm sonra değerler LED ekrana gönderiliyor

Şekil-1 ve Şekil-5 devrenin çalışmasında iki örnektir. LM35 kart üzerinde takılı olduğu için ve elektriksel yalıtım konusundaki sorunlar nedeniyle buzlu su ve kaynamakta olan sıcak su testleri es geçildi. Ama ısınma ile ilgili olarak çay bardağının kenarından LM35 ısıtılmaya çalışıldı.

Şekil-6 :LM35 ısıtma deneyi için bardak ile temas.


Sonuçta bu bile sıcaklığın yükselmesini sağladı. Bardağın ve LM35'in metal olmaması yüzünden sıcaklık fazla yükselemedi. Şekil-7 bu yöntemle elde edilen maksimum sıcaklığı gösteriyor.


Şekil-7 :Bardak ile temasda elde edilebilen maksimum sıcaklık


Devre yapım ve malzeme listeleri ilgili projelerde anlatılmıştır. Burada sadece termometre programı verilmiştir.

Ekler:


ATMEGA8 hakkında bilgi-www.atmel.com

Atmega8 Led Ekran ve Atmega8 Termometre RS485 İletişimi 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