PabloX - elektrotechnika

  • Zväčšiť veľkosť písma
  • Predvolená veľkosť písma
  • Zmenšiť veľkosť písma

GSM signalizácia

Tlačiť PDF
Užívateľské hodnotenie: / 2
SlabéDobré 

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
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 Utorok, 21 Máj 2019 11:15  

Bannery

Štatistiky


TOPlist