- RFM69HCW RF modulis
- RFM69HCW
- RFM69 modulio kištukai ir aprašymas
- Pasirengimo plėtros valdybos paruošimas
3 žingsnis: Paruoškite jam PCB, aš seku šią namų gamybos PCB pamoką. Atspausdinau pėdsaką ant varinės lentos ir numečiau į oforto tirpalą
4 žingsnis: atlikite lentų procedūrą ir sulituokite modulį į pėdsaką. Lituojant abu mano moduliai atrodo taip žemiau
Iš RFM69HCW RF modulis pinout yra pateikta žemiau paveikslėlyje
- Reikalingos medžiagos
- Aparatinės įrangos ryšys
- Vykdomas eskizo pavyzdys
- Eskizo pavyzdžio darbas
Kai reikia suteikti savo projektams belaidžio ryšio galimybes, 433Mhz ASK hibridinis siųstuvas ir imtuvas yra dažnas inžinierių, kūrėjų ir mėgėjų pasirinkimas dėl savo mažos kainos, lengvai naudojamų bibliotekų ir bendruomenės palaikymo. Mes taip pat sukūrėme keletą projektų, tokių kaip RF valdoma namų automatika ir belaidis durų skambutis, naudojant šį 433MHz RF modulį. Tačiau dažnai ASK hibridinio siųstuvo ir imtuvo tiesiog nepakanka, jis yra mažo nuotolio ir dėl vienpusio ryšio pobūdžio jis netinka daugeliui programų
Norėdami išspręsti šią nuolat kylančią problemą, „ HopeRF“ kūrėjai sukūrė naują šaunų RF modulį, vadinamą RFM69HCW. Šioje pamokoje sužinosime apie RFM69HCW RF modulį ir jo pranašumus. Pirma, mes pagaminsime namuose pagamintą PCM, skirtą RFM69HCW, ir tada susiesime RFM69HCW su „Arduino“, kad patikrintume, ar jis veikia, kad galėtumėte jį naudoti pasirinktuose projektuose. Taigi, pradėkime.
RFM69HCW RF modulis
RFM69HCW yra pigus lengvai naudojamas radijo modulis, veikiantis nelicencijuotoje ISM (pramonės, mokslo ir medicinos) juostoje, panašus į nRF24L01 RF modulį, kurį naudojome ankstesniuose projektuose. Jis gali būti naudojamas bendraujant tarp dviejų modulių arba gali būti sukonfigūruotas kaip tinklo tinklas, kad būtų galima bendrauti tarp šimtų modulių, todėl tai yra puikus pasirinkimas kuriant nebrangius trumpojo nuotolio belaidžius tinklus jutikliams, naudojamiems namų automatikoje ir kituose duomenų rinkimo projektuose.
RFM69HCW savybės:
- +20 dBm - 100 mW galia
- Didelis jautrumas: iki -120 dBm esant 1,2 kbps
- Maža srovė: Rx = 16 mA, 100 nA registro išlaikymas
- Programuojamas „Pout“: nuo -18 iki +20 dBm 1dB žingsniais
- Nuolatinis RF veikimas per modulio įtampos diapazoną
- FSK, GFSK, MSK, GMSK ir OOK moduliacijos
- Įtaisytasis bitų sinchronizatorius atlieka laikrodžio atkūrimą
- 115 dB + dinaminis diapazonas RSSI
- Automatinis „RF Sense“ su itin greitu AFC
- Paketinis variklis su CRC-16, AES-128, 66 baitų FIFO įmontuotu temperatūros jutikliu
- „High Link“ biudžetas
- Labai maža kaina
RFM69HCW
Dažnis
RFM69HCW sukurtas veikti ISM (pramonės, mokslo ir medicinos) juostoje - nelicencijuotų radijo dažnių rinkinyje, skirtuose mažos galios, mažo nuotolio prietaisams. Skirtingi dažniai yra teisėti skirtingose srityse, todėl modulis turi daug skirtingų versijų 315 433 868 ir 915 MHz. Visi pagrindiniai RF ryšio parametrai yra programuojami ir daugumą jų galima dinamiškai nustatyti, taip pat RFM69HCW siūlo unikalų programuojamų siauros ir plačios juostos ryšio režimų pranašumą.
Pastaba: Dėl palyginti mažos galios ir nedidelio nuotolio šio modulio diegimas mažame projekte nebus problema, tačiau jei galvojate apie tai padaryti, įsitikinkite, kad naudojate tinkamą dažnį Jūsų vieta.
diapazonas
Norėdami geriau suprasti diapazoną, turime spręsti gana sudėtingą temą, vadinamą „ RF Link Budget“. Taigi, kas yra šis nuorodų biudžetas ir kodėl jis toks svarbus? Nuorodų biudžetas yra toks pat, kaip ir bet kurio kito biudžeto, kurį turite pradžioje ir kurį išleidžiate laikui bėgant, jei jūsų biudžetas bus išnaudotas, negalėsite išleisti daugiau.
Nuorodos biudžetas taip pat yra susijęs su ryšiu arba ryšiu tarp siuntėjo ir imtuvo, jį užpildo siuntėjo perdavimo galia ir imtuvo jautrumas, jis apskaičiuojamas decibelais arba dB, taip pat dažnis priklausomas. Nuorodos biudžetą išskaičiuoja įvairiausios kliūtys ir triukšmas tarp siuntėjo ir imtuvo, pvz., Atstumo kabeliai sienų medžius pastatus, jei nuorodos biudžetas yra išnaudotas, imtuvas sukuria tik tam tikrą triukšmą išvestyje ir mes negausime jokio tinkamo naudoti signalo. Pagal RFM69HCW duomenų lapą , jo ryšio biudžetas yra 140 dB, palyginti su 105 dB ASK hibridinio siųstuvo, bet ką tai reiškia, ar tai yra svarbus skirtumas? Laimei, mes randame„Radio Link“ biudžeto skaičiuoklės internete, todėl atlikime keletą skaičiavimų, kad geriau suprastume temą. Pirma, tarkime, kad tarp siuntėjo ir imtuvo yra regėjimo linija, ir viskas yra tobula, nes žinome, kad mūsų biudžetas RFM69HCW yra 140 dB, todėl patikrinkime didžiausią teorinį atstumą, kurį galime perduoti, mes nustatėme viską į nulį ir atstumą iki 500KM, dažnis iki 433MHz ir gauname horizontalią gaunamą galią 139,2 dBm
Dabar aš viską nustačiau į nulį, o atstumą iki 9KM dažnio - 433MHz ir gauname horizontalią gaunamą 104,3 dBm galią.
Taigi su aukščiau pateiktu palyginimu, manau, visi galime sutikti, kad RFM69 modulis yra kur kas geresnis nei „ASK Hybrid Transmitter“ ir imtuvo modulis.
Antena
Atsargiai! Antenos pritvirtinimas prie modulio yra privalomas, nes be jo modulį gali sugadinti jo atspindėta galia.
Sukurti anteną nėra taip sunku, kaip gali atrodyti. Paprasčiausia antena gali būti pagaminta tik iš viengyslio 22SWG laido. Iš dažnio bangos ilgis gali būti apskaičiuojamas pagal formulę prieš / f , kur prieš sudarytą iš perdavimo greitis ir f yra (vidutinis) perdavimo dažnio. Ore v yra lygus c , šviesos greičiui, kuris yra 299,792,458 m / s. Taigi 433 MHz juostos bangos ilgis yra 299,792,458 / 433 000 000 = 34,54 cm. Pusė jų yra 17,27 cm, o ketvirtadalis - 8,63 cm.
433 MHz juostos bangos ilgis yra 299,792,458 / 433 000 000 = 69,24 cm. Pusė jų yra 34,62 cm, o ketvirtadalis - 17,31 cm. Taigi iš pirmiau pateiktos formulės galime pamatyti antenos laido ilgio skaičiavimo procesą.
Energijos poreikis
„RFM69HCW“ darbinė įtampa yra nuo 1,8 V iki 3,6 V ir perduodama gali paimti iki 130 mA srovę. Žemiau lentelėje galime aiškiai pamatyti modulio energijos suvartojimą skirtingomis sąlygomis
Įspėjimas: Jei jūsų pasirinktas „Arduino“ naudoja 5 V logikos lygius, kad susisiektų su periferinio įrenginio prijungimu prie modulio tiesiai prie „Arduino“, modulis bus pažeistas
Simbolis |
apibūdinimas |
Sąlygos |
Min |
Tipas |
Maks |
Vienetas |
IDDSL |
Srovė miego režimu |
- |
0.1 |
1 |
uA |
|
IDDIDLE |
Srovė laukimo režimu |
Įjungtas RC osciliatorius |
- |
1.2 |
- |
uA |
IDDST |
Dabartinis budėjimo režimu |
Įjungtas kristalinis osciliatorius |
- |
1.25 |
1.5 |
uA |
IDDFS |
srovė sintezatoriuje režimas |
- |
9 |
- |
uA |
|
IDDR |
srovė priimties režimu |
- |
16 |
- |
uA |
|
IDDT |
Maitinimo srovė perdavimo režimu su tinkamu derinimu, stabili visame VDD diapazone |
RFOP = +20 dBm, PA_BOOST RFOP = +17 dBm, PA_BOOST RFOP = +13 dBm, ant RFIO kaiščio RFOP = +10 dBm, ant RFIO kaiščio RFOP = 0 dBm, ant RFIO kaiščio RFOP = -1 dBm, ant RFIO kaiščio |
- - - - - - |
130 95 45 33 20 16 |
- - - - - - |
mA mA mA mA mAmA |
Šioje pamokoje bendravimui su moduliu naudosime du „Arduino Nano“ ir du loginio lygio keitiklius. Mes naudojame „Arduino nano“, nes įmontuotas vidinis reguliatorius gali labai efektyviai valdyti piko srovę. Žemiau esančioje aparatinės įrangos dalyje esančioje „Fritzing“ diagramoje tai paaiškinama jums aiškiau.
PASTABA: Jei jūsų maitinimo šaltinis negali užtikrinti 130 mA didžiausios srovės, jūsų „Arduino“ gali būti paleista iš naujo arba dar blogiau, modulis gali tinkamai nesusikalbėti, šioje situacijoje situaciją gali pagerinti didelės vertės kondensatorius su mažu ESR
RFM69 modulio kištukai ir aprašymas
Etiketė |
Funkcija |
Funkcija |
Etiketė |
ANT |
RF signalo išvestis / įvestis. |
Maitinimo įžeminimas |
BND |
BND |
Antenos įžeminimas (tas pats kaip ir įžeminimas) |
Skaitmeninis įvestis / išvestis, sukonfigūruota programinė įranga |
DIO5 |
DIO3 |
Skaitmeninis įvestis / išvestis, sukonfigūruota programinė įranga |
Iš naujo nustatyti trigerio įvestį |
RST |
DIO4 |
Skaitmeninis įvestis / išvestis, sukonfigūruota programinė įranga |
SPI mikroschemos įvestis |
NSS |
3.3V |
3,3 V maitinimas (mažiausiai 130 mA) |
SPI laikrodžio įvestis |
SCK |
DIO0 |
Skaitmeninis įvestis / išvestis, sukonfigūruota programinė įranga |
SPI duomenų įvedimas |
MOSI |
DIO1 |
Skaitmeninis įvestis / išvestis, sukonfigūruota programinė įranga |
SPI duomenų išvestis |
MISO |
DIO2 |
Skaitmeninis įvestis / išvestis, sukonfigūruota programinė įranga |
Maitinimo įžeminimas |
BND |
Pasirengimo plėtros valdybos paruošimas
Kai nusipirkau modulį, jis nebuvo tiekiamas su „breadboard“ suderinama pertraukimo lenta, todėl nusprendėme jį pagaminti pats. Jei jums gali tekti daryti tą patį, tiesiog atlikite nurodytus veiksmus. Be to, atkreipkite dėmesį, kad atlikti šiuos veiksmus nėra privaloma, galite tiesiog prilituoti laidus prie RF modulio ir prijungti juos prie duonos lentos, ir tai vis tiek veiktų. Laikausi šios procedūros tik tam, kad būtų sukurta stabili ir tvirta sąranka.
1 žingsnis: Paruoškite RFM69HCW modulio schemas
3 žingsnis: Paruoškite jam PCB, aš seku šią namų gamybos PCB pamoką. Atspausdinau pėdsaką ant varinės lentos ir numečiau į oforto tirpalą
4 žingsnis: atlikite lentų procedūrą ir sulituokite modulį į pėdsaką. Lituojant abu mano moduliai atrodo taip žemiau
Iš RFM69HCW RF modulis pinout yra pateikta žemiau paveikslėlyje
Reikalingos medžiagos
Čia pateikiamas sąrašas dalykų, kurių jums reikės norint bendrauti su moduliu
- Du RFM69HCW moduliai (su atitinkančiais dažniais):
- 434 MHz (WRL-12823)
- Du „Arduino“ (aš naudoju „Arduino NANO“)
- Du loginio lygio keitikliai
- Dvi pertraukimo lentos (aš naudoju pagal užsakymą pagamintą pertraukimo lentą)
- Mygtukas
- Keturi šviesos diodai
- Vienas 4,7K rezistorius keturi 220Om rezistoriai
- Džemperių laidai
- Emaliuota varinė viela (22AWG), skirta antenai gaminti.
- Ir pagaliau litavimas (jei jūs to dar nepadarėte)
Aparatinės įrangos ryšys
Šioje pamokoje mes naudojame „Arduino nano“, kuri naudoja 5 voltų logiką, tačiau RFM69HCW modulis naudoja 3,3 voltų logikos lygius, kaip aiškiai matote aukščiau pateiktoje lentelėje, todėl norint tinkamai bendrauti tarp dviejų įrenginių, loginio lygio keitiklis yra privalomas, žemiau esančioje fritingo diagramoje. mes parodėme jums, kaip prijungti „Arduino nano“ prie RFM69 modulio.
„Fritzing Diagram Sender Node“
Ryšio lentelės siuntėjo mazgas
Arduino kaištis |
RFM69HCW kaištis |
Įvesties / išvesties kaiščiai |
D2 |
DIO0 |
- |
D3 |
- |
TAC_SWITCH |
D4 |
- |
LED_GREEN |
D5 |
- |
LED_RED |
D9 |
- |
LED_BLUE |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Fritzing diagramos imtuvo mazgas
Ryšio lentelės imtuvo mazgas
Arduino kaištis |
RFM69HCW kaištis |
Įvesties / išvesties kaiščiai |
D2 |
DIO0 |
- |
D9 |
- |
LED |
D10 |
NSS |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Vykdomas eskizo pavyzdys
Šioje pamokoje sukursime du „Arduino RFM69“ mazgus ir leisime jiems bendrauti tarpusavyje. Žemiau esančiame skyriuje sužinosime, kaip modulis paleisti ir paleisti naudojant RFM69 biblioteką, kurią parašė Felixas Rusu iš „LowPowerLab“.
Importuojama biblioteka
Tikimės, kad anksčiau atlikote šiek tiek „Arduino“ programavimo ir mokate įdiegti biblioteką. Jei ne, patikrinkite šios nuorodos skyrių .zip bibliotekos importavimas
Prijunkite mazgus
Prijunkite siuntėjo mazgo USB prie kompiuterio, naują „COM“ prievado numerį reikia pridėti prie „Arduino IDE“ sąrašo „Įrankiai / prievadas“, užpildykite jį, dabar prijunkite imtuvo mazgą, o kitas COM prievadas turėtų pasirodyti „Tools / Uosto sąrašas, taip pat užpildykite jį, naudodami prievado numerį eskizą įkelsime į siuntėją ir imtuvo mazgą.
Dviejų „Arduino“ sesijų atidarymas
Atidarykite du „Arduino IDE“ seansus dukart spustelėdami „Arduino IDE“ piktogramą po pirmosios sesijos įkėlimo, privalote atidaryti du „Arduino“ seansus, nes taip galite atidaryti du „Arduino“ serijinio monitoriaus langus ir vienu metu stebėti dviejų mazgų išvestį
Kodo pavyzdžio atidarymas
Dabar, kai viskas bus nustatyta, turime atidaryti pavyzdinį kodą abiejuose „Arduino“ seansuose, kad tai padarytume
Failas> Pavyzdžiai> RFM6_LowPowerLab> Pavyzdžiai> TxRxBlinky
ir spustelėkite jį, kad atidarytumėte
Kodo pavyzdžio modifikavimas
- Netoli kodo viršaus ieškokite #define NETWORKID ir pakeiskite reikšmę į 0. Naudodami šį ID, visi jūsų mazgai gali bendrauti tarpusavyje.
- Ieškokite #define FREQUENCY, pakeiskite tai, kad atitiktų plokštės dažnį (mano yra 433_MHz).
- Ieškokite #define ENCRYPTKEY, tai yra jūsų 16 bitų šifravimo raktas.
- Ieškokite #define IS_RFM69HW_HCW ir panaikinkite komentarą, jei naudojate RFM69_HCW modulį
- Ir pagaliau ieškokite #define NODEID, jis pagal numatytuosius nustatymus turėtų būti nustatytas kaip GAVĖJAS
Dabar įkelkite kodą į anksčiau nustatytą imtuvo mazgą.
Laikas modifikuoti siuntėjo mazgo eskizą
Dabar makrokomandoje #define NODEID pakeiskite ją į SENDER ir įkelkite kodą į savo siuntėjo mazgą.
Štai ir viskas, jei viską padarėte teisingai, turite paruošti išbandyti du pilnus veikiančius modelius.
Eskizo pavyzdžio darbas
Po sėkmingo eskizo įkėlimo pastebėsite raudoną šviesos diodą, sujungtą su „Arduino“ kaiščiu D4, dabar paspauskite mygtuką siuntėjo mazge ir pastebėsite, kad raudonas šviesos diodas išsijungia ir žalias šviesos diodas prijungtas prie „Arduino“ kaiščio D5 užsidega, kaip parodyta paveikslėlyje žemiau
Taip pat galite stebėti mygtuką Paspaustas! tekstas serijinio monitoriaus lange, kaip parodyta žemiau
Dabar stebėkite mėlyną šviesos diodą, kuris yra prijungtas prie siuntėjo mazgo D9 kaiščio, jis mirksi du kartus, o „Priėmimo mazgo“ serijos stebėjimo lange stebėsite šį pranešimą ir mėlyną šviesos diodą, kuris yra prijungtas prie užsidegs imtuvo mazgas. Jei matote aukščiau pateiktą pranešimą imtuvo mazgo serijos stebėjimo lange ir jei šviesos diodas užsidega Sveikiname! Jūs sėkmingai užmezgėte RFM69 modulį su „Arduino IDE“. Visą šios pamokos veikimą taip pat galite rasti vaizdo įraše, pateiktame šio puslapio apačioje.
Visi šie moduliai puikiai tinka statant meteorologines stotis, garažo vartus, belaidį siurblio valdiklį su indikatoriumi, bepiločius orlaivius, robotus, jūsų katę… dangus yra riba! Tikiuosi, kad supratote pamoką ir patiko kurti ką nors naudingo. Jei turite klausimų, palikite juos komentarų skyriuje arba naudokite forumus kitoms techninėms užklausoms.