Autor: Dondu
Artykuł jest częścią cyklu: SmartPIP - Elektroniczny dręczyciel
Założenia jakie przyjąłem dla tego projektu, podzieliłem następująco:
1. Założenia dydaktyczne
Nadrzędnym założeniem i celem cyklu artykułów o SmartPIP jest pokazanie:
- procesu projektowania od założeń do działającego urządzenia,
- aspektów projektowania urządzeń zasilanych z baterii,
- jak realizować skomplikowane projekty w całości oparte o przerwania z prawie pustą pętlą główną z wyjątkiem użycia funkcji sleep (usypianie).
W tym zakresie cykl ma pokazać każdy istotny element, w którym należy podjąć jakąś decyzję wraz ze szczegółowym wytłumaczeniem, dlaczego decyzja jest taka, a nie inna.
Szczególny nacisk kładę na pokazanie aspektów związanych z zasilaniem za pomocą baterii, począwszy od decyzji strategicznych, aż na programie skończywszy. Jest to jeden z częściej pojawiających się problemów na forach dyskusyjnych.
Dlatego też z założenia cykl rozbity jest na wiele wzajemnie się uzupełniających artykułów, opisujących poszczególne fragmenty całego procesu projektowania.
2. Założenia techniczne i logiczne
W tym zakresie nasze główne motto brzmi:
Oszczędzamy energię "na maksa"!
... bo "ziarnko do ziarnka i zbierze się ..." kilka lat pracy urządzenia :-)
... bo "ziarnko do ziarnka i zbierze się ..." kilka lat pracy urządzenia :-)
Wiele osób nie docenia takiego podejścia. Wynika to z reguły z braku świadomości możliwości i/lub korzyści jakie drzemią w tym zakresie, lub też z powodu własnych przekonań, czy przyzwyczajeń. Czasami oczywiście wynika ze świadomego kompromisu, jaki przyjął kolega Marek:
Marek
I ponownie ta nieszczęsna optymalizacja (produktu) na każdym kroku ...
... 1uA nie boli, gdy redukuję pobór prądu całego układu o kilka mA.
... Nie ma to dzisiaj żadnego znaczenia czy ten pilot będzie pracował na baterii 1100 lat czy 11 lat.
I ponownie ta nieszczęsna optymalizacja (produktu) na każdym kroku ...
... 1uA nie boli, gdy redukuję pobór prądu całego układu o kilka mA.
... Nie ma to dzisiaj żadnego znaczenia czy ten pilot będzie pracował na baterii 1100 lat czy 11 lat.
Z wydłużaniem pracy na baterii jest jak z rankingiem sportowym. Łatwo bowiem przedostać się z setnego miejsca na dwudzieste, czyli o 80 pozycji, ale z dwudziestego do pierwszej dziesiątki o wiele trudniej.
W przypadku SmartPIP'a ma to dla nas jednak kolosalne znaczenie, które zaowocuje:
- dłuższym czasem pracy,
- i/lub mniejszą i tańszą baterią.
Zwycięstwo w tej materii będzie więc naszym głównym celem i pokażemy naszej reprezentacji w piłce nożnej jak to się robi :-)
W naszym projekcie (tak jak w projekcie z cytatu), znacząca część zużycia energii przypadać będzie na okres snu, dlatego tak ważne jest nasze motto. A techniki oszczędzania energii wcale nie są jakieś kosmicznie trudne, o czym przekonasz się w niniejszym cyklu artykułów.
W takich projektach jak ten (czy cytowany pilot podczerwieni), od początku trzeba myśleć nad wszystkimi aspektami oszczędzania energii i nie zostawiać niczego na później:
Marek
... dopiero w dalszej kolejności skupiałbym się na wydłużaniu okresu czuwania poprzez specjalne zabiegi.
... dopiero w dalszej kolejności skupiałbym się na wydłużaniu okresu czuwania poprzez specjalne zabiegi.
Dlaczego my nie zostawimy tego na później? Ponieważ zobaczysz jak różny od standardowego urządzenia będzie nasz SmartPIP, zarówno pod względem schematu, jak i programu.
2.1 Założenia techniczne
Projekt z założenia ma być tani i prosty w wykonaniu nawet przez osobę, która z elektroniką nie ma zbyt wiele wspólnego. Ma być także uniwersalny i opisany w taki sposób, by jego implementacja na inny mikrokontroler AVR była łatwa.
Dlatego też w tym zakresie przyjmuję następujące założenia:
- mikrokontroler z rodziny Atmel AVR ATmega8,
- maksymalna oszczędność baterii, by bateria była mała i tania,
- minimalna ilość elementów elektronicznych,
- napięcie pracy (zasilania) w największym możliwym zakresie,
- łatwe w wykonaniu w warunkach domowych nawet na tzw. "pająka",
- możliwie jak najmniejsze gabaryty.
Bateria
SmartPIP musi być mały i tani, stąd warunkuje to typ baterii. Ważnym założeniem jest uzyskanie możliwie szerokiego zakresu napięć zasilania. Takie podejście ma pozwolić na wykorzystanie baterii dostępnej w tzw. "szufladzie", czyli taką, jaką akurat mamy "pod ręką".
Emiter dźwięków
Układ elektroniczny musi być dostosowany do wykorzystania dowolnego emitera dźwięków. Ponieważ element ten musi być mały i działać przede wszystkim w nocy (okres raczej cichy), stąd mamy mieć możliwość wykorzystania np. głośnika uszkodzonych słuchawek, czy małego buzzera. Układ ma być tak zaprojektowany, by nie należało go specjalnie adoptować w zależności od typu emitera dźwięków.
Dźwięki
Dźwięki w wersji podstawowej ze względu na niezbyt dużą pojemność pamięci mikrokontrolera, ograniczymy się do różnego rodzaju piszczeń generowanych za pomocą wzorów matematycznych. Takie dźwięki są bardzo nieprzyjemne, a o to właśnie chodzi :-)
W tym zakresie program powinien być zbudowany w taki sposób, aby było możliwe łatwe dodawanie kolejnych dźwięków. Gdy nadejdzie odpowiedni moment na wygenerowanie dźwięku, odtwarzanie ma następować w losowej kolejności.
W zakresie sposobu generowania dźwięku należy oczywiście uwzględnić minimalizację poboru energii. Dlatego też podstawą będzie sprzętowe generowanie za pomocą PWM, przy jednoczesnym usypianiu mikrokontrolera.
2.2. Założenia dot. logik (algorytmu)
To najbardziej płynna część projektu, która powinna przewidywać:
- automatyczne dostosowywanie się do warunków oświetlenia pomieszczenia,
- wykrywanie właściwych momentów na przeprowadzanie ataków,
- utrudnienie skojarzenia dowcipnisia z momentem rozpoczęcia dręczenia,
- nieprzewidywalne zachowanie w celu utrudnienia wykrycia SmartPIP'a.
Algorytm działania może być przeróżny. Tutaj można puścić wodze fantazji i poświęcając odpowiednią ilość czasu opracować bardzo złożony sposób zachowania się SmartPIP'a. Wstępne założenia algorytmu działania SmartPIP'a są następujące:
- Przed wejściem do pomieszczenia ofiary uruchamiamy przyciskiem SmartPIP.
- SmartPIP odczekuje kilka godzin, czekając na wyłączenie. Jeżeli wyłączenie nie nastąpi SmartPIP uzna, że podłożenie go ofierze zakończyło się sukcesem.
- Następnie przez kilka dni SmartPIP obserwuje poziom oświetlenia pomieszczenia mierząc je co wybrany odcinek czasu. W ten sposób dostosowuje parametry swojej pracy, w celu poprawnego działania algorytmu. Zwłoka ta utrudnia także powiązanie przez ofiarę wizyty dowcipnisia z momentem rozpoczęcia ataków.
- Losowany jest dzień i moment(-y) ataku, a następnie atak jest wykonywany.
- Jeżeli po ataku w krótkim czasie następuje włączenie światła, to uznajemy, iż ofiara usilnie próbuje namierzyć swojego oprawcę i SmartPIP milknie w tym dniu lub nawet kilku następnych.
- Przez cały okres pracy SmartPIP'a parametry algorytmu dostosowywane są do warunków panujących w ostatnich dniach.
- W każdej chwili można wyłączyć SmartPIP'a za pomocą przycisku.
Brak komentarzy:
Prześlij komentarz