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

Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC

ghost666 26 Paź 2016 13:41 11103 3
  • Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC
    Istnieje wiele sposobów, na dodanie do amatorskiego projektu łączności bezprzewodowej. W poniższym projekcie autor wykorzystał łącze radiowe do skomunikowania 8 bitowego mikrokontrolera z rodziny PIC z komputerem PC. W internecie znaleźć można wiele różnych przykładów wykorystania szerokiej gamy dostęponych na rynku modułów RF. Wybór pasma komunikacji i konkretnego modułu zależny jest od wielu czynników. Komunikacja w pasmie poniżej 1 GHz zasadniczo dedykowana jest do realizacji transmisji na dosyć duży zasięg. To jaki dokładnie moduł wybierzemy zależne jest też od ich ceny. Zasadniczo im droższy moduł tym lepsze parametry, oferuje. Poszczególne moduły różnić się mogą zasięgiem, niezawodnością, prędkością transmisji etc. Wybór konkretnego zależy od konkretnej aplikacji.

    Jak zauważa autor większość hobbistycznych projektów, wykorzystujących komunikację radiową opartych jest o moduły Arduino i bibliotekę VirtualWire. Oferuje ona różne zaawansowane funkcje, takie jak np. kodowanie i dekodowanie Manchester, zapewniające zrównoważenie napięć w układach toru RF. W poniższym projekcie jednak, realizacja systemu jest dużo prostsza. Autor wykorzystał niewielki mikrokontroler firmy Microchip - PIC12F1822 - do komunikacji poprzez USART z modułem komunikacyjnym, pracującym w pasmie 433 MHz. W poniższym projekcie odnajdziemy opis potrzebnego układu oraz kod programu, pozwalający na nadawanie i odbieranie informacji z poziomu mikrokontrolera.

    Testy układu, przeprowadzone przez autora, pokazały, że najszybsza możliwa transmisja z układu do komputera realizowana była z prędkością około 1200 bodów, a zasięg nadajnika wynosił około 20 metrów w pomieszczeniach, tj. przez ściany jego domu etc.

    Potrzebne elementy

    * Para modułów: nadajnik i odbiornik433 MHz.
    * Dwie helikalne anteny na 433 MHz.
    * Mikrokontroler PIC12F1822.
    * Para kondensatorów ceramicznych o pojemności 22 pF.
    * Rezonator kwarcowy 4 MHz.
    * Opornik 4.7 kΩ ¼ W.
    * Zasilacz - w przypadku autora przetwornica DC/DC step up oraz koszyk na baterie AAA.
    * Kable, do połączenia wszystkich elementów.
    * Płytka stykowa.

    Ponadto potrzebne nam będą:

    * Programator PICkit 3
    * Konwerter USB-TTL (RS232)
    * MPLAB- X IDE RealTerm (lub inne oprogramowanie terminalowe na komputer PC)

    Krok 1: Nadajnik

    Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC






    Nadajnik składa się z kilku elementów zestawionych na płytce stykowej:

    Zasilanie

    Układy zasilane są napięciem 5 V. Autor zdecydował się na zasilanie bateryjne, z pomoca jednej baterii AAA - z uwagi na kwestie rozmiaru gotowego układu. Dlatego też konieczne było zainstalowanie w układzie przetwornicy DC/DC step-up. Autor wybrał przetwornicę pracującą z napięciem wejściowym od 0,9 V, co pozwala na bezproblemową pracę z pojedynczą baterią 1,5 V. Układ ten daje stabilizowane napięcie 5 V na swoim wyjściu, a wydajność prądowa wyjścia jest w zupełności dostateczna dla układu - moduł nadajnika pobiera około 40 mA, a pobór prądu przez mikrokontroler jest tutaj w zasadzie pomijalny.

    Mikrokontroler

    Autor wybrał układ z rodziny PIC ze względu na personalne odczucia. Wybrany mikrokontoler jest niewielkim ale bardzo elastycznym układem produkowanym w małej obudowie DIP o ośmiu nóżkach. Do pracy potrzebuje on kilka kondensatorów i oscylatora kwarcowego, jeśli nie chcemy używać wewnętrznego oscylatora. Do skompilowania programu, napisanego w C, autor wykorzystał IDE MPLAB-X od Microschipa, a do zaprogramowania układu programator PICkit 3.

    Nadajnik

    Moduły tego rodzaju sprzedawane są zazwyczaj w parach nadajnik+odbiornik. Nadajnik zamontowany został wraz z mikrokontrolerem na płytce stykowej, a odbiornik podłączony będzie do komputera. Moduł ma jedynie 3 piny - masę, zasilanie i pin danych. Układ zasilany jest napięciem z zakresu od 3 V do 12 V, a wejście danych wykorzystuje standard UART do komunikacji.

    Poniższy program wgrany został do mikrokontrolera, aby realizować komunikację z komputerem.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Krok 2: Odbiorniki jego podłączenie do komputera PC

    Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC


    Odbiornik składa się jedynie z zasilacza i modułu odbiornika RF. Działanie tego systemu jest bardzo proste. Odbiornik odbiera sygnału RF z nadajnika i przekazuje je bezpośrednio do komputera poprzez konwerter USB-UART-TTL. Jedynie dwa kable z tego adaptera wykorzystane są w systemie - RX oraz masa. Do wyświetlenia odebranych informacji wykorzystany może być dowolny terminal, np. RealTerm lub standardowy terminal systemu Windows.

    Podsumowanie

    Komunikacja bezprzewodowa w pasmie 433 MHz na uC PIC


    Powyższy opis prezentuje realizację bardzo uproszczonego, jednokierunkowego systemu komunikacji RF. Do jego zestawienia wykorzystano dosyć tanie moduły 433 MHz i jest to sposób na rozszerzenie funkcjonalności wielu systemów opartych o układy PIC czy inne mikrokontrolery. Układ taki oferuje całkiem wysoką prędkość transmisji i dobry zasięg.

    Autor konstrukcji pracuje aktualnie nad stworzeniem bardziej rozbudowanego systemu komunikacji, który miałby być bardziej niezawodny i odporny na zakłócenia. Dodatkowo w odbiorniku tego systemu miałby się znaleźć drugi mikrokontroler, który sprawdzałby poprawność odbieranych danych. (Bardzo chętnie przetłumaczę, gdy pojawi się w sieci - przyp.red.).

    Źródło: http://www.instructables.com/id/Wireless-Communication-Using-Cheap-433MHz-RF-Modul/?ALLSTEPS


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Sklep HeluKabel
  • #2 27 Paź 2016 08:43
    winio42
    Poziom 18  

    Czy jest tu jakieś kodowanie sygnału radiowego, czy to bezpośrednio to co wpadnie na UART? Z tego co widać to na fotografiach i załączonym zrzucie z ekranu, mam wrażenie, że tak właśnie jest. Jest to złe rozwiązanie ze względu na możliwość pojawienia się długich sekwencji zer i jedynek dla niefortunnej kolejności znaków ASCI. Programowe kodowanie Manchester pozwoliłoby na zwiększenie zasięgu przy tej samej stopie błędów.

  • Sklep HeluKabel
  • #3 27 Paź 2016 09:50
    maciej_333
    Poziom 34  

    winio42 napisał:
    Czy jest tu jakieś kodowanie sygnału radiowego, czy to bezpośrednio to co wpadnie na UART?

    Jest chyba oczywistym, że tak. Wyraźnie widać to na fotografiach i załączonym zrzucie z ekranu.

  • #4 28 Paź 2016 12:27
    cefaloid
    Poziom 31  

    Tak jak pisze winio42 po prostu ktoś wrzuca dane UART jak leci co jest zle.
    Tu trzeba coś więcej chociażby proste kodowanie Mnchester.

    Dużo lepszy sposób wykorzystania tych transmiterków:
    http://www.pjrc.com/teensy/td_libs_VirtualWire.html

    Ale nawet i wtedy transmisja tymi modułami powinna zawierać jakąś sumę kontrolną. Inaczej odbieramy przerózne cuda.

    ghost666 napisał:
    Autor konstrukcji pracuje aktualnie nad stworzeniem bardziej rozbudowanego systemu komunikacji, który miałby być bardziej niezawodny i odporny na zakłócenia.


    To długo już nad tym pracuje skoro:
    Kod: c
    Zaloguj się, aby zobaczyć kod