pic-sensör-gps sorunu

Başlatan e_mc2, 25 Aralık 2007, 21:17:17

e_mc2

arkadaşlar merhaba.benim şöyle bir sorunum var.bilgisayardan sensöre rs-232 ile bilgi yollayıp bilgi alabiliyorum.gps'tende bilgi alabiliyorum.kullanacağımız sistemde bilgisayar kullanmamak için pic 16f84 ile bir devre tasarladık.pic'e 2 comport bağladık.bu iki comportu bilgisayara bağladığımızda istediğimiz komutların hepsini görüyorum.fakat gps modüle ve sensöre bağladığımzda tık yok.
*Max-232 kullanmadık.onun yerine 22k ve 1k direnç bağladık.bunun bir etkisi olabilir mi?ilginiz için şimdiden teşekkürler.

bcavlak

Merhaba e_MC2 ,
Bu tür uygulamalarda RS232 nin voltaj seviyesi çok önemli.
Öncelikle sensör ve GPS modulun portlarının çıkış voltaj seviyesi  -+5v mu yoksa -+15v üstünde mi bunu öğrenmek gerekiyor.
Eğer TTL(25V) çıkış ise onu CMOS(5v) a dönüştürmek için MAX232 gibi dönüştürücüleri kullanmalısın. Yada bunun tam tersini yapmalısın.
Bu arada bilgisayar ile çalışıyorsa TTL porta sahiptir ve PIC ın portlarına MAX232 kullanmalısın.
Kolay gelsin...
Bilgiler, paylaşıldıkça değer kazanır.

mp3dragon

Alıntı YapEğer TTL(25V) çıkış ise onu CMOS(5v) a dönüştürmek için MAX232 gibi dönüştürücüleri kullanmalısın
bu ne böyle şimdi?

doğrusu burada;

İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

ahmet2004

mp3dragon arkadaş PC'den çıkan comport voltajlarından bahsediyor.

Voltaj seviye uyarlaması için max232 türü entegre kullanmak gerekiyor.

ete

PC nin Com portunda kullanılan voltaj seviyelerine bakarsanız sorunun kaynağını anlarsınız ve neden RS232 çeviricisi kullanmanız gerektiğinide anlarsınız.

PC Com port da HIGH demek -10 V demektir.
PC Com port da LOW demek +10 V demektir.

Pic tarafında ise;
HIGH = +5V
LOW = 0V
olduğundan PC den gelen HIGH sinyalini Pic in anlayacağı seviyeye yani;
-10V un +5V ta dönüştürülmesi zorunludur.
AYnı şekilde PC den gelen Low sinyalininde Pic in anlayacağı seviyeye yani;
+10V un 0V seviyesine çevrilmesi gereklidir.
RS232 entegresi bu çevirimleri yapmaktadır. BU entegre +5V kullanarak dahili şarj pompası kanalı ile gerekli voltajları üretir ve çevirimleri yapar.
Bu yüzden kesin neticeler almak istiyorsanız bu entegreyi kesinlikle kullanmanızı tavsiye ederim.
Direnç kullanarak ve gelen veriyi tersleyerek PC den Pic'e bilgi okutulabilir. Ancak pic den PC ye bilgi gönderilemez. Seviye tutmaz çünki.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

picker

Arkadaşlar, madem GPS tasarımına merak sardınız,
ekteki linke bir göz atmanızı öneririm...

http://lea.hamradio.si/~s53mv/navsats/theory.html

bcavlak

Tekrar merhaba,

Sanırım durum anlaşıldı(RS232 Voltaj seviyesi).
Aksi halde bilgi vermekte mi suç oldu biz foruma cevap yazmayalı?

GPS yada GSM modemlerin terminal tiplerinde genellikle çıkış portlarında PC UART uyumluluğu için MAX232 vs gibi entegreler kullanılıyor.
Mıkrokontroller ile kullanmak için yine RS232 çeviriciler kullanmak gerekiyor.
Bunu anlamanın en kolay yontemi TX uclarındaki Volt seviyesini ölçmektir.

Acaba yine anlaşılması zor bir şey mi yazdım:)
Herkese kolay gelsin.
Bilgiler, paylaşıldıkça değer kazanır.

e_mc2

verdiğiniz bilgiler için çok teşekkürler.max232 bağladıktan sonra sensörden 15 karakterlik bilgiyi aldım ama gps'i daha denemedim.onu yarın deneyeceğim.yalnız sensörden bilgisayara gelen karakter dizisi ile pic'in yolladığı karakter dizisi birbirini tutmuyor.pic'ten gelen 15 karakterde problem var.9600 baud rate de çalışıyorlar.şimdi bu problem çıkardı.

bcavlak

sorun PIC ten gelen mi yoksa sensorden gelen mi sorunlu?
Bu arada sensore komut yolluyor ve cevap olarak 15 karakterlik bir bilgi alınıyorsa sorun yoktur. Ancak gelen karakterler beklediğin karakterler değilse PIC in çalışma frekansı 9600 baud için en az 20 MHZ olmalı.
Bu nedenle sorun oluyor olabilir.
Ama daha kesin bilgi verebilmek için PIC ve sensor konusunda daha fazla bilgi sahibi olmak gerekiyor.
Umarım uygulaman sorunsuz çalışır.
Kolay gelsin.
Bilgiler, paylaşıldıkça değer kazanır.

e_mc2

picten gelen veri sorunlu.saçma sapan karakterler gösteriyor.20mhz kristali yarın deneyeceğim.