- RFM69HCW RF-modul
- RFM69HCW
- RFM69-modulens pinouts och beskrivning
- Förbereder anpassad utvecklingsstyrelse
Steg 3: Förbered ett kretskort för det, jag följer den här hemgjorda kretskorthandledningen. Jag tryckte fotavtrycket på ett kopparbräde och tappade det i etsningslösningen
Steg 4: Följ proceduren för både korten och löd din modul till fotavtrycket. Efter lödning ser båda mina moduler ut så här nedan
Den pinout av RFM69HCW RF Module ges i figuren nedan
- Material som krävs
- Hårdvaruanslutning
- Köra exempelskissen
- Arbetet med exempelskissen
När det gäller att ge dina projekt trådlösa funktioner är 433Mhz ASK Hybrid-sändare och mottagare ett vanligt val bland ingenjörer, utvecklare och hobbyister på grund av dess låga pris, lättanvända bibliotek och dess community-stöd. Vi har också byggt få projekt som RF-kontrollerad hemautomation och trådlös dörrklocka med hjälp av denna 433MHz RF-modul. Men ofta räcker det inte med en ASK Hybrid-sändare och mottagare, det är låg räckvidd och envägskommunikation gör det olämpligt för många applikationer
För att lösa detta ständigt förekommande problem, utvecklade utvecklarna på HopeRF en cool ny RF-modul som heter RFM69HCW. I den här handledningen lär vi oss RFM69HCW RF-modulen och dess fördelar. Först kommer vi att göra hemgjorda kretskort för RFM69HCW och sedan gränssnitt RFM69HCW med Arduino för att kontrollera att den fungerar så att du kan använda den i projekt du väljer. Så, låt oss komma igång.
RFM69HCW RF-modul
RFM69HCW är en billig, lättanvänd radiomodul som fungerar i det olicensierade ISM-bandet (industri, vetenskap och medicin) som liknar nRF24L01 RF-modulen som vi har använt i tidigare projekt. Den kan användas för att kommunicera mellan två moduler eller kan konfigureras som ett Mesh-nätverk för att kommunicera mellan hundratals moduler, vilket gör det till ett perfekt val för att bygga billiga trådlösa nätverk med kort räckvidd för sensorer som används i hemautomation och andra datainsamlingsprojekt.
Funktioner i RFM69HCW:
- +20 dBm - 100 mW kapacitet för uteffekt
- Hög känslighet: ner till -120 dBm vid 1,2 kbps
- Låg ström: Rx = 16 mA, 100nA registerretention
- Programmerbar Pout: -18 till +20 dBm i steg om 1 dB
- Konstant RF-prestanda över ett spänningsområde för modulen
- FSK-, GFSK-, MSK-, GMSK- och OOK-moduleringar
- Inbyggd Bit Synchronizer som utför klockåterställning
- 115 dB + Dynamiskt intervall RSSI
- Automatisk RF-känsla med ultrasnabb AFC
- Paketmotor med CRC-16, AES-128, 66 byte FIFO Inbyggd temperatursensor
- Budget med hög länk
- Mycket låg kostnad
RFM69HCW
Frekvens
RFM69HCW är utformad för att fungera i ISM-bandet (industri, vetenskap och medicin), en uppsättning olicensierade radiofrekvenser för enheter med korta räckvidd med låg effekt. Olika frekvenser är lagliga inom olika områden så det är därför som modulen har många olika versioner 315,433,868 och 915MHz. Alla viktiga parametrar för RF-kommunikation är programmerbara och de flesta av dem kan ställas in dynamiskt, även RFM69HCW erbjuder den unika fördelen med programmerbara smalband- och bredbandskommunikationslägen.
Obs! På grund av dess relativt låga effekt och korta räckvidd kommer implementeringen av denna modul i ett litet projekt inte att vara ett problem, men om du funderar på att göra en produkt ur den, se till att du använder rätt frekvens för din plats.
Räckvidd
För att förstå intervallet bättre måste vi hantera ett ganska komplicerat ämne som kallas RF Link Budget. Så, vad är denna länkbudget och varför är det så viktigt? Länkbudgeten är som alla andra budgetar, något du har i början och som du spenderar över tiden om din budget är förbrukad kan du inte spendera mer.
Länkbudgeten har också att göra med en länk eller anslutningen mellan avsändaren och mottagaren, den fylls upp av sändarens överföringseffekt och mottagarens känslighet och den beräknas i decibel eller dB den är också frekvens- beroende. Länkbudgeten dras av av alla möjliga hinder och buller mellan avsändaren och mottagaren som avståndskablar väggar trädbyggnader om länkbudgeten används, mottagaren skapar bara lite buller vid utgången och vi får ingen användbar signal. Enligt databladet för RFM69HCW har den en länkbudget på 140 dB jämfört med 105 dB för ASK Hybrid Transmitter men vad betyder detta är detta en viktig skillnad? Lyckligtvis hittar vi detRadiolänk Budgetkalkylatorer online så låt oss göra några beräkningar för att förstå ämnet bättre. Låt oss först anta att vi har en siktlinje mellan sändaren och mottagaren och allt är perfekt eftersom vi vet att vår budget för RFM69HCW är 140 dB så låt oss kontrollera det största teoretiska avståndet vi kan kommunicera, vi sätter allt till noll och avståndet till 500KM, frekvens till 433MHz och vi får en horisontell mottagen effekt på 139,2 dBm
Nu satte jag allt till noll och avståndet till 9 km frekvens till 433 MHz och vi får en horisontell mottagen effekt på 104,3 dBm
Så med ovanstående jämförelse tror jag att vi alla kan vara överens om att RFM69-modulen är mycket bättre än ASK Hybrid Transmitter och en mottagarmodul.
Antennen
Varning! Att fästa en antenn till modulen är obligatorisk eftersom utan den kan modulen skadas av sin egen reflekterade effekt.
Att skapa en antenn är inte så svårt som det kan låta. Den enklaste antennen kan tillverkas bara från en enkelsträngad 22SWG-kabel. Den våglängd av en frekvens kan beräknas genom formeln v / f , där v är hastigheten hos växellådan och f är den (genomsnittliga) sändningsfrekvens. I luften är v lika med c , ljusets hastighet, som är 299,792,458 m / s. Våglängden för 433 MHz-bandet är således 299.792.458 / 433.000.000 = 34,54 cm. Hälften av detta är 17,27 cm och en fjärdedel är 8,63 cm.
För 433 MHz-bandet är våglängden 299.792.458 / 433.000.000 = 69,24 cm. Hälften av detta är 34,62 cm och en fjärdedel är 17,31 cm. Så från ovanstående formel kan vi se processen att beräkna längden på antennledningen.
Strömkrav
RFM69HCW har en driftspänning mellan 1,8V och 3,6V och kan dra upp till 130mA ström när den sänder. Nedan i tabellen kan vi tydligt se modulens strömförbrukning under olika förhållanden
Varning: Om din valda Arduino använder 5V logiska nivåer för att kommunicera med kringutrustningens anslutning av modulen direkt till Arduino kommer att skada modulen
Symbol |
Beskrivning |
Betingelser |
Min |
Typ |
Max |
Enhet |
IDDSL |
Aktuell i viloläge |
- |
0,1 |
1 |
uA |
|
IDIDIDLE |
Aktuell i viloläge |
RC-oscillator aktiverad |
- |
1.2 |
- |
uA |
IDDST |
Ström i standby-läge |
Kristalloscillator aktiverad |
- |
1.25 |
1.5 |
uA |
IDDFS |
aktuell i Synthesizer läge |
- |
9 |
- |
uA |
|
IDDR |
ström i mottagningsläge |
- |
16 |
- |
uA |
|
IDDT |
Matningsström i sändningsläge med lämplig matchning, stabil över VDD-området |
RFOP = +20 dBm, på PA_BOOST RFOP = +17 dBm, på PA_BOOST RFOP = +13 dBm, på RFIO-stift RFOP = +10 dBm, på RFIO-stift RFOP = 0 dBm, på RFIO-stift RFOP = -1 dBm, på RFIO-stift |
- - - - - - |
130 95 45 33 20 16 |
- - - - - - |
mA mA mA mA mamma |
I den här handledningen ska vi använda två Arduino Nano och två logiska nivåomvandlare för att kommunicera med modulen. Vi använder Arduino nano eftersom den inbyggda interna regulatorn kan hantera toppströmmen mycket effektivt. Fritzing-diagrammet i maskinvarudelen nedan kommer att förklara det tydligare för dig.
OBS: Om din strömförsörjning inte kan ge 130mA toppström kan din Arduino starta om eller sämre kan modulen misslyckas med att kommunicera ordentligt, i denna situation kan en kondensator med stort värde med låg ESR förbättra situationen
RFM69-modulens pinouts och beskrivning
Märka |
Fungera |
Fungera |
Märka |
MYRA |
RF-signalutgång / -ingång. |
Power Ground |
GND |
GND |
Antennjord (samma som kraftjord) |
Digital I / O, programvara konfigurerad |
DIO5 |
DIO3 |
Digital I / O, programvara konfigurerad |
Återställ triggeringång |
RST |
DIO4 |
Digital I / O, programvara konfigurerad |
SPI Chip select input |
NSS |
3,3V |
3,3 V matning (minst 130 mA) |
SPI Clock-ingång |
SCK |
DIO0 |
Digital I / O, programvara konfigurerad |
SPI Dataingång |
MOSI |
DIO1 |
Digital I / O, programvara konfigurerad |
SPI Data output |
MISO |
DIO2 |
Digital I / O, programvara konfigurerad |
Power Ground |
GND |
Förbereder anpassad utvecklingsstyrelse
När jag köpte modulen medföljde det inte ett brädbrädekompatibelt breakoutkort så vi har bestämt oss för att göra en själv. Om du kanske måste göra detsamma, följ bara stegen. Observera också att det inte är obligatoriskt att följa dessa steg, du kan helt enkelt löda ledningar till RF-modulen och ansluta dem till brädbrädan och det skulle fortfarande fungera. Jag följer denna procedur bara för att få en stabil och robust inställning.
Steg 1: Förbered schemat för RFM69HCW-modulen
Steg 3: Förbered ett kretskort för det, jag följer den här hemgjorda kretskorthandledningen. Jag tryckte fotavtrycket på ett kopparbräde och tappade det i etsningslösningen
Steg 4: Följ proceduren för både korten och löd din modul till fotavtrycket. Efter lödning ser båda mina moduler ut så här nedan
Den pinout av RFM69HCW RF Module ges i figuren nedan
Material som krävs
Här är listan över saker du behöver för att kommunicera med modulen
- Två RFM69HCW-moduler (med matchande frekvenser):
- 434 MHz (WRL-12823)
- Två Arduino (jag använder Arduino NANO)
- Två logiska nivåomvandlare
- Två breakout-brädor (jag använder en skräddarsydd breakout-bräda)
- En tryckknapp
- Fyra lysdioder
- Ett 4,7K motstånd fyra 220Ohm motstånd
- Bygeltrådar
- Emaljerad koppartråd (22AWG), för att göra antennen.
- Och slutligen lödning (om du redan inte har gjort det)
Hårdvaruanslutning
I denna handledning använder vi Arduino nano som använder 5 volts logik men RFM69HCW-modulen använder 3,3 volts logiska nivåer som du tydligt kan se i tabellen ovan så att för att korrekt kommunicera mellan två enheter är en logisk nivåomvandlare obligatorisk, i fritsningsdiagrammet nedan Vi har visat dig hur du ansluter Arduino nano till RFM69-modulen.
Fritzing Diagram Sender Node
Anslutningstabell avsändarnod
Arduino Pin |
RFM69HCW Stift |
I / O-stift |
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 Mottagarnod
Anslutningstabell Mottagarnod
Arduino Pin |
RFM69HCW Stift |
I / O-stift |
D2 |
DIO0 |
- |
D9 |
- |
LED |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Köra exempelskissen
I den här handledningen ska vi ställa in två Arduino RFM69-noder och få dem att kommunicera med varandra. I avsnittet nedan kommer vi att veta hur man kan få modulen igång med hjälp av RFM69-biblioteket som är skrivet av Felix Rusu från LowPowerLab.
Importerar biblioteket
Förhoppningsvis har du gjort lite Arduino-programmering tidigare och vet hur man installerar ett bibliotek. Om inte, kontrollera avsnittet Importera ett.zip-bibliotek i den här länken
Anslut noder
Anslut USB till Sender Node till din dator, ett nytt COM-portnummer ska läggas till i Arduino IDE: s "Verktyg / Port" -lista, peka ner det, anslut nu mottagarnoden, en annan COM-port ska visas i Verktyg / Portlista, skriv också ner den, med hjälp av portnumret laddar vi upp skissen till avsändaren och mottagarnoden.
Öppnar två Arduino-sessioner
Öppna två Arduino IDE-sessioner genom att dubbelklicka på Arduino IDE-ikonen efter att den första sessionen laddats upp, det är obligatoriskt att öppna två Arduino-sessioner eftersom det är så du kan öppna två Arduino seriella bildskärmsfönster och samtidigt övervaka utgången från två noder
Öppna exempelkoden
Nu när allt är inställt måste vi öppna exempelkoden i båda Arduino-sessionerna för att göra det, gå till
Fil> Exempel> RFM6_LowPowerLab> Exempel> TxRxBlinky
och klicka på den för att öppna den
Ändra exempelkoden
- Nära toppen av koden, leta efter #define NETWORKID och ändra värdet till 0. Med detta ID kan alla dina noder kommunicera med varandra.
- Leta efter #define FREQUENCY ändra detta för att matcha kortfrekvensen (min är 433_MHz).
- Leta efter #define ENCRYPTKEY detta är din 16-bitars krypteringsnyckel.
- Leta efter #define IS_RFM69HW_HCW och avmarkera det om du använder en RFM69_HCW-modul
- Och slutligen leta efter #define NODEID den ska vara inställd som MOTTAGARE som standard
Ladda nu upp koden till din mottagarnod som du tidigare har ställt in.
Dags att ändra skissen för avsändarnoden
Nu i #define NODEID-makrot byter du det till SENDER och laddar upp koden till din avsändarnod.
Det är det, om du har gjort allt korrekt har du två kompletta arbetsmodeller redo att testa.
Arbetet med exempelskissen
Efter den lyckade uppladdningen av skissen kommer du att observera den röda lysdioden som är ansluten till stiftet D4 på Arduino lyser upp, tryck nu på knappen i avsändarnoden och du kommer att observera att den röda lysdioden släcks och den gröna lysdioden som är ansluten till stift D5 på Arduino tänds som visas i bilden nedan
Du kan också observera Button Pressed! text i fönstret Seriell bildskärm enligt nedan
Observera nu den blå lysdioden som är ansluten till stift D9 i avsändarnoden, den kommer att blinka två gånger och i Serial Monitor-fönstret i mottagningsnoden kommer du att följa följande meddelande och även den blå lysdioden som är ansluten till D9-stiftet i mottagarnoden tänds. Om du ser ovanstående meddelande i Serial Monitor-fönstret på mottagarnoden och även om lysdioden lyser Grattis! Du har kommunicerat RFM69-modulen med Arduino IDE. Hela arbetet med denna handledning finns också i videon längst ner på denna sida.
Allt som allt visar sig dessa moduler vara bra för att bygga väderstationer, garageportar, trådlös pumpregulator med indikator, drönare, robotar, din katt… himlen är gränsen! Hoppas att du förstod handledningen och tyckte om att bygga något användbart. Om du har några frågor vänligen lämna dem i kommentarsektionen eller använd forumen för andra tekniska frågor.