kontrolowany zdalnie sterownik oświetlenia

12
Kontrolowany zdalnie sterownik oświetlenia Jakub Kapturkiewicz

Upload: kapek

Post on 04-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Projekt dotyczący stworzenia zdalnie kontrolowanego sterownika oświetlenia

TRANSCRIPT

Kontrolowany zdalnie sterownik oświetlenia

Jakub Kapturkiewicz

1. Założenia

Stworzenie serwisu internetowego, którego główną funkcją będzie manipulowanie

oświetleniem dzięki komunikacji z zewnętrzną jednostką sterującą. Komunikacja będzie

odbywać się z wykorzystaniem sieci WiFi.

Rys. 1 Idea projektu

Założenia dotyczące serwisu internetowego:

-stworzenie bazy danych przechowującej informacje o użytkownikach

-możliwość sterowania oświetleniem tylko dla zarejestrowanych i aktywowanych użytkowników

-zastosowanie formularzy wykluczających przesłanie nieprawidłowych/nie pełnych danych

-stworzenie prostej w obsłudze dla użytkowników komunikacji z sterownikiem oświetlenia

Założenia dotyczące sterownika oświetlenia:

-możliwość łączenia się z serwisem internetowym poprzez dostępne sieci WiFi

-sterowanie gniazdem kablowym 230V

-sterowanie gniazdem USB 5V z możliwością regulacji jasności podłączonej lampy LED

-możliwość zwiększenia liczby sterowanych gniazd bez potrzeby tworzenia całego układu od nowa

-sygnalizacja stanu urządzenia przy pomocy diód LED

-łatwość modyfikowania programu sterującego

-niska cena i niezawodność

2. Przedstawienie serwisu internetowego

Serwis internetowy widnieje pod adresem http://www.light-menager.cba.pl .

Każdy użytkownik, aby móc w pełni korzystać ze strony musi posiadać zarejestrowane,

aktywne konto. Aktywacja konta następuje poprzez kliknięcie w unikalny link aktywacyjny

otrzymany drogą mailową. Poniżej widnieją okna logowania i rejestracji.

Rys. 2 Widok pełnej strony – obszar logowania i rejestracji

Oba powyższe formularze obsługiwane są poprzez skrypt php w połączeniu z bazą

danych mySQL. Skrypt ma za zadanie wykrywanie i informowanie użytkownika o

poprawności wykonanej operacji, a także przesłanie danych do bazy. Kod html w tym

przypadku odpowiada za dopilnowanie wypełnienia wszystkich wymaganych pól. Poniżej

przedstawiono kilka możliwych sytuacji:

Rys. 3 Przykładowe komunikaty

Po zalogowaniu jesteśmy proszeni o podanie nr IP sterownika z którym chcemy się połączyć:

Rys.4 Pierwszy krok połączenia z sterownikiem

Po podaniu numeru IP jesteśmy przekierowani do panelu, z którego możemy sterować

podłączonymi do sterownika urządzeniami (Rys. 6). Gniazdem 230V możemy manipulować

klikając w rysunek żarówki, natomiast gniazdem USB przesuwając suwak i klikając przycisk

wyślij. W przypadku gniazda USB oprócz możliwości załączenia lub wyłączenia urządzenia

możemy także regulować jego jasność. Klikając w przycisk na dole strony możemy sprawdzić

aktualny stan sterownika.

Nawigacja po stronie jest możliwa dzięki aktywnemu menu na górze strony:

Rys. 5 Nawigacja serwisu

Rys. 6 Panel sterowania

Poza możliwością sterowania oświetleniem użytkownik może także zobaczyć listę

zarejestrowanych użytkowników(Rys. 7) oraz skontaktować się z administratorem korzystając

z gotowego formularza(Rys. 8).

Rys. 7 Tabela użytkowników

Rys. 8 Formularz kontaktowy

3. Sterownik oświetlenia

Wykorzystane elementy:

Moduł WiFi ESP-01 ESP8266

-Napięcie zasilania: 3,3 V -Napięcie pracy wyprowadzeń: 3,3 V -Pobór prądu do 300 mA -Wspiera standard WiFi WiFi 802.11 b, g, n -Pracuje na częstotliwości 2,4 GHz -Wspiera zabezpieczenia WPA / WPA2 -Może pracować w trybie AP (Access Point), STA (standalone) oraz AP+STA -Moc nadajnika: 19,5 dBm -Posiada wbudowaną pamięć Flash: 512 kB -Komunikacja poprzez interfejs szeregowy UART -Posiada wbudowaną antenę PCB -Wyprowadzone dwa cyfrowe piny I/O Wymiary: 24 x 14 mm

Konwerter USB-UART FTDI 3,3/5V

-Konwerter umożliwia komunikacje pomiędzy dwoma popularnymi interfejsami szeregowymi USB i UART. Moduł oparty na niezawodnym układzie FT232RL firmy FTDI, zapewnia stabilną pracę oraz współpracę z najpopularniejszymi systemami operacyjnymi. -Moduł posiada wyprowadzenia w postaci kątowych złącz goldpin z sygnałami RxD, TxD, RTS, CTS oraz linie zasilania: PWR i GND. Poziom napięcia na pinie PWR wybierany jest przy pomocy zworki(5V lub 3,3V)

Konwerter poziomów logicznych dwukierunkowy, 4-kanałowy - SparkFun

-Moduł pozwala na komunikację pomiędzy systemami wykorzystującymi dwa najpopularniejsze poziomy napięć: 3,3 V i 5 V. -Pracuje w obu kierunkach jednocześnie. -Obniża napięcie 5 V na 3,3 V oraz podnosi 3,3 na 5 V w tym samym czasie. Ta funkcja przydatna jest w dwukierunkowych protokołach komunikacyjnych np. SPI w trybie full duplex. -Konwerter współpracuje także z napięciami niższymi: 2,8 V i 1,8 V. Posiada cztery kanały.

Arduino Leonardo

-Napięcie zasilania: 7 V do 12 V (zalecane), 6 V - 20 V (maksymalne) -Napięcie pracy: 5V -Mikrokontroler: ATmega32u4 -Maksymalna częstotliwość zegara: 16MHz -Pamięć SRAM: 2,5 kB Pamięć Flash: 32 kB (4kB zarezerwowane dla bootloadera) -Pamięć EEPROM: 1 kB -Piny I/O: 20 Kanały -PWM: 7 -Ilość wejść analogowych: 12 (kanały przetwornika A/C) -Interfejsy szeregowe: UART, I2C, SPI

Moduł 1-kanałowy przekaźnik 5V 10A

-Napięcie zasilania: 5V -Możliwość sterowania bezpośrednio z pinu procesora -Maksymalne obciążenie 10A -Sygnalizacja LED zasilania -Sygnalizacja LED stanu przekaźnika -Możliwość konfiguracji stanu przełączania (załączenie przekaźnika stanem LOW lub HIGH) -Wymiary: 50x27x20mm

BD140-16 - Tranzystor PNP 1.5A

-Typ: bipolarny, PNP -Maksymalny prąd: 1,5A -Maksymalne napięcie kolektor-emiter: 80V -Maksymalne napięcie kolektor-baza: 100V -Obudowa: TO126

Stabilizator LDO 3,3V LM1117MP

-Maksymalne napięcie wejściowe: 15V -Napięcie wyjściowe: 3,3V -Maksymalny prąd wyjściowy: 800mA -Obudowa: SOT223 – SMD

Zasilacz nokia

-Napięcie wejściowe: 100-240V -Napięcie wyjściowe: 5V -Maksymalne obciążenie: 1,3A

Dodatkowo: -przewód zasilający z włącznikiem -obudowa -kondensatory -rezystory -diody LED -płytka uniwersalna do montażu elementów w obudowie THT -gniazdo USB -gniazdo na kabel 230V

Etapy budowania sterownika:

-stworzenie listy wymaganych elementów oraz ich zakup

-wgranie aktualnego firmware do pamięci modułu ESP8266 z wykorzystaniem konwertera USB-UART

-stworzenie prototypowego układu do testowania programu sterującego(Rys. 9)

-połączenie, zlutowanie i umieszczenie całego układu w obudowie(Rys. 10)

Rys. 9 Prototyp sterownika

Rys. 10 Gotowy układ umieszczony w obudowie

Rys. 11

Rys. 12

Na powyższych zdjęciach widać układ w zamkniętej obudowie wraz włącznikiem,

sterowanym gniazdem 230V(Rys. 11) oraz gniazdem USB(Rys.12). Układ posiada dwie diody

kontrolne: zieloną i żółtą. Odpowiednio pierwsza z nich sygnalizuje włączenie zasilania, natomiast

druga gotowość urządzenia do pracy (połączenie się z siecią WiFi oraz uruchomienie serwera na

uzyskanym adresie ip).

Rys. 13

Rys. 14

Rys. 15

Powyższe trzy ilustracje pokazują gotowy do pracy sterownik(zapalone obydwie diody).

Na rysunku nr. 13 możemy zobaczyć zapaloną lampę podłączoną do gniazda 230V, natomiast efekt

regulacji jasności lampki LED widnieje na Rys. 14 – 15. Regulacja jasności odbywa się z

wykorzystaniem PWM oraz tranzystora NPN, natomiast rolę przełącznika gniazda 230V pełni moduł

przekaźnika sterowany napięciem 5V.

4. Podsumowanie

Efekt końcowy został osiągnięty, serwis internetowy działa, łączy się z zewnętrznym

sterownikiem i za pośrednictwem niego steruje podłączonym oświetleniem. Nie udało się jednak

uzyskać pełnej komunikacji między serwisem, a sterownikiem. Możliwe jest wysyłanie danych tylko w

jedną stronę: serwer www -> sterownik. Komunikacji sterownik -> serwer www nie udało się uzyskać.

Jest to spowodowane prawdopodobnie ustawieniami serwera, na którym znajduje się strona

internetowa. Problem braku informacji zwrotnej o stanie sterownika udało się rozwiązać poprzez

postawienie serwera na adresie ip sterownika i wyświetlania tam aktualnych danych. W oknie panelu

sterowania serwisu widnieje przycisk, który służy do przekierowania użytkowników na aktualny adres

ip zewnętrznego serwera, gdzie mogą sprawdzić bieżący stan sterownika.

Koszt części wykorzystanych do budowy sterownika wyniósł około 220 zł. Od tej ceny można

jednak odjąć 35zł z racji jednorazowego użycia konwertera USB-UART(wgranie aktualnego firmware

modułu WiFi). Docelowo w projekcie miała być wykorzystana ATmega 328P, jednakże z nieznanych

przyczyn nie było możliwe poprawne przesłanie komendy uruchamiającej serwer na aktualnym ip

sterownika. W związku z powyższym zdecydowano się użyć przetestowane w etapie prototypu

Arduino Leonardo, co w dużym stopniu przełożyło się na cenę projektu. Biorąc pod uwagę wyżej

wymienione aspekty cena części wchodzących w skład gotowego produktu mogła by wynosić nawet

około 108zł.