Obsah:

Batériový senzor dverí s integráciou domácej automatizácie, WiFi a ESP-TERAZ: 5 krokov (s obrázkami)
Batériový senzor dverí s integráciou domácej automatizácie, WiFi a ESP-TERAZ: 5 krokov (s obrázkami)

Video: Batériový senzor dverí s integráciou domácej automatizácie, WiFi a ESP-TERAZ: 5 krokov (s obrázkami)

Video: Batériový senzor dverí s integráciou domácej automatizácie, WiFi a ESP-TERAZ: 5 krokov (s obrázkami)
Video: Датчик Движения. Схема подключения датчика движения. Как самостоятельно подключить датчик движения. 2024, November
Anonim
Image
Image

V tomto návode vám ukážem, ako som vyrobil batériový dverový senzor s integráciou domácej automatizácie. Videl som niekoľko ďalších pekných senzorov a poplašných systémov, ale chcel som si ich vyrobiť sám.

Moje ciele:

  • Senzor, ktorý detekuje a hlási rýchle otvorenie dverí (<5 sekúnd)
  • Senzor, ktorý detekuje zatváranie dverí
  • Senzor napájaný batériami, ktorý na batérie vydrží niekoľko mesiacov

Hardvér a softvér sú inšpirované

  • Trigboard od Kevina Darraha (TPL5111 a TPS73733).
  • Toto video

Vyrobil som senzor pre moje predné a zadné vrátka. Jediným rozdielom je poloha LED a externý vypínač (na snímači zadných vrát).

Počas vývoja som urobil niekoľko vylepšení v oblasti hardvéru a softvéru, je to vidieť na fotografiách.

Zásoby

Kúpil som elektronické súčiastky od Aliexpress, hlavné časti:

  • LiPo batéria
  • TPS73733 LDO
  • TPL5111
  • Jazýčkový spínač
  • Mosfet P-kanála: IRLML6401TRPBF
  • Magnet
  • Doska adaptéra DPS pre súčiastky SMD a ďalšie.

Krok 1: Hardvér - obvod

Hardvér - obvod
Hardvér - obvod
Hardvér - obvod
Hardvér - obvod
Hardvér - obvod
Hardvér - obvod

Pozrite si priložené schémy obvodu. Časti SMD som spájkoval na dosku plošných spojov adaptéra a všetky komponenty som spájkoval na obojstrannú dosku perf. Pripojil som ESP-01 pomocou zásuviek, takže som ho mohol odstrániť a naprogramovať ho pomocou adaptéra zobrazeného v kroku 3 tohto návodu.

Obvod funguje nasledovne:

  • Keď sú dvere otvorené, TPL5111 dostane výstrel na kolík DELAY/M_DRV a umožní TPS73733 LDO, ktoré napája ESP-01. Pre túto operáciu musí byť EN/ONE_SHOT vytiahnutý nízko, pozri datový list TPL5111.
  • Po spustení programu (pozri krok Softvér) ESP-01 pošle signál Done na TPL5111, ktorý potom TPS73733 deaktivuje, čo spôsobí veľmi nízky stav napájania pre TPL5111 a TPS73733.

Používam jazýčkové spínače s NO aj NC zapojením. Pripojil som NC kábel, pretože jazýčkový spínač musí uzavrieť obvod, keď je magnet odstránený (dvere otvorené) a otvorené, keď je magnet blízko (dvere zatvorené).

Pre snímač zadných vrát som pridal niekoľko kondenzátorov a odporov, keď som zistil určité nestability, ale nestabilitu spôsobil softvér (esp_now_init), ako som zistil neskôr.

Krok 2: Hardvér - príloha

Hardvér - príloha
Hardvér - príloha
Hardvér - príloha
Hardvér - príloha
Hardvér - príloha
Hardvér - príloha

Kryt som navrhol v aplikácii Autodesk Fusion360, inšpirovanej týmto videom od „chlapa so švajčiarskym prízvukom“.

Súbory STL týchto troch častí:

  • Box
  • Veko
  • Magnetický držiak

sú uverejnené na mojej stránke Thingiverse.

Krok 3: Softvér

Softvér
Softvér

Program je v mojom Githube.

Priebeh programu je zobrazený na obrázku. Pozrite si môj ďalší návod na použitie, kde je vysvetlené, ako používam ESP-TERAZ.

Keď je modul zapnutý, najskôr sa pokúsi odoslať správu „OTVORENÉ“cez ESP-NOW. Ak sa to nepodarí, prejde na pripojenie WiFi a MQTT.

Zistil som, že aspoň v mojom nastavení nebola správa „ZATVORENÉ“odoslaná úspešne prostredníctvom ESP-TERAZ, a tak som to odstránil z programu a používam iba WiFi a MQTT.

Kým sa dvere otvoria a modul čaká na zatvorenie dverí, použije tento čas na pripojenie k WiFi a MQTT, takže keď sú dvere zatvorené, musí odoslať iba namerané napätie a správu ZATVORENÉ a potom ide to priamo spať.

Program pomocou počúvania správy MQTT na správnu tému skontroluje, či príjemca prijal uzavretú správu.

Krok 4: Domáca automatizácia a telegram

Domáca automatizácia a telegram
Domáca automatizácia a telegram
Domáca automatizácia a telegram
Domáca automatizácia a telegram
Domáca automatizácia a telegram
Domáca automatizácia a telegram

Moje dverové senzory komunikujú s mojou Openhab Home Automation na mojom Raspberry Pi Zero.

Hlavné aplikácie:

  • Prečítajte si stav dverí: OTVORENÉ alebo ZATVORENÉ.
  • Alarmujte ma telegramom, ak sú otvorené dvere (Ak je zapnutý alarm alebo je zapnutá funkcia monitora).
  • Prečítajte si, kedy sa naposledy otvárali alebo zatvárali dvere.
  • Spočítajte počet otvorení, ktoré môže snímač dverí zvládnuť pred vybitím batérie.

Ak sme napríklad na dovolenke a sused príde poliať rastliny, príde mi správa. Pozrite si video v úvode.

Moje položky, pravidlá a súbory mapy webu Openhab sú v mojom Githube. V týchto súboroch môžete vidieť aj môj dverný senzor kôlne, ktorý používa bežný drôtový jazýčkový spínač a malý kontaktný (koncový) spínač z 3D tlačiarne v otvore zámku (viď obrázky).

Tu je popísané, ako používať akciu Telegram v Openhab.

Krok 5: Vylepšenia a ďalšie vylepšenia

Vylepšenia a ďalšie vylepšenia
Vylepšenia a ďalšie vylepšenia
Vylepšenia a ďalšie vylepšenia
Vylepšenia a ďalšie vylepšenia

V posledných mesiacoch som urobil nasledujúce zlepšenie.

Zvládnite dlhé otváranie dverí pomocou automaticky sa prepínajúceho impulzného signálu

V lete nechávame zadné vrátka na niekoľko hodín otvorené, keď sme doma. Bežiaci ESP-01 s WiFi pripojením by potom zbytočne vybíjal batériu. Preto som zahrnul vypínač/vypínač, aby bolo možné modul v týchto situáciách vypnúť.

To však niekedy malo za následok trvale vypnutý modul (keď som ho zabudol zapnúť) a vybitú batériu po niekoľkých popoludňajších hodinách otvorených dverí a spusteného modulu (Keď som ho zabudol vypnúť).

Preto som chcel byť schopný vypnúť modul prostredníctvom softvéru, keď bol modul preddefinovaný čas (1 minúta) zapnutý.

Avšak tam, kde impulz „HOTOVO“ESP-01 vypol TPL5111, keď boli dvere zatvorené, zistil som, že TPL5111 nebol vypnutý impulzom „HOTOVO“, zatiaľ čo pin DELAY/M_DRV bol VYSOKÝ. Tento VYSOKÝ signál na kolíku DELAY/M_DRV bol spôsobený otvorenými dverami a rozpínacím kontaktom jazýčkového spínača pripojeným k napätiu batérie.

Signál na kolíku DELAY/M_DRV by teda nemal byť nepretržite VYSOKÝ, ale mal by byť impulzný. V technickom liste TPL5111 nájdete, že by mal mať impulz> 20 ms. Tento samočinne sa prepínajúci signál som vyrobil cez M-kanálový mosfet, kondenzátor a odpor 10K a 300K, pozri priloženú schému.

Funguje to nasledovne:

  • Ak je rozpínací kontakt jazýčkového spínača zopnutý, brána je NÍZKA a Mosfet je zapnutý, čo má za následok VYSOKÝ signál na kolíku DELAY/M_DRV, ktorý aktivuje modul.
  • Kondenzátor sa rýchlo nabíja, čo má za následok rastúce napätie na bráne.
  • Po približne 20 ms je napätie na bráne 97% napätia batérie (300 K/(300 K+10 K), ktoré je VYSOKÉ a Mosfet je vypnutý, čo má za následok NÍZKY signál na pine DELAY/M_DRV.
  • Keď je kolík DELAY/M_DRV NÍZKY, signál HOTOVO na ESP-01 spôsobí vypnutie modulu.

Toto je implementované v softvéri; cyklu while nielen kontroluje, či sú dvere stále otvorené, ale tiež kontroluje, či modul nie je zapnutý príliš dlho. Ak je zapnutý príliš dlho, zverejní hodnotu NULL (nedefinovaný stav dverí). V tomto prípade neviem, či sú dvere otvorené alebo zatvorené, a nedosahujem všetky ciele uvedené v úvode, ale výdrž batérie je dôležitejšia a väčšinou ten deň dvere otvoríme znova, čo má za následok potvrdený zatvorený stav. dverí.

Je dôležité použiť P-kanál Mosfet, ktorý je vhodný pre tu používaný rozsah napätia. Mosfet musí byť úplne zapnutý pri VGS asi - 3,8 V a úplne vypnutý pri VGS asi -0,2 V. Skúsil som niekoľko Mosfetov a zistil som, že IRLML6401TRPBF na tento cieľ funguje dobre v kombinácii s odpormi 10K a 300K.. Kondenzátor 1 uF funguje dobre na získanie pulznej dĺžky asi 20 ms. Väčší kondenzátor má za následok dlhší impulz, ktorý nie je potrebný, pretože TPL5111 bol aktivovaný. Na kontrolu napätí a pulznej sily som použil osciloskop DSO150.

Plánované zlepšenie: Aktualizácia OTA

Plánujem začleniť aktualizáciu OTA pomocou nasledujúceho postupu, ktorý je už čiastočne súčasťou súčasného softvéru

  • Prostredníctvom Openhab z NodeRed zverejňujem zachovanú správu „aktualizácia“a „tému aktualizácie“.
  • Ak je modul zapnutý a pripojený k serveru MQTT a prihlásený na odber „témy aktualizácie“, dostane správu o aktualizácii.
  • Aktualizačná správa zabráni vypnutiu modulu a spustí
  • Prostredníctvom webovej stránky servera HTTPUpdateServer môžete aktualizovať softvér.
  • Prostredníctvom Openhab z NodeRed zverejňujem zachovanú „prázdnu“správu a „tému aktualizácie“.

Plánované zlepšenie: Vypnutie hardvéru po vopred definovanom čase

V súčasnej schéme používam odpor 200K medzi DELAY/M_DRV a GND TPL5111. Modul sa zapne na viac ako 2 hodiny (pozri 7.5.3. Technického listu TPL5111). Nechcem však, aby bol modul tak dlho zapnutý, pretože batéria je potom vybitá. Ak sa softvérovému riešeniu (viď vyššie) nepodarí modul vypnúť alebo sa správa o aktualizácii neúmyselne prepne do režimu aktualizácie, modul zostane dlhý čas zapnutý.

Preto je lepšie použiť menší odpor medzi DELAY/M_DRV a GND TPL5111, aby sa modul po krátkom čase vypol, napríklad 50K odpor, čo má za následok čas zapnutia 7 minút.

Odporúča: