Tankar kring 433 MHz rx/tx
Tankar kring 433 MHz rx/tx
Har lite funderingar på ett litet projekt. Dock behöver jag trådlös överföring. Det skall inte skicka ngn data, bara ett id. Funktionen skall eg vara som en trådlös dörrklocka. Vid en händelse triggar tx rätt rx modul. Thats It. Finns det några bra exempel hur man kan implementera detta med pic. Har redan skaffat tx/rx moduler.
Re: tankar kring 433Mhz rx/tx
Men... ID är data! Eller hur?
Själva överföringen av data är synnerligt enkel - men beroende på vilka radiomoduler som ska användas finns det mycket som kan bli riktigt besvärligt.
Tillåt mig att gissa: det är billiga ASK-moduler från t.ex. K&C, art# 88900 & 88901.
Att den typ moduler är skit är väl numera välkänd men ändå vill jag beskriva vad som behövs:
För att starta kommunikationen behövs en preamble till radion.
Denna består oftast av en rad '1' och '0' och sänds för att synkronisera timingen på mottagaren samt DC-nivån i dataslicern.
Sedan måste det komma ett sätt att avsluta denna ström av '1' och '0' och som kan användas till att signalera att "nu börjar data". Man kan göra detta med t.ex. 10 st '0' följd av 10 st '1'.
Nu kan man överföra data med en UART - men man ska komma ihåg att man - rent teoretisk - ska skicka en '0' för varje '1' och vice-versa. Det kan dock oftast tillåtas att nivån varierar mellan 30% och 70% - men det är enklast att bara använda varannan bit i en normal 8-bit UART-överföring och sedan i de oanvända bits lägga in motsatsen till bit'en innan.
Självklart ska man lägga till någon form av checksum som kan validera paketet.
Allt detta kan skötas med en UART om man funderar ganska hårt och känner till hur de fungerar.
En UART Tx är i viloläget '1', styr detta då Tx sänder den kontinuerligt, alltså måste den vändas.
Preample kan göras vid att sända 10+ st 0xAA, detta ger växelvis '1' och '0', inkl. start och stoppbit (bara 1 stoppbit!)
Sedan kan man sända en 0x00 och en 0xFF som "stop av preamble".
Och sedan sänder man de data som ska överföras med varandra bit som kompensering.
På mottagaresidan ska man säkra att när sändaren sänder kommer det en '0' till UART Rx så att de två sidor följs åt.
Sedan kan man behöva att sända samma paket t.ex. 3 gg, har för mig att t.ex. NEXA gör så.
==========
Om det däremot är vettiga radiomoduler (t.ex. sådana här, bara typexempel) är det bara att skicka data och ta emot dom och kontrollera att adressen är rätt.
Själva överföringen av data är synnerligt enkel - men beroende på vilka radiomoduler som ska användas finns det mycket som kan bli riktigt besvärligt.
Tillåt mig att gissa: det är billiga ASK-moduler från t.ex. K&C, art# 88900 & 88901.
Att den typ moduler är skit är väl numera välkänd men ändå vill jag beskriva vad som behövs:
För att starta kommunikationen behövs en preamble till radion.
Denna består oftast av en rad '1' och '0' och sänds för att synkronisera timingen på mottagaren samt DC-nivån i dataslicern.
Sedan måste det komma ett sätt att avsluta denna ström av '1' och '0' och som kan användas till att signalera att "nu börjar data". Man kan göra detta med t.ex. 10 st '0' följd av 10 st '1'.
Nu kan man överföra data med en UART - men man ska komma ihåg att man - rent teoretisk - ska skicka en '0' för varje '1' och vice-versa. Det kan dock oftast tillåtas att nivån varierar mellan 30% och 70% - men det är enklast att bara använda varannan bit i en normal 8-bit UART-överföring och sedan i de oanvända bits lägga in motsatsen till bit'en innan.
Självklart ska man lägga till någon form av checksum som kan validera paketet.
Allt detta kan skötas med en UART om man funderar ganska hårt och känner till hur de fungerar.
En UART Tx är i viloläget '1', styr detta då Tx sänder den kontinuerligt, alltså måste den vändas.
Preample kan göras vid att sända 10+ st 0xAA, detta ger växelvis '1' och '0', inkl. start och stoppbit (bara 1 stoppbit!)
Sedan kan man sända en 0x00 och en 0xFF som "stop av preamble".
Och sedan sänder man de data som ska överföras med varandra bit som kompensering.
På mottagaresidan ska man säkra att när sändaren sänder kommer det en '0' till UART Rx så att de två sidor följs åt.
Sedan kan man behöva att sända samma paket t.ex. 3 gg, har för mig att t.ex. NEXA gör så.
==========
Om det däremot är vettiga radiomoduler (t.ex. sådana här, bara typexempel) är det bara att skicka data och ta emot dom och kontrollera att adressen är rätt.
Re: tankar kring 433Mhz rx/tx
Jo id är oxå data. Menade mest att det inte sker ngn avancerad kontinuerlig kommunikation. Tar till mig av infon. Japp det är fina billiga moduler som du nämner. Tack även för länken på den bättre modulen
Re: tankar kring 433Mhz rx/tx
Och bara för att vara tydlig: jag har gjort detta i sin tid! Då med en FSK-radio men detta protokoll gav bra överföring. Så det är (tragisk?) erfarenhet som jag skriver detta utifrån. "Tragisk" pga. den tid det tog att få ordning på detta.
ASK-radio är med benägna att störas av brus men i båda fall ska mottagaren "värmas upp" på detta vis för att få lite vett i det hela.
Swechtrading-enheten är den billigaste jag har sett av den typ moduler, jag har inte testat dom men ser dom som en vettig och ekonomisk representant för den typ radio. Jag rekommenderar alltså inte specifikt dom - men avråder definitivt inte heller, de är bara en av många.
ASK-radio är med benägna att störas av brus men i båda fall ska mottagaren "värmas upp" på detta vis för att få lite vett i det hela.
Swechtrading-enheten är den billigaste jag har sett av den typ moduler, jag har inte testat dom men ser dom som en vettig och ekonomisk representant för den typ radio. Jag rekommenderar alltså inte specifikt dom - men avråder definitivt inte heller, de är bara en av många.
Re: Tankar kring 433 MHz rx/tx
Fick höra att dessa billiga 433Mhz är typ parade med varandra dvs de är intrimmade parvis. I min tillämpning ska flera sändare kommunicera med en mottagera och de ska särskiljas med en ID.
Har hittat dessa moduler, kan dessa kanske vara ett bättre alternativ?
http://www.dx.com/p/nrf24l01-2-4ghz-wir ... ule-126467
Som jag fattar funkar modulerna i länken ovan betydligt bättre till detta.
Har hittat dessa moduler, kan dessa kanske vara ett bättre alternativ?
http://www.dx.com/p/nrf24l01-2-4ghz-wir ... ule-126467
Som jag fattar funkar modulerna i länken ovan betydligt bättre till detta.
Re: Tankar kring 433 MHz rx/tx
Har för mig det finns en trimpott på de billiga 433MHz mottagarna. Är iofs meningslöst om alla sändare sänder på olika frekvenser. De du hittade nu sist är ju transceivers så de kan både skicka och ta emot. Blir ju enklare att göra ett protokoll för då kan ju "basstationen" skicka requests till de olika RF enheterna i tur och ordning som kan skicka tillbaka data.
Ditt projekt påminner dock mycket om denna tråd som redan varit uppe i forumet. Transceivrarna bygger ju på samma chip.
Ditt projekt påminner dock mycket om denna tråd som redan varit uppe i forumet. Transceivrarna bygger ju på samma chip.
Re: Tankar kring 433 MHz rx/tx
Där ser man, ja tanken är ytterst lik den tråden du länkar till. Dock är deras mycket mer omfattande och med många fler funktioner än vad jag har tänkt.