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.

LM35 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
LM35 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

12 Temmuz 2014 Cumartesi

Atmega128 ve LM35 ile T6963C kontroller bulunan 240x128 GLCD termometre

Giriş
Bu projede termometre veya LM35 kullanımından ziyade T6963C kontroller barındıran 240x128 grafik LCD'nin ATMEGA128 ile sürülmesini sağlamaktı. KS108 kontroller barındıran GLCD'lerden farklı bir yapıya sahip olduğu için sürülmesi biraz farklı bir yaklaşık gerektiren 240x128 GLCD daha önceki blog sayfalarında anlatıldı.

Bu projede "Atmega128 ve LM35 ile T6963C kontroller bulunan 240x128 GLCD termometre" konusu işlenecektir.
LM35
Şekil-1 :Sıcaklık algılayıcı olarak kullanılan LM35. Besleme bacakları arasına eklenen 100nF kondansatör ile birlikte. (Şema ve PCB üzerinde bu kondansatör gösterilmemiştir.)

İnternet üzerinde bir çok örnek ve uygulama bulunabilen LM35 bilindiği gibi analog olarak çıkış bacağından sıcaklığa bağlı olarak bir gerilim veren bir entegredir. 4V ile 20V aralığında beslede çalışabilen entegre 10mV/C ölçek çarpanına sahiptir. Normalde çıkış ucu ile GND ucu arasına (Besleme verilmek şartı ile) bağlanan bir voltmetre ile de değer okunabilir.
Şekil-2 :LM35 test devresi. Besleme 9V (kırmızı ve siyah krokodil) Ölçü aleti; sarı (çıkış) siyah (GND) krokodil. Ekranda ortam sıcaklığı ölçümü. Multimetre 2V kademesinde olduğu için hali ile noktanın yeri önemsenmeyecek. Sağdaki ilk hane bizim ondalık hane olarak ele alınacak. (Ortam sıcaklığı 27.6 C)

T6963C Grafik işlemcisi
Toshiba tarafından üretilen T6963C Grafik işlemcisi kendine özgü bazı özellikler taşımaktadır. T6963C grafik işlemcisi piyasada yaygın olarak kullanılan S6B0108 veya eşdeğer grafik işlemcilerinden biraz farklı özellikler içermekte. En azından bu projede kullanılan 240x128 grafik LCD için tek sayfa olarak düzenlenmiş. Yani ekrana yazılan her bilgi sayfa seçmeden doğrudan ekrana gönderilebiliyor.

Şekil-3 :240x128 Grafik LCD'nin ekran veri yerleşimi

240x128 nokta matris gösterge alanı, 8 bit paralel arayüzü, 128 karakter iç CG-ROM, metni ve grafikleri birleştirebilme yeteneği, ayrı adresleme alanları olan metin, grafik ve Karakter üreteci RAM (CGRAM) gibi özellikleri sayılabilir.

Grafik açısından satırlar bir bitlik bir yapıdadır. Ama sütunlar 8 bit veri içerecek şekilde gönderilmekte. Dolayısı ile ekrana gönderilecek veri bir satıra 30 bayt ve 128 tane de satırı olduğu sonucu çıkarılır. Ekrana grafik verinin tümünü gönderdiğimizi düşünürsek bu 3840 bayt edecektir. Atmega128 seçilmesinin neden oluyor ki, Atmega128'in ram kapasitesi 4kbayttır.

Grafik verisi için ayrılan RAM başlangıç adresi 0x0200 olmaktadır.

Projede düşünülen nokta ekranın her değişikliğinde tüm ekranın güncellenmesi idi. Şu şekilde ekran ile fazla iletişik kurmadan sadece gerektiği noktada yani görüntünün ekrana gönderilmesi noktasında iletişim kurulması idi.

Bu iş için ekran görüntüsü için gereken 3840 bayt'lık bir RAM alanına ihtiyaç var. Tabi çözüm olarak Atmega 16 veya Atmega32 kullanıp yanına harici RAM eklemek olabilir. Bu hem işlem miktarını artıracak, hemde kendine göre sorunlar ortaya koyacaktır. Devrenin basit tutulması adına en iyi çözüm 4Kbayt dahili RAM'ı olan Atmega128 kullanmaktır. Her güzel de olduğu gibi kusur sayılırsa, tek kusuru SMD yapısında olması.(DIP sürümünün bulunmamasıdır)

Bacak NoSembolüAçıklaması
1FGModül Çerçeve Şasesi
2Vss0V
3Vdd+5V
4VoKontrast Ayarı
5WRVeri Yaz
6RDVeri Oku
7CEÇip İzni
8CDKomut/Veri Seçme
9RSTReset Sinyali
10DB0Veri Biti 0
11DB1Veri Biti 1
12DB2Veri Biti 2
13DB3Veri Biti 3
14DB4Veri Biti 4
15DB5Veri Biti 5
16DB6Veri Biti 6
17DB7Veri Biti 7
18FSFont Seç
19LED+LED'in Anot uçu (+5V)
20VEE-16.5V çıkış
Yukarıda projede kullanılan 240x128 GLCD bacak bağlantıları verilmiştir.

Devrenin çalışması
Şekil-4 :Ekran arkaplan resmi. Diğer öğeler bu resim üzerine eklenir.

İşlemci çalışmaya başladığı zaman önce arkaplan görüntüsü RAM için ayrılmış alana aktarılır. İşlemcinin RAM başlangıç adresi 0x0100'dür. Her ne kadar nokta ve Derece işaretleri de arka plan görüntüsü üzerine gömülebilirse de, işi fazla dallandırıp budaklandırmamak için ayrı bir veri olarak işlemci üzerindeki RAM alanına ayrı bir veri olarak eklenmekte ve ilk açılıştı ADC ölçümü henüz yapılmadığı için hali ile 000.0 şeklinde bir veri de ekrana yazılır. Tek farkla soldaki iki sıfır gizlenir.Tüm bu veriler RAM'e aktarıldıktan sonra RAM'deki veri GLCD ekrana aktarılır.
ekil-5 :Ekran üzerinde sıcaklığı göstermekte kullanılan rakamlar (Tahoma 60pt).

Başlangıçta ayarlanmış olan Timer1 belirli bir zaman sonra bir kesme üretip bir bayrağı tetiklediğinde, ADC grubunun ADC7 bacağına bağlı olan (PF7) LM35 çıkışı ADC tarafından okunur. Bilindiği üzeri ADC 10 bitliktir. Referans gerilimi olarak iç refrans gerilim 2.56V olarak ayarlanmıştır. (LM25 çıkışı 2.56V üzerine çıkamayacağı için)Alınan veri sıcaklık verisi olarak hanelerine ayrıştırılır ve her hane belirlenmiş RAM bölgelerine hangi rakama karşılık geliyorsa o şekilde yazılır. Son olarak RAM'de oluşturulan görüntü GLCD'ye aktarılır. Bu işlem timer1'den kesme geldikçe tekrarlanır. Ekrana veri aktarımı ve görüntünün RAM üzerinde hazırlanması zaman aldığı için çok hızlı değildir.
Şekil-6 :Verilerin ekran üzerine (işlem RAM) üzerine yerleşim sıralaması). 1,2 ve 3 (arkaplan, nokta ve derece santgrad işaretleri) sistem ilk açıldığında RAM üzerine aktarılır, sonraki aşamalarda, sadece 4,5,6 ve 7 (rakamlar) sürekli olarak güncellenir.

RAM üzerinde sadece rakamların hazırlandığı bölüm ekrana aktarılırsa görüntü güncelleme hızı artırılabilir. Bu program karmaşıklığını artıracağı kesindir.

T6963C grafik ekran kontroller sistemindeki yapı işlemciden gelen verilerin ekrana yatay yerleşmesidir. Bu nedenle ekrana gönderiler rakamların yerleşiminde 8 piksellik bloklar halinde yerleşme zorunluluğu vardır. Bu nedenle karakterlerin boyutları ve yerleşimi konusunda dikkatli olmak gerekir.

Şekil-7 :Sistem ilk çalıştığında ekranda gösterilen değer.

Başka bir proje olarak okunan sıcaklık değerinin ekran üzerinde grafik olarak gösterimi olabilir.

Devre
Devre üzerinde fazla bir şey yok. GLCD, GLCD kontrast ayarı için bir trimpot,işlemci atmega128 , kristal,besleme için7805 ve DF10M köprü diyotu var .İşlemcinin istenilen kapasitede RAM'a ve çevre birimlere sahip olması devreyi basitleştirmeye olanak sağladı.
                                     Şekil-8 :İşlemci kartının ön ve arkadan görünümü

                        Şekil-9 :Projede kullanılan T6963C grafik kontroller barındıran 240x128 GLCD


Şekil-10 :İşlemci kartı ile GLCD arasında bağlantıyı sağlayan kablo

Sadece LM35 kart üzerinde değilde bir kablo ile uzatılmıştır.
Şekil-11 :Tüm bağlantıları tamamlanmış proje

Şema
Devre IC1 (Atmega128) üzerine kuruludur. İşlemcinin osilatör için harici kristal XT1 (8MHz) ve C5 ve C6 (27pF) kondansatörler ile saat sinyali üretimini yerine getirmektedir.

P4 (besleme girisi), D1 (DF10M) köprü (kendisi aslında SMD değildir, bacakları biraz bükülerek SMD haline getirilmiştir), ve IC2 (7805) devre için gereken 5V besleme gerilimini sağlar.

R1 (10k) trimpot GLCD için kontrast ayarıdır ve GLCD ile kart arasındaki bağlantı P2 konnaktörü üzerinden sağlanmaktadır. R7 (120 Ohm) GLCD arkaplan aydınlatması için akım sınırlama elemanı olarak kullanılmaktadır.

Geri kalan kondansatörleri filtre amaçlıdır.

PCB üzerinde gösterilen P1,R2,R3,R4,R5,R6 bu projede kullanılmamıştır.

Şekil-12:Blok şeması
Şekil-13:Devre şeması (projede kullanılmayan elemanlar gösterilmemiştir)

İşlemci bacağıProgramlayıcıAçıklaması
PE0MOSISeri veri girişi
PE1MISOSeri veri çıkışı
PB1SCKSeri saat
Atmega128 ISP programlama bacakları SPI iletişim bacaklarından farklı bacaklar üzerine atanmıştır.(SCK hariç) Bu nedenle PCB kendi çizeceklerin bu konuya dikkate almaları gerekmektedir

Devre Yapımı
Devre montajı açısından kritik eleman Atmega128'in kendisidir.. Görüldüğü gibi devre son derece sadedir. Sadece kabloları karta lehimlerken kısa devre olmamaları için dikkatli olmak yerinde olacaktır.
Şekil-14:Grafik LCD sürücü kartı yollar

Şekil-15:Grafik LCD sürücü kartı yerleşimi

Şekil-16:Grafik LCD sürücü kartı bakır yolların olduğu taraftaki elemanların yerleşimi

Şekil-17:Grafik LCD sürücü kartı yolları birlikte eleman yerleşimi

Şekil-18:Grafik LCD sürücü kartı yolları ve yoların olduğun taraftaki yollarla birlikte eleman yerleşimi

Şekil-19 :Montajı yapılmış işlemci kartı
Şekil-20:İşlemci kartına LM35'in bağlantısı

Şekil-21:Karta lehimlenmiş Atmega128

Devre Elemanları
120R (1206)R7
0R (1206)J1,J2,J3
10K yatık trimpotR1
27pF (1206)C5,C6
100nF(1206)C2,C3,C4, C7,C8,C9,C10,C11
10µF/25V (1206)C1
ATMEGA128 (TQFP)IC1
7805 (D2PAK)IC3
DF10MD1
LM35IC2
8 Mhz kristalXT1
2x3 Header (ISP6)isp
2'li klemensP4
240x128 GLCDM1
20'li sıra pin (2adet)- (P2)
40 yollu şerit kablo-
40 bacaklı şerit kablo için konnektör (2adet)-
Besleme için 9V'luk adaptör, LM35 ile kart arasında kablo belirtilmemiştir, isteğe göre kablo kullanılabilir..

Ekran Görünümleri
Şekil-22:Devre çalışırken ölçülen ortam sıcaklığı.

Şekil-23:Biraz sıcak hava üfleyince çeşitli zamanlarda çekilmiş ekran görüntüleri. 100 derece üzerine çıkıldı ise de hem sıca hava üflecini tutmak, hem fotograf çekmek pek kolay olmuyor. Görüntü bulanık çıkmış..

Şekil24:Atmega128 için sigorta ayarları. Elimde sadece AVR Studio ile ilgili ayarlar olduğu için bunu verebiliyorum. Butonların hemen üzerindeki alanda yer alan hex sayıları kullanarak kendinize göre uyarlayabilirsiniz.


Ekler:
Atmega128 hakkında bilgi için

"Atmega128 ve LM35 ile T6963C kontroller bulunan 240x128 GLCD termometre" projesi için gereken dosyalar


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


1 Ağustos 2013 Perşembe

Atmega8 ve MCP3550 ile LM35 termometre

Şu ana kadar LM35 ile çalışırken işlemcilerin(Atmega8 ve Atmega16) üzerindeki ADC'leri kullanmak durumunda kaldım. Başka bir devre yapmak için elime geçen MCP3550 ADC'sini işlemci ile kullanmak için çalışırken, çıkış açısından ne yapıp yapmadığını iyi bildiğim LM35 ile deneme ihtiyacı hissetim .
Dolayısı ile sonuçta "Atmega8 ve MCP3550 ile LM35 termometre" projesi ortaya çıktı.

LM35

Şekil-1 :Kablonun ucuna lehimlenmiş LM35.

Artık sıcaklık ile uğraşmaya başlayan her elektronikçinin en azından bir kez uygulama geliştirdikleri bu entegre 3 bacaklı fiziksel yapısı transitörlere (BC237) benzer. (en azından bu projede kullanılan)

Doğrudan santigrade çıkışı verebildiğinden 10mV/C gibi bir ölçeğe sahiptir.

-55 ile +150C aralığında öçüm yapabilen entegre 4 ile 30V besleme aralığında çalışabilmektedir.
Normalde +5V aralığında çalışırken 0 ile 150 derece sıcaklığını ölçebilir. Eksi sıcaklığı ölçebilmesi için Vout çıkışının 0V seviyesine göre bir direnç ile daha eksi gerilime çekilmesi gerekir. Yada LM35'in 0V seviyesi yukarı çekilir . Örneğin 1.3V gibi bir gerilime; seri diyotların gerilimidir.
Şekil-2 :LM35 negatif sıcaklığı ölçmek için veri kağıtlarında öngörülen şeması.

Bu noktada iş ADC'ye düşüyor. Özellikle LM35'in GND bacağı ile Vout bacağı arasındaki gerilimi ölçebilecek bir kapasitede bir ADC gerekliğidir. (Bu devrenin GND ile LM35'in GND bacağı aynı olmadığını dikkate almak gerekir.

MCP3550

Şekil-3 :MCP3550 kartı ön ve arka.

Microchip firması tarafından üretilmiş küçük ve az bacak sayısı ile kullanımı basitleştirilmiş bir ADC'dir.

En azından sıfırlama, harici saat sinyali gibi ihtiyaçları bulunmayan ADC 2.7V ile 5.5V tek besleme ile çalışabilir. Özellikle fark girişlerinin bulunması bu proje için biçilmiş kaftandır. Otomatik iç ofset ve kazanç kalibrasyonu sayesinde kullanıcıya fazla iş düşmeden ADC'nin çevirme işlemini yapmana olana tanır.
Şekil-4 :MCP3550 bacak bağlantıları

Piyasada yaygın olarak kullanılan ADC0831 8 bitlik işlemci veya işlemcinin kendi üzerindeki 10 bitlik işlemcinin yanında MCP3550 22 bitlik (bir biti işaret biti olduğundan aslında 21 bitlik) çözünürlük gerçekten oldukça yüksek kalmakta. Bu da girişe uygulanan gerilimin çok daha hassas okunabileceği (dijitalleştirilebileceği) anlamını taşıyor.


Normade SPI bağlantısı bir giriş, bir çıkış, bir saat ve bir de çip seçme (seçeneğe bağlı) uçları ile master ve slave aletler arasında veri iletişimini sağlar. MCP3550 entegresine veri gönderme gibi bir durum olmadığı için bu uç kullanılmadan sadece 3 bacak ile (SPI) haberleşmesi yapılmaktadır. MCP3550 açısından bu üç bacak saat, çıkış ve çip seçme uçlarıdır. İşlemciye MCP3550'den başka entegre bağlanmayacağı zaman çip seçme ucu bile kullanılmayabilir. (sürekli aktif oalcak şekilde toprağa bağlamak yeterlidir)
Şekil-5 :İşlemci ile MCP3550 iletişim dalga şekli

Entegre üzerinde ölçüm için kullanılan diğer bacak ise Vref bacağıdır. Bu ölçüm için gereken referans gerilim girişidir. Tabi projede doğrudan 5V aralığı kullanılması planlandığı için bu bacak 10Ohm üzerinden Vcc hattına bağlanmıştır. (tabii filtre kondansatörü ile)

Bit-21 işaret biti olarak verilmektedir. Tek bir beslemede negatif olayının nereden geldiğin anlamak için ADC'nin yapısındaki fark girişleri kavramını incelemek gerekir. Bu ADC üzerinde ölçümler doğrudan GND ucuna göre değil de Vin- ve Vin+ uçlarının birbiri ile kıyaslanması ile yapılır. Dolayısı ile Vin+ ucu Vin- ucuna göre daha pozitifse değer pozitf olarak tanımlanır, Vin+ ucu Vin- ucuna göre daha negatifse değer negatif olarak tanımlanır. (Tabii kim ne derse desin sonuçta bu uçlarda GND'ye göre tanımlıdır-Commond Mod kavramı ile incelenebilir) Girişlerin bu şekildeki yapısı projedeki LM35 ile yapılan devrede negatif sıcaklığın ölçülebilmesine olanak tanımaktadır.
Şekil-6 :MCP3550 bit ve tanımları

ADC 22 bit olmasına rağmen Vref gerilimi aşımı olduğu takdirde işlemciye bunu bildirmek amacı ile Bit- 22. bit için pozitif yöndeki taşma (taşmada lojik-1 olur), Bit-23. bit ise negatif (taşmada lojik 1 olur) yöndeki taşmayı belirtmek için kullanılmaktadır. Bit-24 ise ADC'nin veri çevirme işleminin tamamlayıp tamamlamadığını göstermek için kullanılır. (Lojik -0 konumunda) Tabii ki bu veri çıkış bacağı üzerinden saat darbesi değişiminde yapılır.

SPI veri iletişimini farklı modları (yöntemleri) vardır). Bu projede Mode 1,1 kullanılacaktır. Bunun anlamı Saat sinyali Lojik-1 olarak gelecek ve lojik-0 geçişinde veri okunacak. DRY biti lojik-0 ise okumaya devam edecek. Ve ondan sonraki veriler hep Lojik-1 kenarında okunacak. Tabii projede ADC'nin CS bacağı sürekli lojik-0 konumunda tutularak okuma işlemine hazır halde tutulmaktadır.

Veriler 8 bitlik 3 grup halinde işlemciye aktarılır. Verilerden MSB ilk ve LSB son olarak iletilmektedir.
Her ne kadar işlemci üzerinde SPI için port bulunsa da projede ADC ile yazılım ile oluşturulmuş SPI kullanılmıştır.

CS bacak kontrolu yapmak isteyenler için ; CS lojik-0 yapıldığında ADC'nin okuma ve veriyi hazırlaması için okumaya başlamadan bir süre vermeleri gerekmektedir.

Gerisi işlemci ile bilgisayar arasındaki iletişime ve verilerin yorumlanmasında bilgisayara kalır.

Devre

Şekil-7 :LM35, MCP3550 ve işlemci kartı bir arada lehimlenmiş halde.

Projede RS232 (seri) iletişim kullanılması öngörülmektedir. RS232 modülü ile başlayarak, ikinci modülümüz işlemci modülüdür ki, haliyle Atmega8 işlemcisi üzerinde yer almaktadır, üçüncü modülümüz LM35'in bağlandığı ADC modülüdür. RS232 modülü ile İşlemci modü birbirine 10 yollu yassı kablo ile bağlı iken işlemci modülü ile ADC modülü kablolar ile birbirine lehimlenmiştir.
Şekil-8 :RS232 haberleşme kartı.

Şekil-9 :MCP3550 ADC için oluşturulmuş devre.

Hiç adetim olmadığı halde ADC modülü üzerindeki ADC haricindeki elemanlar (direnç, kondansatör ve diyotlar) uzay montaj yapmak durumunda kaldım.

İsteyenler kendileri bunları düzenleyip bir kart üzerinde toplayabilir.
Şekil-10 :İşlemci kartının arkasındaki ADC kablo bağlantıları.

Tabii ki ADC ile LM35'de kablolar ile birbirlerine lehimlenmişlerdir.
Şekil-11 :İşlemci kartı ve RS232 haberleşme kartı arasındaki bağlantıyı sağlayan kablo.

Şema

Devrenin kalbini IC1 (Atmega8) işlemcisi oluşturuyor. İşlemcinin saat sinyali ihtiyacını C5, C6 (27pF) kondansatörler ve XT1 (3,6864MHz) kristal sağlamaktadır. İşlemciye bağlı R6 (1k) direnç üzerinden LED1 (led) devrenin çalışma durumu hakkında kullanıcıya bilgi verecektir. Sıcaklık algılayıcı IC2 (LM35) tarafından sağlanmaktadır. IC2 (LM35) üzerinde eksi sıcaklık değerlerini ölçmek için gerekli gerilim değerini sağlayan D1 ve D2 (1N4148) diyotları IC2 (LM35)GND bacağı ile devrenin GND arasına bağlıdır ve IC2 (LM35) çıkışı ile devrenin GND arasında R1 (22k) direnç kullanılmaktadır.

IC3 (MCP3550) buradaki asıl konumuz olup LM35 çıkışının analog değerini dijitale çevirmek ve işlemciye göndermek üzere kullanılmaktadır. IC2 (LM35) çıkış bacağı IC3 (MCP3559) Vin+ bacağına bağlıdır (ADC ölçüm ucu).Aynı zamanda IC2 (LM35) GND bacağı (D1 diyodunun bağlı olduğu uç) IC3 (MCP3559) Vin- bacağını bağlıdır. IC3 (MCP3559) Vref bacağı ile Vcc bacağı arasına bağlı R2(10Ohm) direç ile ADC Vref gerilim karşılanır ve Vref bacağı ile GND arasına bağlı C1 (100nF)) kondansatör ile Vref bacağı üzerindeki gerilim dalgalanmaları filtre edilmektedir.

C10,C11,C12,C14 (10µF) ve IC5 (MAX232)bilgisayar ile işlemci kartı arasında RS232 iletişimini düzenliyor. P2 DB9 seri port konnektörüdür. LED2 (LED),R7 (1k) Aslında bu kart için kullanılsa da, projede devrenin çalıştığını gösteren besleme monitörüdür.

P1 üzerinden devreye gelen besleme beslemenin ters takılmasına karşı her durumda çalışması içiD2 (2W10M)köprü diyodun IC4 (7805) girişine gelir. IC4 (7805 ) projede yer alan tüm elemanların besleme gerilimini (+5V) regüle ederek sisteme verir.


Not: Şemada L1 10µH gösterilmiş ise de kullanılması gerekli değildir. Bu eleman köprü ile değiştirilebilir.
Şekil-12:Blok şeması
Şekil-13:Devre şeması (ST1 ve ST2 (2x5) konnektörü 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. Tek uğraştıracak bölüm ne yazık ki ADC ve LM35 arasındaki bağlantılardır. Belki ileride bu konuyu güncelleyebilirim.
Şekil-14:Kartların alttaki yolları

Şekil-15:Kartların üstteki yolları (SMD)

Şekil-16:Kartların eleman yerleşimi.(Eleman yerleşiminde kırmızı ile gösterilen elemanlar bu projede kullanılmamaktadır. Lütfen dikkate almayın)

Şekil-17:Kartların yolları birlikte üstteki eleman yerleşimi (dip elemanlar)

Şekil-18:Kartların yolları birlikte alttaki eleman yerleşimi (SMD elemanlar)

Şekil-19:Kartların bağlantıları. .

 Şekil-20:Tüm sistemin bağlantı yapılmış hali.

Şekil-21:ADC kartı bağlantıları. Biraz karışık görünüyor ama gözünüzü korkutmasın. Devre başka bir amaçla oluşturulduğu ama LM35 işin yan ürünü oldu. Görüldüğü üzeri MCP3550'nin monte edildiği kart hazır SO8-DIP dönüştrücü kartı.

Devre Elemanları

10R R2
1K R6,R7
10K R3,R4,R5
22K R1
10µH L1
27pF C5, C6
100nF C1,C2,C3, C4, C7, C9,C13,C15
10µF/25V C8,C10,C11,C12,C14,C16
LED LED1,LED2
Atmega8 (DIL) IC1
LM35 IC2
MCP3550 IC3
7805 IC4
MAX232 IC5
1N4148 D1, D2
W10M veya benzeri D3
3,6864 Mhz kristal XT1
2x3 Header (ISP6) isp
2'li klemens P1
28 bacaklı entegre soketi (DIL) -
16 bacaklı entegre soketi (DIL) -
10 yollu şerit kablo (10cm) -
IDC10 kablo dişi konnektör 2 adet -
IDC10 kart tipi erkek konnektör ST1,ST2
DB9 p2
Besleme için 9V'luk adaptör unutulmamalıdır.

Bilgisayar Programı

Şekil-22:Bu proje için C# üzerinde yazılmış bilgisayar programı simgesi.

"M8_MCP3550_LM35_termometre.exe" C# ile yazılmıştır. Bu nedenle çalıştırabilmek için Frameworks.net runtime sürüm 4'ün bilgisayarınızda yüklü olması gerekiyor. Program Win xp üzerinde geliştirilmiş ve denenmiştir.

"M8_MCP3550_LM35_termometre.exe" simgesi üzerine iki kez tıklayıp çalıştırıyoruz.

Ana pencere
Şekil-23:Ana pencere.

Program ilk açıldığında gösterildiği penceredir. Bu pencere üzerindeki öğelerin açıklaması aşağıda verilmiştir.
  1. Ölçülen değerlerin görüntülendiği alan.
  2. Ölçülen son değerin görüntülendiği alan.
  3. Sürekli okuma veya sürekli okumayı sonlandırmak için buton.
  4. Son ölçüm sonuçlarına göre oluşturulmuş grafik
  5. Ana pencere-Ayarlar penceresi arasında geçişi sağlayan etiketler;

Ayarlar penceresi
Şekil-24:Ayarlar penceresi.
  1. Ana pencere-Ayarlar penceresi arasında geçişi sağlayan etiketler.
  2. Seri port seçimi için seçenekler.
  3. Baud seçimi için seçenekler.
  4. Rapor dosyasının kaydedildiği yer(ölçüm sonuçlarının kaydedildiği).
  5. Ölçüm sonuçlarını kaydetme seçeneği.
  6. Ölçüm aralıkları ayarı için seçenekler.
Program üzerinde sınırlı da olsa bir hata kontrolu vardır. Yani çalışırken RS232 bağlantısı koparsa ekranda bir uyarı verecek ve cihazlarınızı kontrol etmenizi isteyecektir.

Son olarak bilgisayar tarafının programını yazmak isteyenler için veri şu şekilde iletilmektedir

Bilgisayar devreye "0x17" değerini gönderir.

Sıcaklık bilgisi olarak üç bayt veri gelir. MSB ilk ve LSB son bayt olarak gelir.

Sonuç


MCP3550 görüldüğü üzere üzerine düşen görevi fazlasıyla yerine getirmektedir.
Şekil-25:Sistemin taşınabilir hali. Bluetooth..

Her ne kadar proje doğrudan RS232 ile çalışacak şekilde denense de istenirse diğer haberleşme yöntemleri ilede pek ala kolaylıkla kullanımı mümkündür. Buzdolabı buzluğu denemelerinden Şekil-25 kullanılmıştır.
Şekil-26:Buzdolabının buzluğunun sıcaklığı.Görüldüğü gibi rakamların rengi sıcaklık sıfırın altına indiğinde değişmektedir.

Alttaki grafik ise son sıcaklığa göre çizilmekte ve alan dolmaya başladığında son sıcaklık değeri sağda olacak şekilde önce değerler sola doğru ötelenecektir.


Ekler:

Atmega8 hakkında bilgi için

"Atmega8 ve MCP3550 ile LM35 termometre" projesi için gereken dosyalar

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


Translate

Sayfalar

Etiketler

İzleyiciler