Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino nRF24L01 - Bardzo mały zasięg i stabilności modułu nRF24L01

16 Lip 2016 00:28 3069 18
  • Poziom 13  
    Mam taki problem z modułem nRF24L01 w wersji z przykręcaną anteną i podobno dużym zasięgiem.
    Przy czym nie ma znaczenia czy zasilamy z płyty czy zewnętrznego zasilacza 3,3V. Do modułów zostały przylutowane kondensatory bezpośrednio do płytki.
    Przede wszystkim zasięg pracy to ok. 1m. Odsuwając nadajnik od odbiornika na odległość 2m zasięg linku niknie (gaśnie dioda).
    Druga sprawa to stabilność pracy o której nawet nie można mówić. Moduł pracuje jak chce. Raz pracuje, raz nie pracuje, raz pracuje jak kierunkowskaz, bo dioda miga mniej więcej w takim tempie.
    Spróbowałem założyć moduł bez antenki i zasięg jest większy, ale praca dalej całkowicie niestabilna.
    Zwróciłem uwagę, że gdy dotykam palcami zacisków koszyka akumulatorków stabilność się nieco poprawia, ale na zasięg nie ma to żadnego wpływu.
    Kod jest napisany tak, że dioda odbiornika świeci gdy odbiornik odbiera sygnał. Gdy na nadajniku wciskamy przycisk dioda gaśnie.

    Czy ktoś wie jak to poprawić ??
  • Poziom 39  
    Poprawić program. Być może również zmienić schemat połączeń.
  • Poziom 13  
    Jest to ewidentnie wina nadajnika. Co tu zmienić ?

    Kod: c
    Zaloguj się, aby zobaczyć kod


    tutaj jest kod odbiornika
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 39  
    A gdzie jest ta biblioteka której używasz?
  • Poziom 13  
    Biblioteka została poprawiona, bo wcześniej się nie chciało skompilować. Ale o co chodzi ?
  • Poziom 39  
    Znaczy się mam ją sam sobie znaleźć? I zgadnąć co zmieniłeś?
  • Pomocny post
    Poziom 39  
    Słaba jest ta biblioteka. Nie chce mi się całej analizować ale już zalazłem kilka baboli. Inicjalizacja źle zrobiona w kilku punktach. Moc nadajnika chyba najmniejsza jaka może być. Dynamic payload wyłączone i wpisywane "z palca" w programie. Kto to pisał?!? Zmień bibliotekę. jeśli C to dla Ciebie nie problem, to polecam tą:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=15801959#15801959
  • Poziom 13  
    A możesz mi poprawić ten kod ? C to dla mnie akurat ogromny problem ponieważ jestem na etapie "początku zaczynania z C++ i Arduino".
    Ten kod znalazłem w internecie.
    Albo inaczej - czy możesz mi podać link do opisu okablowania oraz kodu gdzie jest to zrobione porządnie ?
    Chodzi mi o układ, który będzie sterował włączaniem/wyłączaniem diody na możliwie największą odległość. Najlepiej byłoby kilka kanałów, ale może być też jeden. Może uda mi się to potem samemu przerobić na więcej.
  • Poziom 13  
    Miałeś rację - ten kod jest do niczego. Biblioteka jest chyba OK. Znalazłem inny kod i jak ręką odjął - zasięg mierzę w setkach metrów, wszystko pracuje ładnie i stabilnie.
    Jednak to co piszą na allegro, że te moduły z przykręcanymi antenami mają zasięg 1km można włożyć między bajki. Zrobiłem próby
    Na tych nazwijmy to oryginalnych antenach dołączonych do modułów realny zasięg wynosi co najwyżej 300m oczywiście bez żadnych przeszkód i z dala od metalowych przedmiotów. Wystarczy, że odbiornik jest 2m od metalowego ogrodzenia i już nie ma zasięgu. Każda duperela typu znak drogowy i już jest po zasięgu.
    Maksymalny zasięg jaki uzyskałem mając na odbiorniku nieco dłuższą antenę od routera, a na nadajniku oryginalną to jakieś 400m.
  • Poziom 39  
    Spróbuj zredukować moc nadajnika do -12dB. W necie piszą, że ta wersja ze wzmacniaczem nie lubi zbyt silnego sygnału na wejściu od strony nRF i przy mniejszych mocach uzyskuje się większy zasięg.
  • Poziom 13  
    Jutro to przetestuję i napiszę co wyszło w praktyce przy mocach -12, -6 i 0dBm
    Znalazłem fajne anteny na allegro na 2,4GHz o długości 45cm i 76cm w przystępnej cenie.
    Na pewno wymiana anten na znacznie skuteczniejsze najwięcej pomoże i tu akurat spodziewam się bardzo wymiernych rezultatów ponieważ na odległościach rzędu setek metrów czy nawet 1-2km moc 10mW, 30mW czy 100mW jest sprawą drugorzędną.
    Może na wtorek przyjdą długie anteny to zobaczę co będzie.

  • Poziom 26  
  • Poziom 39  
    Nie wiem, jak Twoje testy, ale ja przeprowadziłem podobne testy. Z tym, że mierzyłem pobór prądu i pobieżnie zasięg. Tłumiłem sygnał wejściowy i sprawdzałem która emisja będzie najsilniejsza.
    -18dB - pobór prądu 44mA - sygnał jako pierwszy zanikł
    -12dB - ok. 60mA - jako drugi
    -6dB - ok. 76mA - ex aequo z 0dB
    0db - ok. 78mA - jak poniżej.
    Sygnały -6dB i 0dB zanikały jednocześnie więc różnica musi być bardzo subtelna.
    Biblioteka oczywiście ta z mojego linku powyżej.
  • Poziom 13  
    Mam pytanie, bo nie wiem czy dobrze to robiłem ponieważ testy zasięgu wypadają identycznie.
    Gdzie wpisujemy regulację mocy ? Za poradą kolegi z forum wstawiłem tak :

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 39  
    Jakoś tak?
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Nie wiem, ja nie używam arduino. Na pewno przed uruchomieniem nadawania musisz zmienić moc nadajnika.
  • Poziom 37  
    excray napisał:
    Nie wiem, jak Twoje testy, ale ja przeprowadziłem podobne testy. Z tym, że mierzyłem pobór prądu i pobieżnie zasięg. Tłumiłem sygnał wejściowy i sprawdzałem która emisja będzie najsilniejsza.
    ...
    Sygnały -6dB i 0dB zanikały jednocześnie więc różnica musi być bardzo subtelna.


    Tłumiłeś tzn w sensie z oprogramowania, cyfrowo? W ogóle w "dużych" radiach sterowanych cyfrowo rzadko te tematy działają liniowo (liniowo w mierze logarytmicznej, dB). Zarówno w nadajniku, jak i odbiorniku. Jest to trudne dla konstruktora, i ja to rozumiem, najtrudniej w pobliżu poziomu maksymalnego i przy skrajnie niskich poziomach (najłatwiej środek). Być może dwie wspomniane nastawy w innych warunkach (zasilania, szeroko rozumianego otoczenia) by różniły się więcej, a może nigdy nie działają idealnie tak, jak deklarują. Po poborze prądu widać że są prawie takie same.

    Fajne badanie.
  • Poziom 4  
    Widzę że znajdują się tu osoby obeznane w temacie nrfów i moze mi pomożecie, mianowicie moje moduły nrf24l01+ działają dobrze tylko gdy położę palec na podstwę anteny lub ogólnie ground, bez tego komunikacja działa mizernie. W necie pisali coś o tłumieniu ale nie mam pojecia o co z tym chodzi, może ktos wie co dolega moim modułom i jak im pomóc. Dodam ze komunikacja na podstawowych nrfach działa dobrze.