Satura rādītājs:

Ar baterijām darbināms durvju sensors ar mājas automatizācijas integrāciju, WiFi un ESP-NOW: 5 soļi (ar attēliem)
Ar baterijām darbināms durvju sensors ar mājas automatizācijas integrāciju, WiFi un ESP-NOW: 5 soļi (ar attēliem)

Video: Ar baterijām darbināms durvju sensors ar mājas automatizācijas integrāciju, WiFi un ESP-NOW: 5 soļi (ar attēliem)

Video: Ar baterijām darbināms durvju sensors ar mājas automatizācijas integrāciju, WiFi un ESP-NOW: 5 soļi (ar attēliem)
Video: Oil to Gas Conversion Featuring Bosch Greenstar 151 Combi with Honeywell Relay and Taco ECM Zones 2024, Novembris
Anonim
Image
Image

Šajā pamācībā es jums parādīšu, kā es izveidoju ar akumulatoru darbināmu durvju sensoru ar mājas automatizācijas integrāciju. Esmu redzējis vēl dažus jaukus sensorus un signalizācijas sistēmas, bet es gribēju to izgatavot pats.

Mani mērķi:

  • Sensors, kas nosaka un ziņo par durvju atvēršanu ātri (<5 sekundes)
  • Sensors, kas nosaka durvju aizvēršanos
  • Sensors, kas darbojas ar akumulatoru un darbojas dažus mēnešus ar akumulatoru

Aparatūra un programmatūra ir iedvesmota

  • Kevina Dāra trigords (TPL5111 un TPS73733).
  • Šis video

Es izveidoju sensoru priekšējām un aizmugurējām durvīm. Vienīgā atšķirība ir gaismas novietojuma pozīcija un ārējais barošanas slēdzis (uz aizmugures durvju sensora).

Aparatūras un programmatūras izstrādes laikā es veicu vairākus uzlabojumus, to var redzēt fotoattēlos.

Piegādes

Es nopirku elektroniskos komponentus no Aliexpress, galvenās daļas:

  • LiPo akumulators
  • TPS73733 LDO
  • TPL5111
  • Niedru slēdzis
  • P-kanālu mosfet: IRLML6401TRPBF
  • Magnēts
  • PCB adaptera plāksne SMD komponentiem un vēl viena.

1. solis: Aparatūra - ķēde

Aparatūra - ķēde
Aparatūra - ķēde
Aparatūra - ķēde
Aparatūra - ķēde
Aparatūra - ķēde
Aparatūra - ķēde

Skatiet pievienotās shēmas shēmas. Es lodēju SMD detaļas uz adaptera PCB plāksnes un pielodēju visas sastāvdaļas divpusējā perforācijas plāksnē. Es savienoju ESP-01, izmantojot sieviešu galvenes, lai es varētu to noņemt, lai to ieprogrammētu, izmantojot adapteri, kas parādīts šīs instrukcijas 3. darbībā.

Ķēde darbojas šādi:

  • Atverot durvis, TPL5111 saņem šāvienu uz DELAY/M_DRV tapu un iespējo TPS73733 LDO, kas darbina ESP-01. Lai veiktu šo darbību, EN/ONE_SHOT ir jāvelk zemā līmenī, skatiet TPL5111 datu lapu.
  • Pēc programmas palaišanas (skatiet soli Programmatūra) ESP-01 nosūta gatavam signālam uz TPL5111, kas pēc tam atspējo TPS73733, kā rezultātā TPL5111 un TPS73733 ir ļoti zems enerģijas patēriņš.

Es izmantoju niedru slēdžus gan ar NO, gan NC savienojumiem. Es pievienoju NC vadu, jo niedru slēdzim ir jāaizver ķēde, kad magnēts tiek noņemts (durvis atvērtas), un jāatver, kad magnēts ir tuvu (durvis ir aizvērtas).

Atpakaļdurvju sensoram es pievienoju dažus kondensatorus un rezistorus, kad atklāju dažas nestabilitātes, tomēr nestabilitāti izraisīja programmatūra (esp_now_init), kā atklāju vēlāk.

2. darbība. Aparatūra - korpuss

Aparatūra - korpuss
Aparatūra - korpuss
Aparatūra - korpuss
Aparatūra - korpuss
Aparatūra - korpuss
Aparatūra - korpuss

Es izveidoju korpusu Autodesk Fusion360, iedvesmojoties no šī puiša ar Šveices akcentu video.

Trīs daļu STL faili:

  • Kastīte
  • Vāks
  • Magnēta turētājs

ir publicēti manā Thingiverse lapā.

3. darbība: programmatūra

Programmatūra
Programmatūra

Programma ir manā Github.

Programmas plūsma ir parādīta attēlā. Skatiet manu citu pamācību, lai izskaidrotu, kā es izmantoju ESP-NOW.

Kad modulis ir ieslēgts, tas vispirms mēģina nosūtīt ziņojumu "ATVĒRTS", izmantojot ESP-NOW. Ja tas neizdodas, tas pārslēdzas uz WiFi un MQTT savienojumu.

Es uzzināju, ka vismaz manā iestatījumā ziņojums “Slēgts” netika veiksmīgi nosūtīts, izmantojot ESP-NOW, tāpēc es to noņēmu no programmas un izmantoju tikai WiFi un MQTT.

Laikā, kad durvis tiek atvērtas un modulis gaida durvju aizvēršanos, tas izmanto šo laiku, lai izveidotu savienojumu ar WiFi un MQTT, tāpēc, kad durvis ir aizvērtas, ir jānosūta tikai izmērītais spriegums un ziņojums Slēgts. tas tieši iet gulēt.

Programma pārbauda, vai saņēmējs saņem slēgto ziņojumu, klausoties MQTT ziņojumu par pareizo tēmu.

4. solis: mājas automatizācija un telegramma

Mājas automatizācija un telegramma
Mājas automatizācija un telegramma
Mājas automatizācija un telegramma
Mājas automatizācija un telegramma
Mājas automatizācija un telegramma
Mājas automatizācija un telegramma

Mani durvju sensori sazinās ar manu Openhab mājas automatizāciju manā Raspberry Pi Zero.

Galvenie pielietojumi:

  • Izlasiet durvju stāvokli: ATVĒRTS vai aizvērts.
  • Signalizēt mani, izmantojot telegrammu, ja tiek atvērtas durvis (ja modinātājs ir ieslēgts vai ir ieslēgta monitora funkcija).
  • Lasiet pēdējo reizi, kad durvis tika atvērtas vai aizvērtas.
  • Saskaitiet atveru skaitu, ko durvju sensors var apstrādāt, pirms izlādējas akumulators.

Piemēram, ja mēs esam atvaļinājumā un kaimiņš ienāk laistīt augus, es saņemu ziņojumu. Skatiet video ievadā.

Mani Openhab vienumi, noteikumi un vietnes kartes faili atrodas manā Github. Šajos failos var redzēt arī manu nojumes durvju sensoru, kas izmanto parasto vadu niedru slēdzi un nelielu kontakta (gala) slēdzi no 3D printera slēdzenes atverē (skat. Attēlus).

Šeit ir aprakstīts, kā Openhab izmantot Telegram darbību.

5. darbība. Uzlabojumi un turpmākie uzlabojumi

Uzlabojumi un turpmākie uzlabojumi
Uzlabojumi un turpmākie uzlabojumi
Uzlabojumi un turpmākie uzlabojumi
Uzlabojumi un turpmākie uzlabojumi

Pēdējo mēnešu laikā es veicu šādus uzlabojumus.

Rīkojieties ar garām durvju atverēm, izmantojot pašpārslēdzošu impulsa signālu

Vasarā, kad esam mājās, mēs atstājam durvis atvērtas uz dažām stundām. Darbojas ESP-01 ar WiFi savienojumu, tad nevajadzīgi izlādētu akumulatoru. Tāpēc es iekļāvu ieslēgšanas/izslēgšanas slēdzi, lai šādās situācijās varētu izslēgt moduli.

Tomēr dažkārt tas izraisīja pastāvīgi izslēgtu moduli (kad es aizmirsu to ieslēgt) un izlādējušos akumulatoru pēc dažām pēcpusdienām pēc atvērtām durvīm un darbības moduļa (kad aizmirsu to izslēgt).

Tāpēc es gribēju, lai varētu izslēgt moduli, izmantojot programmatūru pēc tam, kad modulis bija ieslēgts uz iepriekš noteiktu laiku (1 minūte).

Tomēr, ja ESP-01 impulss “GATAVS” izslēdza TPL5111, kad durvis tika aizvērtas, es uzzināju, ka TPL5111 neizslēdza “DONE” impulss, kamēr DELAY/M_DRV tapa bija AUGSTA. Šo HIGH signālu uz DELAY/M_DRV tapas izraisīja atvērtās durvis un niedres slēdža NC kontakts, kas pievienots akumulatora spriegumam.

Tātad signālam uz DELAY/M_DRV tapu nevajadzētu pastāvīgi būt AUGSTAM, bet tam vajadzētu būt pulsējošam. TPL5111 datu lapā varat atrast, ka tam vajadzētu būt> 20 ms impulsam. Es izveidoju šo pašpārslēdzošo signālu, izmantojot P kanāla mosfetu, kondensatoru un 10K un 300K rezistoru, skatiet iekļauto shēmu.

Tas darbojas šādi:

  • Ja niedru slēdža NC kontakts ir aizvērts, vārti ir LOW un Mosfet ir ieslēgts, kā rezultātā uz DELAY/M_DRV tapas tiek parādīts HIGH signāls, kas aktivizē moduli.
  • Kondensators tiek ātri uzlādēts, kā rezultātā palielinās vārtu spriegums.
  • Pēc aptuveni 20 ms spriegums uz vārtiem ir 97% no akumulatora sprieguma (300K/(300K+10K), kas ir HIGH un Mosfet ir izslēgts, kā rezultātā DELAY/M_DRV tapā ir LOW signāls.
  • Kad DELAY/M_DRV tapa ir ZEMA, ESP-01 signāla GATAVS rezultātā tiek izslēgts modulis.

Tas tiek ieviests programmatūrā; kamēr cilpa ne tikai pārbauda, vai durvis joprojām ir atvērtas, bet arī pārbauda, vai modulis nav ieslēgts pārāk ilgi. Ja tas ir ieslēgts pārāk ilgi, tas publicē NULL vērtību (nenoteikts durvju stāvoklis). Šajā gadījumā es nezinu, vai durvis ir atvērtas vai aizvērtas, un es nesasniedzu visus ievadā minētos mērķus, taču akumulatora darbības laiks ir svarīgāks, un vairumā gadījumu mēs atkal atveram durvis vēlāk tajā pašā dienā, kā rezultātā tiek apstiprināts slēgts stāvoklis no durvīm.

Ir svarīgi izmantot P-kanāla Mosfet, kas ir piemērots šeit izmantotajam sprieguma diapazonam. Mosfet ir jābūt pilnībā ieslēgtam aptuveni 3,8 V VGS un pilnībā izslēgtam pie aptuveni 0,2 V.. Kondensators 1 uF darbojas labi, lai iegūtu impulsa garumu aptuveni 20 ms. Lielāks kondensators rada garāku impulsu, kas nav nepieciešams, jo TPL5111 tika aktivizēts. Es izmantoju savu DSO150 osciloskopu, lai pārbaudītu spriegumus un impulsa garumu.

Plānotais uzlabojums: OTA atjauninājums

Es plānoju iekļaut OTA atjauninājumu, izmantojot šādu procedūru, kas jau ir daļēji iekļauta pašreizējā programmatūrā

  • Izmantojot Openhab no NodeRed, es publicēju saglabātu “atjauninājuma” ziņojumu un “atjaunināšanas tēmu”.
  • Ja modulis ir ieslēgts un pievienots MQTT serverim un abonējis “atjaunināšanas tēmu”, tas saņem atjauninājuma ziņojumu.
  • Atjaunināšanas ziņojums neļaus modulim izslēgties un sāks
  • Izmantojot HTTPUpdateServer vietni, varat atjaunināt programmatūru.
  • Izmantojot Openhab no NodeRed, es publicēju saglabātu “tukšu” ziņojumu un “atjaunināšanas tēmu”.

Plānotais uzlabojums: aparatūras izslēgšana pēc iepriekš noteikta laika

Pašreizējā shēmā es izmantoju 200K rezistoru starp TPL5111 DELAY/M_DRV un GND. Tas ieslēdz moduli ilgāk par 2 stundām (sk. TPL5111 datu lapas 7.5.3. Punktu). Tomēr es nevēlos, lai modulis tiktu ieslēgts tik ilgi, jo pēc tam akumulators tiek izlādēts. Ja programmatūras risinājums (sk. Iepriekš) neizdodas izslēgt moduli vai neparedzēts atjauninājuma ziņojums moduli ievieto atjaunināšanas režīmā, modulis ilgu laiku paliek ieslēgts.

Tāpēc starp TPL5111 DELAY/M_DRV un GND labāk ir izmantot mazāku rezistoru, tāpēc pēc neilga laika modulis tiek izslēgts, piemēram, 50K rezistors, kā rezultātā ieslēgšanas laiks ir 7 minūtes.

Ieteicams: