alarm bezprzewodowy z powiadomieniem gsm
Post on 11-Jan-2017
226 Views
Preview:
TRANSCRIPT
Mateusz Winkowski
Programowanie Mikrokontrolerów
Wydział Fizyki
Uniwersytet Warszawski
Alarm bezprzewodowy z powiadomieniem GSM
Spis treści1.Cel projektu.......................................................................................................................................22.Czujka alarmowa...............................................................................................................................2
2.1.Komunikacja radiowa 433 MHz................................................................................................22.2.Kontaktron.................................................................................................................................32.3.Mikrokontroler...........................................................................................................................32.4.Zasilanie.....................................................................................................................................4
2.4.1. Ogniwa zasilające..............................................................................................................42.4.2. Przetwornica impulsowa DC-DC 3->12V........................................................................5
2.5.Płytka PCB.................................................................................................................................63.Czujka alarmowa z klawiaturą........................................................................................................104.Centralka alarmowa.........................................................................................................................13
4.1.Zasilanie...................................................................................................................................134.1.1. Zasilanie sieciowe ..........................................................................................................134.1.2. Zasilanie bateryjne..........................................................................................................134.1.3. Schemat układu zasilającego...........................................................................................144.1.4. Przetwornica impulsowa DC-DC 5V..............................................................................14
4.2.Mikrokontroler.........................................................................................................................154.3.Odbiornik radiowy...................................................................................................................154.4.Głośniczek...............................................................................................................................194.5.Kamera.....................................................................................................................................204.6.Latarka.....................................................................................................................................204.7.Nadajnik GSM.........................................................................................................................204.8.Syrena alarmowa......................................................................................................................224.9.Dodatkowe wyposażenie.........................................................................................................23
4.9.1. Pomiary temperatury.......................................................................................................234.9.2. Karta SD..........................................................................................................................234.9.3. Zegar RTC.......................................................................................................................23
4.10.Płytka PCB.............................................................................................................................235.Bibliografia......................................................................................................................................26
1. Cel projektu
Celem projektu jest konstrukcja układu alarmu do zastosowań domowych. Czujki alarmu mają
komunikować się z centralką bezprzewodowo, poprzez moduły radiowe 433 MHz. Centralka
alarmowa ma mieć możliwość wysłanie wiadomości SMS w razie wykrycia włamania, jak również
uruchomienia syreny alarmowej w celu odstraszenia złodzieja. Całość ma być zasilana bateryjnie,
przy czym centralka może być podłączona do sieci 230V.
Opisany układ ma wiele możliwości potencjalnej rozbudowy, które zostaną tu opisane. Z uwagi na
brak czasu, został on na dzień dzisiejszy zrealizowany jedynie w podstawowym zakresie
funkcjonalności. Priorytetem układu ma być minimalizacja kosztów, przy zachowaniu oczekiwanej
funkcjonalności.
2. Czujka alarmowa
Czujka alarmowa, jak sama nazwa wskazuje ma za zadanie wykryć włamanie i nadać stosowny
komunikat drogą radiową do centrali. Sama powinna pozostać niezauważona.
2.1. Komunikacja radiowa 433 MHz
Z założenia, komunikacja między czujką a centralą ma być możliwie prosta, tania i niezawodna. Z
uwagi na fakt, że między czujkami a centralą nie będzie więcej niż 100 metrów, zdecydowałem się
na użycie najprostszych modułów 433 MHz z modulacją AM. Para modułów1 radiowych kosztuje
około 4 złote na popularnym portalu aukcyjnym i zapewnia jednostronną komunikację.
Zastosowana jest tu modulacja AM-OOK, co oznacza, że nośna jest nadawana lub nie (w zależności
od stanu logicznego na wejściu nadajnika). Układ charakteryzuje więc maksymalna prostota –
posiada on jedynie trzy piny – zasilanie, masę i wejście. Zgodnie z (bardzo ubogą) notą katalogową
nadajnik należy zasilać napięciem z przedziału 3-12V, przy czym im większe napięcie zasilania,
tym większy zasięg2 mają nadajniki.
Należy dodatkowo zauważyć, że w przypadku częstości 433 MHz zasięg będzie istotnie większy
niż dla 868 MHz lub 2,4 GHz, lecz sygnał może być zniekształcony ze względu na znaczne
zaszumienie pasma.
1 XY-FST + XY-MK-5V, 2 Przy podaniu napięcia 12V, moc nadajnika jest mniejsza niż 10 dBm (czyli 10mW), co oznacza że można go
legalnie używać w paśmie 433 MHz.
Wyniki pomiarów wskazują jednoznacznie, że większe napięcia zasilania to również większy prąd3
pobierany przez nadajnik:
12V - 11mA
5V - 5,2 mA
3,3 V - 4,1 mA
Ponieważ zależało mi na zasięgu i skutecznym powiadomieniu o włamaniu, nie zaś na szybkości
przesyłania danych, zastosowany został protokół transmisji podobny jak ten w pilocie na
podczerwień (kodowania PULSE). Więcej o tym można przeczytać w rozdziale poświęconemu
części odbiorczej centalki alarmu.
2.2. Kontaktron
Jako element reagujący bezpośrednio na otwarcie drzwi do danego pokoju (lub okna)
zdecydowałem się wykorzystać kontaktron. Jest to niezawodny element reagujący na zmianę pola
magnetycznego – magnesu, przyklejonego do drzwi lub okna. Na podobnej zasadzie działa licznik
rowerowy.
Celowo użyłem tu elementu mechanicznego (kontaktron zwiera lub rozwiera, w zależności od typu
– NO i NZ), ze względu na pewność działania. Czujniki na podczerwień potrafią generować
fałszywe alarmy, a ze względu na rozmieszczenie systemu na działce ok. 160 km od miejsca
zamieszkania, wolę uniknąć tego typu zjawisk. Ważna tutaj jest również cena - dobrej jakości
kontaktron kosztuje 1-2 zł.
2.3. Mikrokontroler
W układzie czujki jedynymi zadaniami mikrokontrolera są reakcja na zmianę stanu na pinie
podłączonym do kontaktronu oraz nadanie odpowiedniego komunikatu poprzez radio. Z uwagi na
konieczność zasilania bateryjnego oraz koszty, wybrałem mikrokontroler Attiny 24A. Kosztuje on
4-5 złotych, jest wykonany w technologii Atmel Pico-Power (oszczędność baterii), a dodatkowo
wyposażony jest w termometr i przetwornik analogowo-cyfrowy, co może przydać się przy
przyszłej rozbudowie układu. Wybrałem model w obudowie DIP 14 ze względu na łatwiejszy
montaż.
W ramach wyjaśnienia wytłumaczę, dlaczego nie użyłem tutaj najprostszego (i najtańszego) modelu
Attiny 13A – zrobiłem tak ze względu na fakt, że model 13A nie ma możliwości podłączenia
zewnętrznego kwarcu, a wewnętrzny generator RC (zwłaszcza z uwagi na fakt pracy w szerokim
3 Prąd dla sygnału prostokątnego o wypełnieniu 50% i częstości 600 Hz
zakresie temperatur) ma mało stabilną częstość pracy.
2.4. Zasilanie
Całość zasilana będzie bateryjnie, ze względu na brak możliwości podłączenia do sieci bez
ciągnięcia dodatkowych kabli zasilających.
2.4.1. Ogniwa zasilające
Bardzo ważnym, a często pomijanym aspektem jest wybór odpowiednich ogniw zasilających układ.
Powinny cechować się:
● odpornością na mróz
● możliwie dużą pojemnością
● możliwością ładowania
● niskim prądem samorozładowania
● akceptowalną ceną
Z uwagi na wyżej wymienione punkty, zdecydowałem się na zastosowanie ogniw Ni-MH (niklowo-
wodorkowych) tak zwanej nowej generacji. Zapewniają one możliwość ładowania przy zachowaniu
pozytywnych cech baterii alkalicznej, jak również bardzo korzystną krzywą rozładowania.
Ryc. 1. Krzywa rozładowania baterii Panasonic/Sanyo Eneloop
Wykorzystane do zasilania zostaną trzy połączone szeregowo ogniwa, co zapewni napięcie pracy
2,7-4,4V, które to w całości znajduje się w granicach tolerancji mikrokontrolera.
2.4.2. Przetwornica impulsowa DC-DC 3->12V
W celu zapewnienia optymalnych parametrów pracy dla modułów radiowych (maksymalny zasięg)
elementem układu czujki jest przetwornica impulsowa. Jeśli chodzi o koszt takiego elementu, w
moim przypadku (student Wydziału Fizyki UW) układy scalone przetwornic otrzymałem za darmo,
dzięki uprzejmości firm Maxim Integrated oraz Analog Devices - musiałem jedynie zadeklarować,
że otrzymane układy wykorzystam w celach naukowych, nie będę ich sprzedawał ani reeksportował
do Korei Północnej i Iraku, oraz że nie posłużą one do budowy broni (w szczególności bomby
atomowej) lub rakiety kosmicznej. Osobom, dla których dostępność lub koszt dobrej jakości
przetwornic stanowi problem polecam zastosowanie alkalicznej baterii 12V (L828 27A, koszt: kilka
złotych).
Ze względu na chęć samodzielnej konstrukcji oraz nauki działania różnych przetwornic,
zbudowałem dwa warianty – oparte o układ scalony MAX 734 (obudowa DIP-8) oraz ADP1111-12
w obudowie SMD SOIC-8 (raster 1,27mm).
Przy budowie przetwornicy kluczowy jest odpowiedni dobór cewki – obszernym źródłem wiedzy
na ten temat są noty katalogowe producentów układów. Należy zwrócić również uwagę na
kondensatory elektrolityczne (zarówno wyjściowy, jak i wejściowy) – duży kondensator (typu Low-
ESR) na wyjściu zapewni dobre tłumienie tętnień. Dużo ważniejszy jest jednak wbrew pozorom
kondensator wejściowy (magazynujący energię z baterii) – z uwagi na stosunkowo duży opór
wewnętrzny ogniw (dużo większy niż w przypadku zasilaczy), podczas włączania przetwornicy w
układzie może wystąpić spadek napięcia na tyle duży, że jego konsekwencją może być
przypadkowe zresetowanie mikrokontrolera!
W celu oszczędności energii, należy zawsze wykorzystywać piny 'shutdown' przetwornic, lub – w
przypadku ich braku – zewnętrzny tranzystor przełączający i uruchamiać przetwornicę tylko, kiedy
potrzebny jest nadajnik radiowy. Po uruchomieniu przetwornicy należy odczekać około sekundy
(czas zależny od pojemności kondensatora wyjściowego), aby napięcie zdążyło się ustabilizować.
Obie opisane przetwornice nadają się do pracy w zakresie napięć 2,7-4,5V.
Warto dodać, że w nocie katalogowej producent nie zaleca używanie do testowania przetwornic
płytek prototypowych (stykowych).
Ryc.2. Fragment dokumentacji producenta Maxim 734
2.5. Płytka PCB
Ze względu na osobistą niechęć do płytek uniwersalnych, a także chęć nauki programu EAGLE
oraz chęć samodzielnego wykonania płytki w laboratorium zdecydowałem się na własny projekt.
Płytka do czujki alarmowej (dwie wersje dla dwóch przetwornic) została zaprojektowana w
programie EAGLE i wykonana metodą fotochemiczną w laboratorium Wydziału Fizyki.
Ryc. 3. Schemat układu czujki z przetwornicą ADP1111-12
Ryc. 4. Schemat płytki układu czujki z przetwornicą ADP1111-12
Ryc. 5. Schemat układu czujki z przetwornicą MAX 734
Ryc. 6. Schemat płytki układu czujki z przetwornicą MAX 734
Ryc. 7. Wykonana płytka układu czujki z przetwornicą MAX 734
Ryc. 8. Wykonana płytka układu czujki z przetwornicą MAX 734 po wlutowaniu elementów
W zaprezentowanych schematach należy zwrócić uwagę na kondensatory ceramiczne 100n
umieszczone przy zasilaniu mikrokontrolera i nadajnika radiowego – mają one na celu eliminację
szumów.
Złącza mikrokontrolera zostały wyprowadzone gniazdami do podłączenia kabli, przy czym te
służące do programowania są dodatkowo podpisane. Pin RESET podciągnięty jest do zasilania, a
do nadajnika przylutowana jest prosta antenka helikalna na 433 MHz wymontowana ze starego
bezprzewodowego dzwonka.
W przypadku płytki z przetwornicą ADP1111, ze względu na brak możliwości programowego
wyłączenia przetwornicy zastosowany został dodatkowy tranzystor włączający ją. Przy kwarcu,
zgodnie z zalecaniami producenta mikrokontrolera umieszczone są dodatkowe kondensatory
zapewniające wzbudzenie kwarcu.
Ryc.9. Fragment dokumentacji producenta Attiny 24A
Dodatkowo w przypadku układu z przetwornicą MAX 734, możliwy jest wybór trybu pracy
(bootstrap mode lub normal mode) za pomocą zworki. Tryb bootstrap wg dokumentacji producenta
pozwala pobierać większe prądy, ale pomiary oscyloskopem wskazują na to, że w trybie tym
przetwornica mocno zaszumia zasilanie całej płytki, co negatywnie wpływa na jakość sygnału
radiowego emitowanego przez nadajnik. Dla obu przetwornic maksymalny spadek napięcia podczas
pracy nadajnika wynosi mniej niż 0,5V (0,9V dla nowej baterii alkalicznej 12V).
Na koniec wspomnę o (z pozoru niepotrzebnym) tranzystorze NPN znajdującym się koło nadajnika
radiowego, na pinie sterującym. Ma on za zadanie zapewnić sterowanie nadajnikiem napięciami z
zakresu 0-12V (mikrokontroler może podać maksymalnie takie, jakim jest zasilany, czyli 3-4V).
Pomiary wykazały, że przy sterowaniu napięciami takimi, jakie użyte są do zasilania nadajnika
zasięg jest wyraźnie większy ( w szczególności dla zasilania 12V, 2,5V podane na wejście sterujące
nie powoduje nadawania nośnej w ogóle).
3. Czujka alarmowa z klawiaturą
Jest to zwykła czujka alarmowa (model z przetwornicą ADP1111) z dodatkową klawiaturą 4x4
przyciski. Jej koszt to ok. 5 złotych.
Ryc. 10. Klawiatura wykorzystywana w układzie
Czujka z klawiaturą umieszczona będzie w pobliżu drzwi wejściowych (w środku domu). Z jej
pomocą można będzie aktywować lub dezaktywować alarm (poprzez polecenie wysłane radiem do
centralki) wpisując odpowiedni kod – tak jak ma to miejsce w systemach komercyjnych.
Ze względu na konieczność użycia dodatkowych ośmiu pinów mikrokontrolera, tutaj zastosowany
został Attiny 2313A (również Pico-Power, możliwość pracy z kwarcu, koszt: 5,40 zł) w obudowie
DIP-20 ułatwiającej montaż.
Dodatkowo w układzie występują dwie diody LED, sygnalizujące działanie alarmu4 lub jego brak
(można ich nie montować) oraz istnieje możliwość podłączenia dwóch czujek kontaktronowych.
Ryc. 11. Schemat układu czujki z klawiaturą
4 Oczywiście nie cały czas (bateria!), a jedynie po naciśnięciu jakiegoś przycisku
Ryc. 12. Schemat płytki układu czujki z klawiaturą
4. Centralka alarmowaSercem systemu alarmowego jest centralka, która reaguje na sygnały z czujek, a także steruje
wszelkimi systemami wykonawczymi całego układu.
4.1. Zasilanie
Zasilanie centralki realizowane będzie na dwa sposoby, co może na początku wydawać się dość
skomplikowane, ale ma wiele zalet.
4.1.1. Zasilanie sieciowe
Centralka z założenia ma być podłączona do sieci elektrycznej. Podłączenie takie najtaniej
zrealizować za pomocą nieużywanej ładowarki telefonicznej z gniazdem micro-USB. Należy
odciąć końcówkę, kabel czerwony to 5V, czarny to masa. Zielony i biały (jeśli występują)
zaizolować i nie używać. Można użyć również dowolnej innej ładowarki – zwykle mają one
napięcie wyjściowe 4,5-5V, ale należy to sprawdzić miernikiem – pozwoli to na bezpieczne i
darmowe (w sensie kosztów wykonania) dostarczenie energii do układu.
4.1.2. Zasilanie bateryjne
W moim przypadku chciałem, aby centralka miała dodatkowe zasilanie bateryjne z dwóch
powodów – w razie zaniku zasilania sieciowego (co na wsi zdarza się często) i – w razie gdyby
włamywacz, usłyszawszy alarm w nagłym przypływie inteligencji postanowił odciąć prąd
bezpiecznikiem.
Jako źródło zasilania dodatkowego postanowiłem wykorzystać ogniwa trzy Ni-Cd. Mają one
wprawdzie niższą pojemność niż Ni-MH, ale za to dobrze znoszą ciągłe doładowywanie (należy to
robić prądem C/100) oraz kosztują kilka złotych za sztukę. Należy zadbać, aby w razie odłączenia
zasilania sieciowego, prąd nie płynął przez zasilacz rozładowując przy tym akumulatory.
4.1.3. Schemat układu zasilającego
Ryc. 13. Schemat zasilania centralki alarmowej
Na powyższym schemacie należy zwrócić uwagę na oznaczenia: VSUP to napięcie z zasilacza (5V)
NICD to trzy ogniwa połączone szeregowo. GSM to bateria telefonu komórkowego - również
wymaga doładowywania z sieci, przy czym test wykazał, że nie jest możliwy przepływ prądu z
gniazda ładowania telefonu5 'na zewnątrz' układu.
Zastosowanie diody, umożliwiające przepływ prądu w jednym kierunku to 1N4148 – tanie diody
impulsowe (50 szt. - 1zł) o maksymalnym ciągłym prądzie 200mA i spadku napięcia 0.8-1V oraz
dioda Schottky 1N5818, która wprawdzie jest sporo droższa, ale za to spadek napięcia na niej
wynosi (dla małych prądów, rzędu kilkunastu mA) ok. 0,3V, co pozwala dłużej pracować na baterii.
Dodatkowo należy wyjaśnić obecność oporników R1 i R2 – widoczne wyprowadzenie między nimi
podłączone jest do mikrokontrolera, ich wartości są tak dobrane, że w przypadku obecności
napięcia VSUP mikrokontroler wie, że zasilany jest z sieci (logiczna wartość '1'). W przeciwnym
razie (logiczna wartość '0') mikrokontroler zasilany jest bateryjnie – pozwala to na włączenie trybu
oszczędzania energii oraz zanotowanie faktu braku zasilania w dzienniku urządzenia.
4.1.4. Przetwornica impulsowa DC-DC 5V
W układzie zastosowana jest przetwornica MAX 757 - podobnie jak MAX 734 weszła w moje
posiadanie dzięki hojności firmy Maxim Integrated. Jej zastosowanie jest konieczne, ponieważ
układ odbiornika radiowego jest bardzo wrażliwy na wartość napięcia zasilającego i potrzebuje
dokładnie 5V (doświadczalnie sprawdziłem, że przy 2,7 V nie działa w ogólne, przy 4V ma istotnie
5 Sony Ericsson K750i
mniejszy zasięg, natomiast dla 7V wzbudza się samorzutnie i generuje sygnał prostokątny).
Dodatkowo 5V będzie używane do zasilania oświetlenia oraz głośniczka, o czym później.
Przetwornica MAX 757 potrafi wygenerować napięcie 5V przy napięciu wejściowym zaledwie
0,9V, jednak zastosowane jest pewne ograniczenie, mające na celu zapobiegnięcie głębokiemu
rozładowaniu ogniw - po rozładowaniu do 0,3V na ogniwo, dodatkowo przy ujemnej temperaturze
nadawałyby się już tylko do wyrzucenia! Układ MAX 757 ma dodatkowe piny, pozwalające
'powiadomić' mikrokontroler o niskim poziomie napięcia baterii (piny LBI oraz LBO układu).
Ryc. 14. Fragment noty katalogowej MAX 757
Oporniki R5 i R6 mają tak dobrane wartości, aby zapewnić powiadomienie o niskim poziomie
napięcia w bezpiecznym dla baterii punkcie. W takim przypadku, mikrokonroler nie uruchomi
przetwornicy, podając stan niski na nóżkę SHDN, samemu zaś przechodząc w stan uśpienia
(wybudzić go może stan '1' na linii oznaczającej zasilanie sieciowe).
4.2. Mikrokontroler
Centralka alarmowa, w przeciwieństwie do czujek obsługiwać będzie więcej różnych urządzeń i
funkcji. W związku z tym potrzeba po pierwsze więcej wyprowadzeń, po drugie więcej pamięci
programu i RAM, aby móc komfortowo zmieścić nawet obszerny kod. Dobrze również posiadać
sprzętowe interfejsy: UART, SPI oraz I2C. W związku z tym wybrałem mikrokontroler Atmega
328P – posiada 32kB pamięci programu, wszystkie wymienione interfejsy sprzętowe oraz 28
wyprowadzeń. Poza tym wykonany jest w technologii Pico-Power. Koszt mikrokontrolera w
obudowie DIP-28 to 8,90 zł.
4.3. Odbiornik radiowy
Odbiornik centralki ma za zadanie przechwycić komunikaty nadawane przez czujki. Jest to prosty
odbiornik superreakcyjny, na szczęście, pomimo niskiej ceny i chińskiego rodowodu wyposażony w
automatyczną regulację wzmocnienia. Nadajnik taki, po podłączeniu napięcia zasilającego zawsze
'coś' odbiera – zazwyczaj szumy, szpilki, czasem zakłócenia od innych urządzeń pracujących na
częstości 433 MHz (jest bardzo popularna, również w zastosowaniach komercyjnych) lub
komunikaty nadawane przez krótkofalarzy (pasmo 70cm).
W celu zapewnienia bezproblemowej transmisji opracowałem własny protokół transmisji danych.
Wzorowałem się na protokole PULSE stosowanym przy kodowaniu komunikatów pilotów na
podczerwień. W teorii powinien on zapewniać lepszy zasięg od protokołu Manchester (często
używanego w komunikacji radiowej), lecz jest od niego wolniejszy.
W moim protokole, logiczne zero kodowane jest jako X ms nadawania nośnej i X ms przerwy.
Logiczna jedynka to z kolei 3*X ms nośnej i również X przerwy. Każdorazowo przed rozpoczęciem
transmisji należy nastroić układ regulujący wzmocnienie. W tym celu wysyłana jest tak zwana
'rozbiegówka' – 100 ms sygnału prostokątnego (czyli seria zer logicznych). W moim protokole,
przed każdym wysłanym bajtem wysyłam specjalny bit startu – 6*X ms nośnej oraz X ms przerwy.
W celu zabezpieczenia prawidłowej transmisji danych, każdy bajt zawiera 4 bity informacji
(starsze). Młodsza czwórka stanowi negację starszej – jeśli po powtórnym zanegowaniu przez
mikrokontroler jest równa starszej czwórce, ramka jest przyjmowana jako poprawna, w
przeciwnym wypadku jest odrzucana.
Optymalną stałą X należy wyznaczyć eksperymentalnie dla każdego modelu modułów radiowych.
W moim przypadku, dla kompletu XY-FST + XY-MK-5V wynosi ona 1,25 ms. Udało mi się
uzyskać poprawną transmisję6 na odległość 100m, przez 4 ściany i żywopłot, przy użyciu małej
antenki helikalnej. W celu transmisji na większe odległości należy kupić mocniejsze moduły
(droższe i nielegalne rozwiązanie) lub zastosować odpowiednią antenę. Dobrymi i prostymi w
konstrukcji antenami są: dookólna – antena typu Ground Plane (z trzema przeciwwagami) oraz
kierunkowa: antena biquad (z reflektorem). Obie anteny mają impedancję zbliżoną do 50 Ohm oraz
nie wymagają stosowania baluna (symetryzatora). W ostateczności można kupić antenę kierunkową
przeznaczoną na pasmo CDMA7.
W przypadku transmisji temperatury (lub innej, mało znaczącej wartości, służącej głównie do
odznaczenia, że dana czujka działa) wysyłanych jest sto powtórzeń informacji (transmisja możliwa
jest tylko w jednym kierunku!). W przypadku włamania wysyłanych jest sto ramek co 10 sekund
przez godzinę, aby mieć pewność, że alarm zostanie włączony (oszczędność baterii już się nie liczy
- czymże są trzy baterie w przypadku, gdy złodzieje wynoszą z domu telewizor!).
W dzienniku centralki (opisanym kawałek dalej) można zapisywać parametry określające jakość
transmisji – tzn ile ze stu ramek dotarło nieuszkodzonych.
6 Poprawną, w znaczeniu, że przynajmniej 10% ramek dochodziło nieuszkodzonych7 http://www.dipol.com.pl/antena_atk-_5-400-470mhz_A7005.htm – zysk 5dB, koszt 30zł, odbiór w Warszawie
Ryc. 15. Moment włączenia nadajnika, fala prostokątna 75%, odległość: 10m
Ryc. 16. Moment wyłączenia nadajnika, fala prostokątna 75%, odległość: 10m
Ryc. 17. Fala prostokątna 75%, odległość: 25m + dwie ściany
Ryc. 18. Fala prostokątna 75%, odległość: 100m + cztery ściany i żywopłot
Ryc. 19. Emisja kolejno zer i jedynek logicznych, odległość: 10m
4.4. Głośniczek
W celu powiadomienia dzwiękowego o uruchomieniu/dezaktywacji alarmu (jak w samochodzie)
lub odliczania czasu do wyjścia po aktywacji alarmu (jak w rozwiązaniach komercyjnych)
zastosowałem buzzer z generatorem (na 5V, 85 dB, 2,3kHz) HXD12A05 (cena: 1,20 zł). Aby
dźwięk był głośniejszy, można zastosować dwa połączone równolegle. Do włączania buzzerów
dobrze jest zastosować dodatkowy tranzystor przełączający, ze względu na prąd ok. 35mA przy 5V
dla jednego głośniczka oraz fakt, że lepiej zasilić go z przetwornicy, a więc innego źródła niż nasz
mikrokontroler.
4.5. Kamera
W celu nagrania twarzy włamywacza (aby mieć z czym iść na Policję), można ukryć w
bezpiecznym miejscu małą kamerkę. Ja zdecydowałem się na zakup chińskiej kamery MD80 przez
internet. Jej koszt to – w zależności od dystrybutora – około 5,5$ z wysyłką, przy czym czas
oczekiwania na paczkę to dwa lub trzy tygodnie, w zależności od pory roku i humoru celników.
Kamera jest bardzo mała i pozwala na nagrywanie w rozdzielczości 800x600 materiału wideo (25
klatek na sekundę). Zapis odbywa się na karcie microSD, a całość zasilana jest przez kabelek USB,
posiada również swoją baterię (należy podłączyć do zasilania układu, za przetwornicą). Jakość za tę
cenę jest dobra, kamera szybko adaptuje się do poziomu jasności, ostrość zaś ustawiona jest na stałe
(w sieci jest dużo filmów nagranych tym urządzeniem). Bardzo ważną cechą jest możliwość
nagrywania w reakcji na dźwięk – co w połączeniu z buzzerem pozwala sterować nagrywaniem za
pomocą mikrokontrolera (można również rozebrać kamerkę i przylutować kabelek w miejsce, gdzie
umieszczony jest przycisk wyzwalający nagrywanie ręcznie, a następnie sterować elektrycznie).
4.6. Latarka
Kolejnym elementem układu jest latarka (a właściwie dioda LED Cree z niej wymontowana).
Pozwala ona na oświetlenie pomieszczenia w celu nagrania twarzy włamywacza (na 99% spojrzy
się w stronę światła) oraz rozdrażnienie i rozkojarzenie intruza przy pomocy błysków światła o
częstości około 10 Hz - przy odrobinie szczęścia włamywacz dostanie ataku padaczki. Dioda Cree,
normalnie zasilana ogniwem Li-Ion 18650, może pracować przy napięciach 3-5V, przy czym
oczywiście jasność jej świecenia zależy od napięcia zasilania. W moim przypadku konieczne było
przylutowanie rezystora szeregowo z diodą w celu ograniczenia prądu, ponieważ przy słabej baterii
włączenie lampy powodowało spadek napięcia zasilania i reset mikrokontrolera (należy wtedy
zwiększyć dodatkowo pojemność kondensatora magazynującego energię, lub przylutować kilka
równolegle). Latarkę, tak jak i głośniczek podłączyć należy poprzez tranzystor.
4.7. Nadajnik GSM
Aby zapewnić powiadomienie o włamaniu (inne niż hałaśliwa syrena w okolicy) należy wyposażyć
centralkę w moduł GSM. Dedykowany moduł (jak np. SIM900d) to koszt około stu złotych – dla
mnie nieakceptowalny. Lepiej wykorzystać stary, nieużywany telefon komórkowy (warunek: musi
mieć gniazdo, którym można podać sygnał przez UART). Według większości użytkowników forum
Elektroda (http://www.elektroda.pl/) do tego celu najlepiej nadają się starsze telefony Siemens lub
Sony Ericsson. Wszystkich wielbicieli modelu Nokia 3310 muszę tu zasmucić – żadna z Nokii nie
potrafi komunikować się przy pomocy UARTa – posiadają one specjalne szyny danych FBUS i
MBUS – oczywiście podłączenie tego telefonu jest możliwe, lecz dużo trudniejsze.
Ja dysponowałem telefonem Sony Ericsson K750i i taki został wykorzystany w moim układzie.
Przy podłączaniu telefonu należy znaleźć odpowiedni pinout (schemat wyprowadzeń) danego
modelu. Bardzo pomocna jest tu strona http://pinouts.ru/.
Ryc. 20. opis wyprowadzeń telefonu SE K750i
Podłączyć telefon do mikrokontrolera można na dwa sposoby – albo przerabiając kabel danych SE
DCU-60 (koszt: 1,50 zł) albo lutując kabelki bezpośednio do wyprowadzeń telefonu (wymaga
sprawności, cierpliwości, cienkiego grota i dużej ilości topnika).
Po podłączeniu telefonu do mikrokontrolera (najlepiej prosto do pinów odpowiedzialnych za
sprzętowy UART8) należy zapoznać się z tak zwanymi komendami AT9 (służą do sterowania
telefonem GSM). Za ich pomocą można zrealizować połączenie głosowe lub nadać wiadomość
SMS.
Odpowiednia prędkość połączenia UART wynosi 9600 b/s, aczkolwiek testowany telefon akceptuje
również inne. Należy w miarę możliwości stosować kwarce tzw. UART-friendly, które zapewniają
bezbłędną transmisję. Kosztują one tyle co inne kwarce (5 szt./2zł). Dobrze jest używać taki sam
kwarc we wszystkich komunikujących się układach. Osobiście wybrałem kwarc 14,7456 MHz oraz
ustawiłem mikrokontroler tak, aby taktowany był zegarem ośmiokrotnie wolniejszym (ustawiony
fusebit CLKDIV8), wobec czego prędkość działania układu wynosi 1,8432 MHz, co jest dobrym
kompromisem między szybkością a oszczędnością energii.
8 Można również zrealizować UART programowo.9 Lista komend AT w pliku pdf znajduje się na stronie: http://www.piekary.net/~jermi/datasheets/lista_komend_at.pdf
Ryc. 21. Fragment dokumentacji Atmega 328P
Oczywiście, aby używać telefonu komórkowego, musi być w nim zainstalowana karta SIM
pozwalająca na wykonywanie połączeń, a sam telefon musi być włączony (wbudowana bateria
pozwala na kilka dni pracy w razie zaniku zasilania sieciowego).
4.8. Syrena alarmowa
Jej jedyny cel, to emisja możliwie głośnego dźwięku, w celu zaalarmowania okolicy oraz
odstraszeniu intruza. Niestety, wszelkie głośniczki na 5V są tutaj niewystarczające. W związku z
dostępnością zasilania sieciowego, postanowiłem użyć klaksonu samochodowego. Zapewnia on
niski, przenikliwy dźwięk (ok. 400 Hz) o natężeniu (jeśli wierzyć producentom) około 120 dB.
Koszt klaksonu (najlepsze są te z TIRa, ale musi być na 12V!) to 20-40 złotych. Klakson taki
wymaga napięcia 12V o wydajności prądowej do 10A. Na szczęście można mu je niedużym
kosztem zapewnić. Używany, sprawny zasilacz komputerowy (250-300W) to koszt około 15
złotych. Pozwala on pobrać 15A prądu przy napięciu 12V. Dodatkowo, z tego samego zasilacza
można pobrać 5V dla mikrokontrolera. Drugi sposób to uruchamianie zasilacza mikrokontrolerem
(należy zewrzeć jedno z wyprowadzeń ATX do masy – zwykle to zielony lub szary kabel,
oznaczony PS-ON), sam mikrokontroler zasilany jest w tym przypadku z ładowarki – jest to
oszczędniejsza opcja. Klakson należy uruchamiać tranzystorem, ale tu nie ma dowolności jak w
przypadku lampki lub buzzera - musi wytrzymać duży prąd. Ja użyłem tranzystora MOSFET-P10
IRF 9540N, za złotówkę, jeśli planujemy dłuższą pracę syreny (choć trzeba uważać, żeby się nie
spaliła), tranzystor można wyposażyć w radiator.
10 Przy używaniu tranzystorów MOSFET należy bezwzględnie pamiętać o stosowaniu rezystorów podciągających!
4.9. Dodatkowe wyposażenie
Opisane tutaj pomysły nie doczekały się (jeszcze) realizacji w układzie, jednak uwzględnione
zostały przy projektowaniu.
4.9.1. Pomiary temperatury
Każda czujka wyposażona w mikrokontroler Attiny 24A może raz na kilka godzin mierzyć
(wbudowanym termometrem) temperaturę pomieszczenia, w którym się znajduje i wysyłać ją
bezprzewodowo do centralki. Dzięki temu wiadomo będzie, jak zmienia się temperatura
pomieszczeń w czasie. Ze względu na wyprowadzenia pinów przetwornika ADC mikrokontrolerów,
można mierzyć różne inne wielkości dołączając zewnętrzne czujki.
4.9.2. Karta SD
Do mikrokontrolera można poprzez interfejs SPI (Atmega 328P posiada sprzętowy) podłączyć
również kartę SD. Przejściówka do koszt około pięciu złotych, co do samej karty, jej kosztów nie
liczę, bo każdy jakąś ma. Na karcie można prowadzić dziennik zdarzeń (pomiary, braki zasilania
lub jeszcze jakieś inne warte uwagi zdarzenia). Biblioteka do obsługi karty 'waży' około 7kB, ale
przy pamięci 32kB Flash modelu 328P nie stanowi to problemu
4.9.3. Zegar RTC
Jeśli już będzie prowadzony będzie jakiś dziennik zdarzeń, warto mieć zegar podający aktualną
godzinę i datę. Odpowiedni będzie model pcf8563 (3,40 zł). Używa interfejsu I2C, który jest w
modelu 328P sprzętowy. Dodatkowo jest bardzo popularny i łatwo znaleźć jakąś gotową bibliotekę
dla mikroprocesora AVR. Zegar powinien być zasilany z niezależnej baterii zegarkowej (popularna
litowa 'pastylka' wystarczy na kilka lat pracy).
4.10. Płytka PCB
Na płytce wyprowadzone są wyjścia pod wszystkie opisane układy (w tym te planowane).
Dodatkowo są one opisane, aby uniknąć pomyłek. Płytka, podobnie jak pozostałe została wykonana
metodą fotochemiczną. Przy układach cyfrowych, jak najbliżej nich znajdują się kondensatory
filtrujące 100n. Kondensatory elektrolityczne można zastosować większe niż napisano w schemacie
(będą one wówczas droższe).
Ryc. 22. Schemat układu centralki alarmowej
Ryc. 23. Schemat płytki układu centralki alarmowej
Ryc. 24. Płytka układu centralki wykonana metodą fotochemiczną
Ryc. 25. Płytka układu centralki z przylutowanymi elementami (widoczne dodatkowe kondensatory elektrolityczne)
5. Bibliografia● Slajdy do wykładu 'Programowanie Mikrokontrolerów', dr Paweł Klimczewski
● Język C dla mikrokontrolerów AVR : od podstaw do zaawansowanych aplikacji, Tomasz
Francuz
● Język C : pasja programowania mikrokontrolerów 8-bitowych, Mirosław Kardaś
● Podstawy techniki antenowej, Stanisław Rosłoniec
● forum internetowe elektroda.pl (http://www.elektroda.pl/)
● forum internetowe Mikrokontrolery (http://mikrokontrolery.blogspot.com/), w
szczególności:
➢ http://mikrokontrolery.blogspot.com/2011/04/jak-najtaniej-zaczac.html
➢ http://mikrokontrolery.blogspot.com/2011/04/kicad-projektowanie-schematow-i-
pytek.html
➢ http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html
➢ http://mikrokontrolery.blogspot.com/2011/04/zakocenia-w-pracy-mikrokontrolerow.html
➢ http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
➢ http://mikrokontrolery.blogspot.com/2011/04/karta-sd.html
➢ http://mikrokontrolery.blogspot.com/2011/03/Jak-czytac-noty-katalogowe-datasheet-
dokomentacje-mikrokontrolerow-AVR.html
➢ http://mikrokontrolery.blogspot.com/2011/03/tranzystor-mosfet-wiedza-tajemna.html
● http://www.fuw.edu.pl/~jt/akumulatorki.html
● inne źródła internetowe
● Dokumentacje techniczne producentów (Atmel, Maxim Integrated, Analog Devices i inne)
Szczególne podziękowania należą się p. Andrzejowi Grodzkiemu, od którego otrzymałem
wiele cennych, praktycznych wskazówek pomocnych w realizacji układu (szczególnie jeśli
chodzi o komunikację bezprzewodową oraz techniki antenowe).
top related