RF_433

Bavelt

Golden Member

In mijn 'ontdekkingsreis' langs allerlei dingen was ik nu begonnen eens een RF_433 Mhz transmiter/ receiver te bekijken.
Je koopt ze als een (goedkoop) setje.

Ik volgde het voorbeeld van de Arduino.

Het lukt wel om de transmitter data van 0 naar 1 te brengen en terug, de receiver reageert er dan op. (via ledjes).
Maar in 'rust' toestand (dus als je niks wijzigt) zie je dat de receiver dingen oppakt.

Vandaar dat ik ook allerlei dingen zie als ik hem via een UART kabeltje aansluit op de USB van de PC.
Er blijft van alles binnenkomen.

Hoe krijg je nu zo'n ding zover dat hij alleen reageert op wijzigingen en niet zelf dingen bedenkt?

Fouten zijn het bewijs dat je het probeert..

Ik denk dat je allereerst moet realiseren dat de 433 MHz band behoorlijk 'open' is: daar mag heel veel in uitzenden.

Punt twee: ik zou zoiets echt niet met zo'n step-up converter willen voeden. Dat is al HF-spul, ik verwacht niet dat het ding erg 'stil' is (HF-technisch gezien) en dus stoort op je ontvanger.

http://www.m-voorloop.nl --- Ik? Welnee! Ik zit nog lang niet achter de germaniums.
Bavelt

Golden Member

Op 7 juni 2021 21:18:40 schreef weardguy:
Ik denk dat je allereerst moet realiseren dat de 433 MHz band behoorlijk 'open' is: daar mag heel veel in uitzenden.

Punt twee: ik zou zoiets echt niet met zo'n step-up converter willen voeden. Dat is al HF-spul, ik verwacht niet dat het ding erg 'stil' is (HF-technisch gezien) en dus stoort op je ontvanger.

De step up heb ik er ook niet in; gewoon 5v (met een batterij).

Fouten zijn het bewijs dat je het probeert..

Die dingen werken niet met constante niveaus. Alles is AM gemoduleerd, en bij een constant niveau weet je dan niet of het hoog of laag is.

Dus als je iets wilt versturen dan moet je zorgen voor een Sync signaal om een nieuw bericht aan te kondigen, en dat zodanig dat de ontvangende uart daarop kan synchroniseren. Bijv 0xFF 0xFF 0xFF 0x55 en dan je bericht. Als je dan ook zorgt dat elk bericht begint met bijv 0x12 0x8B 0xC3 dan kun je daarmee echte berichten onderscheiden van valse berichten.

PS de 0xFF bevat een laag startbit waar de ontvangende uart op kan synchroniseren. Alle andere bits zijn hoog zodat een valse start niet mogelijk is. Wel een paar keer herhalen omdat de eerste waarschijnlijk mislukt.

Het is dus niet de receiver die je moet 'temmen', maar de PC. Die moet echte berichten van valse onderscheiden.

buckfast_beekeeper

Golden Member

De ontvanger gaat alles maar dan ook alles in 433MHz ontvangen. Dat kan zijn een poort opener. Een weerstation dat om de x-tijd temperatuur en rel vochtigheid doorstuurt. .....

Aan u om te filteren wat je nodig hebt. Alleen 1 en 0 zou ik niet gebruiken. Eerder iets met transmitter nummer en opdracht.

Van Lambiek wordt goede geuze gemaakt.
Bavelt

Golden Member

Op 7 juni 2021 21:34:29 schreef buckfast_beekeeper:
De ontvanger gaat alles maar dan ook alles in 433MHz ontvangen. Dat kan zijn een poort opener. Een weerstation dat om de x-tijd temperatuur en rel vochtigheid doorstuurt. .....

Aan u om te filteren wat je nodig hebt. Alleen 1 en 0 zou ik niet gebruiken. Eerder iets met transmitter nummer en opdracht.

Als ik op de scope kijk zie ik allerlei 'piefjes'.

Die variëren sterk al naar gelang je er met je vinger in de buurt komt.
Het lijkt er op dat het ding aan het oscilleren is (dus geen externe bron zoals garagedeur, autoportier o.i.d.)

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Als ik er een blokspanning op zet, dan zie je die keurig terug bij de receiver, zonder piefjes of andere rommel.

Maar zodra je 'niets' zendt, begint-ie..

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

Daarom wordt er ook modulatie gebruikt: om verschil tussen een signaal en storing te zien.
Vaak begint een protocol met een treintje van pulsen om het begin aan te duiden, de rest kun je gewoon negeren.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

Op 7 juni 2021 22:09:56 schreef Arco:
Daarom wordt er ook modulatie gebruikt: om verschil tussen een signaal en storing te zien.
Vaak begint een protocol met een treintje van pulsen om het begin aan te duiden, de rest kun je gewoon negeren.

Dus gewoon een code bedenken en die er zien uit te filteren?

En dan zodanig kiezen dat de rommel (piefjes) niet wordt herkend. Zoiets neem ik aan?

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Je zou zo'n ding dan dus kunnen gebruiken als wireless communicatie tussen PIC's... :>

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Je hebt de receivers ook in 2,4Ghz band.

Worden deze nou meer gebruikt dan de 433 Mhz?

Fouten zijn het bewijs dat je het probeert..

Dat is geen receiver maar een transceiver. Die kan zenden en ontvangen en heeft een processor aan boord om de communicatie af te handelen.

Het is best wel een puzzel om die aan de gang te krijgen. Maar dan heb je wel 2-richting communicatie.

Bavelt

Golden Member

Op 7 juni 2021 22:37:35 schreef deKees:
Dat is geen receiver maar een transceiver. Die kan zenden en ontvangen en heeft een processor aan boord om de communicatie af te handelen.

Het is best wel een puzzel om die NRF24L01 aan de gang te krijgen. Maar dan heb je wel 2-richting communicatie.

Ik heb hier eens naar gekeken, maar volgens mij inderdaad knap lastig om zo'n ding aan de praat te krijgen.

Ik heb wel wat gezien in Libstock, maar is in C en moet hier en daar gokken wat er gebeurt. Het is voor zover ik kan overzien ook geen simpele datasheet.

Een voorbeeld in MikroBasic zal er wel niet zijn, vrees ik...

Fouten zijn het bewijs dat je het probeert..
McAwesome

Golden Member

Voor Arduino kan je de RadioHead library gebruiken.
http://www.airspayce.com/mikem/arduino/RadioHead/

Ik ben niet zo'n fan van het goedkope Chinese zendertje en ontvangertje wat je gebruikt.
De ontvanger is zéér gevoelig voor storingen op de voedingsspanning. De zender is niet echt zuinig qua energiegebruik en je hebt behoorlijk wat voedingsspanning (meer dan 5 V) nodig om ietwat bereik te krijgen.

Arco

Special Member

De RFM69 of 95 van HopeRF zijn wat eenvoudiger aan te sturen. (433/868MHz)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Sine

Moderator

Dat is inderdaad tricky om 'van snot' zelf te fabrieken.

Die ontvangers hebben een AGC en pikken eigenlijk altijd wel iets op.

Je moet eigenlijk ook nog zenden in een code waarbij je zender bitjes blijft flippen ( de naam ontschiet me even )

Neem een voorgebakken lib ... of andere hardware ;)

Als je overigens echt wat wilt gaan maken is 433 ongeveer het meest onbetrouwbare wat je kunt vinden, het hangt natuurlijk van je toepassing af hoe betrouwbaar het moet zijn.

McAwesome

Golden Member

Op 9 juni 2021 23:13:17 schreef Sine:
Je moet eigenlijk ook nog zenden in een code waarbij je zender bitjes blijft flippen ( de naam ontschiet me even )

Ik heb in 2008 ooit wat gedaan met zendertjes en ontvangertjes en Manchester code (ook op 433 MHz). Dat is een encodering waarbij er steeds overgangen zijn tussen hoog en laag. Dat werkte toen erg goed, zelfs over afstanden van een paar honderd meter.
Ik weet wel dat het vrij tricky was om het echt goed te krijgen en dat ik er behoorlijk wat tijd heb ingestoken.

Ik zou het dus niet proberen zelf te maken, maar gebruik gewoon een bestaande library.