433 mhz lik 2 alıcı 2 verici sorunu

cenko

Üye
Katılım
8 May 2009
Mesajlar
56
Puanları
1
Yaş
35
selam beyler 2 adet 433 mhz alıcı verici yaptım ve iki makineyi kontrol edicem
2 vericiden veriyi ayrı ayrı gönderiyorum ve alıyorum bir sorun yok ikisini aynı anda çalıştığında ise sinyaller karışıyor baud rateleri ayrı ,şifreleri ayrı ,bu neden oluyor ,çözüm nedir lütfen yardım!!!
 
Baudrate ya da şifrelerle ne alakası var? Taşıyıcı frekans aynı!!
Aynı anda gönderim yaptıklarında kesinlikle birbirlerinin verilerini bozarlar, bu şekilde başka türlüsü beklenemez.
Çözüm için ya frekanslar farklı olmalı ya da veri gönderme zamanları
Farklı frekansta modül bulabilirsen kullan, ya da verici kartlarına birer alıcı modül ekle, hat aktifken, yani diğer verici data yollarken beklesinler.

Selamlar
 
tyildizak hocaya katılıyorum.
aynı anda ıkı verıcı yayın yaparsa alıcılar tepkı vermeyebılır.
 
Cenko ustam ben yukarıdaki cevapların ikisinede katılmıyorum sanki :) :)

Frekanslar aynı olsalar bile şifrelemelerde farklılıklar sayesinde problem çözülebilir diye düşünüyorum.

Örnek bir program göndereyim şifrelemedeki mantığını biraz inceleyin isterseni şifreleri değiştirerek deneyin problem olmayacağı kanaatindeyim ama yinede garanti olmaz diyemiyorum diğer ustalarımın dediği de olabilir idda etmemek lazım ;)

Alıcı :

INCLUDE "modedefs.bas"
CMCON=7
INPUT PORTB.1
OUTPUT PORTA.0
SIFRE1 VAR BYTE

SIFRE2 VAR BYTE

SIFRE3 VAR BYTE

SIFRE4 VAR BYTE

OKU VAR BYTE

SIFRE1=0

SIFRE2=0

SIFRE3=0

SIFRE4=0

OKU=0

LOW PORTA.0
BASLA:

SERIN PORTA.0,N2400,["1984"],OKU,SIFRE1,SIFRE2,SIFRE3,SIFRE4

IF SIFRE1=1 AND SIFRE2=9 AND SIFRE3=8 AND SIFRE4=4 THEN

GOTO ATLA

ELSE

LOW OKU

GOTO BASLA

ENDIF



ATLA:

IF OKU=10 THEN

HIGH PORTA.0

ENDIF

IF OKU=20 THEN

LOW PORTA.0

ENDIF

GOTO BASLA

END

verici :


INCLUDE "modedefs.bas"

CMCON=7

ANSEL=0



SIFRE1 VAR BYTE

SIFRE2 VAR BYTE

SIFRE3 VAR BYTE

SIFRE4 VAR BYTE



SIFRE1=1

SIFRE2=9

SIFRE3=8

SIFRE4=4



INPUT GPIO.0

INPUT GPIO.1

OUTPUT GPIO.5



LOW GPIO.5



AC VAR GPIO.0

KAPAT VAR GPIO.1

GON VAR BYTE

GON=0



BASLA:

IF AC=1 THEN

GON=10

SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]

ENDIF



IF KAPAT=1 THEN

GON=20

SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]

ENDIF



GOTO BASLA

END
 
Cenko ustam ben yukarıdaki cevapların ikisinede katılmıyorum sanki :) :)

Frekanslar aynı olsalar bile şifrelemelerde farklılıklar sayesinde problem çözülebilir diye düşünüyorum.

Örnek bir program göndereyim şifrelemedeki mantığını biraz inceleyin isterseni şifreleri değiştirerek deneyin problem olmayacağı kanaatindeyim ama yinede garanti olmaz diyemiyorum diğer ustalarımın dediği de olabilir idda etmemek lazım ;)


Selamlar @has_artvin_li kardeşim

Öncelikle, burada problem kodlarla ilgili değil. Tamamen analog sinyallerle ilgili.

Alıcı devreniz havadaki 433 mhz'lik sinyalleri bildiğiniz gibi 1 ve 0 olarak çıkışına verir

1 nolu verici data yollamaya başladığında, aynı anda diğer verici de data gönderiyorsa, alıcı için bu işaretlerin birbirinden farkı olmadığı için havadan aldığı tüm 1'leri çıkışına aktaracaktır. Bu durumda bu çıkıştaki bilgiyi mc neye göre yorumlayacak?

Yani henüz mikrodenetleyiciye ulaşmadan önce data karışmış olacak.Tıpkı bir jammer'ın yaptığı gibi..

Sonuçta doğru başlık byte'ı ya da byte'larını alamayan mikrodenetleyici bu karışmış işaretler yığınına tepki vermeyecektir.

Daha kötüsü de olabilir, şöyle ki:

Eğer 1. vericinin başlık byte'ı yolladığı sırada 2. verici data yollamaz da hemen ardından esas gönderilen bytle'larla eşzamanlı yollarsa, işlemci bozulmuş verileri dikkate alır! Ve eğer bu verileri tesadüfen anlamlandırırsa, sonuç, neyin kontrol edildiğiyle ilgili olarak felaket bile olabilir.




(Bunun dışında, kodlarınıza baktım, alıcı verici modüllerle bu haliyle çalışmaları pek mümkün değil çünkü uyandırma( preamble ) byte'ları eksik. Kod bu haliyle kablolu bağlantıyla çalışabilir fakat preamble byte'ları yollamadan alıcı vericiyle senkronize olmakta gecikecek ve başlık datasını kaçıracaktır.
Yollanan veri her seferinde preamble içermelidir, doğrusu şöyle olmalı:

SEROUT GPIO.5,N2400,[REP$AA\5,REP$00\5,REP$FF\5] ; preamble
SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"] ; asıl ;gönderilmek istenen data

Hatta uygulamada bu uyandırma dizisinin 3-5 kez ardarda yollanıldığı da sık görülen birşeydir.)


Selamlar, iyi akşamlar
 
Selamlar @has_artvin_li kardeşim

Öncelikle, burada problem kodlarla ilgili değil. Tamamen analog sinyallerle ilgili.

Alıcı devreniz havadaki 433 mhz'lik sinyalleri bildiğiniz gibi 1 ve 0 olarak çıkışına verir

1 nolu verici data yollamaya başladığında, aynı anda diğer verici de data gönderiyorsa, alıcı için bu işaretlerin birbirinden farkı olmadığı için havadan aldığı tüm 1'leri çıkışına aktaracaktır. Bu durumda bu çıkıştaki bilgiyi mc neye göre yorumlayacak?

Yani henüz mikrodenetleyiciye ulaşmadan önce data karışmış olacak.Tıpkı bir jammer'ın yaptığı gibi..

Sonuçta doğru başlık byte'ı ya da byte'larını alamayan mikrodenetleyici bu karışmış işaretler yığınına tepki vermeyecektir.

Daha kötüsü de olabilir, şöyle ki:

Eğer 1. vericinin başlık byte'ı yolladığı sırada 2. verici data yollamaz da hemen ardından esas gönderilen bytle'larla eşzamanlı yollarsa, işlemci bozulmuş verileri dikkate alır! Ve eğer bu verileri tesadüfen anlamlandırırsa, sonuç, neyin kontrol edildiğiyle ilgili olarak felaket bile olabilir.




(Bunun dışında, kodlarınıza baktım, alıcı verici modüllerle bu haliyle çalışmaları pek mümkün değil çünkü uyandırma( preamble ) byte'ları eksik. Kod bu haliyle kablolu bağlantıyla çalışabilir fakat preamble byte'ları yollamadan alıcı vericiyle senkronize olmakta gecikecek ve başlık datasını kaçıracaktır.
Yollanan veri her seferinde preamble içermelidir, doğrusu şöyle olmalı:

SEROUT GPIO.5,N2400,[REP$AA\5,REP$00\5,REP$FF\5] ; preamble
SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"] ; asıl ;gönderilmek istenen data

Hatta uygulamada bu uyandırma dizisinin 3-5 kez ardarda yollanıldığı da sık görülen birşeydir.)


Selamlar, iyi akşamlar

Sn tyildizak ustam emek vermiş açıklama yapmışsınız söyledikleriniz doğru olabilir hatta doğrudur da taa ki modüllerin bu hali ile çalışmaları pek mümkün değil sözünüze kadar :D Neden derseniz bu kodlar çalışan kodlardır kendim defalarca udea nın alıcı vericilerinde yani arx434 ve atx434 lerinde denedim her defasında da 10 numara sonuçkar aldım ayrıca proje ödevimin bir kısmında bu programı devresi ile birlikte kullandım hiç de sorun olmadı....

Ama dediğim gibi diğer konularda sonuna kadar haklı olabilirsiniz idda etmem sadece deneyip görmeden konuşsam yanlış olacağı kanısındayım.....

Herkese hayırlı çalışmalar dileklerimle...
 
Selamlar,
Doğrudur, "pek mümkün değil" dedim, fakat "imkansız" demedim. İstisnalar kaideyi bozmaz, tam tersi de olabilirdi.
Belki de preamble'ı kullandığınız modül kendi ekliyordur, bu tür modüller de var
Udea ürünlerini hiç kullanmadım, o yüzden bilmiyorum


Bu arada, aşağıdaki alıntı bahsettiğiniz modüllerin üreticisi firmadan, umarım aklınızdaki soru işaretlerini ortadan kaldırır:


İyi akşamlar
 

Ekli dosyalar

  • UN_1205v01_TASARIM.pdf
    152.9 KB · Görüntüleme: 13
selam arkadaşlar yorumlarınız için teşekkür ederim biz iki tane uzaktan kumandalı karışık veri gönderip yorumlayan makineler yaptık şöyleki ;birinci verici 2 POT tan okuduğu veriyi göndererek alıcıya bağlı olan servoları kontrol ediyor diğer verici ise 6 tane tuşun verisini gönderiyor... 1. deki veriyi gönderirken 3 bytlık şifre kodu ardından 2 bytelık potansiyometre verisi gönderiliyor 2.de ise 2 byte lık şifre ardından 1 byte lık tuş verisi gönderiliyor ikiside ayrı ayrı çok güzel ve hızlı bir tepki süresiyle çalışıyor dediğim gibi ikisininde aynı anda çalıştırdığında etkileşim oluyor ve sistem tabiri caizse çöküyor , hiçbir tepki görülmüyor.SN Tyıldızak 'ın dediği gibi olduğunun kanısındayım FAKAT piyasada dolaşan Vinç kontrol cihazlarınını incelediğimde hepsi aynı frekansta çalışmasına rağmen birbirlerinden etkilenmedeiğini söylüyorlar Sonuç olarak ya onlar iki tane alıcı vericiyi aynıyerde aynı anda kullanmadılar yada yalan söylüyorlar(aynı frekans konusunda) yada alıcı ve vericilerin arasında çift hat var yani veriyi gönderiyorsun ve alıcı da sana veri göderebiliyor Yani bir çeşit kalibrasyon işlemi uygulanmış olabilir... Bu konuda daha fazla araştırılma ve deneme yapılaması gerekiyor hepinize teşekkür ederim yeni cevaplar bekliyorum
 
Daha önce de belirttiğim gibi, akla iki yöntem geliyor:

1. Veri gönderen kartlarda de birer alıcı bulunacak, her iki ya da daha fazla gönderici için sabit adresler belirlenecek, ana ünite adres verisini gönderip sorgu yapacak, ilgili gönderici de kendi adres bilgisini aldığında datayı yollayacak.
Ya da ana ünite sorgu sinyali yollayacak, sinyali alan a göndericisi örneğin hemen data yollayacak, b göndericisi de x süre bekledikten sonra yollayacak

2. Farklı frekanslar kullanacaksınız,


Sizin işiniz nispeten kolay, ben 200 tonluk paralel vinçlerin iki ayrı çift kanal encoder pulslarını aynı frekansta modüller kullanarak tek işlemciyle kaçırmadan almış, aynı zamanda lcd displaye mesafe bilgilerini basmış hem de birbirlerine göre pozisyonlarının farkları belli sınırı aştığında alarm verdirmiştim. Buradan forum kullanıcılarının en basit ihtiyaçlarında her fırsatta ithal malzeme reklamı yapıp duranlara selam yollamak istiyorum, var mı elinizde böyle hazır bir ürün? Kimbilir, belki vardır, biz de boşuna uğraşmışızdır ;)


Selamlar
 
SAYIN TYILDIZAK tebriklerimi bildiririm herkez bizim kadar kafa yorsa memleket kalkınıcak...
Dışardan hazır alıp satmak kolay amaç bizim üretmemiz ,cevabına saygılar yakında denemelerime tekrara başlıyıcam çalıştığında tekrar nasıl çalıştığını yazarım saygılar..
 

Forum istatistikleri

Konular
130,108
Mesajlar
933,192
Kullanıcılar
453,163
Son üye
gurkangunc

Yeni konular

Geri
Üst