Obsah:

Alarm vody IoT: 5 krokov (s obrázkami)
Alarm vody IoT: 5 krokov (s obrázkami)

Video: Alarm vody IoT: 5 krokov (s obrázkami)

Video: Alarm vody IoT: 5 krokov (s obrázkami)
Video: Сказка о потерянном времени (сказка, реж. Александр Птушко, 1964 г.) 2024, November
Anonim
Alarm vody IoT
Alarm vody IoT

Nedávno som zažil zálohovanie kuchynského odtoku. Keby som v tom čase nebol doma, v mojom byte by to spôsobilo poškodenie podlahy a sadrokartónu. Našťastie som si bol vedomý problému a bol som pripravený naberať vodu pomocou vedra. To ma prinútilo premýšľať nad kúpou povodňového poplachu. Na Amazone som objavil veľa cenovo dostupných produktov, ale tie s internetovým pripojením mali značné percento negatívnych recenzií, predovšetkým kvôli problémom s patentovanými notifikačnými službami. Preto som sa rozhodol vyrobiť si vlastný vodný alarm IoT, ktorý bude používať dôveryhodné oznamovacie prostriedky podľa môjho výberu.

Krok 1: Princíp činnosti

Princíp činnosti
Princíp činnosti

Alarm má v mozgu mikrokontrolér AVR ATtiny85. Odoberá údaje o napätí z batérie a snímača vody a porovnáva ich s vopred definovanou hodnotou, aby zistil prítomnosť vody alebo stav vybitia batérie.

Senzor vody sú jednoducho dva vodiče umiestnené približne 1 mm od seba. Jeden z drôtov je pripojený k 3,3 V a druhý je pripojený k snímaciemu kolíku na mikrokontroléri, ktorý je tiež spojený so zemou cez odpor 0,5 MOhm. Odpor medzi vodičmi snímača je obvykle veľmi vysoký (výrazne nad 10 MOhm), takže snímací kolík je stiahnutý až na 0 V. Keď je však medzi vodičmi voda, odpor klesne na menej ako 1 MOhm, a snímací kolík vidí určité napätie (v mojom prípade asi 1,5 V). Keď ATtiny85 zistí toto napätie na snímacom kolíku, aktivuje MOSFET na zapnutie bzučiaka a odošle signál prebudenia do modulu ESP8266, ktorý je zodpovedný za odosielanie upozornení (e-mailové oznámenia a oznámenia push). Po minúte bzučania sa alarm deaktivuje a dá sa resetovať iba vypnutím a zapnutím.

Táto jednotka má vybité dva alkalické články alebo články NiMH. Mikrokontrolér väčšinu času spí, aby šetril batérie, a preto sa prerušovane prebúdza, aby skontroloval snímač vody a napätie batérií. Ak sú batérie takmer vybité, mikrokontrolér prebudí modul ESP8266 a pošle upozornenie na vybitú batériu. Po varovaní sa alarm deaktivuje, aby sa zabránilo prebitiu batérie.

Pretože modul ESP8266 je zodpovedný za odosielanie upozornení na vybitú batériu, ako aj výstrah pred povodňami, vyžaduje riadiaci signál z ATiny85. Vzhľadom na obmedzený počet dostupných pinov je tento riadiaci signál generovaný rovnakým pinom, ktorý je zodpovedný za indikáciu LED batérie. Počas normálnej prevádzky (alarm je zapnutý a batérie sú nabité) dióda LED prerušovane bliká. Keď je zistený stav vybitia batérie, LED dióda sa rozsvieti, aby poskytla vysoký signál na kolíku RX modulu ESP. Ak je detekovaná voda, LED dióda batérie zhasne, keď je ESP8266 hore.

Krok 2: Návrh a montáž

Návrh a montáž
Návrh a montáž
Návrh a montáž
Návrh a montáž
Návrh a montáž
Návrh a montáž

Obvod som navrhol tak, aby bol postavený na obojstrannom protoboarde 4x6 cm s použitím väčšinou 0805 dielov SMD. Predložené schémy sú založené na tejto zostave, ale dajú sa ľahko prispôsobiť komponentom s priechodným otvorom (tip: na minimalizáciu priestoru spájkujte odpory s priechodným otvorom zvisle).

Vyžadujú sa nasledujúce diely:

- Rezistory: 330 Ω x 1; 470 Ω x 1; 680 Ω x 1; 1 kΩ x 1; 10 kΩ x 3; 470 kΩ x 3; - Jeden 10 µF keramický kondenzátor- Jeden logický N-kanálový MOSFET (napr. RFP30N06LE alebo AO3400)- Jedna červená a jedna žltá LED (alebo iné farby, ak chcete).- Dvojvodičové skrutkové svorky x 3 (nie sú úplne nevyhnutné, ale počas testovania uľahčujú pripojenie a odpojenie periférií)- Hlasný piezoelektrický bzučiak, ktorý je vhodný pre 3,3 V- Mikrokontrolér ATtiny85 (verzia PDIP)- 8-kolíková zásuvka PDIP pre mikrokontrolér- modul ESP-01 (môže byť nahradený iným modulom založeným na ESP8266, ale v takom prípade dôjde k mnohým zmenám v rozložení)-zosilňovač 3,3 V DC-DC schopný dodávať prúdy 200 mA (500 mA burst) pri 2,2 V vstup. (Odporúčam https://www.canton-electronics.com/power-converter… kvôli svojmu extrémne nízkemu kľudovému prúdu)-Jeden 3-kolíkový zásuvkový konektor-Dva 4-kolíkové zásuvkové kolíky alebo jeden 2x4 konektor-22 AWG pevných vodičov pre snímač vody- lanko 22 AWG (alebo iný typ tenkého nekrytého drôtu na vytvorenie stôp)

Odporúčam hodnoty odporu uvedené vyššie, ale väčšinu z nich môžete nahradiť podobnými hodnotami. V závislosti od typu diód LED, ktoré chcete použiť, možno budete musieť upraviť hodnoty odporu obmedzujúceho prúd, aby ste dosiahli požadovaný jas. MOSFET môže byť buď priechodný, alebo SMT (SOT23). Typ MOSFETU ovplyvňuje iba orientáciu odporu 330 Ohm. Ak plánujete používať tento obvod s batériami NiMH, odporúča sa poistka PTC (napr. Dimenzovaná na 1 A). Pri alkalických batériách to však nie je potrebné. Tip: diely potrebné pre tento alarm je možné lacno kúpiť na ebay alebo aliexpress.

Okrem toho budete na programovanie modulu ESP-01 potrebovať nepájivú dosku, niekoľko 10k odporov s priechodným otvorom, viacnásobné prepojovacie káblové a zástrčkové prepojenie („dupont“) a adaptér USB-UART.

Vodný senzor môže byť vyrobený rôznymi spôsobmi, ale najjednoduchším sú dva drôty 22 AWG s odhalenými koncami (dlhými 1 cm), ktoré sú od seba vzdialené približne 1 mm. Cieľom je, aby bol medzi kontaktmi senzora, keď je prítomná voda, odpor menší ako 5 MΩ.

Obvod je navrhnutý pre maximálnu úsporu batérie. V monitorovacom režime odoberá iba 40-60 µA (s odstránenou diódou LED napájania na module ESP-01). Akonáhle sa spustí alarm, obvod odoberie 300-500 mA (na vstupe 2,4 V) na sekundu alebo menej a potom prúd klesne pod 180 mA. Akonáhle modul ESP dokončí odosielanie upozornení, aktuálna spotreba klesne pod 70 mA, kým sa bzučiak nevypne. Potom sa alarm sám odzbrojí a aktuálna spotreba bude nižšia ako 30 µA. Sada batérií AA bude teda schopná napájať obvod mnoho mesiacov (pravdepodobne viac ako rok). Ak použijete iný zosilňovač, povedzme s pokojovým prúdom 500 µA, batérie bude potrebné meniť oveľa častejšie.

Tipy na montáž:

Na uľahčenie spájkovania použite trvalý značkovač na označenie všetkých stôp a komponentov na protoboarde. Odporúčam postupovať v nasledujúcom poradí:

- LED diódy SMT na hornej strane a izolované drôtené mosty

-MOSFET na vrchnej strane (poznámka: ak máte MOSFET SOT-23, umiestnite ho diagonálne ako na fotografii. Ak používate MOSFET s priechodným otvorom, umiestnite ho vodorovne s kolíkom brány v polohe I3.)

- horná časť priechodných otvorov (poznámka: bzučiak nie je spájkovaný a nemusí byť ani namontovaný na dosku plošných spojov)

- SMT diely a stopy na zadnej strane (napr. jednotlivé pramene z drôtu AWG22)

Krok 3: Firmvér

C kód pre ATtiny85

Main.c obsahuje kód, ktorý je potrebné skompilovať a nahrať do mikrokontroléra. Ak sa chystáte používať dosku Arduino ako programátor, schému zapojenia nájdete v tomto návode. Musíte sa riadiť iba nasledujúcimi časťami (ostatné ignorovať):

-Konfigurácia Arduino Uno ako ISP (programovanie v systéme)

- Pripojenie ATtiny85 k Arduino Uno.

Na zostavenie a nahranie firmvéru budete potrebovať buď CrossPack (pre Mac OS) alebo AVR toolchain (pre Windows). Na kompiláciu kódu je potrebné vykonať nasledujúci príkaz:

avr -gcc -Os -mmcu = attiny85 -c main.c; avr -gcc -mmcu = attiny85 -o main.elf main.o; avr -objcopy -j.text -j.data -O ihex main.elf main.hex

Ak chcete nahrať firmvér, spustite nasledujúce:

avrdude -c arduino -p attiny85 -P /dev/cu.usbmodem1411 -b 19200 -e -U blesk: w: main.hex

Namiesto „/dev/cu.usbmodem1411“budete pravdepodobne musieť vložiť sériový port, ku ktorému je pripojené vaše Arduino (nájdete ho v Arduino IDE: Port nástrojov).

Kód obsahuje viacero funkcií. deep_sleep () uvedie mikrokontrolér do stavu veľmi nízkej spotreby približne na 8 sekúnd. read_volt () sa používa na meranie napätia batérie a snímača. Napätie batérie sa meria proti referencii vnútorného napätia (2,56 V plus alebo mínus niekoľko percent), zatiaľ čo napätie senzora sa meria proti Vcc = 3,3 V. Hodnoty sa porovnávajú s BATT_THRESHOLD a SENSOR_THRESHOLD definovanými ako 932 a 102, v uvedenom poradí. ~ 2,3 a 0,3 V. Prahovú hodnotu batérie je možné znížiť, aby sa zlepšila životnosť batérie, ale neodporúča sa to (podrobné informácie nájdete v časti Informácie o batérii).

activ_alarm () upozorní modul ESP na detekciu vody a zaznie bzučiak. low_batt_notification () upozorní modul ESP na vybitú batériu a tiež zaznie bzučiak. Ak si neprajete byť prebudení uprostred noci na výmenu batérie, odstráňte "| 1 <" v low_batt_notification ().

Skica Arduino pre ESP-01

Rozhodol som sa programovať modul ESP pomocou Arduino HAL (pokyny na nastavenie nájdete po kliknutí na tento odkaz). Okrem toho som použil nasledujúce dve knižnice:

ESP8266 Poslať e -mail od Górásza Pétera

ESP8266 Pushover od tímu Arduino Hannover

Prvá knižnica sa pripojí k serveru SMTP a pošle upozornenie na vašu e -mailovú adresu. Stačí si vytvoriť účet Gmail pre svoje ESP a do kódu pridať poverenia. Druhá knižnica odosiela push notifikácie prostredníctvom služby Pushover (notifikácie sú bezplatné, ale za nainštalovanie aplikácie do telefónu/tabletu musíte raz zaplatiť). Stiahnite si obe knižnice. Vložte obsah knižnice Odoslať e -mail do priečinka so skicami (arduino ho vytvorí pri prvom otvorení náčrtu arduina). Nainštalujte knižnicu Pushover prostredníctvom IDE (Skica -> Zahrnúť knižnicu -> Pridať knižnicu. ZIP).

Na naprogramovanie modulu ESP-01 môžete použiť nasledujúci návod: https://www.allaboutcircuits.com/projects/breadbo… Nie je potrebné sa zaoberať prekladaním jedného radu kolíkov, ako je to uvedené v sprievodcovi-stačí použiť dupont medzi ženami a mužmi. vodiče na pripojenie pinov modulu k doske na chlieb. Nezabudnite, že prevodník zosilňovača a adaptér USB-UART musia zdieľať uzemnenie (poznámka: namiesto zosilňovača zosilňovača možno budete môcť použiť 3,3 V výstup adaptéra USB-UART, ale s najväčšou pravdepodobnosťou nie byť schopný produkovať dostatok prúdu).

Krok 4: Úvahy o batérii

Dodaný kód firmvéru je predkonfigurovaný tak, aby odosielal upozornenie na vybitú batériu, a vypne sa pri ~ 2,3 V. Tento prah je založený na predpoklade, že sa v sérii používajú dve batérie NiMH. Nedoporučuje sa vybíjať žiadne jednotlivé články NiMH pod 1 V. Za predpokladu, že oba články majú rovnakú kapacitu a charakteristiky vybíjania, budú obidva odpojené pri ~ 1,15 V - v bezpečnom rozsahu. Články NiMH, ktoré sa používajú v mnohých vybíjacích cykloch, sa však líšia kapacitou. Toleruje sa až 30% rozdiel v kapacite, pretože by to stále viedlo k bodu prerušenia článku najnižšieho napätia okolo 1 V.

Aj keď je možné znížiť prahovú hodnotu nízkeho nabitia batérie vo firmvéri, odstránilo by to bezpečnostnú rezervu a mohlo by to viesť k nadmernému vybitiu a poškodeniu batérie, pričom sa dá očakávať len okrajové zvýšenie životnosti batérie (článok NiMH je> 85% vybitých pri 1,15 V).

Ďalším faktorom, ktorý je potrebné vziať do úvahy, je schopnosť zosilňovača poskytnúť najmenej 3,0 V (2,5 V podľa neoficiálnych dôkazov) pri špičkovom prúde 300-500 mA na vybité batérie. Nízky vnútorný odpor batérií NiMH spôsobuje pri špičkových prúdoch len zanedbateľný pokles 0,1 V, takže dvojica článkov NiMH vybitých na 2,3 V (otvorený obvod) bude schopná poskytnúť posilňovaču najmenej 2,2 V. S alkalickými batériami je to však komplikovanejšie. Pri dvojici batérií AA s napätím 2,2 až 2,3 V (otvorený obvod) možno pri špičkových prúdoch očakávať pokles napätia o 0,2 až 0,4 V. Aj keď som overil, že obvod funguje s odporúčaným zosilňovačom s napájaním iba 1,8 V pri špičkových prúdoch, pravdepodobne to spôsobí, že výstupné napätie sa na chvíľu zníži pod hodnotu navrhnutú espressiffom. Preto prahová hodnota 2,3 V ponecháva pri alkalických batériách malú bezpečnostnú rezervu (majte na pamäti, že meranie napätia vykonávané mikrokontrolérom je presné iba s plus mínus niekoľko percent). Aby sa zaistilo, že modul ESP nebude fungovať, keď sú nízke alkalické batérie, odporúčam zvýšiť medzné napätie na 2,4 V (#define BATT_THRESHOLD 973). Pri 1,2 V (otvorený obvod) je alkalický článok vybitý asi na 70%, čo je iba o 5 až 10 percentuálnych bodov nižší ako stupeň vybitia pri 1,15 V na článok.

NiMH aj alkalické články majú pre túto aplikáciu výhody a nevýhody. Alkalické batérie sú bezpečnejšie (v prípade skratu sa nespália) a majú oveľa nižšiu rýchlosť samovybíjania. Batérie NiMH však vďaka nízkemu vnútornému odporu zaručujú spoľahlivú prevádzku ESP8266 v nižšom medznom bode. V konečnom dôsledku však možno obidva typy použiť s určitými opatreniami, takže je to len vec osobných preferencií.

Krok 5: Právne vylúčenie zodpovednosti

Tento okruh bol navrhnutý neprofesionálnym majstrom iba pre hobby aplikácie. Tento dizajn je zdieľaný v dobrej viere, ale bez akejkoľvek záruky. Používajte ho a zdieľajte s ostatnými na vlastné riziko. Obnovením okruhu súhlasíte s tým, že vynálezca nebude niesť zodpovednosť za žiadne škody (vrátane, ale nielen, zníženie hodnoty majetku a zranenia osôb), ktoré môžu vzniknúť priamo alebo nepriamo v dôsledku poruchy alebo normálneho používania tohto obvodu. Ak zákony vo vašej krajine rušia alebo zakazujú toto vzdanie sa zodpovednosti, nemôžete tento dizajn používať. Ak zdieľate tento dizajn alebo upravený obvod na základe tohto návrhu, musíte uviesť pôvodnému vynálezcovi meno a adresu URL tohto návodu.

Odporúča: