Satura rādītājs:

IoT ūdens trauksme: 5 soļi (ar attēliem)
IoT ūdens trauksme: 5 soļi (ar attēliem)

Video: IoT ūdens trauksme: 5 soļi (ar attēliem)

Video: IoT ūdens trauksme: 5 soļi (ar attēliem)
Video: BERMUDU DIVSTŪRIS x APVEDCEĻŠ - Brāl' Ar Dzīvi Nekaulē 2024, Jūlijs
Anonim
IoT ūdens trauksme
IoT ūdens trauksme

Nesen esmu pieredzējis virtuves kanalizācijas dublēšanu. Ja es tobrīd nebūtu mājās, tas manā dzīvoklī būtu radījis grīdas un ģipškartona bojājumus. Par laimi, es apzinājos problēmu un biju gatavs ar spaini izvilkt ūdeni. Tas lika man domāt par plūdu signalizācijas iegādi. Amazonā es atklāju daudz pieejamu produktu, taču tiem, kuriem ir interneta savienojums, bija ievērojama negatīvo atsauksmju daļa, galvenokārt tāpēc, ka radās problēmas ar patentētiem paziņojumu pakalpojumiem. Tāpēc es nolēmu izveidot savu IoT ūdens trauksmi, kas izmantotu uzticamus paziņošanas līdzekļus pēc manas izvēles.

1. darbība: darbības princips

Darbības princips
Darbības princips

Modinātāja smadzenēs ir AVR ATtiny85 mikrokontrolleris. Tas nosaka sprieguma rādījumus no akumulatora un ūdens sensora un salīdzina tos ar iepriekš noteiktu vērtību, lai noteiktu ūdens klātbūtni vai akumulatora uzlādes līmeni.

Ūdens sensors ir vienkārši divi vadi, kas novietoti aptuveni 1 mm attālumā viens no otra. Viens no vadiem ir savienots ar 3,3 V spriegumu, bet otrs - ar mikrokontrollera sensoru, kas arī ir savienots ar zemi caur 0,5 MOhm rezistoru. Parasti pretestība starp sensora vadiem ir ļoti augsta (krietni virs 10 MOhm), tāpēc sensoru velk līdz 0 V. Tomēr, ja starp vadiem ir ūdens, pretestība samazinās līdz mazāk nekā 1 MOhm, un sensora pin redz kādu spriegumu (manā gadījumā apmēram 1,5 V). Kad ATtiny85 nosaka šo spriegumu uz uztveres tapas, tas aktivizē MOSFET, lai ieslēgtu skaņas signālu, un nosūta modināšanas signālu uz moduli ESP8266, kas ir atbildīgs par brīdinājumu (e-pasta un push paziņojumu) nosūtīšanu. Pēc minūtes buzzing modinātājs tiek deaktivizēts, un to var atiestatīt tikai ar jaudas ciklu.

Šī ierīce darbojas no divām sārma vai NiMH šūnām. Mikrokontrolleris lielāko daļu laika guļ, lai taupītu baterijas, pamodoties ar pārtraukumiem, lai pārbaudītu ūdens sensoru, kā arī bateriju spriegumu. Ja bateriju līmenis ir zems, mikrokontrolleris pamodina moduli ESP8266, lai nosūtītu brīdinājumu par zemu akumulatora uzlādes līmeni. Pēc brīdinājuma signalizācija tiek izslēgta, lai novērstu akumulatora pārmērīgu izlādi.

Tā kā ESP8266 modulis ir atbildīgs gan par brīdinājumiem par zemu akumulatora uzlādi, gan par plūdu brīdinājumiem, tam ir nepieciešams kontroles signāls no ATiny85. Tā kā pieejamo tapu skaits ir ierobežots, šo vadības signālu ģenerē tā pati tapa, kas atbild par akumulatora LED indikāciju. Normālas darbības laikā (signalizācija ir ieslēgta un baterijas ir uzlādētas) gaismas diode periodiski mirgo. Kad tiek konstatēts zems akumulatora stāvoklis, gaismas diode iedegas, lai nodrošinātu augstu signālu ESP moduļa RX tapai. Ja tiek konstatēts ūdens, akumulatora gaismas diode nodziest, kamēr ESP8266 ir nomodā.

2. solis: projektēšana un montāža

Dizains un montāža
Dizains un montāža
Dizains un montāža
Dizains un montāža
Dizains un montāža
Dizains un montāža

Es izveidoju shēmu, kas jāveido uz divpusēja 4x6 cm protoborda, izmantojot galvenokārt 0805 SMD detaļas. Iesniegtās shēmas ir balstītas uz šo konstrukciju, taču to var viegli pielāgot caurumiem caurumiem (padoms: lai samazinātu vietu, lodējiet caurumus ar caurumiem vertikāli).

Nepieciešamas šādas daļas:

- Rezistori: 330 Ω x 1; 470 Ω x 1; 680 Ω x 1; 1 kΩ x 1; 10 kΩ x 3; 470 kΩ x 3; - viens 10 µF keramikas kondensators- viens loģikas līmeņa N kanāla MOSFET (piemēram, RFP30N06LE vai AO3400)- viena sarkana un viena dzeltena gaismas diode (vai citas krāsas, ja vēlaties).- divu vadu skrūvju spaiļu savienotāji x 3 (tie nav absolūti nepieciešams, bet tie atvieglo perifērijas pievienošanu un atvienošanu pārbaudes laikā)- skaļš pjezo skaņas signāls, kas ir piemērots 3,3 V- mikrokontrolleram ATtiny85 (PDIP versija)- 8 kontaktu PDIP ligzda mikrokontrolleram- ESP-01 modulis (to var aizstāt ar citu moduli, kura pamatā ir ESP8266, bet tādā gadījumā izkārtojumā būs daudz izmaiņu)-3,3 V līdzstrāvas pastiprinātāja pārveidotājs, kas spēj piegādāt 200 mA (500 mA sērijas) strāvas pie 2,2 V ievadi. (Es iesaku https://www.canton-electronics.com/power-converter… jo tā ir ļoti zema miera strāva)-Viena 3 kontaktu ligzda-divas 4 kontaktu ligzdas vai 2 x 4 galvenes-22 AWG cietie vadi ūdens sensoram- 22 AWG vītņota stieple (vai cita veida plānas atklātas stieples, lai radītu pēdas)

Es iesaku iepriekš uzskaitītās rezistoru vērtības, taču lielāko daļu no tām varat aizstāt ar līdzīgām vērtībām. Atkarībā no izmantoto gaismas diodes veida, iespējams, vajadzēs pielāgot strāvas ierobežošanas rezistora vērtības, lai iegūtu vēlamo spilgtumu. MOSFET var būt caur caurumu vai SMT (SOT23). MOSFET tips ietekmē tikai 330 omu rezistora orientāciju. Ja plānojat izmantot šo ķēdi kopā ar NiMH akumulatoriem, ieteicams izmantot PTC drošinātāju (piem., 1 A). Tomēr ar sārma baterijām tas nav vajadzīgs. Padoms: šim signālam nepieciešamās detaļas var lēti iegādāties no ebay vai aliexpress.

Turklāt, lai ieprogrammētu ESP-01 moduli, jums būs nepieciešams maizes dēlis, vairāki 10k rezistori ar caurumu caurumu, vairāki vīriešu-vīriešu un sieviešu-vīriešu džemperi ("dupont") un USB-UART adapteris.

Ūdens sensoru var izgatavot dažādos veidos, bet vienkāršākais ir divi 22 AWG vadi ar atklātiem galiem (1 cm gari), kas izvietoti aptuveni 1 mm attālumā viens no otra. Mērķis ir panākt, lai starp sensora kontaktiem, ja ir ūdens, būtu mazāk nekā 5 MΩ pretestība.

Ķēde ir paredzēta maksimālai akumulatora ekonomijai. Uzraudzības režīmā tas patērē tikai 40–60 µA (ar ESP-01 moduļa strāvas gaismas diodi). Pēc trauksmes iedarbināšanas ķēde uz sekundi vai mazāk patērēs 300-500 mA (pie 2,4 V ieejas), un pēc tam strāva samazināsies zem 180 mA. Kad ESP modulis ir sūtījis paziņojumus, pašreizējais patēriņš samazināsies zem 70 mA, līdz skaņas signāls izslēgsies. Tad modinātājs pats atbruņojas, un pašreizējais patēriņš būs mazāks par 30 µA. Tādējādi AA bateriju komplekts varēs barot ķēdi daudzus mēnešus (iespējams, vairāk nekā gadu). Ja izmantojat citu pastiprināšanas pārveidotāju, piemēram, ar 500 µA klusuma strāvu, baterijas būs jāmaina daudz biežāk.

Montāžas padomi:

Izmantojiet pastāvīgu marķieri, lai marķētu visas pēdas un sastāvdaļas protoboardā, lai atvieglotu lodēšanu. Es iesaku rīkoties šādā secībā:

- augšējās puses SMT gaismas diodes un izolēti vadu tilti

-augšējā MOSFET (piezīme: ja jums ir SOT-23 MOSFET, novietojiet to pa diagonāli, kā fotoattēlā. Ja izmantojat MOSFET caur caurumu, novietojiet to horizontāli ar vārtu tapu I3 pozīcijā.)

- caurumu augšējā puse (piezīme: skaņas signāls nav pielodēts un pat nav jāpiestiprina pie PCB)

- SMT aizmugures daļas un pēdas (piemēram, atsevišķi pavedieni no AWG22 stieples)

3. darbība: programmaparatūra

C kods ATtiny85

Main.c satur kodu, kas jāapkopo un jāaugšupielādē mikrokontrollerī. Ja jūs plānojat izmantot Arduino plati kā programmētāju, šajā apmācībā varat atrast elektroinstalācijas shēmu. Jums jāievēro tikai šādas sadaļas (ignorējiet pārējās):

-Arduino Uno konfigurēšana kā ISP (programmēšana sistēmā)

- ATtiny85 savienošana ar Arduino Uno.

Lai apkopotu un augšupielādētu programmaparatūru, jums būs nepieciešams CrossPack (Mac OS) vai AVR rīku ķēde (operētājsistēmai Windows). Lai apkopotu kodu, ir jāizpilda šāda komanda:

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

Lai augšupielādētu programmaparatūru, palaidiet tālāk norādītās darbības.

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

Vietnes "/dev/cu.usbmodem1411" vietā jums, iespējams, būs jāievieto seriālais ports, kuram ir pievienots jūsu Arduino (to varat atrast Arduino IDE: Tools Port).

Kods satur vairākas funkcijas. deep_sleep () liek mikrokontrolleram aptuveni 8 sekundes pāriet ļoti zemas jaudas stāvoklī. read_volt () tiek izmantots, lai izmērītu akumulatora un sensora spriegumu. Akumulatora spriegumu mēra pret iekšējo sprieguma atskaiti (2,56 V plus vai mīnus daži procenti), savukārt sensora spriegumu mēra pret Vcc = 3,3 V. Nolasījumus salīdzina ar BATT_THRESHOLD un SENSOR_THRESHOLD, kas attiecīgi definēti kā 932 un 102, kas atbilst ~ 2,3 un 0,3 V. Lai uzlabotu akumulatora darbības laiku, iespējams, varēsit samazināt akumulatora sliekšņa vērtību, taču tas nav ieteicams (sīkāku informāciju skatiet sadaļā Apsvērumi par akumulatoru).

activ_alarm () paziņo ESP modulim par ūdens noteikšanu un atskan skaņas signāls. low_batt_notification () paziņo ESP modulim, ka akumulatora uzlādes līmenis ir zems, un atskan arī skaņas signāls. Ja nevēlaties, lai jūs pamodinātu nakts vidū, lai nomainītu akumulatoru, noņemiet "| 1 <" no zema_batt_notification ().

Arduino skice ESP-01

Es izvēlējos programmēt ESP moduli, izmantojot Arduino HAL (sekojiet saitei, lai iegūtu norādījumus). Turklāt es izmantoju šādas divas bibliotēkas:

ESP8266 Sūtīt e -pastu no Górász Péter

ESP8266 Arduino Hannover komandas pushover

Pirmā bibliotēka izveido savienojumu ar SMTP serveri un nosūta brīdinājumu uz jūsu e -pasta adresi. Vienkārši izveidojiet savam ESP Gmail kontu un pievienojiet kodam akreditācijas datus. Otrā bibliotēka nosūta push paziņojumus, izmantojot pakalpojumu Pushover (paziņojumi ir bezmaksas, taču jums ir jāmaksā vienreiz, lai instalētu lietojumprogrammu tālrunī/planšetdatorā). Lejupielādējiet abas bibliotēkas. Ievietojiet e -pasta bibliotēkas saturu savā skiču mapē (arduino to izveidos, pirmo reizi atverot arduino skici). Instalējiet Pushover bibliotēku, izmantojot IDE (Skice -> Iekļaut bibliotēku -> Pievienot. ZIP bibliotēku).

Lai ieprogrammētu ESP-01 moduli, varat izpildīt šādu pamācību: https://www.allaboutcircuits.com/projects/breadbo… Nav jāuztraucas ar vienas tapas rindas atkārtotu atdzesēšanu, kā parādīts rokasgrāmatā-izmantojiet tikai sieviešu un vīriešu dupontu vadi, lai savienotu moduļa tapas ar maizes dēli. Neaizmirstiet, ka pastiprinātāja pārveidotājam un USB-UART adapterim ir jāsakrīt zemē (piezīme: iespējams, varēsit izmantot USB-UART adaptera 3,3 V izeju, nevis pastiprinātāja pārveidotāju, bet, visticamāk, tas nenotiks) var izvadīt pietiekami daudz strāvas).

4. darbība. Apsveriet akumulatoru

Piegādātais programmaparatūras kods ir iepriekš konfigurēts, lai nosūtītu brīdinājumu par zemu akumulatora uzlādes līmeni, un izslēdzas pie ~ 2,3 V. Šī sliekšņa pamatā ir pieņēmums, ka sērijveidā tiek izmantotas divas NiMH baterijas. Nav ieteicams izlādēt nevienu atsevišķu NiMH elementu zem 1 V. Pieņemot, ka abām šūnām ir vienādas jaudas un izlādes īpašības, abas tās tiks nogrieztas pie ~ 1,15 V - labi drošā diapazonā. Tomēr NiMH šūnas, kuras ir izmantotas daudzos izlādes ciklos, mēdz atšķirties. Var pieļaut līdz pat 30% jaudas atšķirību, jo tas joprojām izraisītu zemāko sprieguma elementa izslēgšanas punktu ap 1 V.

Lai gan programmaparatūrā ir iespējams samazināt zemu akumulatora slieksni, tas noņemtu drošības rezervi un varētu izraisīt akumulatora pārmērīgu izlādi un bojājumus, vienlaikus gaidot tikai nelielu akumulatora darbības laika palielināšanos (NiMH šūna ir> 85% izlādējas pie 1,15 V).

Vēl viens faktors, kas jāņem vērā, ir pastiprinātāja pārveidotāja spēja nodrošināt vismaz 3,0 V (2,5 V saskaņā ar anekdotiskiem pierādījumiem) pie 300-500 mA maksimālās strāvas pie zemām baterijām. NiMH akumulatoru zemā iekšējā pretestība pie maksimālās strāvas izraisa tikai niecīgu 0,1 V kritumu, tāpēc pāris NiMH šūnas, kas izlādētas līdz 2,3 V (atvērta ķēde), varēs nodrošināt pastiprinātāja pārveidotājam vismaz 2,2 V. Tomēr ar sārma baterijām viss ir sarežģītāk. Ja AA bateriju pāris darbojas pie 2,2–2,3 V sprieguma (atvērta ķēde), tad pie maksimālās strāvas ir sagaidāms 0,2–0,4 V sprieguma kritums. Lai gan esmu pārliecinājies, ka ķēde darbojas ar ieteicamo pastiprinātāja pārveidotāju, kura maksimālā strāva tiek piegādāta tikai ar 1,8 V, tas, iespējams, izraisa izejas sprieguma īslaicīgu pazemināšanos zem Espressiff ierosinātās vērtības. Tādējādi izslēgšanas slieksnis 2,3 V atstāj nelielu drošības rezervi sārma baterijām (paturiet prātā, ka sprieguma mērījums, ko veic mikrokontrolleris, ir precīzs tikai plus vai mīnus dažu procentu robežās). Lai nodrošinātu, ka ESP modulis nesabojājas, ja sārma baterijās ir zems līmenis, iesaku palielināt izslēgšanas spriegumu līdz 2,4 V (#define BATT_THRESHOLD 973). Pie 1,2 V (atvērta ķēde) sārmainā šūna ir izlādējusies aptuveni 70%, kas ir tikai par 5-10 procentpunktiem zemāka nekā izlādes pakāpe pie 1,15 V uz vienu šūnu.

Gan NiMH, gan sārmainajām šūnām ir priekšrocības un trūkumi šim lietojumam. Sārma baterijas ir drošākas (īssavienojuma gadījumā neaizdegas), un tām ir daudz zemāks pašizlādes ātrums. Tomēr NiMH baterijas garantē drošu ESP8266 darbību zemākā robežvērtībā, pateicoties to zemajai iekšējai pretestībai. Bet galu galā jebkuru veidu var izmantot ar dažiem piesardzības pasākumiem, tāpēc tas ir tikai personīgās izvēles jautājums.

5. darbība. Juridiskā atruna

Šo ķēdi ir izstrādājis neprofesionāls hobijs tikai hobija lietojumiem. Šis dizains tiek dalīts godprātīgi, bet bez jebkādas garantijas. Izmantojiet to un dalieties ar citiem uz savu risku. Atjaunojot ķēdi, jūs piekrītat, ka izgudrotājs nebūs atbildīgs par jebkādiem zaudējumiem (ieskaitot, bet ne tikai, aktīvu vērtības samazināšanos un miesas bojājumus), kas var rasties tieši vai netieši šīs ķēdes darbības traucējumu vai normālas lietošanas dēļ. Ja jūsu valsts likumi atceļ vai aizliedz šo atteikšanos no atbildības, jūs nedrīkstat izmantot šo dizainu. Ja jūs kopīgojat šo dizainu vai modificēto shēmu, kuras pamatā ir šis dizains, jums ir jāpieskaita sākotnējais izgudrotājs, norādot šīs instrukcijas URL.

Ieteicams: