ALARM baterie

 

 

HOBBY "ALARM baterie" s odposlechem

Byl navržen jednookruhový systém za účelem hlídání kůlny bez přívodu 220V. V klidu, když je objekt uzamčen, je systém odpojen a má nulový odběr. Napětí baterie je udržováno solárním panelem. Z důvodu spolehlivosti byl zvolen dveřní magnetický spínač (nikoliv pohybový senzor) a v rámci Arduina byl zvolen jednoduchý kód na základě smyčky "void loop()" bez uspání a přerušení. Od předností "uspání" bylo odstoupeno z důvodu citlivosti procesoru v daném režimu (pravděpodobné aktivace atmosférickým výbojem), více viz kapitola "Uspání a přerušení".

Bylo naprogramováno odeslání varovné SMS, prozvonění s možnosti odposlechu a spuštění sirény. Při poklesu napájecího napětí pod 30% kapacity baterie systém odešle informativní SMS. 

 

KONSTRUKCE

Byla použita deska NANO (UNO nepracuje spolehlivě s GSM volačem SIM800L, viz kapitola "GSM modul"), GSM volač SIM800L, baterie složena ze třech Li-ion monočlánků 18650 s doplňující BMS (Battery Management System) elektronikou HX-3S-JHA10, siréna 12V/1A, elektretový mikrofon, jazýčkové relé KSK-1C10 3A, spínač na klíč a plastová krabice Z28

Jako základní zdroj napětí byla zvolena uvedená baterie s kapacitou 2800 mAh. Napětí baterie je udržováno solárním panelem 18V 2,5W (stačil by i menší, viz kapitola Osvit). Doplňující elektronika BMS chrání baterii proti nebezpečnému vybití 2,75 V na jednom článků a přebití nad 12,6 V celé baterii. Napětí pro volač GSM a desku NANO je upraveno stabilizátorem 7805 a diodou1N5408, doplněno kondenzátorem 2G. Sirénu spíná tranzistor BD 681. Odběr zařízení (mimo volání GSM, bzučáku a sirény) byl 40 mA.

Základním obvodům alarmu (deska NANO, volač GSM) je předřazen spínač na klíč umístěný vně objektu. Spínačem lze při příchodu obvody odpojit (při odchod jej manuálně zapneme). Do série s tímto vypínačem je zapojeno magnetické jazýčkové relé v zárubní vstupních dveří. Zavřením dveří se alarm odpojí a opačně, otevřením dveří se aktivuje. Deska NANO+GSMvolač+houkačka zabezpečují základní funkce alarmu (SMS, provolání, odposlech, houkání). Logistiku alarmu doplňuje reléový obvod zabezpečující přemostění jazýčkového relé pootevřením dveří pro případ, že by narušitel ihned dveře opět zavřel. Takto je zabezpečeno, že volač se naloguje a odešle varovné hlášení přesto, že dveře budou ihned po narušení opět zavřeny. Relé podrží přemostění 8 minut kondenzátorem 2G, který se vybíjí přes odpor 150k. Po vybití kondenzátoru se přeruší mosfet 2N7000 a relé odpadne, tj. v případě zavření dveří se po 8mi minutách alarm odpojí. V době "aktivních"  osmi minut proběhne naprogramovaná smyčka, odešle varování, spustí sirénu a následně se smyčka zastaví na čas stanovený programem. Poté se při otevřených dveřích smyčka opět aktivuje. Systém je doplněn bzučákem, který se krátce ozve při odchodu a rovněž je aktivní 8 minut při otevření a následném zavření dveří narušitelem.

Napětí baterie je sledováno analogovým vstupem A3 desky NANO s nastaveným vnitřním referenčním napětím 1.1V. Na pin A3 je přivedeno napětí baterie přes odporový dělič. V případě, že napětí baterie klesne na méně než 10 V, je přes odporový dělič přivedeno na pin A3 napětí menší než 1.1V. Za daného stavu program odešle informativní SMS. Při trvalé otevřených dveřích narušitelem způsobí odběr 40 mA vybití baterie na 1/3 kapacity za cca 2 dny. Potom je baterie odpojena BMS elektronikou za cca necelý den (bez slunečního svitu).  Pro kontrolu stavu baterie bylo zařízení doplněno displejem a tlačítkem, pomocí kterého je možné krátce zatížit baterii odporem 22 Ω a na displeji zkontrolovat napětí baterie.

Volač SIM800L poskytuje možnost připojení elektretového mikrofonu pro odposlech zvednutím vyzvánění. Podle doporučení výrobce SIM800L byl mikrofon opatřen vf odrušením kondenzátory 30 pF (odrušení pásma 850/900 MHz ) a 10 pF (odrušení pásma 1800/1900 MHz). Přesto je odposlech rušen vf signálem volače (většinou se rušení zklidní po krátkém čase odposlouchávání). Mikrofon je umístěn vně boxu. Anténa GSM volače byla použita ve tvaru dipólu, umístěna uvnitř v levé části boxu. SIMka volače musí být předem zbavena PINu.

 

 

Mechanické provedení :

 

 

Logistika alarmu

 - při běžném použití objektu je alarm odpojen klíčkem vně objektu, při odchodu (po zavření dveří) uživatel zapne klíčkem vnější spínač,

 - pří otevření dveří narušitelem se alarm aktivuje magnetickým jazýčkovým relé ve dveřích,

 - alarm se aktivuje i v případě, kdy narušitel dveře otevře a ihned následně zavře, viz přídržný reléový obvod popsaný výše,

- aktivuje se kód Arduina, program čeká 30 sekund - čas nalogování GSM volače,

- odesílá se varovná SMS a aktivuje se vyzvánění po dobu 2 minut, v tomto čase je možné vyzvánění zvednout a objekt odposlouchávat,

- spustí se siréna na dobu nastavenou v záhlaví programu (v minutách),

- program se zastaví na dobu odmlčení, nastaví se v záhlaví programu v minutách,

- po uplynutí doby odmlčení se smyčka opět aktivuje a v případě otevřených dveří alarm opět odešle varování .... atd.,

- za okolností, kdy narušitel dveře za sebou zavřel, reléový obvod "podrží" alarm 8 minut a potom "odpadne" - alarm odpojí,

- v případě ponechání trvale otevřených narušených dveří vydrží baterie cca 2 dny do odeslání SMS o vybíjení, pote alarm "klekne" za cca necelý den (baterie 2800 mAh),

- bzučák se krátce ozve při odchodu uživatele po zavření dveří, tímto upozorni, že je třeba zapnou vnější spínač klíčkem,

- bzučák bzučí 8 minut za okolností, kdy narušitel dveře otevřel a následně zavřel.

 

 

Kód alarmu "ALARM_baterie.ino" :

//***************************************************************

// ZADEJ TELEFONNÍ ČÍSLO
String T = "+420xxxxxxxxx";

// ZADEJ ČAS HOUKÁNÍ SIRÉNY v minutách
float S = 2;

// ZADEJ ČAS PRO OPAKOVÁNÍ ALARMU v minutách
int O = 60;

//***************************************************************
                                                                                              // DEKLARACE
String telefon;                                                                      //deklarace řetězce "telefon"
String S1 = "ATD";                                                               //část příkazu pro vyzvánění
String S2 = ";\r";                                                                  //část příkazu pro vyzvánění
String SMScislo;                                                                 //deklarace řetězce "SMScislo"
String K1 = "AT+CMGS=\"";                                                //část příkazu pro odeslání SMS
String K2 = "\"\r\n";                                                              //část příkazu pro odeslání SMS
long C1 = 0;                                                                         //deklarace proměnné C1 a přiřazení hodnoty 0, používá se pří nastavení času opakování alarmu
long C2 = 0;                                                                         //deklarace proměnné C2 a přiřazení hodnoty 0, používá se pří nastavení času houkání sirény
float D = 0;                                                                           //deklarace proměnné D - načtené napětí baterie na pinu A3
float N = 0;                                                                           //deklarace proměnné N - převod napětí

void setup()                                                                          // NASTAVENÍ, první část programu, provede se jednou
{Serial.begin(9600);                                                           //aktivace sériové komunikace rychlosti 9600 (nebo 115200 baudů, volač SIM800L fungoval při obou rychlostech)
analogReference(INTERNAL);                                           //nastavení vnitřního referenčního napětí procesoru na 1.1 V
telefon = S1+T+S2;                                                            //sestavení příkazového řetězce pro vytáčení čísla vyzvánění
SMScislo = K1+T+K2;                                                         //sestavení příkazového řetězce pro vytáčení čísla SMS
C1=O*60000;                                                                     //upraví čas opakování alarmu - převod na milisekundy (pokud je zadáno např. O=60, program čeká 60 minut., max. lze zadat 71582 min, tj.49 dnů)
C2=S*60000;                                                                     //upraví čas houkání sirény - převod na milisekundy (pokud je zadáno např. S=1, siréna houká 1 minutu)
pinMode(13, OUTPUT);                                                    //nastaví pin D13 jako výstup
delay(30000);}                                                                    //program čeká 30 sekund - loging volače GSM


void loop()                                                                           // SMYČKA  - po zastaveni na posledním řádku na čas C1 opět proběhne
{Serial.println("AT+CFUN=1");                                           //připraví funkčnost GSM modulu
delay (1000);                                                                      //čeká sekundu
Serial.print("AT+CMGF=1\r\n");                                         //nastaví režim odesílání SMS
delay (1000);                                                                      //čeká sekundu
Serial.print(SMScislo);                                                       //vytočí číslo SMSky
delay (1000);                                                                      //čeká sekundu
Serial.println("ALARM objektu");                                        //odešle text SMSky - lze přepsat podle názvu objektu
delay (1000);                                                                       //čeká sekundu
Serial.println((char)26);                                                      //ukončí odesílání SMS
delay (10000);                                                                    //čas 10 sekund na přečtení SMSky
Serial.println("AT+CFUN=1");                                            //připraví funkčnost GSM modulu
delay (1000);                                                                      //čeká sekundu
Serial.println(telefon);                                                        //vytáčí číslo vyzvánění
delay (120000);                                                                 //vyzvánění 2 minuty
digitalWrite(13, HIGH);                                                     //přiřadí pinu D13 logickou "1", spustí se siréna
delay (C2);                                                                         //program se zastaví, siréna houká po dobu podle "C2" (nastaví se v úvodním menu v minutách)
digitalWrite(13,LOW);                                                      //siréna vypne
N=analogRead(17);                                                          //načtení 10ti bitové hodnoty napětí na pinu 17, tj. analogový pin A3
D=((N/93000)*100);                                                         //převod načtené 10ti bitové hodnoty na volty
delay (10);                                                                         //čeká 10 milisekund
if (D<1.1)                                                                           //jestli je napětí D menší než 1,1 pak:
{Serial.println("AT+CFUN=1");                                          //připraví GSM modul
delay (1000);                                                                     //čeká sekundu
Serial.print("AT+CMGF=1\r\n");                                        //nastaví režim odesílání SMS
delay (1000);                                                                     //čeká sekundu
Serial.print(SMScislo);                                                       //vytočí číslo SMS
delay (1000);                                                                     //čeká sekundu
Serial.println("Alarm-BATERIE SE VYBIJI");                    //odešle SMS o stavu baterie
delay (1000);                                                                     //čeká sekundu
Serial.println((char)26);}                                                    //ukončí SMS režim
delay (C1);                                                                         //program se zastaví na stanovený čas podle "C1" (nastaví se v úvodním menu v minutách)
}                                                                                          //smyčka se po čase "C1" vrací a pokud bude objekt stále narušen (dveře otevřené), znovu prozvoní, pošle SMS a spustí sirénu, atd.
 

 

Použité komponenty

Alarm byl sestaven pro použití ve dřevěné, srubové kůlně. Tomu odpovídají periférní komponenty (zde chybí solární panel 18V 2,5W):

 

 

 Box alarmu je vhodné umístit na skryté místo, případně do ochranné skříně, aby nebyl snadno zničitelný narušitelem objektu. Logistiku lze upravit podle vlastních představ, např.  spustit nejprve vyzvánění aj.

 

 

Únor 2023

 

Home

 

Arby

arduinohobby@email.cz