PIC 18F452 İle Sıcaklık-Nem-Basınç Algılayıcı

Zorlu bir yılın ardından üniversitede dersler bitti. Benim gibi DGS ile elektrik-elektronik mühendisliğine geçenlerin işi gerçekten zor :D Dersler zaten zor birde üzerine intibak döneminde olmanın stresi… İyi kötü elimden geleni yaptım ama 16 dersin 5’inden kalmayı başardım. Bu yüzden tatil boyunca ders çalışmaya devam :D Ders çalışmanın yanında bu yaz uygulamayı düşündüğüm bazı projelerim var.
Projelerim;
• Birden çok sensör kullanılarak elde edilen verilerin kablosuz olarak bilgisayara aktarılması ve görsel bir arayüz kullanarak veri kaydedilmesi. Elde edilen veriler doğrultusunda uzak noktadaki çıkışların kontrol edilmesi ve LCD kullanılarak mesajlaşmak.
• Yukarıdaki projenin geliştirilerek ethernet ve USB üzerinden erişim sağlanması, verilerin her uç noktada SD/MMC karta kaydedilmesi,
• Eğer yukarıdaki projeler biterse protip PCB için basit bir CNC yapmak :D
Bu projeleri gerçeklediğim takdirde PIC ve PICC konusunda epey yol kat edeceğime inanıyorum. Yaptığım çalışmalara elimden geldiğince paylaşmaya çalışacağım. İlk projemiz 18F452 ile sıcaklık-nem-basınç değerlerinin algılanması. Sıcaklık ve nem değerlerini algılamak için piyasada en çok bulunan SHT11 sensörünü kullandım (Biraz pahalı ama kaliteli :D )
Basıncı algılamak içinse MPX5100A sensörünü kullandım. SHT11 zaten dijital çıkış veriyor ve i2C protokolü ile haberleşiyor. Kullanımı için gerekli kütüphane dosyaları PICC için mevcut.
MPX5100A basınç sensörü ise analog bir çıkış üretiyor. Çıkışından elde edilen gerilim değeri kullanılarak basınç değeri hesaplanıyor. Gerekli formül datasheet’inde mevcut ve şu şekilde;
Nominal Transfer Value: VOUT = VS (P x 0.009 – 0.095)± (Pressure Error x Temp. Mult. x 0.009 x VS) VS = 5.0 V ± 5% P kPa
Buradan P değişkenini çekerek basınç değerini hesaplayabiliyoruz. Programı PICC dili kullanarak yazdım. Açılışta ve ana ekranda gösterilen grafikleri daha önce ki yazılarımda anlattığım şekilde Bitmap2LCD programını kullanarak oluşturdum.

SHT11 ve MPX5100A’yı plakete dişi header kullanarak bağladım böylece istediğim zaman kablo ile uzatma yapabileceğim. Başlangıçta tek kaynaktan PC’ye veri aktaracağım için devreye grafik LCD ve fazladan butonlar ekledim ilerde kullanmak amacıyla. Sonraki adımda verileri RS232 üzerinden PC’ye aktarıp görsel bir arayüz aracılığıyla veritabanına kaydedeceğim.
Projeyi bu aşamadan sonra adım adım ilerletmeyi ve maddi güçüm, vaktim, vs yeterse 1 ayda bitirmeyi düşünüyorum.
Kolay gelsin :D
Projenin isis simülasyon görüntüsü
Projeye ait kaynak kod dosyaları, proteus isis simülasyon şeması ares pcb dosyaları: pic-18f452-ile-sicaklik-nem-basinc-algilayici.ZIP
PIC 18F452 İLE SICAKLIK-NEM-BASINÇ ALGILAYICI (Malzeme Listesi)
|
MALZEME ADI |
ADET |
|
PIC16F452 |
1 |
|
128×64 GRAFİK LCD |
1 |
|
20MHz KRISTAL OSİLATÖR |
1 |
|
33 pF KONDANSATÖR |
2 |
|
100 nF KONDANSATÖR |
2 |
|
330 uF KONDANSATÖR |
2 |
|
10KΩ Direnç |
5 |
|
7805 REGÜLATÖR |
2 |
|
1N4001 DİYOT |
2 |
|
SHT11 (SICAKLIK-NEM SENSÖRÜ) |
1 |
|
MPX5100 (BASINÇ SENSÖRÜ) |
1 |
|
KLEMENS |
1×2(GİRİŞ) |
|
BUTON |
41 |
|
ERKEK-DİŞİ HEADER PİN |
- |
Yazar: Konyalı
Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 15 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız; Konyali












@Özcan Çiftçi
ben sht11 için http://www.denizelektronik.com/sht11.htm linkteki sensörü almıştım sende bu tip bir adaptör pcb yapabilirsin. Sensör havya ısısına çok fazla dayanamaz profesyonel yardım almalısın. Yada çok dikkatli ol smd malzemelerin lehimlenmesi hakkında internette videolar vs var onları izle. Grafik lcdye gelince bende PG12864-D marka lcd vardı çizimler ona göre kendi lcd markanızın internetten datasheet ine bakıp pin bağlantılarını vs düzenleyin.
Kolay gelsin
sht11 i bir şekilde yaparım ama bendeki lcd grafik ekran 20 bacak ama adam bana 128×64 olarak yolladım dedi sadece 20 bacak o kadar normalde devreye taksam çalışır mı?datashete baktım ama bulamadım bi zahmet siz yardımcı olsanız modeli pvg120602 uyumlu olurmu sizce..
selam ,
devreyi proteusta açıyorum ama açılmasıyla kapanması bir oluyor. proteus 7.7 sp2 den mi kaynaklanıyor acaba bu arada emeğine sağlık kardeşim
“şema.PWI” dosyasını silip tekrar deneyin
çok sağ olun emeğinize sağlık.
Grafık lcdyi nereden temin edebilirim yardımcı olurmusunuz markası nedir söylermisiniz?
hex dosyası hangisi bu devrenin pice yazılan bir sürü dosya var anlayamadım yardımcı olursanız sevinirim birde baskı devresinde 4 tane bosyere bir şey takılıyor mu parca ismi verilmemiş
teşekkürler
@Muhammet
Yorumlarının tamamını ve yazıyı okursan sorularının cevapları var. 4 tane boş yer dediğin sanırım buton veya erkek header’dır.
Kolay gelsin
konyali ellerine sağlık bu devre için senle görüşmemiz mümkün mü aklıma takılan bazı sorular var ve kodlamada bazı yerlerde degiştirmem gereken şeyler var eğer yardım edersen çok güzel olur proje olarak sunacağım bunu okulda…
Sizden programın MİLİBAR cinsinden dönüşümünü nasıl yapabileceğimiz konusunda yardım alabilirmiyiz? Proje gerçekten harika teşekkürler.
@Mert
MPX5100 datasheet’ine bakarsan orada sensör çıkış geriliminden kPa cinsinden basınç değerini elde etme formulü var. kPa cinsinden basınç değerini elde ettikden sonra 1 Pa=10^-5 Bar eşitliğini kullanarak çevrim yapabilirsiniz. Örnek;
Devre resminde görülen 100.39 kPa=1,0039 Bar= 1003,9 mBar yapar
Merhaba ben devreyi kurdum baskı devre üzerine çalıştırdım. Ama şöyle bir sorunum var. Açılış ekranında çok bekliyor. ve açılış ekranındaki yazılarda çok geç geliyor anlamadım. Yardımcı olursanız sevinirim.