Sisukord:
- Tarvikud
- Samm: riistvara - ahel
- 2. samm: riistvara - ümbris
- Samm: tarkvara
- Samm: koduautomaatika ja telegramm
- 5. samm: täiustused ja täiendused
Video: Patareitoitega ukseandur koos koduautomaatika integreerimisega, WiFi ja ESP-NOW: 5 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Selles juhendis näitan teile, kuidas ma tegin patareitoitega ukseanduri koos koduautomaatika integreerimisega. Olen näinud veel mõningaid toredaid andureid ja häiresüsteeme, kuid tahtsin selle ise teha.
Minu eesmärgid:
- Andur, mis tuvastab ja teatab ukse kiirest avanemisest (<5 sekundit)
- Andur, mis tuvastab ukse sulgemise
- Andur, mis töötab patareidega ja töötab paar kuud patareiga
Riist- ja tarkvara on inspireeritud
- Kevin Darrahi käivituslaud (TPL5111 ja TPS73733).
- See video
Tegin anduri oma esiuksele ja tagauksele. Ainus erinevus on juhtpositsioon ja väline toitelüliti (tagaukseanduril).
Tegin riist- ja tarkvaraarenduse käigus mitmeid parandusi, seda on näha fotodelt.
Tarvikud
Ostsin elektroonilised komponendid Aliexpressist, peamised osad:
- LiPo aku
- TPS73733 LDO
- TPL5111
- Pilliroo lüliti
- P-kanali mosfet: IRLML6401TRPBF
- Magnet
- PCB adapterplaat SMD komponentide jaoks ja teine.
Samm: riistvara - ahel
Vaadake vooluringi lisatud skeeme. Jootsin SMD osad adapteri trükkplaadile ja jootsin kõik komponendid kahepoolsele perfoplaadile. Ühendasin ESP-01 naissoost päiste kaudu, et saaksin selle eemaldada, et seda programmeerida selle juhendi punktis 3 näidatud adapteri kaudu.
Vooluring töötab järgmiselt:
- Kui uks avatakse, saab TPL5111 löögi DELAY/M_DRV tihvti ja lubab TPS73733 LDO, mis juhib ESP-01. Selle toimingu jaoks tuleb EN/ONE_SHOT alla tõmmata, vt TPL5111 andmelehte.
- Pärast programmi käivitamist (vt samm Tarkvara) saadab ESP-01 TPL5111-le signaali Valmis, mis seejärel keelab TPS73733, mille tulemuseks on väga madal energiatarve TPL5111 ja TPS73733 jaoks.
Kasutan pilliroo lüliteid nii NO kui ka NC ühendustega. Ühendasin NC juhtme, kuna pilliroo lüliti peab magneti eemaldamisel (uks lahti) ahela sulgema ja kui magnet on lähedal (uks suletud).
Tagaukseanduri jaoks lisasin mõned ebastabiilsuse avastamisel kondensaatorid ja takistid, kuid ebastabiilsuse põhjustas tarkvara (esp_now_init), nagu hiljem avastasin.
2. samm: riistvara - ümbris
Kujundasin korpuse Autodesk Fusion360 -s, inspireerituna sellest videost, mille autor on "šveitsi aktsendiga mees".
Kolme osa STL -failid:
- Kast
- Kaas
- Magnetihoidja
on avaldatud minu Thingiverse lehel.
Samm: tarkvara
Programm on minu Githubis.
Programmi voog on näidatud pildil. Vaadake minu teist juhendit, et selgitada, kuidas ma ESP-NOW-d kasutan.
Kui moodul on sisse lülitatud, proovib ta esmalt ESP-NOW kaudu saata sõnumi 'AVATUD'. Kui see ei õnnestu, lülitub see WiFi ja MQTT ühendusele.
Sain teada, et vähemalt minu seadistuses ei saadetud sõnumit „SULETUD” edukalt ESP-NOW kaudu, nii et eemaldasin selle programmist ja kasutan ainult WiFi-d ja MQTT-d.
Selle aja jooksul, mil uks on avatud ja moodul ootab ukse sulgemist, kasutab ta seda aega WiFi ja MQTT -ga ühenduse loomiseks, nii et kui uks on suletud, peab ta saatma ainult mõõdetud pinge ja SULETUD teate ning seejärel see läheb otse magama.
Programm kontrollib, kas vastuvõtja võtab suletud sõnumi vastu, kuulates õigel teemal MQTT sõnumit.
Samm: koduautomaatika ja telegramm
Minu ukseandurid suhtlevad minu Openhabi koduautomaatikaga minu Raspberry Pi Zero peal.
Peamised rakendused:
- Lugege ukse olekut: AVATUD või SULETUD.
- Häire mulle telegrammi kaudu, kui uks on avatud (kui alarm on sisse lülitatud või monitori funktsioon on sisse lülitatud).
- Lugege viimast korda, kui uks avati või suleti.
- Enne aku tühjenemist loendage avade arv, millega uksesensor hakkama saab.
Näiteks kui oleme puhkusel ja naaber tuleb taimi kastma, saan teate. Vaata videot tutvustuses.
Minu Openhabi üksused, reeglid ja saidiplaani failid on minu Githubis. Nendes failides näete ka minu kuuri ukseandurit, mis kasutab tavalist traadiga pilliroo lülitit ja lukuauku 3D -printeri väikest kontakt (otsa) lülitit (vt pilte).
Telegrammi toimingu kasutamist Openhabis kirjeldatakse siin.
5. samm: täiustused ja täiendused
Viimastel kuudel olen teinud järgmist parandust.
Käsitsege pikki ukseavasid iselülituva impulssignaali kaudu
Suvel jätame koduukse tagaukse mõneks tunniks avatuks. Töötav ESP-01 koos WiFi-ühendusega tühjendaks aku asjatult. Seetõttu lisasin sisse/välja lüliti, et moodul sellistes olukordades välja lülitada.
Selle tulemuseks oli aga mõnikord püsivalt väljalülitatud moodul (kui unustasin selle sisse lülitada) ja tühjenenud aku pärast paari pärastlõunat avatud ukse avamist ja töötavat moodulit (kui unustasin selle välja lülitada).
Seetõttu soovisin, et saaksin mooduli tarkvara kaudu välja lülitada pärast seda, kui moodul oli eelnevalt määratud ajaks (1 minut) sisse lülitatud.
Kui aga ESP-01 impulss „DONE” lülitas UPLi sulgemisel TPL5111 välja, sain teada, et TPL5111 ei lülitunud välja „DONE” impulsiga, kui DELAY/M_DRV tihvt oli KÕRGE. Selle DELIG/M_DRV tihvti KÕRGE signaali põhjustas avatud uks ja akupingega ühendatud pilliroo lüliti NC -kontakt.
Niisiis, signaal DELAY/M_DRV kontaktile ei tohiks olla pidevalt KÕRGE, vaid peaks olema impulss. TPL5111 andmelehelt leiate, et see peaks olema impulss> 20 ms. Tegin selle iselülitussignaali P-kanali mosfeti, kondensaatori ning 10K ja 300K takisti kaudu, vt lisatud skeemi.
See toimib järgmiselt.
- Kui pilliroo lüliti NC -kontakt on suletud, on värav LOW ja Mosfet on sisse lülitatud, mille tulemuseks on HIGH signaal DELAY/M_DRV pinil, mis aktiveerib mooduli.
- Kondensaator laetakse kiiresti, mille tulemuseks on värava pinge tõus.
- Umbes 20 ms pärast on värava pinge 97% aku pingest (300K/(300K+10K), mis on KÕRGE ja Mosfet on välja lülitatud, mille tulemuseks on DELOW/M_DRV tihvti madal signaal.
- Kui DELAY/M_DRV pin on LOW, põhjustab ESP-01 DONE signaal mooduli väljalülitumise.
Seda rakendatakse tarkvaras; while-loop mitte ainult ei kontrolli, kas uks on veel avatud, vaid ka seda, kas moodul pole liiga kaua sisse lülitatud. Kui see on liiga kaua sisse lülitatud, avaldab see väärtuse NULL (ukse määratlemata olek). Sel juhul ei tea ma, kas uks on avatud või suletud ja ma ei saavuta kõiki sissejuhatuses mainitud eesmärke, kuid aku kasutusaeg on olulisem ja enamasti avame ukse hiljem samal päeval, mille tulemuseks on kinnitatud suletud olek uksest.
Oluline on kasutada siin kasutatava pingevahemiku jaoks sobivat P-kanaliga Mosfeti. Mosfet peab olema täielikult sisse lülitatud umbes 3,8 V VGS -is ja umbes -0,2 V. VGS -is täielikult välja lülitatud. Proovisin mitmeid Mosfette ja sain teada, et IRLML6401TRPBF sobib selle eesmärgi saavutamiseks koos 10K ja 300K takistitega hästi. 1 uF kondensaator töötab hästi, et saada impulsi pikkus umbes 20 ms. Suurem kondensaator põhjustab pikema impulsi, mis pole vajalik, kuna TPL5111 aktiveeriti. Pingete ja impulsi pikkuse kontrollimiseks kasutasin oma DSO150 ostsilloskoopi.
Planeeritud täiustamine: OTA värskendus
Kavatsen lisada OTA värskenduse järgmise protseduuri abil, mis on praeguses tarkvaras juba osaliselt kaasas
- Avaldan NodeRedi Openhabi kaudu säilitatud värskendussõnumi ja värskendusteema.
- Kui moodul on sisse lülitatud ja ühendatud MQTT -serveriga ning tellinud värskendusteema, saab see värskendussõnumi.
- Värskendusteade takistab mooduli väljalülitamist ja käivitab
- Tarkvara saate uuendada HTTPUpdateServeri veebisaidi kaudu.
- Avaldan NodeRedi Openhabi kaudu säilitatud tühja sõnumi ja värskendusteema.
Planeeritud täiustamine: riistvara väljalülitamine pärast etteantud aja möödumist
Praeguses skeemis kasutan TPL5111 DELAY/M_DRV ja GND vahel 200K takisti. See lülitab mooduli sisse kauemaks kui 2 tunniks (vt TPL5111 andmelehe 7.5.3.). Kuid ma ei taha, et moodul oleks nii kaua sisse lülitatud, sest aku saab siis tühjaks. Kui tarkvaralahendus (vt eespool) ei suuda moodulit välja lülitada või kui soovimatu värskendusteade lülitab mooduli värskendusrežiimi, jääb moodul pikaks ajaks sisse.
Seetõttu on parem kasutada väiksemat takistit TPL5111 DELAY/M_DRV ja GND vahel, nii et moodul lülitatakse lühikese aja pärast välja, näiteks 50K takisti, mille tulemuseks on seitse minutit.
Soovitan:
Mini patareitoitega kineskoop -ostsilloskoop: 7 sammu (koos piltidega)
Mini patareitoitega kineskoop -ostsilloskoop: Tere! Selles juhendis näitan teile, kuidas teha mini -patareitoitega CRT -ostsilloskoopi. Ostsilloskoop on oluline tööriist elektroonikaga töötamisel; näete kõiki vooluringis voolavaid signaale ja tõrkeid
Lihtne Kickeri oleku- ja reserveerimissüsteem koos lõdva integreerimisega: 12 sammu (piltidega)
Lihtne Kickeri oleku- ja reserveerimissüsteem koos lõdva integratsiooniga: ettevõttes, kus ma töötan, on kicker -laud. Ettevõte asub paljudel korrustel ja mõnel töötajal kulub laua juurde jõudmiseks kuni 3 minutit ja … mõistmaks, et laud on juba hõivatud. Seetõttu tekkis idee ehitada ki
Wifi juhitav 12v LED -riba, kasutades Raspberry Pi koos Taskeri, Ifttti integreerimisega: 15 sammu (piltidega)
Wifi juhitav 12v LED -riba, kasutades Raspberry Pi koos Taskeri, Ifttti integreerimisega: Selles projektis näitan teile, kuidas juhtida lihtsat 12v analoog -led -riba wifi kaudu vaarika pi abil. Selle projekti jaoks vajate: 1x Raspberry Pi (I kasutan Raspberry Pi 1 mudelit B+) 1x RGB 12v Le
LEIDS - madala energiatarbega IOT -ukseandur: 8 sammu (piltidega)
LEIDS - madala energiatarbega IOT -uksesensor: mis on LEIDS? LEIDS on IOT -andur, mis põhineb ESP8266 -l. See andur kasutab seda tahvlit, pehmet lukustusahelat, pilliroo lülitit ja mõnda magnetit, et luua uksesensor, mis saadab teile teate, kui teie uks avaneb ja sulgub
Patareitoitega ESP IoT: 10 sammu (koos piltidega)
Patareitoitega ESP IoT: need juhendid näitavad, kuidas teha patareitoitega ESP IoT baasi minu eelmiste juhendite kujunduse järgi