Sida 1 av 3

Egen radiomodul och protokoll

Postat: 14 december 2010, 12:03:24
av Lurifix
Tjenixen! Tänkte sparka igång ett liten projekt vid sidan av sådär. Är sugen på att försöka skriva mig ett eget radioprotokoll med hjälp av en mikrokontroller och en enkel radiolänk (en RF-modul som helt enkelt bara skickar den byte den får).

Skulle dock behöva lite hjälp med förslag på en billig radiolänk med hyffsad räckvidd. Kraven på radiomodulen är:

* Den ska fungera som en radiolänk, dvs. att den skickar det data den får.
* Den ska vara enkel att kommunicera med, gärna UART om möjligt.
* Den ska vara så billig som möjligt (!)

Vet att Swech har en radiomodul som fungerar precis som ovan. Dock verkar det inte som om det finns dokumentation om hur man initierar modulen från en mikrokontroller, utan bara om hur man initierar den genom ett program i datorn.

Finns det fler moduler av denna typ? Någon som har något givet förslag? :)

Tack för hjälpen!

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 12:21:36
av Joe

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 12:27:23
av Swech
Det du initierar med PCn är att sätta kanal mm..
Du behöver inte köra med PCn konstant så att säga. Har du väl satt kanal en gång så är det klart.

Det bör gå att initiera även detta via en processor.
Jag har beställt en pall med tid så att jag kan testa. Just nu är tiden slut..... :D

Swech

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 18:02:17
av Hillman
Jag har köpt 2 av dessa.
http://cgi.ebay.com/2-pcs-Wireless-RF-T ... 19c16be939
Den ena har jag kopplat mer eller mindre direkt till en FTDI-kabel till datorn och den andra har jag kopplat till en GPS-modul och driver allt med ett batteri, mest för att testa.
RF-modulen behöver inte konfigureras, förutom kopplas in på rätt sätt, utan tar emot och skickar 1 byte åt gången direkt den startas.
Jag har inte testat räckvidden på den.

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 18:09:01
av remne

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 21:49:20
av Sonar
Hej :)

Tänkte bara visa hur enkelt & billigt man kan göra en sändare och mottagare, kanske inte den bästa, kanske inte heller vad du söker, men enklare och billigare är nog svårt att fixa det hela :)

Om du vill kan du till och med ansluta en MAX232 eller liknande till nån av processorpinnarna och köra en "softuart" mot denna 8)

Den du behöver köpa är en PIC programmerare av nåt slag, finns ett antal på marknaden att välja på.
Sen laddar du ned mikroelektronikas mikroBasic, mikroC eller mikroPascal och använder ett färdigt exempel som finns med, denna använder manchester rutiner till radion :)
Kompilatorn är helt gratis och fullt fungerande!, den enda begränsningen är att max 2k "färdig" hex kod kan genereras, och i detta fall räcker det mer än väl till att skapa en fungerande datalänk.

Du kan självfallet använda en annan PIC processor om du vill, kanske en med riktig uart, eller usb ? ... välj själv.

Mottagare:
RX.JPG
Sändare:
TX.JPG
MVH. Sonny

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 22:33:22
av blueint
Dessa parametrar kan nog vara bra att specifiera:
* Räckvidd [meter]
* Datahastighet [bit/s]
* Energikrav pga batteridrift
* Vikt/volym maximum

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 22:54:08
av e5frog
Sonar, vad har du för räckvidd på den där?

Smidigt om man vill bygga trådlös joystick till sin gamla dator eller tv-spel...

Re: Egen radiomodul och protokoll

Postat: 14 december 2010, 23:57:55
av Sonar
blueint skrev:Dessa parametrar kan nog vara bra att specifiera:
* Räckvidd [meter]
* Datahastighet [bit/s]
* Energikrav pga batteridrift
* Vikt/volym maximum
Tja, lite svårt att specificera då det beror på många faktorer, detta var bara tänkt som ett exempel...ett sätt att visa på hur man kan göra :)
Självfallet så påverkas ju alla ovanstående punkter av valet av modul, och hur denna är tänkt att användas, det finns en uppsjö av dessa enkla billiga moduler, lättast är väl att analysera databladet för den modul man är intresserad av och försöka utröna om det är tillfyllest.

Ang. processorn så är det ju samma sak där, beror på en massa :oops: , t.ex klockhastighet, duty-cycle mm.

Ett exempel kan vara en "remote" mätare av något slag, som kanske kontinuerligt skickar data till en mottagare, en annan kan vara t.ex en fjärrkontroll som bara används 3-5 sekunder varannan dag eller så..
Dessa kommer ju att ha ganska stora skillnader i "batteritid", både sändare och mottagare ;)

Som ett riktmärke kan jag nämna att jag byggt ett flertal "småsändare" och mottagare liknande denna, även rent diskreta lösningar och man kan komma ned till genomsnittsförbrukningar på runt 10-40uA och räckvidder på uppåt 100 meter "LOS" eller ca. 20-30 meter inomhus, samt, i ett specifikt fall, där användningstiden var låg, upp till 3 års batterilivslängd ! , allt detta med ett CR2430 batteri 8)
Just den specifika lilla sändaren är stor om ett armbandsur ungefär och har en räckvidd utomhus på ca. 100-200 meter, ungefär som en bra "bil-fjärr".
Dessa siffor är i mångt och mycket tagna "ur huvudet" och skall betraktas som ungerfärliga :doh:

..MEN..jag säger INTE att det är lätt att erhålla detta, utan det krävs noga planering och konstruktion för att uppnå dessa värden, såsom t.ex "idle" mode på både radio och processor, där dessa strömmar kan vara så låga som 1uA tillsammans.

Vad man däremot kan förvänta sig av en dylik konstruktion är en ganska hyfsad funktion lämpad för relativt låga överföringshastigheter, < 100kb/s, samt en relativt låg strömförbrukning till framförallt, ett lågt pris + som extra bonus....relativt enkla att bygga :)

MVH. Sonny

Re: Egen radiomodul och protokoll

Postat: 15 december 2010, 01:34:17
av e5frog
Tyckte det var lustigt att de hade specifikation på sändardelen som 8kbps men mottagarenheten hade bara 4,8kbps... Varför inte samma på mottagande ända undrar man då.

Re: Egen radiomodul och protokoll

Postat: 15 december 2010, 18:06:11
av Sonar
Mmmm....plus att det inte är entydigt i övrigt heller.... :?
En sak att komma ihåg är att det skiljer sig mellan modulationstyperna, t.ex kan det vara 4,8kb/s med kanske OOK (On Off Keying) och kanske 100kb/s med ASK (Amplitude Shift Keying).
Ofta har man problem med dom lägre farterna i OOK pg.a "DC-obalans" i mottagaren, detta kan i viss mån kompenseras av tekniker som t,ex "Manchester kodning".
OOK funkar som så att man i princip har bärvåg eller inte, typ som morse kanske ;) medans ASK bygger på amplitudmodulering och FSK på frekvensmodulering.
Man kan dom ganska bra "härma" en OOK sändare med en ASK sändare, det beror lite på hur mottagaren tolkar avsaknaden av bärvåg/amplitud.

Jag har t.ex kört många OOK system ned till runt 2kb/s med bra resultat utan Manchester kodning, men haft problem med andra radiolösningar i samma hastighet.
En nackdel, om man nu anser det, är det att Manchester kodningen ger "dubbla" antalet "bitar" i överföringen och påverkar den över överföringshastighets-gränsen.
Så t.ex om ett system anger 4,8kb/s OOK och du modulerar med Manchester kodat data, så blir den faktiska överföringshastigheten 2,4kb/s.

Manchester kodningen fungerar som så att för att överföra en '1' så moduleras radion kanske 01, och en '0':a moduleras som 10.
Tittar vi då på det modulerade datat så finns det lika många '0' som '1' och därmed så har man en möjlighet till bra DC-balans i mottagaren.
Problemet med "ren" OOK är t.ex att man skickar en eller flera byte med enbart '0':or eller en med enbart '1':or, så kommer mottagaren bara att "se" en nivå på signalen och inte fasta disktinkta omslag som är lättare att synka på samt tolka. Därför uppstår detta problem tidigare vid lägre överföringshastigheter.

Problemet kan kanske jämföras med att du tittar på pulser i ett oscilloskop där du har AC-kopplat ingången, kommer pulserna ( 1:or och 0:or ) relativt ofta så får du fina pulser att titta på, men en ren dc-nivå under en viss tid ( massor av 0:or eller 1:or ) så är det svårt att se om det är en etta eller nolla på skåpet då du bara har ett streck i mitten på skåpet :oops:


MVH. Sonny

Re: Egen radiomodul och protokoll

Postat: 15 december 2010, 18:10:58
av Sonar
Här finns t.ex en annan liknande modul med en max modulationshastighet på ca. 3kb/s
http://www.rentron.com/Files/NEW_TWS_RWS_DOC.pdf


MVH. Sonny

Re: Egen radiomodul och protokoll

Postat: 15 december 2010, 18:43:36
av Icecap
Sådana radiomoduler som Sonar länkar till är rent av skit!

Dels har de ASK ("Amplitude Shift Keying" [och inte "OOK" :roll: ]) vilket ger störningar, dels är det ingen preamble eller liknande på dom. Visst kan man göra sånt, jag har själv gjort det i sin tid men det finns vissa regler man måste hålla för att ha någon tillförlitlighet alls:
* Det genomsnittliga DC-nivå bör vara 50%, kan ibland tillåtas befinn sig mellan 30 och 70%. IRL betyder det att man bör köra Manchester-kodning.
* En preamble bör köras mellan varje block, detta för att ställa rätt DC-nivå på mottagaren och för att synkronisera dataöverföringen.

Allt detta finns klart när man köper "riktiga" trancievers och man släpper fundera på detta.

Re: Egen radiomodul och protokoll

Postat: 15 december 2010, 20:47:14
av e5frog
Jo, man får väl vad man betalar för, sen beror det väl på vad man ska ha det till.

Re: Egen radiomodul och protokoll

Postat: 16 december 2010, 13:10:38
av Lurifix
Härligt!

Tack för alla svar :)

Jag är intresserad av precis en sådan modul Swech har. Men jag undrar i stort sett om det är någon som känner till fler sådan moduler?

Anledningen till att jag skapade tråden är att jag vill med hjälp av en "RF-länk" och en uC skapa en modul som jag har *FULL kontroll* på. Om man jämför med en Xbee som man egentligen inte har den blekaste om hur den fungerar, så skulle man kunna ha koll på varje puls om man haft en egen modul.

En integrerad RF-modul idag kan bete sig riktigt märkligt kan man tycka, men det beror oftast på att man missuppfattat konstruktörens manual.

Bygger man en egen RF-modul vet man precis vad den gör och varför.

Så egentligen är jag bara ute efter en "dummy"-länk som endast skickar ut det datat jag ger den. Alltså inga konstigheter. Ska fungera som en portal. Skickar jag inte 0x44 ska 0x44 ploppa ut på andra sidan. På så sätt kan jag skriva egna protokoll och kanske till och med syncha noder med varandra.

Är ni med på vad jag menar? :) Letar alltså bara efter en bra och BILLIG länk som inte har någon intelligens mer än själva försändelsen.