R
Maledicantur thylie iuxta viam posite
Hallo, Nu ben ik niet echt zeker of dit op 'Digitaal' geplaatst mag worden, maar ja...
In de conrad staat bij bouwkits een zender en ontvanger op de 433MHz band voor 15 Euro. Ik ben zeer verwonderd over de lage prijs voor zender én ontvanger dat ik me afvraag of het wel echt bruikbaar is. Kan ik mbv een serieel protocol bv RS232 data doorsturen zonder meer? (Natuurlijk wel een niveauomzetter...). Bv pc naar zender door lucht naar ontvanger naar Microcontroller?
Alvast bedankt voor diegene die de tijd namen dit te lezen,
Claus
elektron_
beetje gek
Voor die prijs, kan je vast wat proberen.
Van deze modules heb je FM of AM modules.
Deze goedkope is zeker een AM die meer storingsgevoelig is.
433Mhz is een band die vrijgegeven is, als je buur een draadloze bel heeft of iets anders...
Dus je zal een protocol moeten gebruiken dat goede retry mogelijkheden heeft.
Ze werken perfect, alleen zijn er 2 maren.
Allereerst zijn ze allemaal niet zo snel, de meeste zijn 2400 baud.
En ze leveren/ontvangen behoorlijk wat storing, dus je zult een errorcheck moeten implementeren wat natuurlijk nog een behoorlijke overhead geeft.
Maar voor simpele data overdracht zijn ze zeer geschikt.
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Ik gebruik die 433MHz van Conrad in huis (een paar meter) om data gegevens te verzenden van de ene PICmicro naar de andere PICmicro.
Gaat prima en dat voor 15 Euro.
Maar het uitrichten was wel een gedoe voordat ik een optimale ontvangst had, maar nu hebben zender en ontvanger een vaste plek en werkt het 100 procentjes. (op 1000 Baud)
R
Maledicantur thylie iuxta viam posite
Mmm, shit, ik wilde deze module gebruiken om een mobiel robotje te besturen. De afstand is wel maar etelijke meters (dus de zelfde kamer) maar als de ontvangst te slecth is zal het dan toch maar sukkelen geblazen zijn, vrees ik. De snelheid valt wel mee, het dient voor instructies, wat de robot moet doen. Maar ja, ik kan ewa gaan experimenteren zeker.
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Die zender/ontvanger van Conrad waar ik over schreef, wil wel sneller dan die 1000 Baud, (ik meen toch iig 4800 Baud) maar dan werd de ontvangst er beroerd op.
Bij een lage snelheid doet hij het iig prima, maar zowel zender als ontvanger dus op een vaste plek.
Wat bedoel je hier met een NIVEAUOMZETTER? Ik heb nl een kenwood zender waar ik een datakabel heb voor gemaakt zoals beschreven in de handleiding en de soft heb ik gedownd vanop hun site. Probleem is hier dat ik altijd een comunication timeout error krijg, net of de zender hangt niet aan de pc??? kan je dit zelf maken ?
Firechief
elektron_
beetje gek
Hij heeft het over RS232 die gebruikt theoretisch
-12 tot +12 volt, maar een beetje minder gaat ook wel.
In jouw geval moet je gewwon zien welke spanningsniveau de Kenwood verwacht.
[Bericht gewijzigd door elektron_ op ]
daar heb ik geen idee van. kan ik dat ergens terugvinden of opzoeken? Gaat hier over Kenwood TH-K4E FM Tranciever
Firechief
elektron_
beetje gek
Op 29 december 2004 21:18:59 schreef Firechief:
daar heb ik geen idee van. kan ik dat ergens terugvinden of opzoeken? Gaat hier over Kenwood TH-K4E FM TrancieverFirechief
Wat bedoel je met een data kabel ?
Pc interface kabel ? Wat heeft dit met deze topic te maken ?
Gebruik je een portable pc ? Deze geven soms wat minder spanning om batterij te sparen.
Edit:
Heb je alles goed ingesteld ? Stop bits parity databits ?
[Bericht gewijzigd door elektron_ op ]
van de tranceiver naar pc. om je geheugen en instellingen te bewaren en doen. Van instellingen staat er niets vermeld in de handleiding en ik werk idd met een laptop, maar die zit op de netvoeding.
firechief
[Bericht gewijzigd door Firechief op ]
elektron_
beetje gek
Op 29 december 2004 22:50:14 schreef Firechief:
maar die zit op de netvoeding.
Maakt niet uit, sommige pc's geven maar -3/+3 Volt ik heb ook al eens een pc gehad, waarbij
de negatieve sturing defect was.
En wat met flow control ? enfin ,het zou kunnen dat de applikatie dit allemaal automatisch doet.
Dan moet je eens met een andere pc proberen,
Of de seriele poort met een scoop meten.
[Bericht gewijzigd door elektron_ op ]
dexter
It's a good day for science!
Storingsgevoeligheid hangt ook heel erg samen hoe je de data verstuurd:
[langverhaal]
Waar je trouwens met de software op moet letten is synchronisatie en fout-detectie. Een radioverbinding is nl niet zo betrouwbaar (er klappen af-en-toe wat bit-jes om). Synchronisatie is ook belangrijk.
Daarnaast kun je geen dc-signalen versturen (alleen maar 1-en achter elkaar of alleen maar 0-en achter elkaar). Dit houdt in dat je dus (ongeveer) evenveel enen als nullen moet verzenden.
Daarnaast moet je voordat je een pakketje verstuurd ook nog eerst de ontvanger 'opwarmen'. Dit doe je door een aantal bytes (4 ofzo) te versturen waarin de bits om-en-om 1 en 0 zijn. Het dc-signaal daarvan is nl 0. De opamp in je ontvanger is dan correct 'ingesteld'.
Vervolgens een byte versturen waarvan alle bits 1 zijn en tenslotte een byte versturen waarvan alle bits 0 zijn. Dit klinkt vreemd, maar het zorgt ervoor dat je byte-alignment van de ontvangende uart (je pc) correct is. Nu pas kun je een pakketje gaan verzenden. Als daar veel bytes met alleen maar enen of nullen tussen zitten, zou ik persoonlijk ook die bytes xor-en met afwisselend enen en nullen. Tenslotte wil je ook nog weten of het pakketje goed is aangekomen. Dat kun je bv doen door een checksum als laatste te versturen. Zo'n checksum zou bijvoorbeeld alle verstuurde bytes van het pakket bij elkaar optellen and FF(hex). Als je dit aan de ontvangende kant ook doet en vervolgens vergelijkt met de daar zelf berekende checksum, dan weet je of het pakketje al dan niet goed is aangekomen. Het pakketje herhaal je een keer of drie vier, zodat als er een pakketje uitvalt je toch zeker weet dat de ontvangen data goed is aangekomen.
Een pakketje zou er dus zo uit kunnen zijn.
1[01010101]0
1[01010101]0
1[01010101]0
1[01010101]0
1[11111111]0
1[00000000]0
1[byte 1 xor 01010101]0
1[byte 2 xor 01010101]0
......
1[byte n xor 01010101]0
1[checksum xor 01010101]0
......
Hierin is 1[........]0 een byte samen met 1 startbit (de 1) en 1 stopbit (de 0).
Omdat je je zender tussentijds uitschakelt en je ontvanger dan random bits (ruis) afgeeft, zou ik aan het begin van elk pakket ook nog een aantal bekende bytes zetten (bv de letters PAKKET). Dit voorkomt dat (ondanks de checksum) er af-en-toe toch nog een 'pakketje' wordt als goed wordt gedecodeerd.
Het is ff wat lees- en programmeer werk, maar hiermee heb je een praktisch foutloze datatransmissie. Veel succes!
[/langverhaal]