Dolayısı ile sonuçta "Atmega8 ve MCP3550 ile LM35 termometre" projesi ortaya çıktı.
LM35
Şekil-1 :Kablonun ucuna lehimlenmiş LM35.
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.
Şekil-2 :LM35 negatif sıcaklığı ölçmek için veri kağıtlarında
öngörülen şeması.
MCP3550
Şekil-3 :MCP3550 kartı ön ve arka.
Şekil-4 :MCP3550 bacak bağlantıları
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
Şekil-6 :MCP3550 bit ve tanımları
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.
Şekil-8 :RS232 haberleşme kartı.
Şekil-9 :MCP3550 ADC için oluşturulmuş devre.
Şekil-10 :İşlemci kartının arkasındaki ADC kablo
bağlantıları.
Ş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.
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.
Besleme için 9V'luk adaptör unutulmamalıdır.
"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
Program ilk açıldığında gösterildiği penceredir. Bu pencere üzerindeki
öğelerin açıklaması aşağıda verilmiştir.
Ayarlar penceresi
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.
MCP3550 görüldüğü üzere üzerine düşen görevi fazlasıyla yerine getirmektedir.
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.
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....
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ı
Ş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 |
Bilgisayar Programı
Şekil-22:Bu proje için C# üzerinde yazılmış bilgisayar programı
simgesi.
"M8_MCP3550_LM35_termometre.exe" simgesi üzerine iki kez tıklayıp çalıştırıyoruz.
Şekil-23:Ana pencere.
- Ölçülen değerlerin görüntülendiği alan.
- Ölçülen son değerin görüntülendiği alan.
- Sürekli okuma veya sürekli okumayı sonlandırmak için buton.
- Son ölçüm sonuçlarına göre oluşturulmuş grafik
- Ana pencere-Ayarlar penceresi arasında geçişi sağlayan etiketler;
Ayarlar penceresi
Şekil-24:Ayarlar penceresi.
- Ana pencere-Ayarlar penceresi arasında geçişi sağlayan etiketler.
- Seri port seçimi için seçenekler.
- Baud seçimi için seçenekler.
- Rapor dosyasının kaydedildiği yer(ölçüm sonuçlarının kaydedildiği).
- Ölçüm sonuçlarını kaydetme seçeneği.
- Ölçüm aralıkları ayarı için seçenekler.
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..
Ş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.
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....
Hiç yorum yok:
Yorum Gönder