 | Elektrotekno.com Elektronik ve Teknoloji Merkezi
| | Yazar | Mesaj | mobility | | Tarih: 23.12.2007, 16:51 Mesaj konusu: Seri'den RF'e geciste problem (PIC16F877A) | |
| Merhaba arkadaslar,
PIC programlamaya yeni olmam nedeniyle uzun ugraslar sonucunda seri porttan haberlesmeyi basarabildim zor da olsa.
Devre, seri porttan aldigi bilgileri iki adet PIC araciligi ile LCD'ye aktariyor.
Projenin son asamasi olan RF'e geciste yalniz problem yasiyorum :
Ekte goruldugu gibi iki PIC arasina RF alici ve verici yerlestirdim (UDEA ATX ARX).
Debugging'de gordugume gore veri gonderiliyor RF vericiye ancak RF verici ya gondermiyor, ya da gonderiyor ancak alici'da bir problem yasaniyor.
Baud rate'leri ayarladim, RS232 ayarlari tamamen dogru, ve birbirinin aynisi, devreler birbirinden yaklasik 1-2 metre uzaklikta.. Her sey uygun seviyede..
Sorun sizce ne olabilir??.. :?
|
|
|
|
rizademir | | Tarih: 23.12.2007, 23:46 Mesaj konusu: kodlar?? | |
| eklentini indirdim ama kodlarin yok icerisinde :( sorunun rf haberlesme icin yazdigin kodlamada..eger yolladigin bilgi yeterince iyi kodlanmamis ise hava ortaminda bozulacaktir..sana tavsiyem manchester kod sistemini arastir.yada yazdigin kodlari yollaki yardimci olabilelim.
|
|
mobility | | Tarih: 23.12.2007, 23:53 Mesaj konusu: | |
| Ekte kodlari gonderiyorum,
LED'ler ve LCD'yi debug mode icin yaptim, ne gonderdigimi gormek ve veri gidiyor mu geliyor mu gormek icin..
Yardimci olabilirseniz cok sevinirim.
|
|
rizademir | | Tarih: 24.12.2007, 00:35 Mesaj konusu: | |
| bu kodlarla sadece 2 pic i haberlestirebilirsin..birinin daha cikis bacagini digerine kablo ile baglarsan calisir,ancak kabloyu kaldirim rf modulleri koyarsan calismaz.onceki mesajimda da soyledigim gibi hava ortami icin baska kodlama sistemleri kullanman gerek.udea nin uygulama notlarina da bi goz at derim cok saglikli olmasada o kodlar calisiyor.
|
|
mobility | | Tarih: 24.12.2007, 00:51 Mesaj konusu: | |
| Hmm tamam bir goz atayim ama benim bildigim kadariyla preamble olarak rastgele bazi veriler gonderilip basta, 1 ve 0 mesela ardarda, ardindan veriyi gondermem gerekiyor.
Seri iletisimden pek bi farkinin olmadigini okumustum bunlar disinda :?
|
|
ete | | Tarih: 24.12.2007, 10:51 Mesaj konusu: | |
| Öncelikle hemen belirteyim. İki pic seri yoldan her koşulda RF ile haberleşir. Yeterki çalışma frekansları baud rate ayarlarına uygun olsun ve her ikisinde de haberleşme ayarları ortak olsun.
RF konusunda en uygun haberleşme huzu 600 -2400 baud arasıdır. Az gibi gözüksede fazlası ile yeterli bir hızdır.
Verici kısmında yapılması gereken sırası ile;
- 5 adet $55 bayt bilgisini peş peşe gönder
- 5 adet $00 bayt bilgisini peş peşe gönder
- 5 adet $FF byte bilgisini gönder
- 1 adet takip bilgisi ("ETE") gibi gönder ve hemen ardından kendi bilgini gönder.
Mümkünse hardware USART birimini kullan.
Alıcı kısmında ise USART kesmesini aç bu kesmeyi açmadan da bilgi alırsın ancak kaçırma olasılığın artar. USART da bilgi hemen hemen hiç kaçırmazsın.
Önden gönderilen Preambl sinyalleri USART'ı aktif eder ve kesme oluşturur. Orada WAIT "ETE" ,bilgi .....
şeklinde bir alım sistemi oluşturursan bilgini rahatlıkla alabilirsin.
Aşağıda yapıp çalıştırdığım bir RF termometre sistemine ait gönderme ve alma bölümlerini veriyorum. Oradan kendine pay çıkartabilirsin. Haberleşme hızı 2400 baud dur.
GONDER:
HSEROUT [REP$55\8,REP$55\8,REP$55\8,REP$55\8,REP$55\8] 'uyandirma sinyali preambl
HSEROUT [REP$00\8,REP$00\8,REP$00\8,REP$00\8,REP$00\8]
HSEROUT [REP$FF\8,REP$FF\8,REP$FF\8,REP$FF\8,REP$FF\8]
RF=0:RF=1 'stop ve start bitleri
HSEROUT ["E","T","E",ISI1,ISI2,SIGN]
pause 500
return
AL:
HSERIN , [WAIT("ETE"),ISI1,ISI2,SIGN]
RETURN
REP$55/8 komutu 8 bitlik $55 bilgisini çıkışa göndermek içindir. Şöylede yazılabilir
Bilgi=$55
FOR I=1 to 5
HSEROUT [Bilgi]
next I
yada
HSEROUT [Bilgi,Bilgi,Bilgi,Bilgi,Bilgi]
bunların hepside geçerlidir.
Bu arada hemen belirteyim. Ben de UDEA modülleri kullandım ve kullanmadan önce UDEA nın sitesinde inceleme yaptım. Orada gerçekten faydalı bilgiler verilmiş. Hatta C dilinde RX ve TX sisteminin çalıştırılması konusunda bir örnek bile mevcut. Bakmanı tavsiye ederim. PDF dosyalarına bak.
Kolay Gelsin
ETE
|
|
ForzaFerrari | | Tarih: 30.12.2007, 17:09 Mesaj konusu: | |
| arkadaslar benimde projemin icierisinde rf ile veri gonderimi ve RS232 ile bilgisayar haberlesmesi var.bu konularda yeniyim ve az bilgi sahibiyim bana da yardımcı olabilirmisiniz acaba tesekkurler.
|
|
blatch | | Tarih: 28.03.2008, 23:25 Mesaj konusu: rf iletisim | |
| arkadaslar bende projemde 2 pic i kablosuz haberlestirip aldıgım karakterleri lcd ye yazdırıcam.Bunun icin Usart modulu kullanıyorum.ekte de gondersigım programım proteus ta ve kablo ile calıstı ancak rf ler ile bir turlu calıstıramadım.udea nın arx34 ve atx modullerını kullanıyorum.vericimde ilk basta modullerı uyandırması icin 5 tane 0x55 arkasında senkron ıcın 5 adet 0x00 ve 5 adet 0xff gonderıyorum.daha sonra arkasından 2 baytlık bır kontrol verisi arkasından lcd ye yazdırmak ıstedıgım karakteri gonderyorum.
verici
0x55
0x00
0xff
kontrol baytı
kontrol baytı
lcd icin karakter
alıcı tarfta kontrol verisini karsılastırıp dogruysa 1 sonrakı karakteri alıp lcd ye yazdırıyor
program proteusta ve board da kablo ile calıstı ancak rf moduller ile birturlu calıstıramadım
daha once bu projeleri calıstıran arkadaslarımdan yardımlarını rica ediyorum
not:ekte asm kodlarım ve proteus sımulasyonmu gonderiyorum
|
|
|
|