![]() |
|
|
RF Alıcı-Verici Modüllerinizi Test Edin! / 25 Ağustos 2008
Çok yaygın olarak kullanılan en basit RF alıcı-verici modüller ilk çalıştırılması sırasında sorun çıkarabilmektedir. Ben bu zamana kadar UDEA’nın atx-arx ve Keymark’ın modüllerini kullandım. Bu modülleri farklı amaçlar için çalıştırmıştım aradan zaman geçtikten sonra farklı uygulamar için bu modülleri kullanmak istediğimde ilk yazdığım koda dönüp bakmak durumunda kaldım. Çünkü her kod bu modülleri çalıştırmıyor. Yaygın bir görüşe göre bu basit modüllerin en büyük sıkıntısı uyku, veri göndermediğimiz zaman alıcı modül gelecek ilk veri için hazırlıksız durumda oluyor, tabiri caizse uyuyor. Verimizi kendisine sağlıklı bir şekilde ulaştırmak için önce alıcıyı uyandırmak (demodülasyon için clock işaretinin düzgün geldiğine emin olmak-eğer senkron demodülasyon yapılıyorsa-) gerekiyor. Bunun için de verimizden önce bir takım işaretler(uyandırma işareti) gönderiyoruz. UDEA nın uygulama notlarında hem bu işlem yapılmış hem de senkronizasyon için bazı düzenlemeler yapılmış. Keymark’tan ise ses yok, katalog bilgisini bile zor bulabiliyoruz ya da ben bulamadım.
Bir de bu modülleri kullanmak isteyen arkadaşların ilk aklına gelen test devresi verici tarafın data girişine DC uygulayıp alıcı tarafın data çıkışında led yakmak oluyor. Bu benim zamanında hiç düşünmediğim bir olaydı. Belki de DC bir işaretin modüle edildiğine hiç rastlamadığımdandır. Bahsettiğim test devresinde(çalıştığını görüp emin olduğum) bu olayı denedim, verici girişine DC(5V) verdim ve alıcı çıkışına bir led bağladım, led yanıyordu ama girişi toprağa çektiğimde de yanıyordu. Yanma dediğim de kararlı bir yanma değil, seğirme şeklinde(her iki durumda da). UDEA teknik döküman sayfasında modüller için UHF bandında ASK(amplitude shift keying) kullanıldığı söylenmiş. Şimdi bu(ASK) ON-OFF keying şeklinde de olabilir yani modüllerimiz lojik 1 için 433 MHz lik bir işaret gönderirken lojik 0 için hiç bir şey göndermiyor veya farklı genlik seviyeleri kullanılmış olup lojik 1 için A genliğinde 433 MHz lik bir işaret gönderirken lojik 0 için B genliğinde 433 MHz lik bir işaret gönderiyor olabilir. Eğer ilki gibiyse verici girişini toprağa çektiğimizde hiçbir şey göndermiyoruz demektir, alıcımız ortamdan ne gürültü alıyorsa ona göre ledi yakacak demektir. Alıcı modülün data pininin led sürme kabiliyeti ise ayrı mesele… Yani bana sorulursa bu modüllerle DC gönderme işi uygun değil. Eğer uzaktan kontrol etmek istediğiniz elemanlar led, röle gibi bir bitle kontrol edilecek elemanlar ise PIC kullanmaksızın PT2262-PT2272 çiftini kullanarak rf modüller üzerinden güvenli bir şekilde veri gönderebilirsiniz. Gelelim kendi test devremize, öncelikle biz test verisi olarak kullandığımız mikro(PIC)lar tarafından desteklenen RS232 protokolüne göre ‘A’ veya ‘B’ verilerini göndereceğiz ve alacağız(DC değil). Dolayısıyla her iki tarafta da PIC olacak, kutumda 16F628(verici) ve 16F628A(alıcı) vardı ben onları kullandım. Kodları diğer pic lere uyarlayabilirsiniz. Testimiz şöyle:
Bu arada bu test devresi ve vereceğim test yazılımında iki modül de gayet başarılı bir şekilde çalışıyor ancak keymark biraz nazlandı, bir kaç defa reset attım sonra düzgün çalışmaya başladı. Bir de yazarken aklıma geldi keymark modülleri birbirinden 1m kadar uzaklaştırıp denemekte fayda olabilir. Son olarak modüllerimizi yakın mesafede test ettiğimiz için anten bağlamaksızın çalıştırabiliyoruz. Aynı test devresini daha uzak mesafelerde denemek için 50 ohm empedanslı 17 cm uzunluğunda anten kullanabilirsiniz. 50ohm luk anteniniz yoksa 17cm lik metal bir tel kullanabilirsiniz(50 ohm luk antene göre daha düşük verimle çalışacağını kabullenerek) verici.c //UDEA ve Keymark RF atx arx alıcı-verici modüller için test programı, 6 Mayıs 2008 //verici.c //fatiherdem.net #include <16f628.H> #fuses INTRC_IO, NOMCLR, NOPROTECT, NOWDT, NOLVP #use delay(clock=4000000) #use rs232(baud=600, xmit=PIN_B2, rcv=PIN_B1) void main(){ output_high(pin_b3); //calisma gostergesi while(1){ if(!input(pin_b4) && input(pin_b5)){ putc('A'); } if(!input(pin_b5) && input(pin_b4)){ putc('B'); } } } alici.c //UDEA ve Keymark RF atx arx alıcı-verici modüller için test programı, 6 Mayıs 2008 //alici.c //fatiherdem.net #include <16f628A.H> #fuses INTRC_IO, NOMCLR, NOPROTECT, NOWDT, NOLVP #use delay(clock=4000000) #use rs232(baud=600, xmit=PIN_B2, rcv=PIN_B1) void main(){ char a=0; output_low(pin_a0); //cikislari temizle output_low(pin_a1); output_high(pin_b3); //calisma gostergesi while(1){ a=getc(); if(a=='A'){ output_high(pin_a1); output_low(pin_a0); } if(a=='B'){ output_high(pin_a0); output_low(pin_a1); } } } Bir resim: İlgili tüm dosyalar: Modüllerin Katalogları (UDEA ve Keymark için) Çalışmayla ilgili resim-video (60 Mb) (Öğretici içerik notu: %15) “RF Alıcı-Verici Modüllerinizi Test Edin!” için 20 YorumYorum Yapın |
|
| |
25 Ağustos 2008, 10:01
test önemli elektronik şanş işi çok kalitesiz parçalar var piyasada yada beklemiş atx ve arx modüller ile uğraşan kişilerin bir köşede bulundurmaları gereken bir devre Teşekkürler
25 Ağustos 2008, 10:01
Fatih bey, Açık olmadığını düşüdüğünüz bilgileri, ürünlerin kılavuzuna ekliyeceğiz. Verilen bilgiler için teşekkür ederiz. Not: ARX ve ATX kodları udea tarafından üretilmekte olan ASK modüllerinden bir alıcı ve bir vericinin model ismidir.
29 Ağustos 2008, 08:58
Öncelikle yorumunuz için ben teşekkür ederim. arx-atx modülleriniz oldukça yaygın olduğundan selpak-peçete misali modülleri arx-atx olarak adlandırmışım, gerekli düzeltmeleri yaptım. Bence kılavuz ve örnek kodlar modüllerin kullanılması için gayet yeterli, bir yerde ASK ama OOK mi diye sormuştum ancak bu bilgi modüllerin kullanılmasıyla pek de alakalı değil. Size iyi çalışmalar, başarılar dilerim. Saygılar.
05 Ekim 2008, 20:58
bu keymark modüllerin analog ve dijital olanları varmış. bunların analogmu dijital mi olduğunu nerden anlıycaz yani ask mi fsk mı. elimde modül var ama ask olduğundan emin diğilim nerden örenebilirim üstünde yazmıyor.
06 Ekim 2008, 20:08
Modüllerinizin katalogundan(datasheeti) bu bilgileri öğrenebilirsiniz. Katalogları bulmak için modülünüzün üzerinde yazan ismi googleda arayabilirsiniz.
08 Ekim 2008, 11:25
Simülasyon(proteus) + kod(verici.c, alici.c, pre_verici.c, pre_alici.c, *.hex)
dosyalara ulaşa mıyorum yardım edermisiniz
08 Ekim 2008, 23:43
Bağlantıyı yeniledim, kusura bakmayınız, uyardığınız için teşekkür ederim. İyi çalışmalar dilerim.
28 Mart 2009, 23:42
Fatih bey, deneyimlerinizi paylaştığınız için teşekkürler. Çok yardımcı oldunuz.
29 Mayıs 2009, 17:19
FATİH BEY KOLAY GELSİN, ESKİ BİR KONU ANCAK BANA YARDIMCI OLABİLECEĞİNİZİ DÜŞÜNDÜM RF İLETİŞİMDE BİR DEN FAZLA VERİCİDE VE BİR ALICIDA DOĞRU VE TEMİZ BİR İLETİŞİM SAĞLAYABİLMEK İÇİN BANA NE ÖNERİRSİNİZ? BEN BU BAŞLANGIÇ BİTİNİ BİTİŞ BİTİNİ İLETEN VE ALAN ARASINDA NASIL KULLANACAĞIM
NOT : C DİLİNİ BİLMİYORUM BASIC İLE YARDIMCI OLURSANIZ SEVİNİRİM
TEŞEKKÜRLER
23 Haziran 2009, 11:49
Arkadaşlar,
Şu “&” işlevini kısaca açıklayacak bir arkadaş var mı acaba.
İnternette bi aratma yaptım. Bilgi kirliliğinden hiç birşey bulamadım.
Programı biraz değiştirerek kullanmak istiyorum ama bu mantığı anlayamadım.
void main(){
output_high(pin_b3); //calisma gostergesi
while(1){
if(!input(pin_b4) && input(pin_b5)){
putc(’A');
}
if(!input(pin_b5) && input(pin_b4)){
putc(’B');
}
}
}
23 Haziran 2009, 12:12
“&” ler kullandığım kod editörünün hatası, kodda “&” yerine & olması gerekiyor. Şimdi düzelttim. Mantığı şöyle: B4 ve B5 pinlerini biz kontrol ediyoruz. B4 pini lojik0, B5 pini lojik1 yaptığımızda A verisini gönderiyoruz, tam tersi durumda B verisini gönderiyoruz. İyi çalışmalar.
23 Haziran 2009, 12:54
Zaten copy/paste yapınca daha anlaşılır oldu
Hızlı cevabınız için teşekkürler.
25 Haziran 2009, 13:22
Merhabalar. Ben rf alıcı vericiler hakkında bi deneyimim olsun istiyorum. bu yüzden bir çift almayı düşünüyorum. Sizce bu yukarıdaki markalardan birinimii tercih edeyim?+maliyet olarak tahmini ne kadardır?
25 Haziran 2009, 13:32
Ben keymark modüllerin alıcı-verici çiftini 10 TL ye almıştım. UDEA lar daha pahallı, ikisi de kullanılabilir.
25 Haziran 2009, 13:38
Merhaba,
Ben UDEA’dan online sipraiş ile aldım.
Aşağıdaki ki linkten bakablirsin
http://www.udeashop.com/index.php
12 Temmuz 2009, 17:30
Fatih bey elim de rf alıcı -verici modül var. sizin test devresini kurdum.Bu modülleri ilk denememde sizin dediğiniz gibi ben bilgi yollamasam bile alıcı taraf kendi başına led yakıp söndürüyordu.Bende alıcıdaki trimpotun ayarını oynadım şimdi ne rastgele yanıyor, ne de benim yolladığıma göre yoksa alıcı modülüm bozuldu mu?Bir sorumda alıcıdaki o bobin sarılı trimpotun görevi nedir?
cevap yazarsanız sevinirim.kolay gelsin
13 Temmuz 2009, 10:39
Alıcı üzerindeki bobin frekans ayarı için, alıcı modülü 433 MHz veya 315 MHz bandında kullanmak isteyenler olabildiği için alıcı modüllere öyle bir seçenek koyuyorlar diye biliyorum. O bobinin ayarıyla hiç oynamamak gerekiyor, aldığınızda 433 MHz e ayarlıdır. Modül bozulmamıştır, bobin ayarı düzeltilebilir tabii ki.
Evet, veri göndermesek de ledler yanabiliyor, bu durumun önüne öncü veri göndererek geçiyoruz ancak test devresinde amaç sadece çalıştığını anlamak. O test devresinde modüllerin çalıştığını anlamak için doğru değişikliğe doğru cevabı test etmeniz gerekiyor.
Yerinizde olsaydım test devresini kurar ve bobinin değerini küçük küçük çevirerek eski değerini bulmaya çalışırdım veya şöyle bir şey tavsiye ediliyor: Alıcının çıkışını not kapısından geçirip mini hoparlöre bağlayınız. 433 MHz lik vericinizden de rastgele bilgi gönderiniz. Bobini çevirerek hoparlörden duyduğunuz sesin en şiddetli olduğu yeri bulunuz, ben bu yöntemi hiç denemedim.
En olmadı yeni bir çift modül alıp bobiniyle hiç oynamadan test devresini çalıştırırsınız sonra eski ayarı bozulmuş modülü ayarlayabilirsiniz.
İyi çalışmalar.
30 Aralık 2009, 17:24
arkadaşlar verici modulden gönderdiğiniz dataları alcınıza dogru aktarmanız için checksum kullanmanız gerekiyor aksi takdirde havadan gelen datalar ile ledleriniz halen yanıp sönmeye devam edecektir.ve ayrıca önce donanım senkronu için preamble (”UUUUU” ve sonra soft sencron için herhangi bir karakter gönderin ve alıcıda sürekli bu karakteri bekleyin.karakter gelir gelmez diğer dataları alın ve csum kontrolunyapın
05 Ocak 2010, 12:47
merhabalar.ben geçenlerde bitirme tezim için udea firmasının ufm-a12wpa modem modülünü aldım,sanırım bu modül çoğu işi yapıyor diğer modüllerde ayarlamamız gereken,bu modülü karşılıklı data alış verişi için kullanmam esnasında nasıl bir yol izlemeliyim.hi-tech c dili düşünüyorum ama pic basic daha mı kolay olur ve de preamable synchronization falan göndermem gerekmiyor sanırım.yardımcı olursanız sevinirim.iyi günler diliyorum
29 Ocak 2010, 18:37
Merhabalar;
2 ayrı rf vericiden tek bir alıcıyla bilgi almaya çalışıyorum.
her 2 cihazıda ayrı ayrı test ettiğimde problem yok,
ama aynı anda çalıştıklarında alıcı tarafındaki pic kilitleniyor.
rf setim keymark tipi sanırım.
pic te 2 ayrı alıcı ilede almaya çalıştım yine olmuyor.
farklı frekanslarda da denedim yine başarılı olamadı
ALICI Tarafında
serin2 porta.0,1646,[wait("b1"),y1]
serin2 porta.0,84,[wait("a1"),x1]
VERICI Tarafında
serout2 portc.6,1646,[REP$AA\5,REP$00\5,REP$FF\5] ‘uyandırma işareti yolla
serout2 portc.6,1646,[("b"),("1"),toplam]
diğer vericide
serout2 portc.6,84,[REP$AA\5,REP$00\5,REP$FF\5] ‘uyandırma işareti yolla
serout2 portc.6,84,[("a"),("1"),toplam]
şeklinde pic programları çalışıyor, yardımcı olabilirseniz çok sevinirim.