Prosty alarm GSM – Simple Alarm

Projekt polegał na jak najprostszym wykonaniu centralki alarmowej GSM.
Parametry/cechy urządzenia:

  • 11 wejść na czujki alarmowe zasilaniem 12V  – opcjonalnie mogą by kontaktrony lub inne czujniki podłączone w konfiguracji NC ( normalnie zamknięte )
  • wyświetlacz 20×4,
  • enkoder do nawigowaniu po  menu,
  • konfiguracja urządzenia przez USB HID za pomocą aplikacji na komputerze,
  • wyprowadzone dwa porty RS485 do podłączenia urządzeń opcjonalnych ,
  • zasilanie z 12V +/- 10%,
  • powiadomienie SMS’ami,
  • wyjście wysokoprądowe na syrenę lub sygnalizator świetlny,
  • układ RTC podtrzymywany baterią,
  • buzzer do sygnalizacji,
  • zewnętrzny eeprom do zapamiętywania ustawień.

Hardware

Urządzenie zbudowane jest w oparciu o mikrokontroler STM32F302. Jest on dość tani ( około 10 zł ) i ma dużo peryferiów ( w tym USB Device ). Układ GSM to Fibcom G510. Od pewnego czasu używam go w swoich projektach z GSM – spisuje się bezproblemowo. Antenę wyprowadzono na kątowym złączu SMA. Na płytce znajdują się również 2 układy RS485 od STMicroeletronic ST485.

Zasilanie w pierwszej wersji było oparty o przetwornice firm Texas Instruments TPS62133RGTT. Niestety układ ten, bardzo często ulegał uszkodzeniu. Na początku myślałem, że jest to kwestia źle dobranego dławika, ale po zastosowaniu dławików wymienionych w datasheet’cie, układ po kilku dniach uległ ponownemu uszkodzeniu. Aby uratować sytuację kupiłem na allegro przetwornice z 12V do 5V :

którą, lekko zmodyfikowałem i przylutowałem na pająka. Po modyfikacji, układ zasilania działa bezproblemowo.

Schemat układu wejściowego czujek wygląda następująco:

W czujkach ruchu należy zrobić zworę pomiędzy NC a GND. Pin sygnałowy wychodzący z centralki alarmowej ( ALARM IN – nr 3 ) należy podłączyć do pinu NC ( normalnie zamknięty ). Poniżej przykład podłączenia czujek Bosch ISC-BPR2-WP12:

Zasilanie 12V zabezpieczone jest bezpiecznikiem polimerowym o prądzie znamionowym 100mA. Pin wejściowy z sygnałem z czujek jest podciągnięty rezystorem 1,5 kΩ do zasilania. Gdy nie wykryto ruchu, na pinie jest stan niski, natomiast kiedy wykryto ruch to pojawia się stan wysoki. Do alarmu można podłączyć dowolne czujki z wyjście przekaźnikowym i zasilanych z 12V

Do dwóch wyjść z układem RS485 można podłączyć np. czujnik kart RFID. Dzięki temu jest możliwe włączanie/wyłączanie alarmu poprzez zbliżenie karty do czujnika.

Firmware

Firmware został napisany w języku C. Dzięki optymalizacji -O3 kod programu jest mniejszy od 32kB. Szkielet programu został wygenerowany w CubeMX (trochę pójście na łatwiznę). Z bibliotek HAL korzystam tylko do ustawienia zegarów i obsługi USB.  Program został napisany w oparciu o CMSIS RTOS. Wykorzystano 7 tasków:

  • MAIN_task – wykonuje się tam sprawdzanie stanów alarmów,  obsługa enkodera i syreny alarmowej – wywoływane co 100 ms.
  • GSM_state_task – maszyna stanów połączanie GSM – wywoływana co 200ms.
  • EKRAN_task- aktualizacja tekstu na wyświetlaczu co 50 ms.
  • TIMER_task- task wykonywany co 1s. wykorzystywany do odliczania czasu
  • GSM_ring_task- obsługa zdarzenia otrzymania połączenia telefonicznego lub SMS z modułu GSM.
  • USB_task- wątek wywoływany do obsługi zdarzeń USB.
  • RS485_analize_task- wątek wywoływany w momencie nadejścia ramki po RS485.

Program konfiguracyjny

Do konfigurowania alarmu został napisany program na PC w środowisk Embarcadero Delphi. Komunikacja z urządzeniem odbywa się za pomocą USB HID, dzięki temu nie ma potrzeby instalowania dodatkowych sterowników. Do obsługi USB HID’a wykorzystano komponent dostarczony wraz z pakiem JEDI JVCL. Po podłączeniu kabelka USB na ekranie alarmu pojawia się komunikat o wpisaniu czterocyfrowego kodu pin. Jest to zabezpieczenie przed zmienianiem konfiguracji dla osób niepowołanych.

W programie możliwe jest:
– wprowadzanie/usuwanie/edycja numerów telefonów,
– włączanie/wyłączanie czujek,
– nadawanie nazw symbolicznych dla czujek,
– dodawanie/usuwanie RFID,
– edycja czasu uzbrojenia.timera alarmu/ włączenia syreny,
– ustawianie czasu RTC.

 

Działania alarmu

Alarm można uzbroić na dwa sposoby:
  • dzwoniąc na numer telefonu alarmu ( wtedy nastąpi zmiana stanu alarmu – z uzbrojonego na nieuzbrojony lub na odwrót ) – to zadziała tylko gdy numer jest w bazie urządzenia,
  • lub za pomocą karty RFID – do urządzenia można podpiąć czytnik kart RFID i wtedy można korzystać z kart, breloczków RFID 125 kHz.

Działanie alarmu przedstawiono na filmiku poniżej:

[ FILM YOUTUBE ]

Dalszy rozwój urządzenia  – lista pomysłów:

– dodanie 3 stref czujników – możliwość włączania/wyłączania czujników z każdej strefy osobno,
– dodanie modułu radiowego – dla czujników bezprzewodowych + zrobienie przystawki z modułem radiowym zabudowanym w czujce,
– poprawienie modułu RFID,
– zmiana wyświetlacza na OLED.

Posted in Projekty.

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *