rf modülleri ile ilgili bir problemim var.

Başlatan sahinler64, 26 Ekim 2008, 16:40:14

sahinler64

slm kardeşler.benim 2 adet modül ile bir problemim var.şimdi verici modülü olarak udea nın "UTX-C17U" ve alıcı olarakta yine udea nın "UTR-C12U" modüllerini kullanıyorum.alıcı ve verici taraflarında 2 adet pic16f84a yı kullandım.programı basit bir şekilde yazdım.(basit diyorum çünkü 2 adet butonla 2 adet role kontrolü yapacağım.) baunt hızını t2400 için 396 yaptım.
devre ve modüller çok iyi çalışıyor ama bazen tutukluk yapıyor.yani açık kalan role kapanmıyor veya kapalı olan role açılmıyor.kısa mesafede problemim yok.daha önce pt2262 ve pt2272 serileriyle yaptığım devre aynı modül ve aynı mesafede sorunsuz çalışıyor idi ama picli bir sisteme dönüşüm yapalım dedik işi berbat ettik.
baunt hızını düşürerek deneme yapsam bir çözüm olurmu...
SAYGILARIMLA...

mustafa_cmbz

çıkış olarak ayaradığın hızı düşür hocam...pic ile kullandığın kristalin değeri küçük olduğunda pic yüksek hızlara bazen cvp vermez..arasıra data çıkar işte oda dediğiniz gibi röleyi çeker bırakmaz...yada kristalin değerini değiştir...

edit: hızı zaen 2400 e ayarlamışsın onu okumadan atlamışım....eğer sorun çıkartıyorsa pause gecikmeleri kullanarak programı rahatlat...

ipek

programa hakim isenis pre amble yani ön uyandırma süresini vericide biraz uzun tutun işe yarar..

sahinler64

kusura bakmayın pogramı vermeyi unuttum.program dediğim gibi çok basit.yani fazla teferruat yok.kısaca program şöyle...
alıcı:
TRISA=%00000001 'A PORTUNUN 1.PİNİ GİRİŞ DİĞERLERİ ÇIKIŞ OLARAK AYARLANDI.
TRISB=%00000000 'B PORTUNUN 4 VE 5. PİNLERİ GİRİŞ OLARAK AYARLANDI
PORTA=0
PORTB=0

ALICI VAR Byte
ALICI=0
PAUSE 5000

BASLA:

SERIN2 PORTA.0,396,[Wait("SHNLR"),ALICI]

   If ALICI=10 Then
   High PORTB.0
   EndIf
   
   If ALICI=15 Then
   Low PORTB.0   
   EndIf

   If ALICI=20 Then
   High PORTB.7
   EndIf

   If ALICI=25 Then
   Low PORTB.7
   EndIf

GoTo BASLA
End
************************************************************
verici:
TRISA=%00000000 'A PORTUNUN TÜMÜ ÇIKIŞ OLARAK AYARLANDI.
TRISB=%00110000 'B PORTUNUN 4 VE 5. PİNLERİ GİRİŞ OLARAK AYARLANDI
PORTA=0
PORTB=0

VERICI VAR BYTE   
   VERICI=0
PAUSE 5000


BASLA:

   IF PORTB.4=0 THEN
   VERICI=10
   GOSUB GONDER
   ENDIF

IF PORTB.4=1 THEN
   VERICI=15
   GOSUB GONDER
   ENDIF

IF PORTB.5=0 THEN
   VERICI=20
   GOSUB GONDER
   ENDIF

IF PORTB.5=1 THEN
   VERICI=25
   GOSUB GONDER
   ENDIF
   
GOTO BASLA


GONDER:
SEROUT2 PORTA.0,396,["S","H","N","L","R",VERICI]
SEROUT2 PORTA.0,396,["S","H","N","L","R",VERICI]
SEROUT2 PORTA.0,396,["S","H","N","L","R",VERICI]
RETURN
END
SAYGILARIMLA...

Mustafa48

Bende senin gibi serout ile çalışmıştım fakat UDEA modüllerde pekte verimli olmadı. ETE arkadaşımızın önerisiyle Hserout kullandım. Şu anda yaklaşık 6 km mesafedan çif taraflı haberleşme yapıyorum Ve muazzam çalışıyor. ( ETE arkadaşımıza yardımlarından dolayı ayrıca teşekkür ederiz) PICBasicPro Formunda Proğramın tamamını verdim.  http://picproje.org/main/modules.php?name=Forums&file=viewtopic&p=150177

Kolay gelsin

sahinler64

Alıntı yapılan: "jetmusto"Bende senin gibi serout ile çalışmıştım fakat UDEA modüllerde pekte verimli olmadı.
demişsin.başka hangi firmanın modülü var ve onu kullandın.öğrenmek isterim.belki faydası olur.
SAYGILARIMLA...

Mustafa48

UDEA Modül kullandım Başka modül varmı bilmiyorum .SERİN2 komutu yerine HSERİN kullandım . UDEA gayet iyi çalışıyor