Skocz do zawartości

Modul radiowy - kilka kompletów oraz napięcie


Pomocna odpowiedź

Napisano

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 🙂

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.

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ść?

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ś.

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?

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.

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 🙂

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)

"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.

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

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ć.

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.

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..

Kazdy uklad zasilany z ladowarki 230->5V jak do telefonu 🙂 Jak myslisz, uklad da rade? Z antenka duzo lepiej? Szczerze wolalbym bez 🙂 Zalezy mi na dosc niskiej cenie ale zasieg 20m musi byc..

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...