Obsah:
- Zásoby
- Krok 1: Schémy a zdrojový kód
- Krok 2: Práca na obvode
- Krok 3: Kontrola stavu
- Krok 4: Merania výkonu a životnosť batérie
- Krok 5: Budúce zlepšenia
Video: Bezdrôtový senzor dverí - extrémne nízky výkon: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Ďalší senzor dverí !! Motiváciou pre vytvorenie tohto senzora bolo, že mnohé z nich, ktoré som videl na internete, mali jedno alebo druhé obmedzenie. Niektoré z cieľov senzora pre mňa sú:
1. Senzor by mal byť veľmi rýchly - najlepšie menej ako 5 sekúnd
2. Senzor by mal vybiť z 3,7 V lítium-iónovej batérie, pretože ich mám okolo seba desiatky
3. Senzor by mal fungovať mnoho mesiacov na jedno nabitie batérie. V režime spánku by mala spotrebovať <10uA
4. Senzor by mal byť schopný prebudiť sa na prenos kritických údajov, ako je stav batérie, aj keď dvere nie sú dlhší čas v prevádzke.
5. Senzor by mal prenášať údaje na tému MQTT pri otvorení dverí aj pri ich zatvorení
6. Senzor by mal spotrebovať rovnaké množstvo energie bez ohľadu na stav dverí
Fungovanie senzora:
Senzor má 2 hlavné ovládače. Prvým je malý mikrořadič ATiny 13A. Druhým je ESP, ktorý je zvyčajne v režime spánku a prebúdza sa, iba keď to ATiny umožňuje. Celý obvod je možné vytvoriť aj pomocou ESP tak, že ho použijete v režime spánku, ale prúd, ktorý spotrebuje, je oveľa väčší, ako je potrebné na to, aby batéria vydržala mesiace, takže ATTiny príde na pomoc. Slúži iba na to, aby sa prebudil každých N sekúnd, hľadal udalosť na dverách alebo udalosť kontroly stavu, ak existuje, drží pin CH_PD ESP na HIGH a vysiela príslušný signál typu udalosti do ESP.. Tam jeho úloha končí.
ESP potom prevezme kontrolu, načíta typ signálu, pripojí sa k WiFi/MQTT, zverejní požadované správy vrátane stavu batérie a potom sa vypne, čím prepne pin EN späť na LOW.
Použitím týchto čipov týmto spôsobom využívam výhody nízkeho spánkového prúdu ATtiny a nulového voľnobežného prúdu ESP, keď je čip deaktivovaný pomocou pinu CH_PD.
Zásoby
Predbežná požiadavka:
- Znalosť programovania ATTiny & ESP 01
- Znalosť spájkovacích súčiastok na DPS
ESP-01 (alebo akýkoľvek ESP)
ATTiny 13A - AVR
LDO 7333 -A - regulátor nízkeho napätia
Rezistory - 1K, 10K, 3K3
Kondenzátory: 100 uF, 0,1 uF
Tlačidlový spínač, mikro zapínač/vypínač - (oba voliteľné)
Dióda - IN4148 (alebo akýkoľvek ekvivalent)
Li-ion batéria
Jazýčkový spínač
Prípad, v ktorom je všetko
Spájka, PCB atď
Krok 1: Schémy a zdrojový kód
Schéma je znázornená na priloženom obrázku.
Zahrnul som MOSFET kanála P na ochranu proti obrátenej polarite. Ak to nepotrebujete, môžete to vynechať. Akýkoľvek MOSFET kanála P s nízkym RDS ON bude fungovať.
V súčasnosti ESP nemá schopnosť OTA, ale to je pre budúce zlepšenie.
Inteligentný dverový snímač zdrojového kódu
Krok 2: Práca na obvode
ATTiny Pracovný tok
Kúzlo sa tu deje v tom, ako ATTiny monitoruje polohu spínača dverí.
Normálnou možnosťou by bolo pripojiť k prepínaču vyťahovací odpor a pokračovať v monitorovaní jeho stavu. To má nevýhodu konštantného prúdu, ktorý spotrebúva pull up odpor. Tu sa tomu zabránilo tým, že som použil dva piny na monitorovanie prepínača, nie jeden. Tu som použil PB3 a PB4. PB3 je definovaný ako vstup a PB4 ako výstup s vnútorným INPUT_PULLUP na PB3. Normálne je PB4 držaný HIGH, keď je ATtiny v režime spánku. Tým je zaistené, že cez vstupný pull up odpor nepreteká žiadny prúd bez ohľadu na polohu jazýčkového spínača. tj. Ak je spínač zatvorený, PB3 aj PB4 sú VYSOKÉ, takže medzi nimi neprúdi žiadny prúd. Ak je spínač otvorený, neexistuje medzi nimi žiadna cesta, takže prúd je nulový. Keď sa ATtiny prebudí, napíše LOW na PB4 a potom skontroluje stav PB3. Ak je PB3 VYSOKÝ, potom je jazýčkový spínač OTVORENÝ, inak je ZATVORENÝ. Potom to odpíše HIGH na PB4.
Komunikácia medzi ATtiny a ESP prebieha prostredníctvom dvoch pinov PB1 / PB2 pripojených k Tx / RX ESP. Signál som definoval ako
PB1 PB2 ====== Tx Rx
0 0 ====== WAKE_UP (kontrola stavu)
0 1 ====== SENSOR_OPEN
1 0 ====== SENZOR_ZATVORENÝ
1 1 ====== nepoužité
Okrem odoslania signálu do ESP vysiela aj VYSOKÝ impulz na PB0, ktorý je pripojený na pin ESP CH_PD. Tým sa prebúdza ESP. Prvá vec, ktorú ESP robí, je udržať GPIO0 HIGH, ktorý je pripojený k CH_PD, a tým zaistiť jeho výkon, aj keď ATTiny odoberie PB0 HIGH. Teraz je na riadení ESP, aby určil, kedy sa chce vypnúť.
Potom sa pripojí k WiFi, MQTT, zverejní správu a vypne sa napísaním LOW na GPIO0.
ESP 01 Pracovný tok:
Tok ESP je priamy. Prebudí sa a prečíta hodnoty pinov Tx/Rx, aby určil, aký typ správy sa má odoslať. Pripojí sa k WiFi a MQTT, zverejní správu a vypne sa.
Pred vypnutím znova skontroluje hodnoty vstupných pinov, aby zistil, či sa od posledného čítania zmenili. Ten sa má postarať o rýchle otváranie a zatváranie dverí. Ak túto kontrolu nemáte, v niektorých prípadoch vám môže chýbať zatváranie dverí, ak sú zatvorené do 5-6 sekúnd od otvorenia. Praktický scenár otvárania a zatvárania dverí zhruba do 2 sekúnd je dobre zachytený v slučke while, ktorá odosiela správy, pokiaľ sa aktuálny stav dverí líši od predchádzajúceho. Jediný scenár, ktorý môže chýbať pri zaznamenávaní všetkých udalostí otvorenia/zatvorenia, je, keď sa dvere opakovane otvárajú/zatvárajú v priebehu 4 až 5 sekúnd, čo je veľmi nepravdepodobný prípad - pravdepodobne prípad, keď sa dieťa s dverami hrá.
Krok 3: Kontrola stavu
Tiež som potreboval spôsob, ako mať správu o stave z ESP, kde tiež odošle úroveň batérie ESP, aby sa zabezpečilo, že senzor funguje bez manuálnej kontroly. Za týmto účelom ATTiny posiela signál WAKE_UP každých 12 hodín. Je možné ho nakonfigurovať prostredníctvom premennej WAKEUP_COUNT v kóde ATtiny. Je to veľmi užitočné pre dvere alebo okná, ktoré sa otvárajú len zriedka, a tak sa nemusíte dozvedieť, či niečo nie je v poriadku so snímačom alebo s jeho batériou.
V prípade, že nepotrebujete funkciu kontroly stavu, potom nie je potrebný celý koncept používania ATTiny. V takom prípade nájdete ďalšie návrhy, ktoré ľudia vytvorili, kde je napájanie do ESP napájané cez MOSFET, a tak môžete dosiahnuť nulový odber prúdu, keď dvere nie sú v prevádzke. Je potrebné postarať sa o ďalšie veci, ako napríklad o to, aby bol súčasný ťah rovnaký v polohe otvorených a zatvorených dverí - kvôli tomu som niekde videl dizajn, ktorý namiesto bežného 2 stavu využíval 3 -stupňový jazýčkový spínač.
Krok 4: Merania výkonu a životnosť batérie
Zmeral som aktuálnu spotrebu obvodu a pri spánku a naokolo to trvá ~ 30uA. Ak sa pozrieme na listy ATTiny, malo by to byť okolo 1-4 uA pre celý obvod vrátane pokojového prúdu LDO, ale potom moje merania ukazujú 30. MOSFET a LDO spotrebúvajú nevýznamný prúd.
Batéria 800mAH by teda mala vydržať dlho. Nemám presné štatistiky, ale používam ho na 2 svojich dverách viac ako rok a každá bunka 18650 s približne 800 mAh v nich vydrží asi 5 až 6 mesiacov na mojich hlavných dverách, ktoré sa otvárajú a zatvárajú o najmenej 30 -krát denne. Ten na strešných dverách, ktorý sa otvára iba niekoľkokrát za týždeň, vydrží 7-8 mesiacov.
Krok 5: Budúce zlepšenia
1. ESP neakceptuje doručenie správy MQTT. Program je možné vylepšiť prihlásením sa k téme, v ktorej je správa zverejnená, na potvrdenie doručenia, alebo na odoslanie správy s QoS 1 možno použiť knižnicu Async MQTT.
2. Aktualizácia OTA: Kód ESP je možné upraviť tak, aby čítal tému MQTT pre aktualizáciu, a tak vstúpiť do režimu OTA na prijatie súboru.
3. ESP01 môže byť nahradený ESP-12, aby ste získali prístup k viacerým vstupným PIN, a tak k nemu môžete pripojiť viac senzorov. V takom prípade nie je možná komunikácia prostredníctvom 2 -bitovej metódy. To je potom možné zlepšiť tak, aby sa implementovala komunikácia I2C medzi ATtiny a ESP. Je to trochu komplikované, ale uskutočniteľné. Mám to fungujúce v inom nastavení, kde ATTiny posiela hodnoty rotačného enkodéra do ESP cez linku I2C.
4. Aktuálny obvod monitoruje interný Vcc ESP. Ak použijeme ESP12, môže byť tento upravený tak, aby čítal aktuálnu úroveň batérie pomocou kolíka ADC.
5. V budúcnosti tiež zverejním modifikáciu, ktorá môže byť použitá ako samostatný senzor bez potreby MQTT alebo akéhokoľvek systému domácej automatizácie. Senzor bude fungovať samostatne a po spustení môže telefonovať - samozrejme na to potrebuje internetové pripojenie.
6. A zoznam pokračuje …
7. Reverzná ochrana batérie - HOTOVO (Skutočné obrázky zariadení sú staré, a preto neodzrkadľujú MOSFET)
Odporúča:
Bezdrôtový TTL prevodník ESP8266 ESP-12E UART Bezdrôtový WIFI štít TTL Nekomplikovaný: 5 krokov
Bezdrôtový prevodník TTL ESP8266 ESP-12E UART na bezdrôtový WIFI štít TTL Nekomplikovaný: Táto príručka je určená ľuďom, ktorí si kúpili bezdrôtový prevodník TTL štítu ESP8266 ESP-12E UART Wireless WIFI Shield a nevedia, ako ho používať s Arduino. Tento návod bol pôvodne napísaný v portugalčine tu v Brazílii. Snažil som sa zo všetkých síl zabaliť
Automatické svetlá prepojené s monitorovaním dverí a dverí .: 5 krokov
Automatické svetlá spojené s monitorovaním dverí a dverí .: Zdá sa, že je veľmi ťažké nájsť rozvádzač v tme, ale tento projekt je pri riešení tohto problému skutočne nápomocný. Ak chcete poznať riešenie tohto problému, postupujte podľa nižšie uvedených krokov
Nočná lampa na schodisku - veľmi nízky výkon a 2 senzory: 5 krokov
Nočná lampa na schodisku - veľmi nízky výkon a 2 senzory: Postavil som túto nízkonapäťovú nočnú lampu na schodisku s dvoma infračervenými snímačmi pohybu, aby som mohol nainštalovať jediné zariadenie do polovice schodiska a spustiť ho buď tým, že niekto pôjde hore alebo príde. dolu schodmi. Tiež som svoj návrh veľmi znížil
Bezdrôtový RFID zámok dverí pomocou Nodemcu: 9 krokov (s obrázkami)
Bezdrôtový RFID zámok dverí pomocou Nodemcu: --- Hlavná funkcia --- Tento projekt bol postavený ako súčasť triedy sieťovej komunikácie na Universidade do Algarve v spolupráci s mojím kolegom Lu í s Santosom. Jeho hlavným účelom je ovládať prístup k elektrickému zámku pomocou bezdrôtového
Premeňte bezdrôtový smerovač na bezdrôtový predlžovač 2x prístupový bod: 5 krokov
Premeňte bezdrôtový smerovač na bezdrôtový predlžovač 2x prístupový bod: V dome som mal zlé bezdrôtové internetové pripojenie kvôli RSJ (kovový nosný lúč v strope) a chcel som zosilniť signál alebo pridať ďalší predlžovač pre zvyšok domu. Videl som predlžovače pre asi 50 libier v elektrickom