Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

poniedziałek, 4 kwietnia 2011

SmartPIP - Licznik czasu - decyzje


Autor: Dondu

Artykuł jest częścią cyklu: SmartPIP - Elektroniczny dręczyciel


Licznik czasu będzie potrzebny do obserwowania pomieszczenia w określonych odstępach czasu oraz pośrednio do ustalania pory dnia. Nie jest nam jednak potrzebny zegarek w stricte tego słowa znaczeniu, ponieważ zgodnie z założeniami, porę dnia ustalać będziemy na podstawie czasu względnego, który ustalany będzie na podstawie pomiarów światła. Pisałem o tym w artykule: SmartPIP - Logika - analiza wstępna

W jak dużych odstępach czasu powinien więc zliczać nasz licznik?
To zależy od zadania, które stawiamy przed SmartPIP'em, a w tym zakresie mamy ich dwa:

1. Odliczanie czasu pomiędzy pomiarami światła

Przyjąłem, że 5 minut będzie wystarczającym odstępem czasu pomiędzy poszczególnymi pomiarami. Możemy więc odliczać czas w odcinkach 5 minutowych.

Wymóg 1: odliczanie pomiaru co 5 minut


2. Odliczanie momentu ataku ofiary

Tutaj przydałby się bardziej dokładny zegar niż w przypadku pomiaru światła. Nie musimy tego czasu mierzyć w pojedynczych sekundach, ale na pewno liczenie w odcinkach kilku sekundowych przydałoby się po to, by czas ataku był trudny do przewidzenia przez ofiarę usilnie nasłuchującego i szukającą naszego SmartPIP'a.

Wymóg 2: odliczanie co kilka sekund


Skoro mamy wymóg odliczania czasu co kilka sekund oraz mamy do dyspozycji Timer2, to zastanówmy się jak go ustawimy i co osiągniemy?

Timer2 jest timerem 8-bitowym i taktowany będzie zewnętrznym kwarcem 32.768kHz podłączonym do pinów TOSC1 i TOSC2:




Mamy do dyspozycji preskaler więc sprawdźmy jakie mamy dostępne dzielniki:




Timer2 może generować przerwanie w momencie jego przepełnienia, czyli doliczenia co 256 impulsów kwarcu. Policzmy jaki musielibyśmy zastosować preskaler, aby Timer2 odliczył nam dokładnie jedną sekundę:




Mamy do dyspozycji taki preskaler więc odmierzanie czasu co 1 sekundę jest możliwe. Ale ponieważ nie ma takiej potrzeby, a zależy nam na oszczędzaniu energii, powinniśmy wybudzać mikrokontroler rzadziej.

W takim układzie policzmy, co ile sekund będzie generowane przerwanie, gdy zastosujemy maksymalny preskaler, czyli 1024. Tym razem policzymy to z wykorzystaniem proporcji:




Czyli jeżeli ustawimy preskaler Timer2 na 1024, to uzyskamy przerwanie co 8 sekund.

Czy to nam wystarczy?

Nie da się już w tym zestawieniu (ATmega8 + Timer2kwarc 32,768kHz + tryb Power Save) wydłużyć sprzętowo okresu między przerwaniami, więc musi nam te 8 sekund wystarczyć. W sumie to bardzo dobry interwał czasowy - nie za mały i nie za duży.


Wracamy do wymogów określonych na początku tego artykułu

Dokładność odliczania momentu ataku ofiary określiłem na kilka sekund. Mamy przerwanie co 8 sekund i to wystarczająca moim zdaniem dokładnością.

A pomiary oświetlenia?

Policzmy, ile będziemy mieć przerwań Timer2 na jedną godzinę:


Wymóg dot. odstępów pomiędzy pomiarami oświetlenia określiłem wstępnie na 5 minut, czyli 12 razy w ciągu godziny. Niestety dzieląc 450 przez 12 nie otrzymam liczby całkowitej. Liczbę całkowitą otrzymam dzieląc przez 10 lub 9. Zostawmy ten wymóg do decyzji w późniejszym czasie, gdyż być może ograniczą go inne czynniki.


Testujemy licznik czasu

Wypadałoby przetestować nasz licznik czasu zarówno pod kątem programu jak i poboru prądu przez mikrokontroler. Zrobimy to w następnym artykule: SmartPIP: Licznik czasu - testowanie


Artykuł jest częścią cyklu: SmartPIP - Elektroniczny dręczyciel

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Brak komentarzy:

Prześlij komentarz

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.