Fórum témák

» Több friss téma
Fórum » Rádiós adó-vevő modulok
Lapozás: OK   13 / 52
(#) pucuka válasza bloki hozzászólására (») Okt 22, 2011 /
 
Hát igen. Találtál valamit, és úgy gondolod, hogy már mindent tudsz. Csak sajnos ami olyan egyszerűnek tűnik, az szokott a valóságban rettentő bonyolult lenni. Azok a képletek, amikre rátaláltál, általános érvényűek, és lég-, és végtelen üres térre vonatkoznak. Azonban itt a földön ilyen nincs, mert van légkör, a maga változatos tulajdonságaival, közelben a föld, mint egy ilyen olyan, lépésről lépésre változó elektromos tulajdonságokkal, no és épületek, emberek, járművek, növényzet stb. stb.
Először is kétféle "üzemmód" szokott lenni a rádió összeköttetések terén. Állandóhelyű, és mozgó, egy, és kétirányú, jelentős eltérésekkel az összeköttetés tulajdonságaiban, ezért más más eljárásokkal kell a számításokat elvégezni, amikben jelentős eltérések vannak, és leginkább statisztikai adatokkal jellemezhetők. A szakaszcsillapításos eljárás a mikrohullámú állandóhelyű összeköttetések számítási módszere, a mozgó összeköttetéseknél a besugárzás számításokat kell alkalmazni, ahol aztán tényleg minden változik, és a legtöbb jellemző egy statisztikai átlagszám.
(#) bloki válasza pucuka hozzászólására (») Okt 23, 2011 /
 
Mint írtam, RF modulok kiválasztásához kellett valami elméleti képlet. Csak nem akartam mind a 8-at amit megnéztem megvenni. Pontosan tudom, hogy semmit sem tudok. (volt olyan modul, amilyet láttam már élőben: max 30-35-m-t vitt át beltéren erre meg kijött a Friis-egyenletből 13+ km (!) )... Megveszek ez alapján egy adó/vevő párt majd nekiállok mérni.

Kaptam egy másik linket is, hogy itt: http://www.arrl.org/ nézzek még körül.

pucuka: Ha van valami anyagod mozgó berendezésre azzal segítenél. :yes:
(#) pucuka válasza bloki hozzászólására (») Okt 23, 2011 /
 
A helyzet az, hogy a modulok kimeneti teljesítménye korlátozva van. Így az jelentősen nem befolyásolható, ugyan igazából nem is nagyon van rá szükség. Ahogy tapasztaltad a képlet szerint elég nagy távolságot át lehet hidalni vele, legalábbis elméletben. A gubanc abban a bizonyos szakasz csillapításban rejlik, ugyanis ennek a meghatározása a körülményes, és felettébb bizonytalan. 10 - 20 dB -es eltérés igen könnyen adódik a környezeti tulajdonságokból, amit 10 - 100 szoros adóteljesítménnyel tudsz kompenzálni, amennyiben a vevő érzékenységet már kihasználtad.
Amit tehetsz, az annyi, hogy olyan párt választasz, ahol az adatátvitel FSK, a vevő pedig szuperheterodin rendszerű. Ezek nem a legolcsóbb fajták, de megéri a befektetés, és jó antennával, szabad rálátással jó eredményt érhetsz el. Olyan nagy távolságra modellezésnél meg nem igazán van szükség, csa addíg, amíg a modelledet egyáltalán látod, addíg meg a rádióhullám is biztosan elmegy.
(#) Dave87 hozzászólása Nov 9, 2011 /
 
Sziasztok! Nem tudom ki foglalkozott már HM-T868S és HM-R868S modulokkal, de én most kifogtam őket. Mindkettőt 1-1 pic-kel hajtom, adó oldalon egy 16F877-es küldi másodpercenként az "ON" majd az "OFF" karaktersorozatot. Vevő oldalon egy 16F628A figyel. Ha "ON" érkezik világít egy led, ha OFF akkor nem. Ez mind működik is, addig amíg az adó pic TX és a vevő RX lába egy vezetékkel össze van kötve. De amint az adatot a levegőben kellene átvinni nem működik. Van valami konfiguráció amit el kell végezni adó vagy vevő oldalon? 2400 baud-ra van állítva mindkét oldalon a sebesség...
(#) nedudgi válasza Dave87 hozzászólására (») Nov 9, 2011 /
 
A kulcsszó: Manchester kódolás. UART közvetlenül nem ad használható eredményt rádiós/infra modulokal.
(#) Bonca válasza nedudgi hozzászólására (») Nov 10, 2011 /
 
de ad, nem kell feltétlenül a manchester kódolás.
Bővebben: Link

Bonca
(#) richard válasza Dave87 hozzászólására (») Nov 10, 2011 /
 
Hello!
Én is ilyet használtam a kapu nyitomhoz tökéletesen müködik. Annyi különbség én AVR használok,de szerintem nem sokat változtat..ha mégis akkor bicsi szóval...
Simán kapcsold az adó PIC Tx lábát ado modul tx lábához nem kell tranyó semmi más csak simán össze kell kapcsolni.
A vevő oldalon is szintén így kell eljárni PIC Rx lábát a vevő modul RX lábával. Az Enable lábat 5Vra kell felhúzni és kész is vagy.

Sima soros kommunikációt használok (Fizikus leírása) karaktert küldök ki majd ha vevő oldalon megegyezik akkor csinálja amit kell...
(#) Dave87 válasza richard hozzászólására (») Nov 10, 2011 /
 
Szia!

Pontosan így van bekötve nálam is, de valamiért a vevő oldalon, nem jól érkeznek meg a karakterek. Vagy csak én vagyok hülye. Egyelőre Bonca segít privátban rájönni a hiba okára, most ott tartunk hogy a az első karaktersorozat ami "ON", meg is érkezik, ennek hatására egy LED világít is, viszont a 2000ms-al később érkező "OFF" már nem jön át... Vevő oldalon így néz ki a progi fő része:

  1. while TRUE do
  2. begin
  3. txt:='';
  4. txt2:='';
  5. j:=0;
  6.  
  7. while Usart_Data_Ready() <> 1 do NOP;
  8. Usart_Read_Text(txt, 'OK');
  9.  
  10. for i:=0 to strlen(txt) do
  11.  begin
  12.   if txt[i]<>'Z' then
  13.    begin
  14.    txt2[j] := txt[i];
  15.    inc(j);
  16.    end;
  17.  end;
  18.  
  19.   if (txt2[0]='O') and (txt2[1]='N') and (PORTB.4 = 0) then
  20.    PORTB.4 := 1 else
  21.   if (txt2[0]='O') and (txt2[1]='F') and (txt2[2]='F') and (PORTB.4 = 1) then
  22.    PORTB.4 := 0;
  23.  
  24. end;


Adó oldalon az ON illetve OFF előtt kiküldésre kerül 10 db "Z" (hogy a vevőnek legyen ideje felébredni, Bonca cikkében le van írva miért kell ez) ezért kell az az elágazás ami a Z-től különböző karaktereket figyeli. Tehát az "ON" esetén RB4-en LED bekapcs, "OFF" már nem jön össze sehogy...
(#) Dave87 válasza Dave87 hozzászólására (») Nov 11, 2011 /
 
Nos közben meglett a megoldás, nincs manchester kód meg egyebek, mindössze 10x küldöm ki az adott karaktereket. Mivel a vevő elég lusta így kell egy kis idő mire feléled. Ajánlom mindenkinek aki hasonló gondokban van E Z T a cikket, mert nagyon sokat segített! És mehet az 5 csillag értékelés is!
(#) Bonca válasza Dave87 hozzászólására (») Nov 11, 2011 / 1
 
Ha elkészülsz a termosztáttal, írj egy cikket. Azt is sokan tudnák hasznosítani.

Bonca
(#) peti13 válasza Dave87 hozzászólására (») Nov 16, 2011 /
 
Szia! Sajnos nekem is ez az adó-vevő pár került a kezeim alá, viszont nem tudom, hogy normális dolog-e az, hogy ha az adó data lába a földre van kötve, akkor a vevő data lábán valami jel van. Nagy valószínűséggel valami zavar jel. Neked nem voltak gondjaid ezzel? Üdv.: Petya
(#) pucuka válasza peti13 hozzászólására (») Nov 16, 2011 /
 
Normális. Nem zavarjel, hanem zaj. Ha jön jel akkor megszűnik.
(#) peti13 hozzászólása Nov 16, 2011 /
 
Nem tudom. A vevő data lábára tettem egy ledet, ha a vevő nem küld semmit akkor is világít. Ha küldök egy jelet akkor előbb fényesebben világít aztán elalszik egy időre, majd megint világít. Létezhet hogy ekkora nagy legyen a zaj? Csak ezt így nem tudom felhasználni mert akkora hogy a pic sokszor logikai 1-nek nézi...
(#) peti13 válasza peti13 hozzászólására (») Nov 16, 2011 /
 
Az imént volt egy érdekes élményem. Próbálgattam jelet küldeni a vevőnek, amikor egyszer csak elaludt a led. És csak akkor világított amikor az adónak felhúztam tápra a data lábát... Magyarul úgy viselkedett ahogy kellene Az egyetlen probléma, hogy próbaképp kihúztam a tápot és ekkor vissza állt eredeti állásba, tehát megint folyton világít a led...
(#) Dave87 válasza peti13 hozzászólására (») Nov 16, 2011 /
 
Szia! Nem tudom te PIC-kel akarod-e hajtani vagy sem, de ha PIC-kel csinálod akkor csak ennyit kell tenned, hogy az PIC TX lábád az adó DATA lábára kötöd, vevő oldalon pedig a vevő DATA lábát a PIC RX lábára. Egyelőre csak próbapanelon próbáltam ki a modult, de az már biztos, hogy 10x el kell küldeni az adatot ahhoz, hogy legalább egyszer meg is érkezzen hiba nélkül a vevő oldalon!
(#) Panhard válasza Dave87 hozzászólására (») Nov 17, 2011 /
 
Ez nem törvényszerű, hogy 10x kell küldeni, függ sokmindentől. Én 2 bájtot küldök 3-szor (és ezt percenként ismétlem) egy külső hőmérőtől, mindig megérkezik az adat. Üdv!
(#) MPi-c válasza Dave87 hozzászólására (») Nov 17, 2011 /
 
Egyetértek Panhard-dal.

Dave87, peti13! Olvassátok el ezt a topikot az elejétől és főleg olvassátok el Topi írását. Pontosan benne van, hogy ezeknek a moduloknak mik a korlátai és miért. Az is, hogy hogyan lehet mégis megbízhatóan használni, miért érdemes a soros adatátvitellel byte-okat küldeni és miért kell azt valami formába kódolni.
A manchester kódolás egyfajta megoldás arra, hogy ne kerüljön több 1-es vagy 0-ás bit egymás után a küldendő adatba. Nem kell tőle idegenkedni, mert rém egyszerűen megoldható, csak egy előre megírt
tömbből kell a félbyte-oknak megfelelő mintát kivenni.
Pl. kódtábla:
  1. const unsigned char manchester[16] = {
  2.    0b01010101, //0
  3.    0b01010110, //1
  4.    0b01011001, //2
  5.    0b01011010, //3
  6.    0b01100101, //4
  7.    0b01100110, //5
  8.    0b01101001, //6
  9.    0b01101010, //7
  10.    0b10010101, //8
  11.    0b10010110, //9
  12.    0b10011001, //A
  13.    0b10011010, //B
  14.    0b10100101, //C
  15.    0b10100110, //D
  16.    0b10101001, //E
  17.    0b10101010}; //F

Pl. kódolás:
  1. putch(manchester[(KuldendoAdatByte & 0xf0) >> 4]);
  2. putch(manchester[KuldendoAdatByte & 0x0f]);

Pl. dekódolás:
  1. unsigned char ManDekodolo(unsigned char ByteDekodra1, unsigned char ByteDekodra2)
  2. {
  3.     unsigned char i, j;
  4.    
  5.     if (ByteDekodra1)
  6.     {
  7.         for(i = 0; i <= 15; i++)
  8.         {
  9.            if (manchester[i] == ByteDekodra1)
  10.            break;
  11.         }
  12.     }
  13.     else
  14.     {
  15.         i = 0;
  16.     }    
  17.     for(j = 0; j <= 15; j++)
  18.     {
  19.         if (manchester[j] == ByteDekodra2)
  20.         break;
  21.     }
  22.     return((i << 4) + j);
  23. }
(#) Dave87 válasza Panhard hozzászólására (») Nov 17, 2011 /
 
Én sem írtam, hogy törvényszerű lenne, a saját példám alapján írtam le a tapasztalataimat.

MPi-c:
A manchaster kódolással nem foglalkoztam még, de jelenleg nekem hibátlanul működik az adatküldés.
(#) MPi-c válasza Dave87 hozzászólására (») Nov 17, 2011 /
 
Nem is a manchestertől fog jól működni, inkább attól, hogy a küldött adatban ne legyen sok 1-es vagy 0-ás bit egymás mellett, ennek okát Topi cikke írja.
(#) mgy válasza Panhard hozzászólására (») Nov 17, 2011 /
 
Sziasztok !
Nekem ez bejött ! Lakáson belül simán gyüjthetem az adatokat.
Egy ócska PC soros portján veszem több adó jelét, és a program kiszűri a hibákat, vagy az adók összeveszését !
A mellékelt program rövidítve csak egy csatornát mér, de 887-be ugyan így egy 8 csatornás mérőt is építettem.
( A rajzról lemaradtak a +5 Voltokra kötendő 47µF -os kondik.)
(#) Bonca hozzászólása Nov 17, 2011 /
 
Nem az a baj, hogy miként kódolod, hanem a vevő "lustasága". Dave-nek azért kell tízszer küldenie ugyanazt az adatot, mert neki is kb. 40 ms múlva éled fel a vevő. Az is jó megoldás lenne, hogy 40 ms-ig küldi az ASCII "U" karaktert, majd egyszer a hasznos adatot. Nekem szintén ez volt a jó megoldás. Ha ezután nincs folyamatosan logikai 1-ben az adatláb kb. 80 ms-ig, akkor már elegendő egyszer is adatot küldeni, tökéletesen venni fog a vevő. Akkor van baj, ha pl. az ASCII "Z" karaktert küldöd több, mint 80 ms-ig, mert az a folyamatos logikai 1. ilyenkor a vevő tétlenséget feltételez, és alvó állapotba kerül. Az ilyen speciális esetekre valóban jó megoldás a manchester kódolás.
Ezeket a késleltetéseket én is a szkópos méréseknél láttam, ahhoz igazítottam a programokat. Az adó és a vevő adatlapja nem írt erről semmit.
(#) Bonca válasza Bonca hozzászólására (») Nov 17, 2011 /
 
ASCII "Z" helyett ASCII 255-öt akartam írni.
(#) peti13 válasza Bonca hozzászólására (») Nov 17, 2011 /
 
Köszönöm a válaszokat, Topi cikk-jét már többször is elolvastam. Igen, PIC-el szeretném a dolgot elintézni, de azt szeretném kérdezni a többi kollégától aki a HM-R és HM-T párost használja, hogy nektek is, alapállapotban amikor nincs semmi adás, akkor a vevő data lába folyamatosan logikai szintet vált? Arra számítottam, hogy lesz valamennyi zaj, de ennyi?
(#) Bonca válasza peti13 hozzászólására (») Nov 17, 2011 /
 
Elképzelhető, hogy a környezetében ezen a frekvencián működik valami: termosztát, csengő, belső telefon... Onnan szedhet össze zajt.

Bonca
(#) pucuka válasza peti13 hozzászólására (») Nov 17, 2011 /
 
Az FSK moduláció is olyan, mint egy FM moduláció. Mivel A vevő érzékenysége zajhatárig ki van használva, (ez az előnye, hogy igen érzékeny) vivő hiányában a vevő kimenetén erős (fehér) zaj jelenik meg, amiből a vevő kimeneti jelformálója véletlenszerű digitális jeleket kreál. Az FM készüléket is ha elhangolod, megnő a zaj, csak azt hallod. Erre a feladatra van a zajzár, hogy ne legyen zavaró. Az ilyen dolgok miatt is kell használni vonali kódolást, hogy a mikrovezérlő tudja, hogy mikor jön érvényes adat, és mikor csak zaj.
(#) Dave87 hozzászólása Nov 18, 2011 /
 
Sziasztok!
Felmerült egy kérdés: Szerintetek hogyan lehetne megoldani, hogy a videokártya D-Sub jelét Composit jellé alakítva egy ilyen kis adó-vevő párossal lehessen továbbítani? Mik kellenének hozzá?
(#) pucuka válasza Dave87 hozzászólására (») Nov 18, 2011 /
 
Ezeknek az adó vevő párosoknak az adatátviteli sebessége nem elegendő vídeójel továbbítására sem analóg, sem digitális módban. Amúgy hang és kép átvitel nem engedélyezett ebben a sávban, pontosan a nem elegendő rendelkezésre álló RF sávszélesség miatt.
Máskülönben miféle jel az a D-Sub?
(#) Dave87 válasza pucuka hozzászólására (») Nov 18, 2011 /
 
Ha jól tévedek akkor ez: VGA cable pinouts
(#) MPi-c válasza Dave87 hozzászólására (») Nov 18, 2011 /
 
A csatlakozó típusa a SUB-D. Többféle pólusszámal létezik.
(#) Dave87 válasza MPi-c hozzászólására (») Nov 18, 2011 /
 
Köszi, nem tudtam. De sajnos a lényegen ez sem változtat. Nem megoldható amit szerettem volna...
Következő: »»   13 / 52
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem