Obsah:
- Zásoby
- Krok 1: Hardware - obvod
- Krok 2: Hardware - příloha
- Krok 3: Software
- Krok 4: Domácí automatizace a telegram
- Krok 5: Vylepšení a další vylepšení
Video: Bateriově napájený dveřní senzor s integrací domácí automatizace, WiFi a ESP-NYNÍ: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
V tomto pokynu vám ukážu, jak jsem vytvořil bateriový dveřní senzor s integrací domácí automatizace. Viděl jsem další pěkné senzory a poplašné systémy, ale chtěl jsem si je vyrobit sám.
Mé cíle:
- Senzor, který detekuje a hlásí rychlé otevření dveří (<5 sekund)
- Senzor, který detekuje zavírání dveří
- Senzor, který je napájen baterií a běží několik měsíců na baterii
Hardware a software jsou inspirovány
- Trigboard od Kevina Darraha (TPL5111 a TPS73733).
- Tohle video
Vyrobil jsem senzor pro své přední dveře a zadní vrátka. Jediným rozdílem je poloha LED a externí vypínač (na senzoru zadních dveří).
Během vývoje hardwaru a softwaru jsem provedl několik vylepšení, je to vidět na fotografiích.
Zásoby
Koupil jsem elektronické součástky z Aliexpress, hlavní části:
- LiPo baterie
- TPS73733 LDO
- TPL5111
- jazýčkový spínač
- P-kanálový mosfet: IRLML6401TRPBF
- Magnet
- Deska adaptéru desky plošných spojů pro součásti SMD a další.
Krok 1: Hardware - obvod
Viz přiložená schémata obvodu. SMD části jsem připájel na desku desky plošných spojů adaptéru a všechny součásti jsem připájel na oboustrannou desku perf. Připojil jsem ESP-01 přes zásuvku, takže jsem ji mohl odstranit a naprogramovat pomocí adaptéru zobrazeného v kroku 3 tohoto Instructable.
Obvod funguje následovně:
- Když jsou dveře otevřeny, TPL5111 dostane výstřel na kolík DELAY/M_DRV a aktivuje TPS73733 LDO, který napájí ESP-01. Pro tuto operaci musí být EN/ONE_SHOT vytažen nízko, viz datový list TPL5111.
- Po spuštění programu (viz krok Software), ESP-01 odešle signál Done na TPL5111, který pak deaktivuje TPS73733, což má za následek velmi nízký stav napájení pro TPL5111 a TPS73733.
Používám jazýčkové spínače s NO i NC připojením. Připojil jsem NC kabel, protože jazýčkový spínač musí uzavřít obvod, když je magnet vyjmutý (dveře otevřené) a otevřené, když je magnet blízko (dveře zavřené).
Když jsem objevil nějaké nestability, přidal jsem k zadnímu vrátku nějaký kondenzátor a odpory, ale nestabilitu způsobil software (esp_now_init), jak jsem zjistil později.
Krok 2: Hardware - příloha
Pouzdro jsem navrhl v aplikaci Autodesk Fusion360, inspirované tímto videem od „chlapa se švýcarským přízvukem“.
Soubory STL tří částí:
- Krabice
- Víčko
- Magnetický držák
jsou zveřejněny na mé stránce Thingiverse.
Krok 3: Software
Program je v mém Githubu.
Průběh programu je zobrazen na obrázku. Viz můj další Instructable, kde je vysvětleno, jak používám ESP-NYNÍ.
Když je modul zapnutý, nejprve se pokusí odeslat zprávu „OTEVŘENO“prostřednictvím ESP-NYNÍ. Pokud se to nepodaří, přejde na připojení WiFi a MQTT.
Zjistil jsem, že alespoň v mém nastavení nebyla zpráva „ZAVŘENO“úspěšně odeslána prostřednictvím ESP-NOW, takže jsem to odstranil z programu a používám pouze WiFi a MQTT.
Během doby, kdy jsou dveře otevřeny a modul čeká na zavření dveří, využívá tento čas k připojení k WiFi a MQTT, takže když jsou dveře zavřené, musí odeslat pouze naměřené napětí a zprávu ZAVŘENO a poté jde to přímo spát.
Program zkontroluje, zda přijímač přijme uzavřenou zprávu prostřednictvím poslechu zprávy MQTT na správné téma.
Krok 4: Domácí automatizace a telegram
Moje dveřní senzory komunikují s mojí Openhab Home Automation na mém Raspberry Pi Zero.
Hlavní aplikace:
- Přečtěte si stav dveří: OTEVŘENO nebo ZAVŘENO.
- Alarmujte mě telegramem, pokud jsou otevřena dvířka (Je -li zapnutý Alarm nebo funkce Monitor).
- Přečtěte si, kdy se naposledy otevřely nebo zavřely dveře.
- Počítejte počet otvorů, které může snímač dveří zvládnout, než se baterie vybije.
Pokud jsme například na dovolené a soused přijde zavlažovat rostliny, přijde mi zpráva. Podívejte se na video v úvodu.
Moje položky, pravidla a soubory mapy webu Openhab jsou v mém Githubu. V těchto souborech můžete také vidět můj dveřní senzor přístřešku, který používá běžný drátový jazýčkový spínač a malý kontaktní (koncový) spínač z 3D tiskárny v otvoru zámku (viz obrázky).
Zde je popsáno, jak používat akci Telegram v Openhab.
Krok 5: Vylepšení a další vylepšení
V minulých měsících jsem provedl následující vylepšení.
Manipulujte s dlouhými dveřními otvory pomocí impulzního signálu s vlastním spínáním
V létě necháváme zadní vrátka několik hodin otevřená, když jsme doma. Běh ESP-01 s WiFi připojením by pak zbytečně vybíjel baterii. Proto jsem zahrnul vypínač/vypínač, abych mohl modul v těchto situacích vypnout.
To však někdy mělo za následek trvale vypnutý modul (když jsem jej zapomněl zapnout) a vybitou baterii po několika odpoledních hodinách otevřených dveří a spuštěného modulu (Když jsem ho zapomněl vypnout).
Proto jsem chtěl mít možnost vypnout modul prostřednictvím softwaru poté, co byl modul předdefinovaný čas (1 minuta) zapnutý.
Avšak tam, kde impuls „DONE“ESP-01 vypnul TPL5111, když byly dveře zavřené, zjistil jsem, že TPL5111 nebyl vypnut pulzem „DONE“, zatímco pin DELAY/M_DRV byl VYSOKÝ. Tento VYSOKÝ signál na pinu DELAY/M_DRV byl způsoben otevřenými dveřmi a rozpínacím kontaktem jazýčkového spínače připojeným k napětí baterie.
Signál na pinu DELAY/M_DRV by tedy neměl být nepřetržitě VYSOKÝ, ale měl by být pulzní. V datovém listu TPL5111 můžete zjistit, že by to měl být puls> 20 ms. Tento samopřepínací signál jsem vytvořil přes P-kanálový mosfet, kondenzátor a odpor 10K a 300K, viz přiložené schéma.
Funguje to následovně:
- Pokud je NC kontakt jazýčkového spínače sepnutý, brána je NÍZKÁ a Mosfet je zapnutý, což má za následek VYSOKÝ signál na pinu ZPOŽDĚNÍ/M_DRV, který aktivuje modul.
- Kondenzátor se rychle nabije, což má za následek rostoucí napětí na bráně.
- Po přibližně 20 ms je napětí na bráně 97% napětí baterie (300 K/(300 K+10 K), což je VYSOKÉ a Mosfet je vypnutý, což má za následek NÍZKÝ signál na pinu DELAY/M_DRV.
- Když je kolík DELAY/M_DRV NÍZKÝ, signál DONE zařízení ESP-01 způsobí vypnutí modulu.
To je implementováno v softwaru; while-loop nejen kontroluje, zda jsou dveře stále otevřené, ale také kontroluje, zda není modul příliš dlouho zapnutý. Pokud je zapnutý příliš dlouho, zveřejňuje hodnotu NULL (nedefinovaný stav dveří). V tomto případě nevím, zda jsou dveře otevřené nebo zavřené a nedosahuji všech cílů uvedených v úvodu, ale výdrž baterie je důležitější a většinou ten den dveře otevřeme znovu později, což má za následek potvrzený zavřený stav dveří.
Je důležité použít P-kanál Mosfet, který je vhodný pro zde používaný rozsah napětí. Mosfet musí být zcela zapnutý na VGS asi - 3,8 V a úplně vypnutý na VGS asi -0,2 V. Zkoušel jsem několik Mosfetů a zjistil jsem, že IRLML6401TRPBF funguje dobře pro tento cíl v kombinaci s rezistory 10K a 300K. Kondenzátor 1 uF funguje dobře, aby získal pulzní délku asi 20 ms. Větší kondenzátor má za následek delší puls, který není nutný, protože byl aktivován TPL5111. Pomocí osciloskopu DSO150 jsem zkontroloval napětí a pulzní sílu.
Plánované vylepšení: aktualizace OTA
Plánuji začlenit aktualizaci OTA pomocí následujícího postupu, který je již částečně součástí aktuálního softwaru
- Prostřednictvím Openhab z NodeRed zveřejňuji zachovanou zprávu „aktualizace“a „téma aktualizace“.
- Pokud je modul zapnutý a připojený k serveru MQTT a přihlášen k odběru 'tématu aktualizace', obdrží zprávu o aktualizaci.
- Aktualizační zpráva zabrání vypnutí modulu a spustí
- Prostřednictvím webových stránek serveru HTTPUpdateServer můžete software aktualizovat.
- Prostřednictvím Openhab z NodeRed zveřejňuji zachovanou „prázdnou“zprávu a „aktualizované téma“.
Plánované vylepšení: vypnutí hardwaru po předem definovaném čase
V současném schématu používám odpor 200K mezi DELAY/M_DRV a GND TPL5111. Tím se modul zapne na více než 2 hodiny (viz 7.5.3. Datového listu TPL5111). Nechci však, aby byl modul tak dlouho zapnutý, protože baterie je poté vybitá. Pokud se softwarovému řešení (viz výše) nepodaří modul vypnout nebo zpráva o aktualizaci neúmyslně uvede modul do režimu aktualizace, zůstane modul po dlouhou dobu zapnutý.
Proto je lepší použít menší odpor mezi DELAY/M_DRV a GND TPL5111, aby byl modul po krátké době vypnut, například 50K odpor, což má za následek dobu zapnutí 7 minut.
Doporučuje:
Mini bateriově napájený CRT osciloskop: 7 kroků (s obrázky)
Mini bateriově napájený CRT osciloskop: Dobrý den! V tomto Instructable vám ukážu, jak vyrobit mini bateriový CRT osciloskop. Osciloskop je důležitý nástroj pro práci s elektronikou; můžete vidět všechny signály obíhající v obvodu a odstraňovat problémy
Bateriově napájený snímač hladiny sběrače vody: 7 kroků (s obrázky)
Bateriově napájený snímač hladiny sběrače vody: Náš dům má nádrž na vodu napájenou z deště dopadajícího na střechu a používanou na toaletu, pračku a zalévání rostlin v zahradě. Poslední tři roky byla léta velmi suchá, takže jsme sledovali hladinu vody v nádrži. S
Bateriově napájený kryt dveří a zámku, solární, ESP8266, ESP-Now, MQTT: 4 kroky (s obrázky)
Bateriově napájené dveře a zámek zámku, Solar, ESP8266, ESP-Now, MQTT: V tomto Instructable vám ukážu, jak jsem vytvořil senzor napájený baterií pro sledování dveří a stavu zámku mého vzdáleného kolárny. Mám síťové napájení, proto mám bateriové napájení. Baterie se nabíjí malým solárním panelem. Modul je
Automatizace domácí automatizace Bluetooth: 7 kroků (s obrázky)
Bluetooth Control Home Automation: Dobrý den, v tomto projektu jde o stavbu nejjednoduššího zařízení pro domácí automatizaci pomocí arduina a modulu bluetooth. Tenhle se velmi snadno staví a dá se postavit za pár hodin. Ve své verzi, kterou právě vysvětluji, mohu
Bateriově napájený design ESP: 3 kroky (s obrázky)
Design ESP napájený baterií: Tento návod ukazuje, jak snížit spotřebu energie baterie při vývoji zařízení IoT bez kabelů založeného na ESP