NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Discutii despre placile de dezvoltare compatibile Arduino
User avatar
Levy
Gold User
Posts: 1540
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Unread postby Levy » 01 May 2022 19:38

Pentru ca vreau sa fac niste teste cu comanda mai multor relee, prin unde radio, am testat modulul NRF24L01, care este un transceiver pe 2.4 Ghz.
Acesta inseamna ca fiecare modul in parte poate transmite si receptiona date, nu avem nevoie de un emitator separat si un receptor separat.

Dar sa vedem cum deruleaza testul.
Prima surpriza am avut-o, in momentul in care am vrut sa fac conexiunile electrice la Arduino.
Modulele pe care le-am primit eu, nu au nimic scris despre pinii existenti pe modul.
nici pe fata....
Image
nici pe dos...
Image

Dar o scurta vizita pe pagina producatorului, a facut rapid lumina
Image

Conexiunea o gasim in codul pe care l-am gasit in librariile necesare, cod pe care l-am editat putin pentru nevoile mele.

Librariile folosite le puteti gasi aici: https://github.com/nRF24/RF24
Documentatia pentru aceasta librarie o gasiti aici: https://nrf24.github.io/RF24/

Pentru partea de transmisie am folosit acest cod:
Iar pentru receptie am folosit acest cod:

Toate fisierele mele din pastebin le puteti gasi aici: https://pastebin.com/u/LeventeDaradici

Am facut un scurt video cu rezultatele.


Ce as avea de adaugat, in video distanta la care functioneaza modulele, este destul de limitata, insa cu o zi inainte am masurat distante mult peste dublul din acest video. Exista si posibilitatea ca bateria de 9V sa fi cedat dupa nenumarate teste, pentru ca am masurat doar 8.4 V pe bateria in gol, si acesta sa influenteze raza maxima de acoperire a modulelor. Astazi e duminica si nu ma duc pana in oras pentru o baterie de 9V, dar maine o sa testez distanta din nou, iar daca va fi mult mai mare ca in prima zi, o sa revin cu detalii.

LED-ul in receptor l-am adaugat, pentru a-mi semnaliza vizual, daca a primit date receptorul de la emitator. Sa nu car laptopul prin masina ca sa urmaresc consola seriala. :haha:

Pentru cei care au putin habar de Arduino, realizeaza foarte usor din codul receptorului cum este legat LED-ul de Arduino.
LED-ul este de tip difuz (opac) cu catodul comun. Astfel catodul se conecteaza de GND, pentru limitarea curentului in LED inseriat rintr-un rezistor de 220 ohmi. Corect ar fi catodul de GND si doua rezistoare pe cele doua culori pe care le-am ales. Dar dim moment ce fiexare culoare se aprinde cand nu functioneaza cealalta culoare, se poate si cu un singur rezistor pe GND, iar culorile conectate direct pe pinii digitali declarati iesire de pe receptor.

Un alt lucru pe care-l puteti observa, daca va uitati putin mai atenti in codul receptorului, este ca transmitem cuvintele ON si OFF, iar la receptie cand receptioneaza ON se cupleaza culoarea VERDE a LED-ului RGB, iar cand receptorul primeste in semnal comanda OFF se va decupla LED-ul RGB.

In momentul in care modulul receptor nu primeste semnal de la transmitator, se va cupla culoarea ROSIE a LED-ului RGB. Astfel stim ca ne aflam in afara zonei de acoperire al emitatorului.

Practic in acest moment avem montajul pregatit pentru comanda unor relee, dar asta in urmatorul test, in functie de timpul liber pe care-l voi avea.

Spor la bricolat ! :drink2:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
delta2k2
Site Admin
Posts: 1990
Joined: 11 Sep 2013 15:18
Location: Over the rainbow ...

Re: NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Unread postby delta2k2 » 02 May 2022 07:50

Doar ca o remarcă, placa din testul tău este ceva de genul NRF24L01+PA+LNA.
Practic, este un modul NRF24L01 ce are în plus un modul de amplificare radio + antenă externă. Asta înseamnă o rază mai mare de acțiune dar și un consum crescut de curent.

În plus de asta, ți-aș recomanda să folosești ca alimentare portabilă baterii cu litiu, nu baterii de 9V. Este mai ușor și mai eficient să reduci tensiunea de alimentare de la maxim 4.2 (când e încărcată full o baterie cu litiu) la 3.3 V cât cere modulul NRF24L01, față de la 9V la 3.3V

Indiferent de ce soluție preferi, mai pune un condensator electrolitic de câteva sute de micro, chiar pe pinul de alimentare al modulului NRF24L01. Poți pune și valori mai mari dacă spațiul nu este o problemă, important e să fie de bună calitate, ceva cu low ESR.

Cu NRF24L01+PA+LNA, în câmp deschis și în afara orașului, am reușit o conexiune stabilă până pe la aproximativ 1000 de metri. În oraș, de la zeci la sute de metri.

Nu mi-e prea clar din video-ul tău cum ai alimentat modulul NRF24L01. Mi se pare că este direct din placa arduino... caz in care nu vei obține rezultate prea bune.
User avatar
Levy
Gold User
Posts: 1540
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Unread postby Levy » 02 May 2022 18:12

Da, intr-adevar este alimentata direct din Arduino, iar distanta este mult sub asteptari.
O sa incerc si varianta cu condensatorul, am tot citit despre acesta. Cum am putin timp liber, revin cu detalii.
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
delta2k2
Site Admin
Posts: 1990
Joined: 11 Sep 2013 15:18
Location: Over the rainbow ...

Re: NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Unread postby delta2k2 » 02 May 2022 19:47

Dacă foloseai doar NRF24L01, puteai alimenta direct din Arduino Uno. Atenție, alte plăci cum ar fi Arduino Nano au tensiunea de 3.3V generată direct din chipul FTDI, iar curentul maxim debitat ar fi undeva pe la 40-50 mA. Dacă te uiți la specificațiile pentru NRF24L01+PA+LNA o să vezi că la emisie curentul sare de 120 mA. Oricum ar fi, eu prefer să alimentez separat astfel de module, tocmai pentru a nu avea surprize.

Pentru a crește distanța, mai poți testa următoarele:
- tot pe pinul de alimentare al NRF-ului poți pune în paralel încă un condensator nepolarizat cu valoare de la 0.1uF la 1-2uF (pe testate)
- alimentează modulul separat, folosind un regulator liniar (deoarece produce mult mai puțin "zgomot" decât unul în comutație)
- folosește acumulatori cu litiu; varianta super simplă ar fi să pui în serie două celule de 4.2V
- pune tot montajul într-o cutie metalică, sau din plastic și pui pe interior staniol (dar să ai grijă să fie oarecum izolat, să nu faci vre-un scurt ceva); evident, doar antena va ieși din cutie

Acumulatorii cu litiu (comparativ cu banala baterie de 9V) au o densitate energetică semnificativ mai mare. Practic se pretează mai bine la vârfurile de curent necesare când NRF-ul emite. Cei doi condesatori suplimentari de care vorbeam ajută și prin decuplarea alimentării, filtrare și oarece rezervă de curent.

Dacă ai vre-un acumulator de laptop care nu mai funcționează, vezi că de obicei pică doar o celulă din cele două sau trei (că depinde de model). Celula defectă are de obicei tensiunea spre zero. Sunt acumulatori care au toate celule funcționale, dar blocate de montajul de încărcăre existent chiar în interiorul acumulatorului. "Deștepții" de la HP (mai sunt și alții), contorizează ciclurile de încărcare și la atingerea unei valori prestabilite din fabrică blochează tot acumulatorul. Mă rog, sunt multe de povestit dar dau in offtopic.

O ultimă remarcă, ai grijă să nu pui în scurt acumulatorii cu litiu. Curentul de scurt-circuit este foarte mare, este pericol de incendiu. Si desigur, să-i încarci cu încărcător dedicat.
User avatar
Levy
Gold User
Posts: 1540
Joined: 02 Oct 2013 15:07
Location: ABSURDISTAN

Re: NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Unread postby Levy » 02 May 2022 20:20

Putin offtopic, dar in legatura cu ce ai scris !

Pffff ! Asta cu HP m-ai dat pe spate !
Unul din laptopuri, chiar cel de pe care scriu, acumulatorul ducea laptopul si 5 ore, chiar si mai mult.

Dintr-o data m-am trezit ca nu se incarca, dar nici nu iasa nimic din acumulator ! Din ce ai scris mai sus, cred ca sint sanse mari sa am acumulatorii inca in regula, si regulatorul de tensiune sa fie blocat. (voit sau nu de HP !) :bang:
Dacă ai tăiat și ultimul copac, ai otrăvit și ultimul râu și ai prins și ultimul pește, ai să fi uimit să constați că banii nu sunt comestibili !

Image
User avatar
delta2k2
Site Admin
Posts: 1990
Joined: 11 Sep 2013 15:18
Location: Over the rainbow ...

Re: NRF24L01 - test distanta maxima de transmisie a datelor pe 2.4 Ghz

Unread postby delta2k2 » 02 May 2022 20:48

Cu scula potrivită poți rescrie eprom-ul (unde e stocat contorul). Dar nu e valabil la orice model de acumulator.

Return to “Arduino”

Who is online

Users browsing this forum: No registered users and 10 guests