iDom - System automatyki domowej

iDom - System automatyki domowej
Pobierz PDF Download icon

Nie ma chyba takiego elektronika, czy to profesjonalisty czy tylko amatora, który w jakimś okresie swojej praktyki by nie myślał o zautomatyzowaniu własnego mieszkania. Zbudowanie prawdziwego „inteligentnego domu” to bardzo poważne wyzwanie, będące najczęściej poza zasięgiem większości z nas. Pozostaje więc wykonanie jakiegoś prostego urządzenia, które mimo wszystko dostarczy sporo satysfakcji. Rekomendacje: projekt dedykujemy wszystkim elektronikom, którzy pragną zautomatyzować swój dom.

Chcesz częściej widzieć nasze artykuły w Google? Dodaj Elektronika Praktyczna do ulubionych źródeł
Podstawowe parametry:
  • Zasilanie: 13...15 VAC
  • Wbudowany zegar RTC
  • 2-punktowy pomiar temperatury – dokładność 1°C
  • Współpraca z czujnikiem ruchu lub innym dwustanowym
  • Współpraca z instalacją domofonową
  • 3 obwody wyjściowe dużej mocy
  • Wbudowany termoregulator – zakres 1…100°C
  • Wbudowany progowy czujnik światła
  • Tryb symulacji obecności domowników

W artykule zostanie przedstawiony projekt układu automatyki domowej iDom realizujący różnorodne funkcje kontrolno-sterujące charakterystyczne dla układów typu „inteligentny dom”. Układy tego typu mają za zadanie czuwanie nad różnymi zdarzeniami/procesami związanymi z funkcjonowaniem domu i sterowanie urządzeniami zainstalowanymi w naszych mieszkaniach. Układ ten jest oczywiście dość prostym przykładem urządzeń tego typu, jednak nawet przy swojej prostocie, realizuje kilkanaście zadań związanych z automatyzacją. Są to:

  • pokazywanie aktualnego czasu i daty oraz kontrolowanie kalendarza (lata przestępne, nieprzestępne) korzystając z wbudowanego dokładnego zegara czasu rzeczywistego z podtrzymaniem bateryjnym,
  • pokazywanie temperatury zewnętrznej i wewnętrznej (dokładność: 1°C),
  • wyznaczanie i pokazywanie dobowego minimum i maksimum dla obu temperatur,
  • decydowanie o załączeniu oświetlenia pomocniczego (np. podświetlenia schodów, podłogowego oświetlenia korytarzy itp.) poprzez wbudowany czujnik oświetlenia, sprawdzając jako dodatkowy warunek przedział czasowy (16.00...23.00) – sterowanie przekaźnikiem dużej mocy,
  • załączanie na ok. 30 sekund oświetlenia podstawowego (np. właściwego oświetlenia schodów, korytarzy) poprzez wbudowany obwód wejściowy sterowany np. czujnikiem ruchu (lub dowolnym innym), a także każdorazowe przedłużanie tego czasu po każdym zdarzeniu czujnika ruchu – sterowanie przekaźnikiem dużej mocy z dodatkowym sprawdzaniem poziomu oświetlenia jako warunku dodatkowego,
  • rejestracja zgłoszeń domofonu (lub innego obwodu, którego zgłoszenia chcemy rejestrować) na liście nieodebranych połączeń. Rejestracja jest realizowana poprzez obwód wejściowy podłączany np. do dzwonka domofonu (lub innego urządzenia, styku (np. drzwi) itp.).

Ponadto możliwe jest przeglądanie tej listy z sygnalizacją już obejrzanych wpisów, kasowanie oraz podtrzymywanie w pamięci nieulotnej. Algorytm tej funkcji skonstruowano w taki sposób, iż po przyjściu zgłoszenia układ daje użytkownikowi 15 sekund na jego odebranie, a po tym czasie zapisuje zdarzenie na listę połączeń i blokuje obwód wejściowy na kolejne 15 sekund. Dodatkowo algorytm zapisując zgłoszenie na liście (max. 20 wpisów typu data/godzina) wyszukuje pierwszą wolną pozycję na liście, a w przypadku jej braku, pierwszą już przeglądaną lub przy zapełnieniu całej pamięci, zapisuje od początku listy. W trybie przeglądania automatycznie wyświetlana jest pierwsza, nowa pozycja, a na ekranie głównym systemu iDom pokazana jest liczba nowych wpisów i dodatkowo poprzez cykliczne podświetlanie wyświetlacza LCD zgłaszany jest fakt wystąpienia nowych połączeń,

  • sterowanie grzałką dużej mocy (przekaźnik) poprzez wbudowany regulowany termostat. Termoregulator daje nam możliwość regulowania zadanej temperatury w zakresie 0...100°C z zachowaniem histerezy regulacji 1°C. Zadana wartość jest przechowywana w nieulotnej pamięci sterownika,
  • realizowanie funkcji symulacji obecności domowników – po jej załączeniu układ w sposób przypadkowy załącza i wyłącza przekaźnik oświetlenia podstawowego oraz przekaźnik podświetlenia (oświetlenia pomocniczego),
  • sygnalizacja zdarzenia poprzez wbudowany buzzer z możliwością jego wyłączenia,
  • dynamiczne sterowanie podświetleniem wyświetlacza LCD służące dodatkowej sygnalizacji zdarzeń i oszczędności energii (poza sygnalizacją zdarzeń: nowe połączenia, czujnik ruchu itp., podświetlenie jest aktywne jedynie w czasie obsługi urządzenia lub po wciśnięciu odpowiedniego przycisku aktywującego).

Ponadto układ iDom posiada podtrzymanie bateryjne zegara czasu rzeczywistego, listy połączeń i wszystkich pozostałych ustawień użytkownika.

Budowa

Schemat ideowy urządzenia przedstawiono na rys. 1. Układ iDom zbudowano z wykorzystaniem mikrokontrolera firmy Atmel typu AT89C4051. Jest to dość prosty przedstawiciel rodziny '51, który z uwagi na swoją prostotę, wbudowane 4 kB pamięci Flash i dopracowanie konstrukcji jest wdzięcznym elementem w procesie tworzenia urządzeń opartych o mikrokontrolery nawet w dobie bardzo nowoczesnych i rozbudowanych mikrokontrolerów AVR i ARM.

Rys. 1. Schemat ideowy układu iDom

Mikrokontroler ten, przy pomocy typowej 4–bitowej szyny danych z dwoma liniami sterującymi, współpracuje z podświetlanym wyświetlaczem LCD 2×16 znaków. Ponadto wykorzystując implementowaną programowo magistralę I²C, współpracuje z układem 2048–bitowej statycznej pamięci CMOS RAM o organizacji 256x8 bitów posiadającej wbudowany zegar czasu rzeczywistego RTC (układ PCF 8583) oraz układem ekspandera linii (PCF8574AP), który w naszej aplikacji pełni wielorakie funkcje. Są to: obsługa klawiatury, sterowanie przekaźnikiem termostatu oraz sterowanie buzzerem. Uważny czytelnik zauważy w tym momencie, że w przypadku układu ekspandera wykorzystano fakt, iż 8–bitowa szyna danych ekspandera może pełnić funkcje zarówno wejścia, jak i wyjścia oraz możliwe jest adresowanie poszczególnych bitów magistrali. Inną sprawą jest, że konieczność zastosowania ekspandera wynikała przede wszystkim z faktu zbyt małej liczby portów naszego mikrokontrolera w stosunku do wymagań niniejszej aplikacji. Niemniej jednak, z uwagi na obecność magistrali I²C koniecznej do obsługi układu PCF8583, sprawa okazała się dość prosta w implementacji i nie wymagała rezerwowania kolejnych portów mikrokontrolera, zwłaszcza iż oba układy posiadają inne adresy w przestrzeni adresowej magistrali I²C dające się dodatkowo w sposób hardware’owy zmienić. Wracając zaś do samego układu zegara RTC należy zauważyć, iż jego układ zasilania rozbudowano o możliwość podtrzymania napięcia zasilania przy pomocy baterii litowo–jonowej, co po pierwsze zapewnia poprawną i ciągłą pracę zegara w przypadku zaniku zasilania, a po drugie, zapewnia zachowanie wszystkich zdarzeń zarejestrowanych w dzienniku zdarzeń układu iDom, który do tego celu wykorzystuje wbudowaną pamięć CMOS RAM tegoż układu. Na uwagę zasługuje też fakt, iż specjalny algorytm zaimplementowany w programie obsługi sterownika iDom czuwa nad poprawnością pracy kalendarza układu PCF8583, gdyż sam układ podaje rok względny i „nie dba” o odpowiednie, automatyczne liczenie lat przestępnych i nieprzestępnych w odniesieniu do wprowadzonej rzeczywistej daty.

Układ sterownika wyposażono ponadto w software’ową magistralę 1–Wire, za pomocą której odczytywane są temperatury ze scalonych termometrów DS1820, układ progowego czujnika oświetlenia zbudowanego przy użyciu typowego fotorezystora i tranzystora npn, 3 typowe interfejsy wyjściowe sterujące przekaźnikami oraz 2 analogowe interfejsy wejściowe: czujnika ruchu i domofonowy (lub innego czujnika). Interfejs czujnika ruchu służy do podłączenia sygnału z czujnika ruchu (sygnał DC 10...12 V), który z kolei steruje algorytmem zapalania oświetlenia zasadniczego i podświetlenia wyświetlacza LCD. Prosty interfejs domofonowy służy natomiast do podłączenia sygnału wywołania domofonu (sygnał AC/DC o maksymalnej amplitudzie 12 V) lub innego sygnału z czujnika, którego wywołania (zdarzenia) chcemy rejestrować w dzienniku zdarzeń układu iDom. Należy także zauważyć, iż jeden z portów mikrokontrolera wykorzystano do sterowania podświetleniem wyświetlacza LCD. Na płytce sterownika zabudowano kompletny układ zasilania oraz wszystkie obwody wyjściowe dużej mocy (przekaźniki) i wejściowe obwody sterujące. Zadbano także o odpowiednie odsprzęgnięcie zasilania układu zegara RTC, gdyż praktyka wielu elektroników–amatorów pokazuje, iż jest to dość „kapryśny” zegar czasu rzeczywistego.

Oczywiście, wszystkie obwody o napięciu powyżej bezpiecznego, należy zabezpieczyć przed możliwością nieumyślnego dotknięcia, które grozi porażeniem prądem elektrycznym.

Montaż

Montaż układu należy rozpocząć od wlutowania zworek umieszczonych na płytce, następnie rezystorów, diod, kondensatorów, półprzewodników (układy scalone w podstawkach) i pozostałych elementów mechanicznych. Podczas prac można korzystać ze schematu montażowego przedstawionego na rys. 2.

Rys. 2. Schemat montażowy

Jako ostatni należy zamocować wyświetlacz LCD (korzystając z 2 tulejek dystansowych), którego podłączenie najlepiej jest wykonać wlutowując w płytkę układu gniazdo goldpin, a w wyświetlacz wtyk goldpin. Tego typu rozwiązanie pozwoli na swobodne odłączanie (w razie potrzeby) wyświetlacza LCD od płytki układu iDom. Jako przyciski sterujące („+”, „–”, „next”, „prev”, „OK”) wykorzystano typowe mikroprzyciski z długą końcówką (22 mm). Z uwagi na większy pobór prądu w chwili podświetlenia wyświetlacza LCD, scalony stabilizator typu 7805 umieszczony na płytce należy koniecznie wyposażyć w niewielki radiator (np. z kawałka miedzi) – na płytce sterownika został przewidziany otwór do mocowania radiatora. Z uwagi na napięcie znamionowe cewek zastosowanych przekaźników równe 12 VDC, układ należy zasilić zmiennym napięciem z zakresu 13...15 V (na płytce znajduje się mostek diodowy).

Poprawnie zmontowany układ poza konfiguracją i ustawieniem progu zadziałania czujnika oświetlenia (za pomocą potencjometru umieszczonego na płytce oraz poprzez dobranie rezystora R7) nie wymaga regulacji. Należy jedynie ustawić czas i datę oraz pamiętać o tym, iż sterownik załączy przekaźnik oświetlenia zasadniczego przy otrzymaniu sygnału z czujnika ruchu i jednoczesnym spełnieniu progu zadziałania czujnika oświetlenia. Dla oświetlenia pomocniczego odpowiedni przekaźnik będzie załączony przy spełnieniu progu zadziałania czujnika oświetlenia oraz w przedziale czasowym od godz. 16 do 23. Należy także ustalić, który z dołączonych układów scalonych termometrów 1–Wire (DS1820) odpowiada za temperaturę zewnętrzną, a który za temperaturę wewnętrzną. Można to sprawdzić np. dotykając ręką wybrany układ termometru. Jest to istotne, gdyż termometr mierzący temperaturę wewnętrzną jest odpowiedzialny także za sterowanie wbudowanym termoregulatorem. Układ można dodatkowo ekranować od zakłóceń zewnętrznych, a w szereg z zasilaniem zastosować dławik 100 µH lub jeszcze lepiej szeregowo–równoległy filtr EMI firmy Murata DSS306–55F223.

Obsługa

Układ iDom realizuje wszystkie funkcje będąc w głównym trybie wyświetlacza (pokazuje wtedy datę, godzinę, temperaturę zewnętrzną, temperaturę wewnętrzną, tryb pracy symulacji obecności domowników, załączenie grzałki termostatu i informację o nowych połączeniach). Na fot. 3...10 przedstawiono komunikaty wyświetlane w kilku charakterystycznych stanach urządzenia. W trybie podstawowym wciśnięcie poszczególnych klawiszy powoduje wywołanie poniższych funkcji:

  • OK – przejście do przeglądania listy połączeń. Listę połączeń przeglądamy za pomocą klawiszy „+” i „–”, a wychodzimy z tego trybu poprzez ponowne wciśnięcie „OK”,
  • jednoczesne wciśnięcie „next” i „prev” – przejście do trybu ustawiania daty i godziny. W tym trybie zmiany pozycji dokonujemy poprzez „next” i „prev”, a zmiany wartości poprzez „+” i „–”. Odpowiednia wartość zostaje podświetlona poprzez migający kursor. Tryb opuszczamy poprzez ponowne wciśnięcie „OK”. Nie jest sprawdzany poprawny format wprowadzonej daty (np. 30 lutego),
  • „+” – przejście do trybu pokazywania dobowego maksimum i minimum dla temperatury zewnętrznej i wewnętrznej – do czasu przytrzymywania klawisza „+”,
  • „–” – wymuszanie załączenia podświetlenia LCD – do czasu przytrzymywania klawisza „–”,
  • jednoczesne wciśnięcie „+” i „–” – skasowanie listy połączeń,
  • wciśnięcie „next” – przejście do trybu ustawiania temperatury dla termoregulatora. Regulacja temperatury odbywa się za pomocą przycisków „+” i „–”, a wyjście z trybu poprzez wciśnięcie „OK” Jednocześnie aktualna temperatura zostaje zapamiętana w pamięci nieulotnej,
  • jednoczesne wciśnięcie „OK” i „–” – włączenie/wyłączenie dźwięków sterownika. Układ sygnalizuje aktualny stan poprzez dźwięk buzzera: 2 krótkie dźwięki świadczą o wyłączeniu sygnalizacji dla sterownika, a 1 krótki dźwięk o załączeniu dźwięków,
  • wciśnięcie „prev” – włączenie/wyłączenie trybu symulacji obecności domowników: 2 dźwięki świadczą o wyłączeniu symulacji, a 1 dźwięk o załączeniu symulacji (pojawia się dodatkowa ikonka na wyświetlaczu).
Fot. 3. Ekran główny układu iDom (z zaznaczeniem wszystkich opcji)
Fot. 4. Sygnalizacja >9 nieodebranych połączeń (* przy symbolu ↵ ) (dodatkowo cykliczne włączanie/wyłączanie podświetlenia)
Fot. 5. Ustawianie parametrów termoregulatora
Fot. 6. Stan wyświetlacza podczas ustawiania zegara RTC
Fot. 7. Połączenie (zdarzenie) już przeglądane (symbol *)
Fot. 8. Wolne miejsce na liście zdarzeń
Fot. 9. Sygnalizacja skasowania listy zdarzeń
Fot. 10. Ekran startowy

Jako dodatkową sygnalizację zdarzeń wykorzystano cykliczne podświetlanie wyświetlacza LCD: w przypadku występowania nowych połączeń i jako sygnalizację zadziałania czujnika ruchu. Podświetlenie można także załączyć wywołując odpowiednią funkcję. Dodatkowo, wbudowany buzzer sygnalizuje dźwiękiem wykonanie wybranych czynności oraz informuje o stanie układu.

Robert Wołgajew

Chcesz częściej widzieć nasze artykuły w Google? Dodaj Elektronika Praktyczna do ulubionych źródeł
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik sierpień 2026

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec - sierpień 2026

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje lipiec - sierpień 2026

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec - sierpień 2026

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich sierpień 2026

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów