GSM signalizácia
Napísal Administrator   
Štvrtok, 29 marec 2018

GSM signalizácia zaplavenia, výpadku elektriky a poruchy chladničky pomocou Arduino NANO a modulu SIM900.

foto

Na tomto zariadení som začal pracovať eššte minulý rok. Jeho hlavnou funkciou je diaľková signalizácia rôznych udalostí v byte pomocou SMS notifikácie. V mojom prípade sa jednalo o prekročenie maximálnej teploty v chladničke (spojenie s konšštrukciou Monitora teploty v chladničke ), zaplavenia priestoru a signalizáciu výpadku elektrickej siete.

Ako hlavnú jednotku celého zariadenia som sa rozhodol použžiť Arduino NANO. Eššte bolo potrebné nájsť vhodný modul, umožžňujúci komunikáciu cez GSM sieť. Prvá verzia použžívala starý Sony Ericsson T230. Tu ale nastali problémy, pretožže telefón nepracoval spoľahlivo. Nehovoriac o zložžitom a nepraktickom PDU režžime, kde bolo potrebné SMS posielať ako zakódované reťazce.

Nakoniec som sa rozhodol objednať často použžívaný GSM modul s obvodom SIMCOM SIM900. Ku nemu je kopa knižžníc, cez ktoré sa dá ovládať. Na posielanie SMS správ a hovorov ale postačia aj základné AT príkazy.
 
sch
Schéma zapojenia GSM signalizácie (kliknite na obrázok pre zväčšenie)

 
Modul ma pár dní celkom potrápil, mal som s ním mal dva technické problémy:
1. nefungovala komunikácia cez UART. Modul neodpovedal na AT príkazy, skúššal som fakt vššetko. Niekde písali, žže je potrebné modul pár krát "nakŕmiť" príkazom AT prípadne ATr, aby si vedel určiť prenosovú rýchlosť. Nepomohlo.
2. Modul mi nezobral slovenskú SIM kartu - nepripojil sa do siete operátora. Problémom je, žže som z Číny kúpil modul SIM900A, kde A na konci znamená, žže je blokovaný pre Európske siete.

Nakoniec, keď som modul skoro zobral kladivom, naššiel som informácie, žže je v ňom možžné preflashovať firmware. Flash fungoval, AT príkazy nie. Keď som konečne naššiel firmware, kde užž modul odpovedal na AT príkazy (huráááá), neššlo sa s modulom pripojiť k sieti. Nakoniec, po dlhom hľadaní som naššiel verziu, ktorá odstránila obidva problémy.
 
Takžže:
1. Návod na flash firmware v module SIM900 https://www.allaboutcircuits.com/projects/how-to-flash-the-sim900a-module/
2. Cez google si stiahnite firmware 1137B09SIM900B32_ST.cla
3. Rešštartujte modul a teššte sa z funkčnosti
Viac informácií http://www.ebastlirna.cz/modules.php?name=Forums&file=viewtopic&t=71335&postdays=0&postorder=asc&start=15

SIM900 je k Arduinu pripojený cez softvérový UART, pretožže pripojenie k hardvérovému by znemožžňovalo ladenie. Pamätajte, žže modul SIM900 má maximálne vstupné napätie na komunikačných a IO pinoch 3,1V. Preto je na Tx pine z Arduina zapojený odporový delič z rezistorov 1k8 + 3k3, ktorý znižžuje napätie na cca 3V. Opačne delič nie je potrebný.

Kee je potrebné, aby bola GSM brána funkčná aj pri výpadku napájania, je na zálohovanie napájania pridaný LiION akumulátor 18650.
 
foto
Vnútro GSM signalizácie

 
O napájaciu časť sa starajú hotové moduly taktiežž kúpené na Ebay:
1. Nabíjací modul pre LiION akumulátor 3,6V s obvodom TP4056. Stará sa o trvalé dobíjanie LiION akumulátora. Na Ebay ho nájdete pod názvom "TP4056 LiION charger module"
2. Step-UP menič z LiION na 5V, na Ebay pod názvom "DC-DC USB Step Up Module Booster Module 0.9V-5V to 5V 600MA for phone" - zabezpečuje napájacie napätie 5V pre Arduino a Monitor teploty v chladničke.

Modul nabíjača LiION je napájaný z adaptéra 5V/750mA zo starého Sony Ericssonu. Napätie z akumulátora 18650 priamo napája GSM modul. Pri module pozor na maximálne napájacie napätie 3.2V - 4.8V a dostatočný prúd zdroja. Pulzne si modul môžže zobrať ažž 2A. Preto je na napájanie najvhodnejšší LiION článok 4.2V.

Prítomnosť elektrickej siete sa vyhodnocuje z prítomnosti napätia 5V na vstupe nabíjacieho modulu s TP4056, cez optočlen PC817 alebo podobný. V prípade výpadku siete sa odoššle jedna SMS o výpadku elektrickej siete. Po zapnutí siete sa odoššle SMS s touto informáciou.

Alarmový výstup z Monitora teploty v chladničke je privedený na druhý optočlen ovládajúci vstup na Arduine. Postup odosielania SMS je rovnaký ako v ostatných prípadoch - jedna SMS pri alarme, jedna po skončení alarmu.

Vstup pre čidlo (čidlá) zaplavenia je bez oddelenia optočlenom. Záplavové čidlá môžžete použžiť Jablotron LD-12 alebo hotový modul z Ebay. Stačí, keď v prípade zaplavenia čidlo "uzemní" vstup procesora na Arduine (Log.0 na výstupe v prípade zaplavenia). Čidiel môžžete použžiť viac, zapojené paralelne. Pri zaplavení je prítomný aj akustický alarm, o ktorý sa stará samovybuzujúci piezo bzučiak na pine D13, spínaný tranzistorom BS170.

Napätie akumulátora je sledované pomocou interného AD prevodníka. V prípade  poklesu napätia pod 3,4V sa odoššle SMS o jeho vybití. Po nabití akumulátora sa SMS neodoššle, to sa stane ažž pri jeho ďalššom vybití.

Modul obsahuje dva spínače S3 a S4. S3 slúžži ako alarmový vstup, alebo aj na test funkcie GSM modulu. Jeho zapnutím 10x krátko pípne bzučiak a volá sa na telefónne čísla uvedené v programe. Na kažždé 2x po 20 sekúnd.
S4 slúžži na vypnutie akustického alarmu v prípade zaplavenia čidla/čidiel. SMS fungujú ďalej.

Zapojenie S3 a S4 je netradične proti +5V s pull-down rezistormi 10k proti GND. Je to z dôvodu, žže v pôvodnej verzii signalizácie prepínač ovládal napájanie ďalššieho modulu. Na fotke vidno aj LED označenú ako "Chyba komunikácie s MT". Túto som nakoniecž nezapojil.
 
gsm
GSM signalizácia vstavaná do krabice

 
Význam indikačných LED:
Odosielanie SMS - svieti pri odosielaní SMS
Chod CPU - slúžži len na vizuálnu indikáciu behu procesora
Chyba siete - program si v pravidelných intervaloch kontroluje stav komunikácie s modulom SIM900 a stav pripojenia ku GSM sieti. V prípade zlyhania svieti. Po zapnutí celej signalizácie bliká počas 20 sekúnd (oneskorenie, aby sa SIM900 prihlásil do siete).
Predradné rezistory R3-R5 pre LED majú hodnotu 470R.
 
Pre účely ladenia a kontroly funkcie odosiela signalizácia diagnostické informácie cez HW UART Arduina.

Doma som mal eššte nepoužžitý modul na indikáciu napätia LiION akumulátora, ktorý som doplnil do signalizácie.
 
Nakoniec pripájam zdrojový kód pre Arduino . V zdrojáku je použítá len knižnica pre softvérový UART. Pred kompiláciou nezabudnite nahradiť "xxxxxx" za telefónne číslo, na ktoré sa bude volať a odosielať SMS.
 
 
 

Posledná úprava ( Štvrtok, 29 marec 2018 )