Skocz do zawartości

Modul radiowy - kilka kompletów oraz napięcie


Michal93

Pomocna odpowiedź

Witam

Nigdy nie bawiłem sie modułami radiowymi i mam 2 pytania:

1. W moim małym projekcie planuję mieć kilka kompletów(układów al'a robot) które mają być sterowane z jednego RaspberryPI. Komunikacja ma być obustronna. Dla każdego zestawu potrzeba jeden nadajniko-odbiornik lub po jednym nadajniku i odbiorniku i to samo przy "robocie". Czy jeśli użyję 5 takich samych zestawów to nie będą się one kłócić? Konkretny odbiornik pasuje do konkretnego odbiornika, czy trzeba się będzie pobawić? Jakieś propozycje konkretnych modeli z zasięgiem około 30-40m?

2. Przy "robotach" niezbyt chcę używac procesora. Tak na prawdę chcę wysyłać stan 1 lub 0(jest lub nie ma napięcia). Czy tak właśnie będą przesyłane dane, czy konieczne jest interpretowanie danych z modułu radiowego przez procesor i dopiero on bazując na tych danych ustawia na pinie stan 1 lub 0?

Z góry dziękuję za odpowiedzi 🙂

Link do komentarza
Share on other sites

Wszystko zależy od tego jakie dokładnie moduły wybierzesz. Są opcje pozwalające robić i tak i tak, zarówno dla pierwszego jak i dla drugiego pytania. Jest też opcja jednego modułu przy rpi i wielu adresowalnych modułów przy twoich urządzeniach wykonawczych.

Link do komentarza
Share on other sites

A jakie moduły polecacie? Najważniejsze jest to by odbiorniki nie potrzebowały procesora i sie nie gryzły. Miło by było gdybym mógł mieć tylko jeden nadajnik przy raspberry, ale jak rozwiązać problem odbierania wiadomości wsteczne od innych układów i rozróżniania od którego przyszła owa wiadomość?

Link do komentarza
Share on other sites

Naprawdę istnieje wiele sposobów na rozwiązanie tego i trudno wymienić wszystkie.

Wymóg niepotrzebowania dodatkowego mikrokontrolera najłatwiej załatwić przez wybór modułu, który już ma programowalny mikrokontroler na pokładzie. Takich modułów/płytek developerskich jest dużo, zarówno dla wifi (na przykład esp8266), bluetootha (na przykład LightBlue Bean), lora (Feather M0 RFM95) czy zwykłego radia (na przykład Feather 32u4 RFM69HCW). (Tak, w pewnym momencie nie chciało mi się już szukać i po prostu wszedłem na stronę Adafruita.) Wszystkie one znacząco różnią się ceną, parametrami, łatwością użycia i programowania, zasięgiem, prędkością transmisji, niezawodnością, zapotrzebowaniem na energię, itd. Naprawdę trudno cokolwiek polecić kiedy nie napisałeś jakie masz wymagania, poza zasięgiem (40m raczej wyklucza bluetooth).

Najlepiej sobie po prostu popatrz po sklepach co jest dostępne w tej kategorii i wybierz coś.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Po przemysleniu sprawy stwierdzilem, ze uzyje procka(ATmega8). Pozostaje tylko wybor odpowiedniego czujnika. Mozecie polecic jakis dosc maly, zasieg kolo 30m, nadajnik i odbiornik w jednym i prosilbym o pomoc w zrobieniu tego tak, by kilka modolow sie nie klocilo. W takim przypadku wszystko musi latac na innej czestotliwosci? Jak ja ustawic?

Link do komentarza
Share on other sites

Nie musi latać na innej częstotliwości. Zazwyczaj się robi to tak, że masz pakiety danych w jakimś tam formacie i każdy z nich ma w sobie zaszyty adres. Radia odbierają te pakiety i ignorują te, które nie zgadzają się z ich adresem.

Niestety nie pomogę ci tego zbudować i zaprogramować.

Myślę też, że za wcześnie podejmujesz decyzję. Weź najpierw wypróbuj to, co ci się wydaje, że będzie działać, napisz na to kod -- może wypróbuj kilka, żeby mieć porównanie -- a dopiero potem decyduj. Przecież to nie na tym polega, żeby ci ktoś gotowca podał, który od razu zadziała.

I koniecznie napisz co ci wyszło -- może innym też się przyda.

Link do komentarza
Share on other sites

Tzn wiesz, ogólnie jestem programistą i zaprogramować coś takiego to niezbyt duży problem. Problemem jest to, że nie do końca wiem jak działa takowy czujnik 🙂 Ogółem przygodę z elektryką/robotyką miałem dość krótką i dawno temu, ale powoli sobie przypominam. Nie chodzi mi o to abyś zaprojektował mi schemat/kod, a jedynie abyś polecił jakiś czujnik warty polecenia 🙂 Co do pomysłu z adresem - bardzo dobry, nawet o tym nie pomyślałem 🙂

Link do komentarza
Share on other sites

To popatrz może na NRF24L01+ -- są dość popularne i da się kupić tanie klony (tylko ze względu na dosyć nonszalanckie podejście Chińczyków do parametrów części, wszystkie moduły które się mają nawzajem widzieć bym kupował wtedy u tego samego sprzedawcy...). Powinno też być wszędzie bardzo dużo przykładów i bibliotek.

Tutaj masz notę katalogową, przeczytaj i zobacz czy to ci pasuje: http://www.sparkfun.com/datasheets/Wireless/Nordic/nRF24L01P_Product_Specification_1_0.pdf

Tu masz jakieś tutoriale: http://blog.diyembedded.com/ (po prawej)

Link do komentarza
Share on other sites

"zaprogramować coś takiego to niezbyt duży problem"

"Co do pomysłu z adresem - bardzo dobry, nawet o tym nie pomyślałem"

Czy to się nie kłóci jedno z drugim? Jeśli nie masz o czymś pojęcia, to jak to oprogramujesz?

Co nazywasz czujnikiem?

Ale wszystko jedno. Skoro nie skorzystałeś z propozycji modułów od deshipu (Przejrzałeś to o w ogóle? Dlaczego akurat mega8? Co było złe w modułach z inteligencją na pokładzie?), tu masz przykłady fajnych modułów wymagających procesora zewnętrznego:

http://www.tme.eu/pl/details/rfm12b-868s2p/moduly-komunikacyjne-rf/hope-microelectronics/

http://www.tme.eu/pl/details/rfm95w-868s2/moduly-komunikacyjne-rf/hope-microelectronics/

Oba mają wiele rejestrów do ustawiania trybu pracy i kontroli procesu nadawania i odbierania danych. Drugi moduł jest nowszy i dużo bardziej rozbudowany. Do obu znajdziesz jakieś biblioteki, do tego pierwszego nawet na Arduino więc odpala się z buta, nie trzeba być programistą.

Acha - zabawa w radio to nie piaskownica w przedszkolu. Są reguły, wyznaczone pasma, ograniczenia mocy i czasu nadawania. Moduły są uniwersalne i bez problemu przekraczają obowiązujące u nas normy, ale to zawsze Ty jesteś odpowiedzialny za kompatybilność w eterze. Nie wiesz co w pobliżu pracuje na tych samych częstotliwościach (a możesz tylko w pasmach ISM, czyli tam gdzie wszyscy bez wykupionej licencji) więc robiąc samowolkę możesz komuś poważnie nadepnąć na odcisk. Radzę zajrzeć do obowiązujących rozporządzeń bo lekką ręką przydzielanie sobie częstotliwości to droga wprost do kłopotów.

Link do komentarza
Share on other sites

Deshipu: dzieki za ten modul, chyba idealny 🙂 Jutro poczytam data sheet jak to podlaczyc, niebawem zamowie i do dziela 🙂

Marek1707: mega, poniewaz juz go uzywalem. Zdecydowalem sie na procki bo pojawily sie dodatkowe wymogi

Link do komentarza
Share on other sites

Ok, rozumiem, jeśli jakoś ten procek znasz to jest argument. Zrób szybki szkic obciążenia procesora. Nawet w małych urządzeniach, gdy trzeba gromadzić, buforować, obrabiać i przesyłać w dwie strony trochę danych (a do tego coś czytać z czujników i sterować jakimiś mechanizmami) to mały RAM bardzo szybko staje się ograniczeniem. Po prostu spisz co chcesz robić w tym "robocie" nawet z uwzględnieniem ew. rozbudowy w przyszłości. Szkoda robić dwa razy tę samą robotę albo dwa dni rzeźbić w programie żeby oszczędzić parę bajtów pamięci bo właśnie zabrakło jej na stos.

Trafność wyboru pasma 2.4GHz zależy od wielu czynników. To słabo rozchodzi się w pomieszczeniach. Jeśli wybierzesz na dodatek wersję modułu z anteną wbudowaną (taki widoczny meander na PCB) to licz się z zasięgiem nawet i 10-20m - takie raportowano w zależności od rodzaju i liczby ścian, orientacji anten oraz rzeczy w ich najbliższym otoczeniu. Także bliskość systemów typu WiFi może bardzo popsuć czułość odbiorników. Zastanów się nad modułami w wersji z gniazdem SMA. Możesz wtedy podpiąć prawdziwą antenkę 2.4GHz o dużo lepszym zysku i "za darmo" zwiększyć zasięg. W jakich warunkach będziesz to użytkował? Mieszkanie? Pusta przestrzeń? Jeśli nie potrzebujesz (a chyba nie) transferów rzędu kilkuset kbit/s to może jednak warto pomyśleć o innych pasmach i modułach? Im wolniej przesyłasz informację tym węższy może być kanał odbiornika i tym mniej szumu tam wchodzi więc zasięg przy tych samych wszystkich innych parametrach będzie większy. W tych RFMxx możesz prawie dowolnie kształtować prędkość (od kilkuset bitów do kilkuset kbitów/s) i tym samym dopasować zasięg/czułość/moc potrzebną do nadawania w zależności od rzeczywistych potrzeb. No nic, sprawdzisz to daj znać.

Link do komentarza
Share on other sites

Generalnie żeby poradzić cokolwiek lepiej dopasowanego, to musielibyśmy wiedzieć co to ma robić -- czyli wszystkie te rzeczy, które @marek1707 tu wymienił, oraz które ja wymieniłem w pierwszej odpowiedzi. Bez tego to możemy sobie strzelać w to, co nam się wydaje.

Link do komentarza
Share on other sites

Dziekuj za tak wyczerpujaca odpowiedz 🙂 Co do procka i jego ramu to nie bedzie to problem, jak wczesniej - bede wysylal stan 1 lub 0. Program nie bedzie zbyt skomplikowany: 2 piny wejscia i jeden wyjscia, przy zmianie jednego lub drugiego IN zmienia sie stan wyjscia, tyle 🙂

Jesli chodzi o otoczenie to niestety, tutaj jest problem: dom. Sporo preszkod. Zasieg 20m z przeszkodami, scianami musi byc..

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.