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

Osiągnięcie jak największej odległości drogą radiową pomiędzy dwoma μC

madiz08 10 Lis 2018 17:46 555 18
  • Poziom 14  
    Witam
    Ostatnio zainteresował mnie temat komunikacji drogą radiową pomiędzy mikrokontrolerami. Idąc początkowo po najprostszej linii, kupiłem najtańsze moduły do komunikacji arduino 433 MHz RF tworząc wymianę danych pomiędzy dwoma UNO:
    Osiągnięcie jak największej odległości drogą radiową pomiędzy dwoma μC Osiągnięcie jak największej odległości drogą radiową pomiędzy dwoma μC
    Dolutowałem anteny, podegrałem program, wszystko fajnie ale:
    1. Zasięg jest kiepski przy 5V dla nadajnika, a chciałbym zasilać "stację nadawczą" z USB
    2. Komunikacja jest tylko w jedną stronę, co już tworzy problem gdy dla przykładu dwa nadajniki będą nadawały jednocześnie

    Co nieco pamiętam ze studiów odnośnie jednej z metod komunikacji sieciowej, że Slave-y (w moim przypadku nadajniki) chcąc przesłać dane wysyłają zapytanie o możliwość przesłania danych. Jeżeli linia jest wolna to Master (odbiornik) daje zezwolenie dla danego SLAVE-a, że może przesłać dane, a ten z kolei to robi.
    Właśnie takie coś chciałbym spróbować zrobić, do tego celu potrzebując nadajnik i odbiornik w jednym. Czy ktoś z kolegów mógłby mi polecić taki moduł radiowy? Najlepiej jakby był zasilany napięciem 5V oraz przetwarzał sygnał radiowy na komunikację UART dla komunikacji z mikrokontroleram.
  • Poziom 29  
    madiz08 napisał:
    Zasięg jest kiepski przy 5V dla nadajnika, a chciałbym zasilać "stację nadawczą" z USB


    O jaki zasięg Ci konkretnie chodzi?
  • Pomocny post
    Poziom 39  
    Temat transmisji radiowej to temat rzeka. Na rynku są setki różnych transceiverów wiec jest w czym wybierać. Ja poleciłbym Ci na początek NRF24L01 w wersji PA+LNA ze względu na prostotę oraz niską cenę przy jednocześnie sporym zasięgu.
  • Pomocny post
    Poziom 29  
    excray napisał:
    Temat transmisji radiowej to temat rzeka. Na rynku są setki różnych transceiverów wiec jest w czym wybierać. Ja poleciłbym Ci na początek NRF24L01 w wersji PA+LNA ze względu na prostotę oraz niską cenę przy jednocześnie sporym zasięgu.

    Niestety chyba w otwartym terenie, i to nie za bardzo. Wewnątrz budynków jak są ściany to zasięg spada do kilku metrów. I nawet ta zewnętrzna antena nic nie daje. Te moduły, poza w miarę niską ceną, nie mają za dużo zalet.

    Pozdr
  • Poziom 14  
    Dziękuję za odpowiedzi, kupię po parze kilku z wymienionych i potestuję. Jeżeli chodzi o zasięg to zależy mi na komunikacji w domku jednorodzinnym, czyli parter - piętro - kilka ścian. Temat zaciekawił mnie ostatnio w pracy (pracuję w firmie branży auto-motive), gdzie montują różnego rodzaju czujniki bezprzewodowe (typu termometr, czujnik drgań silnika, pomiar wilgotności). Każdy z tych czujników zasilany jest z dwóch paluszków, podobno baterie starczają na min 6 miesięcy i i zasięg wynosi nawet do 150m przy zasilaniu 3V (wysyłanie danych co 1min.) wliczając jako przeszkody ściany i maszyny. Do odbiornika można podłączyć chyba do 124 czujników, dalej po LAN-ie całość przesyłana jest do aplikacji na PC.
  • Pomocny post
    Poziom 29  
  • Pomocny post
    Poziom 32  
    Większa częstotliwość z jaką pracuje łącze to zwykle większa przepustowość i mniejszy pobór prądu. Niestety wyższe częstotliwości są silniej tłumione przez różnego rodzaju przeszkody.
    Przykładowo zegarkowa bateria CR2032 w termometrze na 2.4GHz wystarcza na kilka miesięcy pracy przy wysyłaniu danych co 1 sek. Zasięg jest ograniczony jednak do jednego lub najwyżej kilku sąsiednich pomieszczeń
    Jeśli chcesz uzyskać duży zasięg w budynku to użyj pasma 433MHz i modulacji szerokopasmowej np. LoRa. Będzie do tego potrzebna jednak bateria zdolna dostarczyć w impulsie ponad 100mA. Jedna ramka składająca się z kilkunastu bajtów może być wysyłana nawet przez ponad sekundę. Zasięg będzie jednak bardzo duży.
  • Poziom 14  
    HC-12 SI4463 jest zdecydowanie najlepszy jeżeli chodzi o zasięg. Położyłem jedno Arduino w skrajnym pomieszczeniu, drugie w przeciwległym skrajnym (najwięcej ścian i strop) i zero problemów. Odbierałem dane na Serial Monitorze, następnie wyszedłem jeszcze 200m poza dom i dalej nie zgubiłem ani jednej paczki danych. Rewelacyjne jest to, że tak jak jeden z kolegów napisał, działa po prostu na transmisji szeregowej, także nie potrzeba do tego jakichkolwiek bibliotek, przesył i odbiór są banalnie proste.
    Jeszcze raz dzięki Panowie za pomoc, mam 4 takie moduły, teraz z największą przyjemnością siadam do pisania kodu :).Jedno arduino będzie masterem a 3 pozostałe będą przesyłały na razie informacje o temperaturze, ale dopiero wtedy kiedy dostaną zezwolenie od mastera aby uniknąć wzajemnych zakłóceń.
  • Poziom 14  
    Witam Panowie, jednak nie jest tak pięknie jak się wydawało. Zastosowałem 4 razy HC12, jeden jako odbiornik i 3 jako nadajniki. Tak jak pisałem wcześniej zasięg przy HC12 jest piękny, zero problemów, ale miałem w sumie zabawny przypadek. Przy testach żona mi raz wspomniała, że pilot do bramy wjazdowej różnie działa. Jak podpiąłem na stałe na wieczór to rano sam nie mogłem otworzyć bramy, ale jeszcze wtedy nie skojarzyłem, że to przez HC12. Jak wracałem z pracy i zobaczyłem, ze sąsiad 100m ode mnie wezwał serwis do bramy wjazdowej to od razu do mnie dotarło. Po wyciagnięciu USB z odbiornika, który cały czas odpytywał, problem momentalnie ustał :). Także bede testował dalej na innych modułach.
  • Pomocny post
    Poziom 27  
    Może trochę przesadziłeś z tymi transmisjami. Jak ustawiasz większą prędkość to zasięg automatycznie maleje (choć pewnie nadajnik daje z tą samą mocą), a i z drugiej strony czas w eterze też jest mniejszy. Co te procki książki dyktują? Jak zbierają informację o temperaturze to przecież wystarczy zapytać każdego raz na minutę, prawdopodobieństwo kolizji zmaleje. Można też zmienić kanał, jest 100 do wyboru, każdy przesuwa częstotliwość. No i można ustawić moc transmisji, jak 20dBm sieje sąsiadowi 100m dalej to jest jeszcze 7 niższych do wyboru. A tak z ciekawości co to za marka bramy?
  • Pomocny post
    Poziom 30  
    A co to za pomysł by radio stale działało.
    Radio jedynie może stale by w nasłuch.
    Jak chcesz ze slave pogadać to wysyłasz wtedy pytanie a slave odpowiada.
    Czas transmisji 0.XX sekundy.
    Układ jest zapewne konfigurowalny dlatego przesuń trochę częstotliwość by nie przeszkadzał Twoje branie i po temacie.
  • Pomocny post
    Poziom 17  
    Zacznij od instrukcji obsługi częstotliwości 433MHz. Dowiedz się na których kanałach i jaką mocą możesz nadawać. Maksymalny czas transmisji i ich częstość również powinieneś znać zanim uruchomisz nadajnik. Znaczenie ma również prędkość transmisji.
  • Poziom 14  
    Rozumiem, czyli jest jeszcze nadzieja. W pierwszej kolejności faktycznie dokształcę się w obsłudze częstotliwości 433MHz. Trochę zainteresowałem się tematyką czujników bezprzewodowych w mojej pracy, gdzie Master może odbierać informacje od 128 czujników. Tak tylko z ciekawości pomimo, że mam u siebie jedynie 3 czujniki (nadałem im adresy 2, 4, 8), to Master wysyła zapytanie do każdego z 128 adresów co 100ms. Jeżeli w przeciągu 100ms od zapytania odbierze, to znaczy że dany adres jest aktywny i przesyła jego dane w moim przypadku do PLC (tu już po module ethernet). Zdaję sobie sprawę, że w przypadku temperatury mógłbym oczywiście przesyłać te dane tylko co np. minutę, ale po prostu chciałem sprawdzić czy taka ciągła transmisja jest możliwa, dlatego co 100ms Master nadawał do każdego ze 128 slavów (pomimo, że były tylko 3) i w przypadku adresów 2, 4, 8 dostawał odpowiedź. Odnośnie od napędu mojej bramy to: SOMFY
    Dzięki za podpowiedzi, postaram się w najbliższym czasie doedukować w tematyce częstotliwości 433MHz
  • Pomocny post
    Poziom 32  
    Pasmo ma ograniczoną przepustowość. Jednoczenie wielu użytkowników może chcieć z niego skorzystać. Z tego powodu wprowadzono prawne regulacje dotyczące między innymi mocy nadajnika i współczynnika zajętości pasma. Nadawanie ramki co 100mS w praktyce oznacza 100% zawłaszczenie kanału. Z tego powodu sąsiad nie mógł otworzyć bramy.
    Musisz wymyślić rozwiązanie spełniające dyrektywę RED. Nieco upraszczając określa ona warunki jakie muszą spełniać urządzenia radiowe aby można było je używać bez pozwolenia.
  • Pomocny post
    Poziom 30  
    Prędkość transmisji 19200 bitów / sekundę ( np ).
    To jest ( w dużym uproszczeniu ) 19200 / 10 bitów ( 8 + stop ) daje 1920 znaków na sekundę.
    Z tego wynika że w 100 mS (1/10 sekundy ) można przesyłać do 192 bajtów.
    Przypuszczam że takiej długiej transmisji @madiz08 nie ma.
    Nie znam HC12 ale myślę że można znacznie ograniczyć czas transmisji do minimum.
    Tak by nadajnik był jak najkrócej aktywny.
  • Pomocny post
    Poziom 32  
    Wydaje mi się, że dopuszczalne współczynniki zajętości kanału są chyba na poziomie 0.1-1%.
    Inni użytkownicy mogą stosować dłuższe ramki, stosować inne metody modulacji itd.
    Prawdopodobieństwo przesłania ich danych w krótkich przerwach jakie robi autor tego projektu może być znikomo małe. Tym bardziej, że te przerwy mogą zostać zajęte przez odpowiedzi z czujników.