Dimm-ek - symulator świtu i zmierzchu

Dimm-ek - symulator świtu i zmierzchu
Pobierz PDF Download icon
Automatyczny regulator intensywności oświetlenia, ściemniacz/rozjaśniacz, który może realizować bardzo długi, płynny czas trwania cyklu ściemniania/rozjaśniania. Symuluje w ten sposób świt i zmierzch. Ma zegar i umożliwia zaprogramowanie zdarzeń występujących o danej godzinie, więc może pracować w cyklu dobowym. Rekomendacje: urządzenie doskonale sprawdzi się jako sterownik oświetlenia dla akwarium.

Rysunek 1. Schemat ideowy symulatora

Schemat ideowy symulatora pokazano na rysunku 1. Działaniem urządzenia steruje program zaszyty w pamięci mikrokontrolera, podstawową funkcją, którą realizuje, jest odmierzanie czasu. Przy każdym uruchomieniu aktualna wartość czasu jest odczytywana z układu RTC (PCF8583), który ma zasilanie podtrzymywane przez baterię i odmierza czas nawet, gdy urządzenie jest wyłączone.

Potem mikrokontroler sam zajmuje się odmierzaniem czasu. Wykorzystuje do tego celu moduł licznika Timer2. Ten licznik pracuje asynchronicznie, jest taktowany sygnałem zegarowym 32678 Hz "pożyczonym" z układu RTC i generuje przerwania co 1 s.

Każde przerwanie zwiększa stan zmiennej przechowującej wartość czasu (uint32_t) time.digital, a następnie porównuje ją z zaprogramowanymi czasami załączenia 32 czynności. Jeśli trafi na pasującą wartość, to odczytuje pozostałe parametry danej czynności i realizuje ją.

Regulacja intensywności oświetlenia jest realizowana poprzez zmianę mocy źródła światła za pomocą PWM. Generator PWM został zrealizowany na module czasowym Timer1. Jest to licznik 16-bitowy, ale stan maksymalny został ograniczony do 1000 i taka jest rozdzielczość układu. Modulacja PWM jest wykonywana sprzętowo, program tylko umieszcza kolejne wartości współczynnika wypełnienia w rejestrach OCR1A i OCR1B. Wyjścia generatora połączone są z tranzystorami MOSFET pracującymi w konfiguracji otwartego drenu i wyprowadzone na złącza OUT1 i OUT2.

Powolne zwiększanie i zmniejszanie mocy oświetlenia zostało zrealizowane za pomocą ostatniego układu czasowo-licznikowego wbudowanego w strukturę ATmegi8 - Timera0. Jest on tak skonfigurowany, że każde przepełnienie licznika zwiększa zmienną exe.tick.

Wykonywanie pętli głównej programu jest synchronizowane stanem tej zmiennej. Osiągnięcie wartości 3 odpowiada interwałowi czasu 0,1 s i powoduje zmniejszenie wartości liczników opóźnienia dimm.counter[], i zmiany współczynników wypełnienia na wyjściach.

Obsługa

Rysunek 2. Wygląd głównego ekranu i opis jego elementów

Interfejs urządzenia realizuje wyświetlacz LCD 2×16 i klawiatura z czterem przyciskami. Po uruchomieniu urządzenia przedstawi się ono jako Dimm-ek, a następnie wyświetli okno główne. Wygląd okna oraz znaczenie wszystkich jego elementów pokazano na rysunku 2.

Wszystkie ustawienia i parametry pracy uporządkowane są w przejrzystym menu. Jego strukturę zaprezentowano na rysunku 3. W miejscach przerywanych strzałek znajdują się okna edycji parametrów, analogicznie jak dla funkcji zegara. Do poruszania się po menu służą cztery przyciski. Ich funkcje są następujące:

ESC - wyjście z danej funkcji.
OK - wybranie funkcji, potwierdzenie zmian.
± - poruszanie się po menu, zmiana funkcji, zmiana wartości parametru.

Pierwszą funkcją widoczną po wejściu do menu jest Ustaw zegar. W oknie jest pokazany aktualny czas, po naciśnięciu OK pojawi się kursor "^^" umieszczony pod wartością godzin. Wskazuje on, która wartość może zostać zmieniona. Kursor można przesunąć naciskając "+" lub "-", lub można rozpocząć edycję wartości naciskając OK. Wtedy kursor zmieni się na "[ ]".

W tym momencie przyciskanie "+" lub "-" powoduje zmianę odpowiedniej wartości. Przytrzymanie przycisku uruchamia funkcje automatycznego powtarzania służącą do szybkiej zmiany wartości. Edycję można zakończyć naciskając OK, a następnie ESC, aby wyjść z danej funkcji. Taki schemat edycji wartości parametrów obowiązuje w całym menu.

Kolejną funkcją menu jest Uruchom program. Pozwala ona na natychmiastowe uruchomienie jednej z zaprogramowanych czynności z pominięciem godziny, na którą została ona ustawiona. Numer programu jest wybierany po naciśnięciu OK, itd.

Ostatnią funkcją jest Ustaw program. Na rysunku 2 jest pokazana tylko wartość 1, w rzeczywistości są tu 32 okna odpowiadające wszystkim programom. Każdy program ma cztery parametry:

Rysunek 3. Struktura menu

Czas rozpocz, czyli wartość czasu zegara, przy której program ma być uruchomiona zaprogramowana czynność. W wypadku, gdy dany program nie został skonfigurowany lub ma być wyłączony, należy ustawić wartość "24:00:00", która będzie wyświetlana jako "-- :--:--".

Drugi parametr to Czas opóźnienia, który określa jak długa ma być przerwa czasowa pomiędzy kolejnymi poziomami mocy wyjściowej. Poziomów jest 1000, więc dla pełnego cyklu - od zera do pełnej mocy - czas trwania, to czas opóźnienia pomnożony przez 1000. Parametr ten może przyjąć wartości z zakresu 0,1...20, co daje czas pełnego rozjaśniania lub wygaszania w zakresie od 100 s do ok. 5,5 godziny.

Trzeci parametr to Poziom końcowy określający poziom mocy, do jakiego dany program będzie dążył. Nie musi to być 0% lub 100%, można ustawić wartości pośrednie tworząc w ten sposób bardziej złożone schematy oświetlenia. Zakres wartości wynosi od 0 do 1000, co odpowiada od 0% do 100%.

Ostatni parametr to Wyjście numer. Określa on, którym wyjściem ma sterować dany program. Do wyboru jest wyjście 1 lub 2. Można ustawić wartość 0 w wypadku, gdy dana czynność ma być wyłączona, a jednocześnie nie chcemy zmieniać ustawienia czasu dla niej.

Po 20-sekundowym czasie bezczynności, kiedy nie był wciśnięty żaden przycisk, urządzenie automatycznie wychodzi z ustawień do głównego okna menu i wyłącza podświetlenie wyświetlacza w celu zaoszczędzenia energii.

Jedna funkcja znajduje się poza menu - jest to kasowanie ustawień wszystkich programów. Aby ją uruchomić, należy odłączyć zasilanie, wcisnąć i trzymać przycisk ESC, włączyć zasilanie i czekać aż do momentu ukazania się komunikatu Pamięć czysta (ok. 4 sekundy).

Urządzenie ma dwa wejścia: IN1 i IN2. Służą one do uruchomienia zaprogramowanych czynności, odpowiednio 1 i 2. Działają tak, jak funkcja Uruchom program, ale są wyzwalane za pomocą sygnału zewnętrznego. Poziomem aktywnym jest zbocze opadające - impuls przy zwarciu do masy, można tam dołączyć przycisk, przekaźnik, inny sterownik itp. Można też dołączyć czujnik zmierzchowy i zsynchronizować sztuczne oświetlenie z oświetleniem naturalnym uzyskując zmienne pory załączenia w zależności od pory roku itd.

Wykaz elementów

Rezystory:
R1, R2, R4, R7, R9, R10: 3,3 kΩ
R3, R6, R8: 47 Ω
R11: 1 MΩ
R5: 10 kΩ (potencjometr)

Kondensatory:
C1, C2, C6: 220 µF/25 V (elektrolit.)
C3...C5, C7, C8: 100 nF (MKT)
C10: 22 pF (ceram.)
C9: 22 pF* (trymer)

Półprzewodniki:
D1...D5: 1N5819 (lub podobna)
T1, T2: IRL2203 (lub podobny)
IC1: 7805
IC2: ATmega8 (zaprogramowany)
IC3: PCF8583
IC4: LCD2×16

Inne:
X1: 32768 Hz (kwarc zegarkowy)
BAT: bateria 3 V z wypr.
S1...S4: mikroswitch
OUT1, OUT2, IN1, IN2, ZAS: ARK2/500

Montaż i uruchomienie

Rysunek 4. Schemat montażowy symulatora

Na rysunku 4 pokazano schemat montażowy symulatora. Montaż wykonujemy zgodnie z ogólnymi zasadami. Wyświetlacz i przyciski montujemy na końcu i po stronie lutowania - bottom. Wyświetlacz zasłoni wtedy znaczną część płytki, dlatego zanim zostanie zamontowany, należy płytkę umyć i trzy razy sprawdzić poprawność montażu, ponieważ w razie problemów jego wymontowanie będzie bardzo trudne.

Po podłączeniu zasilania należy wyregulować kontrast wyświetlacza i po tym zabiegu urządzenie jest gotowe do pracy. Warto zastosować dedykowany panel frontowy, który w estetyczny i łatwy sposób pozwoli umieścić płytkę w obudowie KM50. Należy też pamiętać, że zasilanie urządzenia i oświetlenia jest wspólne, dlatego trzeba zapewnić jego odpowiednie parametry, zwłaszcza prądowe.

KS

Artykuł ukazał się w
Grudzień 2014
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik styczeń 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio luty 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje styczeń 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna styczeń 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich styczeń 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów