cirip Postat Februarie 10, 2020 Partajează Postat Februarie 10, 2020 (editat) Va salut, Postul este adresat in principal celor care doresc sa foloseasca modulele nRF24L01 de provenienta incerta sau mai bine zis clonele acestui cipan. Personal am testat doua tipuri: 1)Cele pe care chiar scrie nRF24L01, dar au o comportare dubioasa si sunt suspectate a fi facaturi si 2) Si24R1, care poarta un alt cod, dar este declarat ca fiind compatibil cu tizul lui nRF24L01. Avand nevoie de o transmisie radio la mica distanta si gasind aceste module foarte ieftin, mi-am zis ca pot incerca sa le folosesc. Le-am testat atat cu biblioteca RF24 din mediul Arduino, dar am scris si cod complet nou pentru lucrul cu niscai PICuri 18F. Testele initiale au fost un dezastru. Nu reuseam sa fac Atmega sa vorbeasca cu PICul prin intermediul modulelor nRF24L01. Apoi am reusit sa fac doua Arduino sa vorbeasca intre ele, dar comunicatia era sporadica si cu foarte multe erori. Dupa multe teste si re-citiri ale foii de catalog, am reusit sa fac si PICul sa intre in hora. Mai mult, am reusit sa folosesc conceptul de tevi (pipes) descris in foaia de catalog. Cu toate astea, ramanea o instabilitate a legaturii, care, culmea, se agrava cand maream puterea de emisie. Prin urmare m-am decis sa sap mai adanc, ca sa vad ce se intampla. Ca sa ai comunicare trebuie ca atat transmitatorul cat si receptorul sa-si faca treaba. Am inceput cu analiza emisiei. Analiza am facut-o direct pe semnalul RF, pe care l-am mixat, ca sa-l aduc la o frecventa mai joasa, apoi am facut capturi de salve de transmisie RF cu un osciloscop digital. Esantioanele au fost extrase din osciloscop, apoi demodulate si analizate. Din fericire modulatia este de tip FSK, fara criptare si este destul de usor de analizat. Oricum, structura pachetelor RF este descrisa in detaliu in foaia de catalog. Iata mai jos cum arata un pachet de date: Toti parametrii din pachetul de date se pot controla prin program. Se observa prezenta urmatoarelor secvente: -Preambul: 1 octet -Adresa destinatie: 3-5 octeti (am folosit 5) -Datele pr. zise: 32 octeti (nu folosesc lungime variabila, desi este posibil) -Suma de control sau CRC: 1-2 octeti (am folosit 2) In total, in cazul experimentului meu, un pachet RF contine 1+5+32+2 = 40 octeti = 320 biti. Durata pachetului RF este de 1.28ms. In zona de date pr. zise (payload) cu lungimea de 32 de octeti, numai primul octet a fost incarcat cu valori aleatoare. Restul de 31 au fost toti 0x00. Cam asa arata un pachet RF transmis pe 2.4GHz, mixat si adus la 7MHz, apoi capturat pe osciloscop. Pe pachete de tipul asta am facut analiza modulatiei. Osciloscopul era setat pe 200us/div pe orizontala si 1mV/div pe verticala. Pentru a evalua calitatea modulatiei, am facut cate 50 de masuratori consecutive cu date aleatoare si am suprapus rezultatele pentru a trasa diagrama ochi. Cele 8 masuratori sunt facute cu nivele de putere din ce in ce mai mari, in conformitate cu setarile din registrul RF_SETUP bitii RF_PWR asa cum este descris in foaia lui Si24R1. Rata de bit folosita este de 250Kbps. Pentru cei nefamiliari cu "diagrama ochi" (eye pattern, eye diagram) si interpretarea ei in evaluarea calitatii transmisiilor de date, iata cateva explicatii aici: despre diagrama ochi RF_PWR = 0b000; Pout = -12dBm RF_PWR = 0b001; Pout = -6dBm RF_PWR = 0b010; Pout = -4dBm RF_PWR = 0b011; Pout = 0dBm RF_PWR = 0b100; Pout = 1dBm RF_PWR = 0b101; Pout = 3dBm RF_PWR = 0b110; Pout = 4dBm RF_PWR = 0b111; Pout = 7dBm Va rog sa remarcati cat de mult se degradeaza calitatea modulatiei pe masura ce este crescuta puterea RF de iesire. Practic, de la puterea de 0dBm in sus, diagrama ochi este inchisa si modulatia emitatorului este inutilizabila, chiar daca receptorul ar fi de cea mai buna calitate. Am verificat si stabilitatea sursei de alimentare si nu am constatat variatii pe timpul transmisiei. In concluzie, celor care doresc totusi sa utilizeze modulele clona ale lui nRF24R01, le recomand sa foloseasca puteri mici de iesire, altfel rata erorilor atinge valori mari inca de la emitator datorita calitatii foarte scazute a modulatiei. Planuiesc sa fac si cateva teste de distanta in camp deschis. Cirip Editat Februarie 10, 2020 de cirip 2 Link spre comentariu
VAX Postat Februarie 10, 2020 Partajează Postat Februarie 10, 2020 Nu ma pricep la programare, dar am suficienta experienta in domeniul RF. Verificati daca frecventele cuarturilor de pe acele module sunt corecte. Presupun ca au cuarturi pentru frecventa pilot. Link spre comentariu
ratza Postat Februarie 10, 2020 Partajează Postat Februarie 10, 2020 Ce treabă are cuarţul cu modulaţia defectuoasă la putere mărită? Link spre comentariu
yo3fhm Postat Februarie 10, 2020 Partajează Postat Februarie 10, 2020 Acum 5 ore, cirip a spus: Analiza am facut-o direct pe semnalul RF, pe care l-am mixat, ca sa-l aduc la o frecventa mai joasa, apoi am facut capturi de salve de transmisie RF cu un osciloscop digital. Esantioanele au fost extrase din osciloscop, apoi demodulate si analizate. [...] Cam asa arata un pachet RF transmis pe 2.4GHz, mixat si adus la 7MHz, apoi capturat pe osciloscop. [...] Va rog sa remarcati cat de mult se degradeaza calitatea modulatiei pe masura ce este crescuta puterea RF de iesire. Practic, de la puterea de 0dBm in sus, diagrama ochi este inchisa si modulatia emitatorului este inutilizabila, chiar daca receptorul ar fi de cea mai buna calitate. Am verificat si stabilitatea sursei de alimentare si nu am constatat variatii pe timpul transmisiei. Super tare, chapeau bas ! Dar ce ai folosit pe post de mixer ?! Module de genul celor analizate de tine vad ca se gasesc si pe la Optimus Digital , la vreo 7 lei ;-) Ai reusit sa gasesti si motivul ptr care se degradeaza modulatia atat de rau peste 0dBm ? Felicitari pentru analiza, cred c-a transpirat osciloscopul ala SI de asemenea, pentru rabdare. Banuiesc ca procesul l-ai automatizat, dar oricum, chiar si ptr a organiza si publica pozele, plus story-ul in sine, implica multa rabdare si determinare (ca sa nu zic pasiune, desi cred ca asta era un termen mai corect, hi ! ). Link spre comentariu
informer Postat Februarie 10, 2020 Partajează Postat Februarie 10, 2020 Acum 5 ore, cirip a spus: Avand nevoie de o transmisie radio la mica distanta si gasind aceste module foarte ieftin, mi-am zis ca pot incerca sa le folosesc. Va recomand modulele de la Hope, sub 1GHz (cele de peste 1GHz personal nu le-am utilizat). Le folosesc cu rezultate foarte bune, de mai multi ani, in toata gama de puteri la iesire (<=20dBm) dar si varianta RFM23BP (<=30dBm). Sunt doar o idee mai scumpe... Link spre comentariu
cirip Postat Februarie 10, 2020 Autor Partajează Postat Februarie 10, 2020 Va multumesc pentru comentarii. Sa o luam pe rand ... Acum 6 ore, ratza a spus: Ce treabă are cuarţul cu modulaţia defectuoasă la putere mărită? Like! Acum 6 ore, yo3fhm a spus: Dar ce ai folosit pe post de mixer ?! Mixerul a fost ceva de genul asta: Acum 6 ore, yo3fhm a spus: Ai reusit sa gasesti si motivul In legatura cu motivul, am o suspiciune, dar nu pot sti exact. Din moment ce am verificat ca stabilitatea sursei de alimentare nu este compromisa cand apare pulsul de curent la emisie, ceea ce cred ca se intampla se afla pe cip. Banuiesc ca a fost proiectat in graba, fara sa fie data o atentie deosebita izolarii intre partea digitala si VCOul sintetizorului. De altfel se si observa in zona lunga de zerouri pana la CRC cum apare o modulatie digitala parazita de la un semnal de tip clock. Nu il regasesc pe pinul de alimentare, asa ca banuiesc ca interferenta e interna. Acum 6 ore, yo3fhm a spus: cred c-a transpirat osciloscopul ala Corect, a cam transpirat oscilo, dar cred ca si lui i-a placut . Da, masuratorile au fost automatizate. Nu ar fi putut sa fie altfel. Demodularea si alinierea datelor pentru a afisa diagrama ochi a fost facuta cu desepeala. Acum 5 ore, informer a spus: Va recomand modulele de la Hope Multumesc ptr recomandare. Am folosit si folosesc module de la Hope. Dar am constatat ca Si1000, cu care sunt facute modulele, sunt foarte sensibile la supratensiune pe alimentare. Cateva am ars eu din neatentie, iar unul a clacat in timp ce era afara pe montaj; este termometrul ala cu celula solara pe care l-am publicat la Proiecte Complexe. Intre timp preturile au crescut si datorita faptului ca Si1000 nu mai este in fabricatie. nRFurile le-am luat la un pret de nimic, mai exact 99 centi bucata, transport inclus. Asa ca am zis ca merita sa le incerc. Una peste alta, cred ca nRFurile clone sunt utilizabile, dar cu problemele asociate. Atata timp cat este clar ce limitari au, dat fiind pretul extrem de scazut, sunt rezonabile ptr proiecte de tip hobi. Link spre comentariu
informer Postat Februarie 10, 2020 Partajează Postat Februarie 10, 2020 (editat) Acum 2 ore, cirip a spus: Multumesc ptr recomandare. Am folosit si folosesc module de la Hope. Dar am constatat ca Si1000, cu care sunt facute modulele, sunt foarte sensibile la supratensiune pe alimentare. Am inteles, cele folosite de mine sunt cu Si443X (RFM22/23) respectiv Si4463 (RFM69 - sau dupa alte pareri echiv. cu Semtech SX1231). Editat Februarie 10, 2020 de informer Link spre comentariu
ancient Postat Februarie 16, 2020 Partajează Postat Februarie 16, 2020 La 10.02.2020 la 11:54, VAX a spus: Nu ma pricep la programare, dar am suficienta experienta in domeniul RF. Verificati daca frecventele cuarturilor de pe acele module sunt corecte. Seara buna dl. Vax . M-ati putea ajuta sa inteleg care ar fi legatura dintre frecventa cuarturilor respective si problemele de la emisie mentionate de userul cirip ? Pe mine ma intereseaza un astfel de amanunt. Multumesc anticipat ! Link spre comentariu
VAX Postat Februarie 17, 2020 Partajează Postat Februarie 17, 2020 Nu se inteleg intre ele, pentru ca nu sunt pe aceeasi frecventa. Asa deduc eu, nu ma pricep concret la tipul respectiv de circuit. Problema de tipul asta am intalnit la placile de retea wireless de la unele laptopuri. Pierd des contactul cu routerul. Link spre comentariu
Marele Savant Postat Februarie 17, 2020 Partajează Postat Februarie 17, 2020 Il pierd, dar din alte motive! Link spre comentariu
VAX Postat Februarie 17, 2020 Partajează Postat Februarie 17, 2020 Care sunt motivele, le stiti ? Ma refer la placile de retea. Eu am vazut ca se desincronizeaza PLL-ul din cauza diferentei mari de frecventa. Din soft (driver) cauta sa-l readuca pe frecventa actionand asupra unui element reactiv, dar asta o face la inceput, cand stabileste conexiunea cu routerul. Daca pierde legatura ulterior (din fuga de frecventa si desincronizare), asa ramana pana ii dai comanda de reconectare. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum