- RFM69HCW RF-modul
- RFM69HCW
- RFM69 moduluttak og beskrivelse
- Forbereder Custom Development Board
Trinn 3: Forbered en PCB for den, jeg følger denne hjemmelagde PCB-opplæringen. Jeg trykte fotavtrykket på et kobberbrett og droppet det i etsingsløsningen
Trinn 4: Følg fremgangsmåten for både kortene og lodd modulen din til fotavtrykket. Etter lodding ser begge modulene mine ut slik nedenfor
Den pinout av RFM69HCW RF-modulen er angitt på figuren nedenfor
- Nødvendig materiale
- Maskinvaretilkobling
- Kjører eksempelskissen
- Arbeid av eksempelskissen
Når det gjelder å gi prosjektene dine trådløse funksjoner, er 433Mhz ASK Hybrid-sender og mottaker et vanlig valg blant ingeniører, utviklere og hobbyister på grunn av den lave prisen, brukervennlige biblioteker og dets samfunnstøtte. Vi har også bygget få prosjekter som RF-kontrollert hjemmeautomatisering og trådløs dørklokke ved hjelp av denne 433MHz RF-modulen. Men ofte er en ASK Hybrid-sender og mottaker bare ikke nok, det er lite rekkevidde og enveiskommunikasjon gjør det uegnet for mange applikasjoner
For å løse dette stadig forekommende problemet, utviklet utviklerne ved HopeRF en kul ny RF-modul kalt RFM69HCW. I denne opplæringen vil vi lære om RFM69HCW RF-modulen og dens fordeler. Først vil vi lage hjemmelaget PCB for RFM69HCW og deretter grensesnitt RFM69HCW med Arduino for å sjekke at det fungerer slik at du kan bruke det i prosjekter du velger. Så la oss komme i gang.
RFM69HCW RF-modul
RFM69HCW er en billig brukervennlig radiomodul som opererer i det ikke-lisensierte ISM-båndet (industri, vitenskap og medisin) i likhet med nRF24L01 RF-modulen som vi har brukt i tidligere prosjekter. Den kan brukes til å kommunisere mellom to moduler eller kan konfigureres som et Mesh Network for å kommunisere mellom hundrevis av moduler, noe som gjør det til et perfekt valg for å bygge billige trådløse nettverk med kort rekkevidde for sensorer som brukes i hjemmeautomatisering og andre datainnsamlingsprosjekter.
Funksjoner av RFM69HCW:
- +20 dBm - 100 mW Effekteffekt
- Høy følsomhet: ned til -120 dBm ved 1,2 kbps
- Lav strøm: Rx = 16 mA, 100nA registerretensjon
- Programmerbar Pout: -18 til +20 dBm i trinn på 1 dB
- Konstant RF-ytelse over et spenningsområde av modulen
- FSK, GFSK, MSK, GMSK og OOK modulasjoner
- Innebygd Bit Synchronizer som utfører Clock Recovery
- 115 dB + Dynamic Range RSSI
- Automatisk RF-følelse med ultra-rask AFC
- Pakkemotor med CRC-16, AES-128, 66 byte FIFO Innebygd temperatursensor
- High Link Budget
- Svært lave kostnader
RFM69HCW
Frekvens
RFM69HCW er utviklet for å fungere i ISM (Industry, Scientific and Medical) -båndet, et sett med ikke-lisensierte radiofrekvenser for enheter med lav effekt, kort rekkevidde. Ulike frekvenser er lovlige i forskjellige områder, så det er derfor modulen har mange forskjellige versjoner 315.433.868 og 915MHz. Alle viktige parametere for RF-kommunikasjon er programmerbare, og de fleste av dem kan stilles inn dynamisk. Også RFM69HCW gir den unike fordelen med programmerbare smalbånds- og bredbåndskommunikasjonsmodi.
Merk: På grunn av den relativt lave effekten og kort rekkevidde, vil implementering av denne modulen i et lite prosjekt ikke være noe problem, men hvis du tenker å lage et produkt ut av det, må du være sikker på at du bruker riktig frekvens for posisjonen din.
Område
For å forstå rekkevidden bedre må vi håndtere et ganske komplisert tema som kalles RF Link Budget. Så, hva er dette koblingsbudsjettet og hvorfor det er så viktig? Linkbudsjettet er som hvert annet budsjett, noe du har i begynnelsen og som du bruker over tid hvis budsjettet er oppbrukt, kan du ikke bruke mer.
Koblingsbudsjettet har også å gjøre med en lenke eller forbindelsen mellom avsenderen og mottakeren, den fylles opp av senderens overføringskraft og mottakerens følsomhet, og den beregnes i desibel eller dB, den er også frekvens- avhengig. Koblingsbudsjettet trekkes av alle slags hindringer og støy mellom avsenderen og mottakeren som avstandskabler vegger trær bygninger hvis lenken budsjettet er brukt opp, mottakeren skaper bare noe støy ved utgangen, og vi vil ikke få noe brukbart signal. I følge databladet til RFM69HCW har den et koblingsbudsjett på 140 dB sammenlignet med 105 dB av ASK Hybrid Transmitter, men hva betyr dette er dette en viktig forskjell? Heldigvis finner vi detRadio Link Budget Calculator online, så la oss gjøre noen beregninger for å forstå emnet bedre. La oss anta at vi har en siktlinje mellom avsender og mottaker, og alt er perfekt, ettersom vi vet at budsjettet for RFM69HCW er 140 dB, så la oss sjekke den største teoretiske avstanden vi kan kommunisere, vi setter alt til null og avstanden til 500KM, Frekvens til 433MHz, og vi får en horisontal mottatt effekt på 139,2 dBm
Nå setter jeg alt til null og avstanden til 9KM Frekvens til 433MHz, og vi får en horisontal mottatt effekt på 104,3 dBm
Så med den ovennevnte sammenligningen tror jeg vi alle kan være enige om at RFM69-modulen er langt bedre enn ASK Hybrid Transmitter og en mottakermodul.
Antennen
Forsiktighet! Å feste en antenne til modulen er obligatorisk fordi uten den kan modulen bli skadet av sin egen reflekterte kraft.
Å lage en antenne er ikke så vanskelig som det kan høres ut. Den enkleste antennen kan lages bare fra en enkeltstrenget 22SWG-ledning. Den bølgelengde av en frekvens kan beregnes ved hjelp av formelen v / f , hvor V er hastigheten på overføring og f er (gjennomsnitt) senderfrekvensen. I luften er v lik c , lysets hastighet, som er 299,792,458 m / s. Bølgelengden for 433 MHz-båndet er altså 299.792.458 / 433.000.000 = 34,54 cm. Halvparten av dette er 17,27 cm og et kvartal er 8,63 cm.
For 433 MHz-båndet er bølgelengden 299.792.458 / 433.000.000 = 69,24 cm. Halvparten av dette er 34,62 cm og et kvartal er 17,31 cm. Så fra formelen ovenfor kan vi se prosessen med å beregne lengden på antenneledningen.
Kraft krav
RFM69HCW har en driftsspenning mellom 1,8V og 3,6V og kan trekke opptil 130mA strøm når den overføres. Nedenfor i tabellen kan vi tydelig se strømforbruket til modulen under forskjellige forhold
Advarsel: Hvis den valgte Arduino bruker 5V-logikknivåer for å kommunisere med perifere enheter, vil det koble modulen direkte til Arduino.
Symbol |
Beskrivelse |
Forhold |
Min |
Typ |
Maks |
Enhet |
IDDSL |
Gjeldende i hvilemodus |
- |
0,1 |
1 |
uA |
|
IDIDIDLE |
Gjeldende i hvilemodus |
RC-oscillator aktivert |
- |
1.2 |
- |
uA |
IDDST |
Strøm i standby-modus |
Krystalloscillator aktivert |
- |
1.25 |
1.5 |
uA |
IDDFS |
nåværende i Synthesizer modus |
- |
9 |
- |
uA |
|
IDDR |
gjeldende i mottaksmodus |
- |
16 |
- |
uA |
|
IDDT |
Forsyningsstrøm i sendemodus med passende samsvar, stabil over VDD-området |
RFOP = +20 dBm, på PA_BOOST RFOP = +17 dBm, på PA_BOOST RFOP = +13 dBm, på RFIO-pin RFOP = +10 dBm, på RFIO-pin RFOP = 0 dBm, på RFIO-pin RFOP = -1 dBm, på RFIO-pin |
- - - - - - |
130 95 45 33 20 16 |
- - - - - - |
mA mA mA mA mAmA |
I denne opplæringen skal vi bruke to Arduino Nano og to logiske nivåomformere til å kommunisere med modulen. Vi bruker Arduino nano fordi den innebygde interne regulatoren kan håndtere toppstrømmen veldig effektivt. Fritzing-diagrammet i maskinvareseksjonen nedenfor vil forklare det tydeligere for deg.
MERKNAD: Hvis strømforsyningen ikke kan gi 130mA toppstrøm, kan Arduino starte på nytt eller verre, kan modulen ikke kommunisere ordentlig, i denne situasjonen kan en kondensator med stor verdi med lav ESR forbedre situasjonen
RFM69 moduluttak og beskrivelse
Merkelapp |
Funksjon |
Funksjon |
Merkelapp |
MAUR |
RF signal utgang / inngang. |
Power Ground |
GND |
GND |
Antennjord (samme som kraftjord) |
Digital I / O, programvare konfigurert |
DIO5 |
DIO3 |
Digital I / O, programvare konfigurert |
Tilbakestill triggerinngang |
RST |
DIO4 |
Digital I / O, programvare konfigurert |
SPI Chip select input |
NSS |
3,3V |
3,3 V forsyning (minst 130 mA) |
SPI Clock inngang |
SCK |
DIO0 |
Digital I / O, programvare konfigurert |
SPI Datainngang |
MOSI |
DIO1 |
Digital I / O, programvare konfigurert |
SPI Data output |
MISO |
DIO2 |
Digital I / O, programvare konfigurert |
Power Ground |
GND |
Forbereder Custom Development Board
Da jeg kjøpte modulen, fulgte det ikke med et brødbrettkompatibelt breakout board, så vi har bestemt oss for å lage en selv. Hvis du kanskje må gjøre det samme, er det bare å følge trinnene. Vær også oppmerksom på at det ikke er obligatorisk å følge disse trinnene, du kan ganske enkelt lodde ledninger til RF-modulen og koble dem til breadboard, og det vil fortsatt fungere. Jeg følger denne prosedyren bare for å få et stabilt og robust oppsett.
Trinn 1: Forbered skjemaene for RFM69HCW-modulen
Trinn 3: Forbered en PCB for den, jeg følger denne hjemmelagde PCB-opplæringen. Jeg trykte fotavtrykket på et kobberbrett og droppet det i etsingsløsningen
Trinn 4: Følg fremgangsmåten for både kortene og lodd modulen din til fotavtrykket. Etter lodding ser begge modulene mine ut slik nedenfor
Den pinout av RFM69HCW RF-modulen er angitt på figuren nedenfor
Nødvendig materiale
Her er listen over ting du trenger for å kommunisere med modulen
- To RFM69HCW-moduler (med matchende frekvenser):
- 434 MHz (WRL-12823)
- To Arduino (jeg bruker Arduino NANO)
- To logiske nivåomformere
- To breakout boards (jeg bruker et skreddersydd breakout board)
- En trykknapp
- Fire LED-er
- En 4,7K motstand fire 220Ohm motstand
- Jumper ledninger
- Emaljert kobbertråd (22AWG), for å lage antennen.
- Og til slutt lodding (hvis du ikke allerede har gjort det)
Maskinvaretilkobling
I denne opplæringen bruker vi Arduino nano som bruker 5 volt logikk, men RFM69HCW-modulen bruker 3,3 volt logiske nivåer, slik du tydelig kan se i tabellen ovenfor, slik at det er obligatorisk å kommunisere mellom to enheter på en logisk nivåomformer. Vi har vist deg hvordan du kobler Arduino nano til RFM69-modulen.
Fritzing Diagram Sender Node
Tilkoblingstabell avsendernode
Arduino Pin |
RFM69HCW Pin |
I / O-pins |
D2 |
DIO0 |
- |
D3 |
- |
TAC_SWITCH |
D4 |
- |
LED_GREEN |
D5 |
- |
LED_RØD |
D9 |
- |
LED_BLÅ |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Fritzing Diagram Mottaker Node
Connection Table Receiver Node
Arduino Pin |
RFM69HCW Pin |
I / O-pins |
D2 |
DIO0 |
- |
D9 |
- |
LED |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Kjører eksempelskissen
I denne opplæringen skal vi sette opp to Arduino RFM69-noder og få dem til å kommunisere med hverandre. I delen nedenfor vil vi vite hvordan du kan få modulen i gang med hjelp av RFM69-biblioteket som er skrevet av Felix Rusu fra LowPowerLab.
Importerer biblioteket
Forhåpentligvis har du gjort litt Arduino-programmering før og vet hvordan du installerer et bibliotek. Hvis ikke, sjekk Importere et.zip-bibliotek- delen av denne lenken
Koble til nodene
Koble USB-en til Sender Node til PC-en din, et nytt COM-portnummer skal legges til Arduino IDEs "Tools / Port" -liste, penn det ned, plugg nå inn mottakernoden, en annen COM-port skal vises i Tools / Portliste, penn den også ned, ved hjelp av portnummeret vil vi laste opp skissen til avsenderen og mottakernoden.
Åpner to Arduino-økter
Åpne to Arduino IDE-økter ved å dobbeltklikke på Arduino IDE-ikonet etter at den første økten lastes opp, det er obligatorisk å åpne to Arduino-økter fordi det er slik du kan åpne to Arduino serielle skjermvinduer og samtidig overvåke utdataene fra to noder
Åpne eksempelkoden
Nå når alt er satt opp, må vi åpne eksempelkoden i begge Arduino-øktene for å gjøre det, gå til
Fil> Eksempler> RFM6_LowPowerLab> Eksempler> TxRxBlinky
og klikk på den for å åpne den
Endring av eksempelkoden
- Nær toppen av koden, se etter #define NETWORKID og endre verdien til 0. Med denne IDen kan alle nodene dine kommunisere med hverandre.
- Se etter #define FREQUENCY endre dette for å matche kortfrekvensen (min er 433_MHz).
- Se etter #define ENCRYPTKEY dette er 16-biters krypteringsnøkkel.
- Se etter #define IS_RFM69HW_HCW, og fjern kommentaren hvis du bruker en RFM69_HCW-modul
- Og til slutt, se etter #define NODEID det skal være angitt som MOTTAKER som standard
Last nå opp koden til mottakernoden som du tidligere har satt opp.
På tide å endre skissen for avsendernoden
Nå i #define NODEID-makroen endrer du den til SENDER og laster opp koden til avsendernoden din.
Det er det, hvis du har gjort alt riktig, har du to komplette arbeidsmodeller klare til å teste.
Arbeid av eksempelskissen
Etter vellykket opplasting av skissen vil du observere den røde lysdioden som er koblet til pinnen D4 på Arduino lyser opp. Trykk nå på knappen i avsendernoden, og du vil observere at den røde lysdioden slås av og den grønne lysdioden som er koblet til Pin D5 på Arduino lyser opp som vist på bildet nedenfor
Du kan også observere Button Pressed! tekst i vinduet Serial monitor som vist nedenfor
Observer nå den blå lysdioden som er koblet til pinnen D9 i avsendernoden, den vil blinke to ganger, og i Serial Monitor-vinduet i mottaksnoden vil du følge følgende melding og også den blå lysdioden som er koblet til D9-pinnen i mottakernoden lyser. Hvis du ser meldingen ovenfor i Serial Monitor-vinduet på mottakernoden, og også hvis LED-lampen lyser Gratulerer! Du har kommunisert RFM69-modulen med Arduino IDE. Fullstendig bearbeiding av denne veiledningen finner du også i videoen gitt nederst på denne siden.
Alt i alt viser disse modulene seg å være bra for å bygge værstasjoner, garasjeporter, trådløs pumpekontroll med indikator, droner, roboter, katten din… himmelen er grensen! Håper du forsto opplæringen og likte å bygge noe nyttig. Hvis du har spørsmål, kan du legge dem i kommentarseksjonen eller bruke forumene til andre tekniske spørsmål.