Moduł 4 przekaźników z interfejsem Bluetooth

Moduł 4 przekaźników z interfejsem Bluetooth
Pobierz PDF Download icon

Moduł służy do bezprzewodowego sterowania za pośrednictwem interfejsu Bluetooth dowolnymi 4 urządzeniami podłączonymi do przekaźników wykonawczych. W dowolnym momencie pracy układu można zablokować możliwość bezprzewodowego sterowania wyjść mocy. Ze względów bezpieczeństwa układ został także wyposażony w awaryjny wyłącznik wszystkich przekaźników bez konieczności używania aplikacji. Rekomendacje: urządzenie jest szczególnie przydatne wszędzie tam, gdzie jest konieczne zdalne włączanie i wyłączanie różnych odbiorników prądu. Może być stosowane w roli sterownika oświetlenia lub urządzeń.

Podstawowe parametry:
  • 4 przekaźniki wykonawcze (125 V AC lub 28 V DC/12 A).
  • Sygnalizacja statusu za pomocą diod LED oraz aplikacji sterującej.
  • Wyłącznik awaryjny wyłączający wszystkie przekaźniki. Możliwość blokady sterowania.
  • Sterowanie za pomocą aplikacji dla systemu Android (lub wykonanej samodzielnie).
  • Mikrokontroler ATmega8, moduł Bluetooth BTM222.

Schemat ideowy układu przedstawiono na rysunku 1. Sercem układu jest mikrokontroler ATmega8 pracujący z zewnętrznym rezonatorem kwarcowym 7,3728 MHz. Częstotliwość taktowania mikrokontrolera tak dobrano, aby błąd transmisji układu USART był jak najmniejszy. Rezystor R1 (10 kΩ) zasila wyprowadzenie zerujące, aby mikrokontroler nie został zrestartowany przez zaburzenia mogące wystąpić na doprowadzeniu. Przekaźniki są włączane kluczami tranzystorowymi. Rezystory R4…R7 ograniczają prąd baz tranzystorów, a diody D5…D8 zabezpieczają tranzystory przed przepięciami, które występują podczas wyłączania przekaźników. Rezystory R8…R11 ograniczają prąd diod LED D1…D4 wizualizujących stan przekaźników.

Rysunek 1. Schemat ideowy modułu z interfejsem Bluetooth

Jako moduł radiowy Bluetooth zastosowano BTM-222 firmy Rayson pracujący w klasie 1 i zapewniający zasięg rzędu 100 metrów. Do uzyskania takiego zasięgu jest wymagana antena zewnętrzna. W projekcie wykorzystano pokazaną na fotografii 2 antenę BLU-ANT01R o impedancji 50 Ω, pracującą w zakresie częstotliwości 2,4…2,5 GHz z zyskiem energetycznym 1 dBi. Antenę dołączono do gniazdka SMA umieszczonego na płytce PCB. Komunikacja z modułem jest zwyczajną transmisją szeregową RS232, jednak moduł pracuje przy poziomach logicznych CMOS 3,3 V, a mikrokontroler 5 V, dlatego zastosowano konwerter poziomów zbudowany z użyciem bramki 74HC14 oraz dzielnika rezystancyjnego R2/R3. Wejścia niewykorzystanych bramek dołączono do masy, aby uniknąć zakłóceń.

Fotografia 2. Antena BLUE-ANT001 na pasmo 2,4 GHz

Program sterujący mikrokontrolerem napisano za pomocą Bascoma AVR. W pętli głównej program sprawdza stany przełączników stykowych bufor wejściowy. Włączaniu i wyłączaniu poszczególnych przekaźników przypisano komendy w postaci kodów ASCII, dlatego zmiana stanu danego przekaźnika odpowiada przesłaniu odpowiedniego znaku z terminalu. Z racji zastosowania możliwości blokowania sterowania bezprzewodowego stan przycisku blokującego jest co kilka sekund przesyłany do odbiornika w postaci wyrazów: „ENABLED” oraz „DISABLED”. Takie rozwiązanie nie jest konieczne, ale zostało wprowadzone, aby nie zakłócić odzwierciedlania stanu przycisków w programie komputerowym.

Oprogramowanie

Przedstawiony powyżej układ jest jedynie przystawką do komputera, laptopa lub telefonu komórkowego i aby w pełni go wykorzystać, konieczny jest program komputerowy lub aplikacja dla systemów Android. Dla prezentowanego układu wykonano aplikację dla komputerów PC w C# pracujących na platformie .NET Framework. Dlatego do uruchomienia jest wymagane zainstalowanie środowiska Microsoft .NET Framework w wersji 4.0 lub nowszej. Fragment programu reprezentujący obsługujący zdarzenia odebrania znaków przez port szeregowy pokazano na listingu 1.

Listing 1. Fragment programu reprezentujący obsługujący zdarzenia odebrania znaków przez port szeregowy
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string s = serialPort1.ReadTo(„\r\n”);
if (s == „DISABLED”)
{
button1.Invoke(new EventHandler(delegate { button1.Enabled = false; }));
button2.Invoke(new EventHandler(delegate { button2.Enabled = false; }));
button3.Invoke(new EventHandler(delegate { button3.Enabled = false; }));
button4.Invoke(new EventHandler(delegate { button4.Enabled = false; }));
button5.Invoke(new EventHandler(delegate { button5.Enabled = false; }));
button6.Invoke(new EventHandler(delegate { button6.Enabled = false; }));
button7.Invoke(new EventHandler(delegate { button7.Enabled = false; }));
button8.Invoke(new EventHandler(delegate { button8.Enabled = false; }));
}
if (s == „ENABLED”)
{
button1.Invoke(new EventHandler(delegate { button1.Enabled = true; }));
button2.Invoke(new EventHandler(delegate { button2.Enabled = true; }));
button3.Invoke(new EventHandler(delegate { button3.Enabled = true; }));
button4.Invoke(new EventHandler(delegate { button4.Enabled = true; }));
button5.Invoke(new EventHandler(delegate { button5.Enabled = true; }));
button6.Invoke(new EventHandler(delegate { button6.Enabled = true; }));
button7.Invoke(new EventHandler(delegate { button7.Enabled = true; }));
button8.Invoke(new EventHandler(delegate { button8.Enabled = true; }));
}
}

W wypadku odebrania komendy zablokowania odbioru przez Bluetooth przyciski zmiany stanu przekaźników zostają zablokowane do czasu otrzymania komendy oznaczającej odblokowanie sterowania bezprzewodowego. Okno aplikacji w różnych stanach pracy przedstawiono na rysunku 3. Pierwsze okno przedstawia wygląd aplikacji po włączeniu bez ustawienia i otwarcia portu. Z kolei kolejne przedstawia aplikację podczas działania. Zrzut aplikacji w przypadku zablokowania sterowania bezprzewodowego obrazuje ostatnie okno. Program przy uruchomieniu pobiera wszystkie dostępne nazwy portów szeregowych i ładuje je do listy rozwijanej. W przypadku, gdy zostanie wyświetlone nowe urządzenie już po włączeniu programu, nie zostanie wykryte. W tym celu zastosowano ikonę odśwież, pobierającą aktualne nazwy portów. Dodatkowo ikona ta służy do zamykania otwartego portu i może być użyta, jeśli użytkownik zechce zmienić nazwę portu w trakcie działania programu.

Rysunek 3. Okno aplikacji w różnych stanach pracy

Montaż i uruchomienie

Na rysunku 4 pokazano schemat montażowy układu. W projekcie wykorzystano mikrokontroler ATmega8 w obudowie TQFP32, układ 74HC14 w obudowie SO14 oraz moduł BTM222. Istnieje kilka technik montażu powierzchniowego układów w obudowach TQFP czy SO. Jedną z nich jest użycie stacji na gorące powietrze oraz odpowiedniego topnika. Montażu można dokonać również zwykłą stacją lutowniczą wyposażoną w specjalny grot minifala lub zwykły grot szpilkowy, stosując cynę o niewielkiej średnicy.

Rysunek 4. Schemat montażowy modułu z interfejsem Bluetooth

Na fotografii 5 przedstawiono zmontowaną płytkę od strony ścieżek, a na fotografii 6 od strony elementów. Przy montażu należy zwrócić uwagę, aby nie zrobić zwarcia między wyprowadzeniami oraz aby nie uszkodzić termicznie układu. Po wlutowaniu mikrokontrolera, układu 74HC14 i modułu BTM222, należy wlutować pozostałe elementy smd aż po zworki i elementy do montażu przewlekanego, od najmniejszych po największe.

Fotografia 5. Zmontowany moduł – widok od spodu
Fotografia 6. Zmontowany moduł – widok od góry

Wszystkie potrzebne sygnały do programowania mikrokontrolera zostały wyprowadzone na złączu szpilkowym Z1, dzięki czemu nie trzeba programować mikrokontrolera w podstawce przed wlutowaniem, a można tego dokonać po zmontowaniu układu.

Bity konfiguracyjne mikrokontrolera należy ustawić zgodnie z tabelą 1, w systemie heksadecymalnym powinny wyglądać następująco:

 Fuse High Byte: 0xD9.
 Fuse Low Byte: 0xFD.

Podczas tej czynności należy być ostrożnym, gdyż przypadkowe błędne ustawienie bitów konfiguracyjnych może przynieść niekorzystne skutki, a nawet zablokowanie mikrokontrolera. Na płytce znajdują się trzy diody. Zielona reprezentuje pracę układu (zasilanie), żółta stan połączenia, a czerwona sygnalizuje, że moduł odbiera dane. Po wlutowaniu wszystkich elementów i zaprogramowaniu mikrokontrolera układ jest gotowy do użycia. Przed włączeniem programu należy ustawić wirtualny kanał szeregowy COM, do którego będzie dołączony moduł Bluetooth. W tym celu należy kliknąć na ikonę modułu Bluetooth prawym przyciskiem myszy i wybrać Dodaj urządzenie. Po ukazaniu się okna, jak na rysunku 7, należy wybrać znalezione urządzenie i wybrać Dalej.

Rysunek 7. Wybranie parowanego urządzenia Bluetooth

W kolejnym oknie wybrać opcję Wprowadź kod parowania urządzenia (rysunek 8). Następnie należy wpisać kod „1234” i zakończyć proces parowania.

Rysunek 8. Wprowadzenie kodu parowania

W tym momencie zostanie wyświetlone okno informujące, do którego portu zostało dołączone wybrane urządzenie (rysunek 9) – należy zapamiętać pierwszą nazwę (w omawianym przypadku COM5).

Rysunek 9. Wyświetlenie okna informującego o wirtualnym porcie COM

Po zakończeniu procesu parowania trzeba włączyć program. W pierwszym kroku należy z listy wyboru wybrać wcześniej otrzymaną nazwę portu (w omawianym przykładzie COM5) i wcisnąć Otwórz port. W tym momencie żółta dioda powinna przestać migać i świecić ciągłym światłem, co świadczy o poprawnym zestawieniu połączenia programu z urządzeniem.

Krzysztof Gońka
krzysztof.gonka@interia.pl

Wykaz elementów:
Rezystory: (SMD 1206)
  • R1: 10 kΩ
  • R2: 3,3 kΩ
  • R3: 6,8 kΩ
  • R4…R7: 3,3 kΩ
  • R8…R11: 150 Ω
  • R12, R13: 100 Ω
Kondensatory:
  • C1, C5, C7, C8, C10: 100 nF (SMD 1206)
  • C2, C9: 10 µF/16 V
  • C3: 100 µF/16 V
  • C4, C6: 22 pF (SMD 1206)
Półprzewodniki:
  • D1…D4: dioda LED, zielona, 5 mm
  • D5…D8: 1N4148
  • D9: dioda LED, żółta, 5 mm
  • D10: dioda LED, czerwona, 5 mm
  • T1…T4: BC807
  • U1: LM1117
  • U2: ATmega8 (TQFP32)
  • U3: 74HC14
  • U4: BTM222
Pozostałe:
  • Q1: kwarc 7,3728 MHz
  • X2: złącze SMA, antena 2,4 GHz
  • Z1: listwa goldpin 5 pin
  • Z2: listwa goldpin 2 pin
  • CON1: złącze śrubowe ARK500/2
  • CON2…CON5: złącze śrubowe ARK500/3
Artykuł ukazał się w
Elektronika Praktyczna
październik 2016
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów