REKLAMA

source.zip

Autonomiczny sterownik oświetlenia LED na Attiny - czujnik PIR i fotorezystor.

https://obrazki.elektroda.pl/3544628800_1545849041_thumb.jpg Przedmiotem tego projektu jest realizacja oświetlenia paskami ledowymi oraz sterownika z sensorem PIR i fotorezystorem eliminującego konieczność manualnego włączania oświetlenia po wejściu do pomieszczenia. System znajduje najlepsze zastosowanie w oświetleniu kuchennym, ponieważ to jedyne pomieszczenie, w którym przebywa się najbardziej "celowo" i raczej nie zdarzają się tam momenty dłuższego bezruchu, gdzie włączone światło jest stale potrzebne. Projekt z elektronicznego punktu widzenia jest bardzo prosty. Jego centralnym elementem jest procesor Attiny13 sterujący przez tranzystor MOSFET zasilaniem paska ledowego. Procesor posiłkuje się danymi z sensora PIR oraz układu dzielnika z fotorezystorem. Pierwszy z czujników informuje o przemieszczaniu się człowieka w polu widzenia, drugi natomiast określa poziom oświetlenia, poniżej którego światło należy załączyć. https://obrazki.elektroda.pl/4739430600_1545849282_thumb.jpg Uwagi do realizacji tych założeń składają się na zaprzestanie dalszych pomiarów oświetlenia po jego włączeniu (sprzężenie światła generowanego i mierzonego mogłoby doprowadzić do oscylacji układu) oraz wyznaczenie okresu pomiarowego dla sensora PIR ? jeśli w okresie pomiarowym brak zarejestrowanego ruchu, światło można wyłączyć. Okres ten należy dobrać doświadczanie tak, aby znaleźć złoty środek pomiędzy oszczędzaniem energii i komfortem użytkowania. Zbyt krótki będzie powodować wyłączenia oświetlenia z powodu bezruchu. Istotne z punktu widzenia działania powyższych sensorów jest umiejscowienie czujnika PIR tak, aby zapewnić mu możliwie szerokie pole widzenia obejmujące wejście do pomieszczenia, a także położenie fotorezystora by nie było interferencji z innych źródeł światła w pomieszczeniu lub z jego sąsiedztwa. Regulacja poziomu jasności włączenia oświetlenia odbywa się w kodzie lub poprzez podłączenie podkówki regulacyjnej zamiast R4. https://obrazki.elektroda.pl/1348951700_1545849125_thumb.jpg Zasilanie procesora Attiny13 zrealizowane jest z 12 V poprzez stabilizator LM317. Należy zadbać o odpowiednią wydajność prądową ścieżek dla paska ledowego, do rozważenia także włączenie w szereg bezpiecznika polimerowego. Przejście pomiędzy stanem włączenia i wyłączenia odbywa się poprzez płynne ściemnianie i rozjaśnianie przez okres ok. 1.5-2S w zależności od dobranych w programie stałych czasowych LIGHT_PWM_CHANGE_DELAY. Daje to bardzo ładny optycznie efekt. Po włączeniu oświetlenia LED na 100% jasności załączeniu ulega też przekaźnik RL1 opcjonalnie sterujący instalacją 230 V. Można go nie montować, jednak polecam w razie czego zostawienie miejsca na płytce na tranzystor Q2. Program napisałem w Arduino IDE z "ręczną" konfiguracją PWM. Program w całości zajmuje 73% pamięci procesora oraz 31% pamięci dynamicznej. Do zaprogramowania Attiny jest potrzebna biblioteka MicroCore (załączam pinout procesora). https://obrazki.elektroda.pl/2413393700_1545849451_thumb.jpg Zagospodarowanie portów procesora Attiny13: - Wyjście MOSFET to PB0 - PIR sensor na porcie PB1 - fotorezystor na porcie PB2 - Dioda LED D1 (PB3) informuje o stanie czuwania. - Port PB4 to opcjonalne sterowanie przekaźnikiem włączającym instalację 230V, np. halogeny lub inne elementy wysokonapięciowe jak np. wymuszona wentylacja itp. https://obrazki.elektroda.pl/1732997600_1545853876_thumb.jpg Można rozważyć dodanie (zamiast diody czuwania na PB3? Sterowanie przekaźnika PB4?) przycisku pozwalającego na wymuszenie włączenia oświetlenia, konieczne są jednak zmiany w kodzie, które powierzam już w całości decydującym się wykonać projekt Kolegom. Starałem się, aby kod był możliwie przejrzysty, choć jak to zwykle bywa, był pisany pod presją zbyt małej ilości czasu. https://obrazki.elektroda.pl/6609483000_1545853903_thumb.jpg W moim przypadku zastosowane wybranych stałych czasowych umożliwiło bezproblemowe i bardzo komfortowe działanie układu, który niemal nie popełnia błędów. Jedyne przypadkowe włączenia są związane z zagotowaniem wody w czajniku w polu widzenia sensora. UWAGA-na schemacie jest BUZ10, jednak polecam zastosowanie tranzystora o obniżonym napięciu bramki wymaganym do pełnego otwarcia (logic-level MOSFET).


Pobierz plik - link do postu
  • source.zip
    • led-strip-controller.ino_attiny13a_4800000L.hex
    • led-strip-controller.ino_attiny13a_9600000L.hex
    • led-strip-controller.ino