- RFM69HCW RF-module
- RFM69HCW
- RFM69 Modulepinouts en beschrijving
- Voorbereiden van Custom Development Board
Stap 3: Bereid er een PCB voor, ik volg deze zelfgemaakte PCB-tutorial. Ik heb de voetafdruk op een koperen bord gedrukt en in de etsoplossing laten vallen
Stap 4: Volg de procedure voor beide printplaten en soldeer je module op de footprint. Na het solderen zien mijn beide modules er als volgt uit
De pinout van de RFM69HCW RF-module wordt weergegeven in de onderstaande afbeelding
- Vereiste materialen
- Hardware verbinding
- De voorbeeldschets uitvoeren
- Werking van de voorbeeldschets
Als het gaat om het geven van draadloze mogelijkheden voor uw projecten, is de 433Mhz ASK hybride zender en ontvanger een veel voorkomende keuze van ingenieurs, ontwikkelaars en hobbyisten vanwege de lage prijs, gebruiksvriendelijke bibliotheken en de ondersteuning van de gemeenschap. We hebben ook enkele projecten gebouwd zoals RF-gestuurde domotica en draadloze deurbel met behulp van deze 433 MHz RF-module. Maar vaak is een ASK hybride zender en ontvanger gewoon niet genoeg, het lage bereik en de eenrichtingscommunicatie maken het ongeschikt voor veel toepassingen
Om dit steeds terugkerende probleem op te lossen, hebben de ontwikkelaars van HopeRF een coole nieuwe RF-module bedacht, genaamd RFM69HCW. In deze tutorial leren we over de RFM69HCW RF-module en zijn voordelen. Eerst zullen we zelfgemaakte PCB's maken voor RFM69HCW en vervolgens RFM69HCW verbinden met Arduino om de werking te controleren, zodat u deze kunt gebruiken in projecten van uw keuze. Dus laten we beginnen.
RFM69HCW RF-module
De RFM69HCW is een goedkope, gebruiksvriendelijke radiomodule die werkt in de niet-gelicentieerde ISM-band (Industry, Science and Medicine), vergelijkbaar met de nRF24L01 RF-module die we in eerdere projecten hebben gebruikt. Het kan worden gebruikt om te communiceren tussen twee modules of kan worden geconfigureerd als een Mesh-netwerk om te communiceren tussen honderden modules, waardoor het een perfecte keuze is voor het bouwen van goedkope draadloze netwerken met een kort bereik voor sensoren die worden gebruikt in domotica en andere data-acquisitieprojecten.
Eigenschappen van RFM69HCW:
- +20 dBm - 100 mW Vermogen
- Hoge gevoeligheid: tot -120 dBm bij 1,2 kbps
- Lage stroom: Rx = 16 mA, 100nA registerretentie
- Programmeerbare Pout: -18 tot +20 dBm in stappen van 1dB
- Constante RF-prestaties over een spanningsbereik van een module
- FSK-, GFSK-, MSK-, GMSK- en OOK-modulaties
- Ingebouwde Bit Synchronizer die Clock Recovery uitvoert
- 115 dB + dynamisch bereik RSSI
- Automatische RF-detectie met ultrasnelle AFC
- Pakket-engine met CRC-16, AES-128, 66-byte FIFO Ingebouwde temperatuursensor
- Hoog linkbudget
- Zeer lage kosten
RFM69HCW
Frequentie
De RFM69HCW is ontworpen om te werken in de ISM-band (Industrie, Wetenschappelijk en Medisch), een reeks radiofrequenties zonder vergunning voor apparaten met een laag vermogen en een kort bereik. Verschillende frequenties zijn legaal in verschillende gebieden, daarom heeft de module veel verschillende versies 315.433.868 en 915 MHz. Alle belangrijke RF-communicatieparameters zijn programmeerbaar en de meeste kunnen dynamisch worden ingesteld. De RFM69HCW biedt het unieke voordeel van programmeerbare smalband- en breedbandcommunicatiemodi.
Opmerking: vanwege het relatief lage vermogen en het korte bereik, zal implementatie van deze module in een klein project geen probleem zijn, maar als u erover denkt er een product van te maken, zorg er dan voor dat u de juiste frequentie gebruikt voor jouw locatie.
Bereik
Om het bereik beter te begrijpen, hebben we te maken met een vrij gecompliceerd onderwerp, het RF Link Budget. Dus, wat is dit linkbudget en waarom is het zo belangrijk? Het linkbudget is net als elk ander budget, iets dat je in het begin hebt en dat je na verloop van tijd uitgeeft als je budget op is, dan kun je niet meer uitgeven.
Het linkbudget heeft ook te maken met een link of de verbinding tussen de zender en de ontvanger, het wordt opgevuld door het zendvermogen van de zender en de gevoeligheid van de ontvanger en het wordt berekend in decibels of dB het is ook frequentie- afhankelijk. Het linkbudget wordt ingehouden door allerlei obstakels en ruis tussen de zender en de ontvanger zoals afstandskabels muren bomen gebouwen als het linkbudget op is, de ontvanger maakt alleen wat ruis aan de uitgang en we krijgen geen bruikbaar signaal. Volgens de datasheet van de RFM69HCW heeft het een linkbudget van 140 dB vergeleken met 105 dB van de ASK Hybrid Transmitter, maar wat betekent dit dat dit een belangrijk verschil is? Gelukkig vinden weRadio Link Budget Calculators online, dus laten we wat berekeningen doen om het onderwerp beter te begrijpen. Laten we eerst aannemen dat we een gezichtslijnverbinding hebben tussen de zender en de ontvanger en dat alles perfect is, omdat we weten dat ons budget voor RFM69HCW 140 dB is, dus laten we kijken naar de grootste theoretische afstand die we kunnen communiceren, we stellen alles op nul en de afstand tot 500 KM, frequentie tot 433 MHz en we krijgen een horizontaal ontvangen vermogen van 139,2 dBm
Nu zet ik alles op nul en de afstand tot 9 KM Frequentie op 433 MHz en we krijgen een horizontaal ontvangen vermogen van 104,3 dBm
Dus met de bovenstaande vergelijking, denk ik dat we het er allemaal over eens kunnen zijn dat de RFM69-module veel beter is dan de ASK Hybrid Transmitter en een ontvangermodule.
De antenne
Voorzichtigheid! Het bevestigen van een antenne aan de module is verplicht omdat zonder deze de module kan worden beschadigd door zijn eigen gereflecteerde vermogen.
Het maken van een antenne is niet zo moeilijk als het misschien klinkt. De eenvoudigste antenne kan alleen worden gemaakt van een enkelstrengige 22SWG-draad. De golflengte van een frequentie kan worden berekend met de formule v / f , waarbij v de transmissiesnelheid is en f de (gemiddelde) transmissiefrequentie. In de lucht is v gelijk aan c , de lichtsnelheid, oftewel 299.792.458 m / s. De golflengte voor de 433 MHz-band is dus 299.792.458 / 433.000.000 = 34,54 cm. De helft hiervan is 17,27 cm en een kwart is 8,63 cm.
Voor de 433 MHz-band is de golflengte 299.792.458 / 433.000.000 = 69,24 cm. De helft hiervan is 34,62 cm en een kwart is 17,31 cm. Dus uit de bovenstaande formule kunnen we het proces van het berekenen van de lengte van de antennedraad zien.
Benodigd vermogen
De RFM69HCW heeft een bedrijfsspanning tussen 1.8V en 3.6V en kan tot 130mA stroom opnemen tijdens het verzenden. Hieronder in de tabel kunnen we duidelijk het stroomverbruik van de module onder verschillende omstandigheden zien
Waarschuwing: als de door jou gekozen Arduino 5V logische niveaus gebruikt om te communiceren met het randapparaat, zal het aansluiten van de module rechtstreeks op Arduino de module beschadigen
Symbool |
Omschrijving |
Voorwaarden |
Min |
Typ |
Max. Hoogte |
Eenheid |
IDDSL |
Actueel in slaapstand |
- |
0.1 |
1 |
uA |
|
IDDIDLE |
Stroom in inactieve modus |
RC-oscillator ingeschakeld |
- |
1.2 |
- |
uA |
IDDST |
Stroom in stand-bymodus |
Kristaloscillator ingeschakeld |
- |
1,25 |
1.5 |
uA |
IDDFS |
huidige in Synthesizer modus |
- |
9 |
- |
uA |
|
IDDR |
stroom in ontvangstmodus |
- |
16 |
- |
uA |
|
IDDT |
Voedingsstroom in Transmit-modus met passende aanpassing, stabiel over het VDD-bereik |
RFOP = +20 dBm, op PA_BOOST RFOP = +17 dBm, op PA_BOOST RFOP = +13 dBm, op RFIO-pin RFOP = +10 dBm, op RFIO-pin RFOP = 0 dBm, op RFIO-pin RFOP = -1 dBm, op RFIO-pin |
- - - - - - |
130 95 45 33 20 16 |
- - - - - - |
mA mA mA mA mama |
In deze tutorial gaan we twee Arduino Nano en twee logic level converters gebruiken om met de module te communiceren. We gebruiken Arduino nano's omdat de ingebouwde interne regelaar de piekstroom zeer efficiënt kan beheren. Het Fritzing-diagram in het hardware-gedeelte hieronder zal het u duidelijker uitleggen.
OPMERKING: Als uw voeding geen 130mA piekstroom kan leveren, kan uw Arduino opnieuw opstarten of, erger nog, de module kan niet goed communiceren, in deze situatie kan een condensator met een grote waarde met een lage ESR de situatie verbeteren
RFM69 Modulepinouts en beschrijving
Etiket |
Functie |
Functie |
Etiket |
MIER |
RF signaal output / input. |
Power Ground |
GND |
GND |
Antenneaarding (hetzelfde als voedingsaarde) |
Digitale I / O, software geconfigureerd |
DIO5 |
DIO3 |
Digitale I / O, software geconfigureerd |
Reset triggeringang |
RST |
DIO4 |
Digitale I / O, software geconfigureerd |
SPI Chip selecteer input |
NSS |
3.3V |
3.3V voeding (minimaal 130 mA) |
SPI Clock-ingang |
SCK |
DIO0 |
Digitale I / O, software geconfigureerd |
SPI-gegevensinvoer |
MOSI |
DIO1 |
Digitale I / O, software geconfigureerd |
SPI-gegevensuitvoer |
MISO |
DIO2 |
Digitale I / O, software geconfigureerd |
Power Ground |
GND |
Voorbereiden van Custom Development Board
Toen ik de module kocht, werd deze niet geleverd met een breadboard-compatibel breakout-bord, dus we hebben besloten er zelf een te maken. Als u hetzelfde zou moeten doen, volgt u gewoon de stappen. Houd er ook rekening mee dat het niet verplicht is om deze stappen te volgen, u kunt eenvoudig draden aan de RF-module solderen en ze op het breadboard aansluiten en het zou nog steeds werken. Ik volg deze procedure alleen om een stabiele en robuuste set-up te krijgen.
Stap 1: Bereid het schema voor de RFM69HCW-module voor
Stap 3: Bereid er een PCB voor, ik volg deze zelfgemaakte PCB-tutorial. Ik heb de voetafdruk op een koperen bord gedrukt en in de etsoplossing laten vallen
Stap 4: Volg de procedure voor beide printplaten en soldeer je module op de footprint. Na het solderen zien mijn beide modules er als volgt uit
De pinout van de RFM69HCW RF-module wordt weergegeven in de onderstaande afbeelding
Vereiste materialen
Hier is de lijst met dingen die u nodig heeft om met de module te communiceren
- Twee RFM69HCW-modules (met bijpassende frequenties):
- 434 MHz (WRL-12823)
- Twee Arduino (ik gebruik Arduino NANO)
- Twee omzetters voor logisch niveau
- Twee breakout boards (ik gebruik een op maat gemaakt breakout board)
- Een drukknop
- Vier LED's
- Een 4.7K-weerstand vier 220 Ohm-weerstand
- Doorverbindingsdraden
- Geëmailleerd koperdraad (22AWG), om de antenne te maken.
- En tot slot solderen (als je dat al niet hebt gedaan)
Hardware verbinding
In deze tutorial gebruiken we Arduino nano die 5 volt logica gebruikt, maar de RFM69HCW module gebruikt 3,3 volt logische niveaus zoals je duidelijk kunt zien in de bovenstaande tabel, dus om goed te communiceren tussen twee apparaten is een logische niveau-omzetter verplicht, in het fritzing-diagram hieronder we hebben je laten zien hoe je de Arduino nano aansluit op de RFM69-module.
Fritzing diagram afzender knooppunt
Verbindingstabel Sender Node
Arduino-pin |
RFM69HCW Pen |
I / O-pinnen |
D2 |
DIO0 |
- |
D3 |
- |
TAC_SWITCH |
D4 |
- |
LED_GREEN |
D5 |
- |
LED_RED |
D9 |
- |
LED_BLUE |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Fritzing diagram ontvangerknooppunt
Verbindingstabel Ontvangerknooppunt
Arduino-pin |
RFM69HCW Pen |
I / O-pinnen |
D2 |
DIO0 |
- |
D9 |
- |
LED |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
De voorbeeldschets uitvoeren
In deze tutorial gaan we twee Arduino RFM69-knooppunten opzetten en ze met elkaar laten communiceren. In het onderstaande gedeelte zullen we weten hoe we de module kunnen opstarten met behulp van de RFM69-bibliotheek die is geschreven door Felix Rusu van LowPowerLab.
De bibliotheek importeren
Hopelijk heb je al wat Arduino-programmering gedaan en weet je hoe je een bibliotheek moet installeren. Als dit niet het geval is, controleer dan het gedeelte Een.zip-bibliotheek importeren op deze link
De knooppunten aansluiten
Sluit de USB van de Sender Node aan op uw pc, een nieuw COM-poortnummer moet worden toegevoegd aan de Arduino IDE's "Tools / Port" -lijst, pen het neer, sluit nu het Receiver-knooppunt aan, een andere COM-poort zou moeten verschijnen in de Tools / Poortlijst, schrijf deze ook op, met behulp van het poortnummer uploaden we de schets naar de afzender en het ontvangerknooppunt.
Twee Arduino-sessies openen
Open twee Arduino IDE-sessies door te dubbelklikken op het Arduino IDE-pictogram nadat de eerste sessie is geladen, het is verplicht om twee Arduino-sessies te openen, want zo kun je twee Arduino seriële monitorvensters openen en tegelijkertijd de uitvoer van twee knooppunten bewaken
De voorbeeldcode openen
Als alles is ingesteld, moeten we de voorbeeldcode in beide Arduino-sessies openen om dit te doen, ga naar
Bestand> Voorbeelden> RFM6_LowPowerLab> Voorbeelden> TxRxBlinky
en klik erop om het te openen
De voorbeeldcode wijzigen
- Zoek bovenaan de code naar #define NETWORKID en verander de waarde in 0. Met deze Id kunnen al uw nodes met elkaar communiceren.
- Zoek naar de #define FREQUENCY verander dit zodat het overeenkomt met de bordfrequentie (de mijne is 433_MHz).
- Zoek naar de #define ENCRYPTKEY, dit is uw 16-bits coderingssleutel.
- Zoek naar #define IS_RFM69HW_HCW en verwijder commentaar als u een RFM69_HCW-module gebruikt
- En tenslotte, zoek naar #define NODEID, het zou standaard als RECEIVER moeten zijn ingesteld
Upload nu de code naar uw Receiver Node die u eerder heeft ingesteld.
Tijd om de schets voor het afzenderknooppunt te wijzigen
Verander nu in de #define NODEID-macro deze in SENDER en upload de code naar uw Sender Node.
Dat is alles, als je alles goed hebt gedaan, heb je twee compleet werkende modellen klaar om te testen.
Werking van de voorbeeldschets
Na het succesvol uploaden van de Sketch zul je zien dat de rode LED die verbonden is met de pin D4 van de Arduino oplicht, druk nu op de knop in de Sender Node en je zult zien dat de rode LED uitgaat en de groene LED die is aangesloten op de Pin D5 van de Arduino licht op zoals weergegeven in de onderstaande afbeelding
U kunt ook Button Pressed observeren! tekst in het venster Seriële monitor, zoals hieronder weergegeven
Bekijk nu de blauwe LED die is verbonden met de pin D9 van de afzenderknoop, deze knippert twee keer en in het seriële monitorvenster van de ontvangstknoop ziet u het volgende bericht en ook de blauwe LED die is aangesloten op de D9-pin in de Receiver Node licht op. Als u het bovenstaande bericht ziet in het Serial Monitor-venster van het ontvangerknooppunt en ook als de LED oplicht Gefeliciteerd! Je hebt de RFM69-module met succes gecommuniceerd met Arduino IDE. De volledige werking van deze tutorial is ook te vinden in de video onderaan deze pagina.
Al met al blijken deze modules geweldig te zijn voor het bouwen van weerstations, garagedeuren, draadloze pompregelaar met indicator, drones, robots, je kat… the sky is the limit! Ik hoop dat je de tutorial hebt begrepen en het leuk vond om iets nuttigs te bouwen. Als je vragen hebt, laat ze dan achter in het commentaargedeelte of gebruik de forums voor andere technische vragen.