Bezprzewodowy system sterowania oświetleniem z protokołem ZigBee na STM32W
W artykule opisano projekt prostego systemu łączności bezprzewodowej do sterowania oświetleniem z poziomu stacji roboczej. W projekcie tym stacją bazową jest komputer PC, sieć radiowa jest zgodna z protokołem ZigBee, natomiast sterowanym obwodem oświetlenia jest żarówka o mocy 5 W.
Konfiguracja sprzętowa
Do stworzenia sieci radiowej wykorzystano mikrokontrolery STM32W. Mikrokontrolery te mają możliwość realizacji bezprzewodowej transmisji danych zgodnej z protokołem ZigBee dzięki zintegrowanemu w układzie transceiverowi IEEE802.15.4.
Aby zrealizować projekt przy niskim nakładzie kosztów, zdecydowano się na użycie taniego zestawu startowego dla mikrokontrolerów STM32W o nazwie STM32W-RFCKIT (rysunek 1). Składa się on z dwóch modułów:
- MB950 remote application board,
- MB951 USB dongle.
Każdy z tych modułów jest wyposażony w mikrokontroler STM32W.
Rys. 1. Zestaw STM32W-RFCKIT
Konfigurację sprzętową zaprojektowanego systemu zobrazowano na rysunku 2.
Rys. 2. Schemat połączenia układu.
Rys. 3. Zdjęcie modułu MB950 z podłączonym obwodem oświetlenia
Zasada działania systemu
Użytkownik steruje systemem z poziomu aplikacji komputerowej. Interfejsem USB aplikacja komunikuje się z modułem MB951. Wysyłane przez aplikację komendy sterują działaniem modułu powodując wysyłanie ramek radiowych o określonej treści. Moduł MB950 odbiera te ramki i zgodnie z ich zawartością wystawia stan logiczny ‘0’ lub ‘1’ na wyprowadzeniu PA3. Wyprowadzenie to steruje tranzystorem, który wywołując przepływ lub brak przepływu prądu zwiera lub rozwiera styki przekaźnika, tym samym włączając lub wyłączając obwód oświetlenia – żarówkę.
Oprogramowanie
Kluczowym elementem projektu jest odpowiednie oprogramowanie modułów, jak również napisanie aplikacji ułatwiającej obsługę całego systemu z poziomu komputera klasy PC.
Wykorzystane narzędzia:
- IAR Embedded Workbench for ARM (EWARM) v6.30 Kickstart- edycja i kompilacja kodu modułów ZigBee (darmowa wersja po rejestracji) [1],
- stm32w_flasher- wgrywanie aplikacji na moduły ZigBee (program dostępny na stronie producenta w paczce ‘ST SimpleMAC-1.1.0’ wraz z przykładowymi aplikacjami) [2],
- SerialPort Terminal (RS-232 Serial COM Port) – program na licencji ‘open source’, na bazie którego została stworzona okienkowa aplikacja do obsługi sterowania [3],
- Microsoft Visual C# 2010 Express- używany do edycji i kompilacji programu SerialPort [4].