Whjsaillii mmm' |
3 'jfiSB 15^ |
(nie tylko) il U 1 |
JImJOjjj |
Zadaniem prezentowanego układu jest włączanie i wyłączanie dowolnego urządzenia zasilanego z sieci energetycznej o określonej przez użytkownika godzinie w cyklu dobowym. Ponadto układ spełnia funkcję zegarka elektronicznego. Najlepszym jego zastosowaniem jest sterowanie oświetleniem akwariowym (właśnie w tym celu powstało urządzenie). Układ może też chronić dom przed złodziejami. symulując obecność domowników, włączając i wyłączając wieczorem światło w pokojach.
Schemat układu pokazany jest na rysunku 1. Zliczaniem czasu zajmuje się zegar czasu rzeczywistego U3 PCF8583. Zlicza on setne sekundy, sekundy, minuty, godziny, dni tygodnia, dni miesiąca, miesiące i lata oraz zawiera 240 bajtów pamięci SRAM do dyspozycji użytkownika. Posiada też funkcję alarmu, generującą przerwanie dla procesora w momencie przekroczenia zadanego progu czaso
wego. Wszystkie wartości zapisane są w kodzie BCD, co upraszcza ich wyświetlanie przez procesor. Ważną zaletą PCF8583 jest bardzo niski pobór prądu, wynoszący typowo lOpA przy 5V, oraz szeroki zakres napięcia zasilania 1V-6V, co umożliwia zastosowanie miniaturowej baterii litowfej w roli zapasowego źródła zasilania w razie odłączenia urządzenia od sieci energetycznej
Program sterujący urządzeniem napisano w BASCOM AVR. Po włączeniu zasilania procesor przechodzi do pętli głównej programu, w' której odczytuje bieżący czas z układu U3, a następnie porównuje go z zapisanymi w wewnętrznej pamięci EEPROM czasami włączenia i wyłączenia zasilania dołączonego urządzenia. W przypadku wykrycia, że bieżący czas zawiera się w przedziale czasowym włączenia zasilania, procesor aktywuje linię PD6 (stan wysoki), co powoduje włączenie optotriaka Q2, wysterowanie Q1 i włączenie pełnego napięcia sieci na wyjściu JP2. W przeciwnym razie linia PD6 zostaje dezak-
tywowana (stan niski). Równocześnie bieżący czas jest wyświetlany na wyświetlaczach 7-segmentowych D1SP1 (godziny) i DISP2 (minuty), a diody LED 1,2 migają z częstotliwością około 1Hz. Procesor pozostaje w pętli głównej do chwili naciśnięcia przycisku SI lub S3.
Naciśnięcie S1, gdy procesor znajduje się w pętli głównej, powoduje przejście do następnego trybu pracy, którym jest wyśw ietlanie zapisanego w pamięci czasu włączenia zasilania Tryb ten sygnalizuje zaświecona dioda LED3. Kolejne naciśnięcie przycisku S1 powoduje przejście do trybu wyświetlania czasu wyłączenia zasilania, co sygnalizuje dioda LED4 Zmiana trybu wyświetlania nie powoduje zatrzymania sprawdzania warunków włączenia i wyłączenia zasilania.
Naciśnięcie S3, gdy procesor znajduje się w dowolnym trybie wyświetlan a, powoduje przejście do ustawiania wyświetlanego parametru (tj. czasu bieżącego, włączenia, wyłączenia zależnie od trybu ustawionego przyciskiem SI). Ustawienie polega na zmianie i zatwierdzeniu każdej cyfry z osobna. Aktualnie ustawiana cyfra miga na wyświetlaczu. Cyfrę można zwiększyć za pomocą SI lub zmniejszyć za pomocą S2. Procesor automatycznie kontroluje wprowadzane cyfry i nie pozwala na podanie wartości zabronionych (np. nie da się wprowadzić cyfry dziesiątek minut większej niż 5). Zatwierdzenia aktualnie zmienianej cyfry dokonuje się, naciskając przycisk S3, po czym następuje przejście do kolejnej cyfry. Po zatwierdzeniu ostatniej cyfry, procesor powraca do pętli wyświetlania w aktualnym trybie.
58 Wrzesień 2006 Elektronika dla Wszystkich