Alarm bezprzewodowy z powiadomieniem GSM

26
Mateusz Winkowski Programowanie Mikrokontrolerów Wydział Fizyki Uniwersytet Warszawski Alarm bezprzewodowy z powiadomieniem GSM Spis treści 1.Cel projektu....................................................................................................................................... 2 2.Czujka alarmowa............................................................................................................................... 2 2.1.Komunikacja radiowa 433 MHz................................................................................................2 2.2.Kontaktron................................................................................................................................. 3 2.3.Mikrokontroler...........................................................................................................................3 2.4.Zasilanie.....................................................................................................................................4 2.4.1. Ogniwa zasilające..............................................................................................................4 2.4.2. Przetwornica impulsowa DC-DC 3->12V........................................................................ 5 2.5.Płytka PCB.................................................................................................................................6 3.Czujka alarmowa z klawiaturą........................................................................................................ 10 4.Centralka alarmowa.........................................................................................................................13 4.1.Zasilanie...................................................................................................................................13 4.1.1. Zasilanie sieciowe .......................................................................................................... 13 4.1.2. Zasilanie bateryjne.......................................................................................................... 13 4.1.3. Schemat układu zasilającego...........................................................................................14 4.1.4. Przetwornica impulsowa DC-DC 5V..............................................................................14 4.2.Mikrokontroler.........................................................................................................................15 4.3.Odbiornik radiowy................................................................................................................... 15 4.4.Głośniczek............................................................................................................................... 19 4.5.Kamera.....................................................................................................................................20 4.6.Latarka..................................................................................................................................... 20 4.7.Nadajnik GSM......................................................................................................................... 20 4.8.Syrena alarmowa......................................................................................................................22 4.9.Dodatkowe wyposażenie......................................................................................................... 23 4.9.1. Pomiary temperatury.......................................................................................................23 4.9.2. Karta SD..........................................................................................................................23 4.9.3. Zegar RTC....................................................................................................................... 23 4.10.Płytka PCB.............................................................................................................................23 5.Bibliografia......................................................................................................................................26

Transcript of Alarm bezprzewodowy z powiadomieniem GSM

Page 1: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 2: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 3: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 4: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 5: Alarm bezprzewodowy z powiadomieniem GSM

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).

Page 6: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 7: Alarm bezprzewodowy z powiadomieniem GSM

Ryc. 4. Schemat płytki układu czujki z przetwornicą ADP1111-12

Ryc. 5. Schemat układu czujki z przetwornicą MAX 734

Page 8: Alarm bezprzewodowy z powiadomieniem GSM

Ryc. 6. Schemat płytki układu czujki z przetwornicą MAX 734

Ryc. 7. Wykonana płytka układu czujki z przetwornicą MAX 734

Page 9: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 10: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 11: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 12: Alarm bezprzewodowy z powiadomieniem GSM

Ryc. 12. Schemat płytki układu czujki z klawiaturą

Page 13: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 14: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 15: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 16: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 17: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 18: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 19: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 20: Alarm bezprzewodowy z powiadomieniem GSM

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.

Page 21: Alarm bezprzewodowy z powiadomieniem GSM

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

Page 22: Alarm bezprzewodowy z powiadomieniem GSM

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!

Page 23: Alarm bezprzewodowy z powiadomieniem GSM

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).

Page 24: Alarm bezprzewodowy z powiadomieniem GSM

Ryc. 22. Schemat układu centralki alarmowej

Ryc. 23. Schemat płytki układu centralki alarmowej

Page 25: Alarm bezprzewodowy z powiadomieniem GSM

Ryc. 24. Płytka układu centralki wykonana metodą fotochemiczną

Ryc. 25. Płytka układu centralki z przylutowanymi elementami (widoczne dodatkowe kondensatory elektrolityczne)

Page 26: Alarm bezprzewodowy z powiadomieniem GSM

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).