Cuprins:
- Provizii
- Pasul 1: Hardware - Circuit
- Pasul 2: Hardware - Carcasă
- Pasul 3: Software
- Pasul 4: Home Automation și Telegram
- Pasul 5: Îmbunătățiri și îmbunătățiri suplimentare
Video: Senzor de ușă alimentat de baterie cu integrare automată la domiciliu, WiFi și ESP-ACUM: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest instructable vă arăt cum am realizat un senzor de ușă alimentat de la baterie cu integrare de automatizare la domiciliu. Am văzut și alți senzori și sisteme de alarmă drăguțe, dar am vrut să fac unul singur.
Obiectivele mele:
- Un senzor care detectează și raportează deschiderea ușii rapid (<5 secunde)
- Un senzor care detectează închiderea ușii
- Un senzor care funcționează pe baterie și funcționează câteva luni pe o baterie
Hardware-ul și software-ul sunt inspirate din
- Tabloul de comandă al lui Kevin Darrah (TPL5111 și TPS73733).
- Acest video
Am realizat un senzor pentru ușa din față și cea din spate. Singura diferență este poziția led și comutatorul de alimentare extern (pe senzorul din spate).
Am făcut mai multe îmbunătățiri în timpul dezvoltării în hardware și software, se vede în fotografii.
Provizii
Am cumpărat componentele electronice de la Aliexpress, principalele părți:
- Baterie LiPo
- TPS73733 LDO
- TPL5111
- Comutator Reed
- MOSFET canal P: IRLML6401TRPBF
- Magnet
- Placă adaptor PCB pentru componente SMD și alta.
Pasul 1: Hardware - Circuit
Vedeți schemele atașate pentru circuit. Am lipit piesele SMD pe o placă de adaptor PCB și am lipit toate componentele pe o placă de perfecționare pe două fețe. Am conectat ESP-01 prin anteturi de sex feminin, așa că aș putea să-l elimin pentru a-l programa prin adaptorul prezentat în pasul 3 al acestui instructabil.
Circuitul funcționează după cum urmează:
- Când ușa este deschisă, TPL5111 primește o lovitură la pinul DELAY / M_DRV și activează TPS73733 LDO care alimentează ESP-01. Pentru această operațiune, EN / ONE_SHOT trebuie scăzut, a se vedea fișa tehnică a TPL5111.
- După ce programul a rulat (vezi pasul Software), ESP-01 trimite un semnal Terminat către TPL5111 care apoi dezactivează TPS73733, rezultând o stare de putere foarte mică pentru TPL5111 și TPS73733.
Folosesc comutatoare reed cu conexiuni NO și NC. Am conectat cablul NC, deoarece întrerupătorul reed trebuie să închidă circuitul atunci când magnetul este scos (ușa deschisă) și să se deschidă când magnetul este aproape (ușa închisă).
Pentru senzorul din spate am adăugat niște condensatoare și rezistențe când am descoperit unele instabilități, cu toate acestea instabilitatea a fost cauzată de software (esp_now_init) așa cum am descoperit mai târziu.
Pasul 2: Hardware - Carcasă
Am proiectat incinta în Autodesk Fusion360, inspirată de acest videoclip de „tipul cu accent elvețian”.
Fișierele STL din cele trei părți:
- Cutie
- Capac
- Suport magnet
sunt publicate pe pagina mea Thingiverse.
Pasul 3: Software
Programul este în Github al meu.
Fluxul programului este prezentat în imagine. Vedeți celălalt Instructable pentru explicații despre modul în care folosesc ESP-ACUM.
Când modulul este pornit, acesta încearcă mai întâi să trimită mesajul „DESCHIS” prin ESP-ACUM. Dacă acest lucru nu reușește, acesta trece la o conexiune WiFi și MQTT.
Am aflat că, cel puțin în configurarea mea, mesajul „ÎNCHIS” nu a fost trimis cu succes prin ESP-ACUM, așa că am eliminat acest lucru din program și folosesc doar WiFi și MQTT.
În timpul în care ușa este deschisă și modulul așteaptă închiderea ușii, se folosește de acest timp pentru a se conecta la WiFi și MQTT, deci atunci când ușa este închisă, trebuie doar să trimită tensiunea măsurată și un mesaj ÎNCHIS și apoi merge direct la culcare.
Programul verifică dacă mesajul închis este primit de către receptor printr-o ascultare a unui mesaj MQTT pe subiectul potrivit.
Pasul 4: Home Automation și Telegram
Senzorii de ușă comunică cu sistemul meu de automatizare la domiciliu Openhab de pe Raspberry Pi Zero.
Aplicații principale:
- Citiți starea ușii: DESCHIS sau ÎNCHIS.
- Alarmați-mă prin telegramă dacă este deschisă o ușă (Dacă alarma este pornită sau funcția Monitor este activată).
- Citiți ultima dată când a fost deschisă sau închisă o ușă.
- Numărați numărul de deschideri pe care le poate manipula un senzor de ușă înainte ca bateria să se epuizeze.
De exemplu, dacă suntem în vacanță și vecinul vine să udă plantele, primesc un mesaj. Vedeți videoclipul în prezentare.
Articolele mele Openhab, regulile și fișierele sitemap sunt în Github. În aceste fișiere puteți vedea, de asemenea, senzorul meu de ușă al magaziei, care folosește un întrerupător regulat cu fir și un comutator mic de contact (de capăt) de la o imprimantă 3D în deschiderea încuietorii (vezi imaginile).
Cum se folosește acțiunea Telegram în Openhab este descris aici.
Pasul 5: Îmbunătățiri și îmbunătățiri suplimentare
În ultimele luni am făcut următoarea îmbunătățire.
Manipulați deschiderile lungi ale ușilor printr-un semnal de impuls cu comutare automată
În timpul verii, lăsăm ușa din spate deschisă câteva ore când suntem acasă. ESP-01 care rulează cu o conexiune WiFi ar descărca apoi inutil bateria. Prin urmare, am inclus un comutator de pornire / oprire pentru a putea opri modulul în aceste situații.
Totuși, acest lucru a dus uneori la un modul oprit permanent (când am uitat să-l pornesc) și la o baterie descărcată după câteva după-amiezii a unei uși deschise și un modul în funcțiune (Când am uitat să îl opresc).
Prin urmare, am vrut să pot opri modulul prin intermediul software-ului după ce modulul a fost pornit pentru un timp predefinit (1 minut).
Cu toate acestea, în cazul în care pulsul „DONE” al ESP-01 a oprit TPL5111 când ușa a fost închisă, am aflat că TPL5111 nu a fost comutat de un impuls „DONE” în timp ce pinul DELAY / M_DRV era HIGH. Acest semnal HIGH pe pinul DELAY / M_DRV a fost cauzat de ușa deschisă și contactul NC al comutatorului reed conectat la tensiunea bateriei.
Deci, semnalul către pinul DELAY / M_DRV nu ar trebui să fie continuu HIGH, ci ar trebui să fie pulsat. În foaia de date TPL5111 puteți afla că ar trebui să aibă un impuls de> 20 ms. Am făcut acest semnal de auto-comutare prin intermediul unui mosfet cu canal P, un condensator și un rezistor de 10K și 300K, vezi schema inclusă.
Funcționează după cum urmează:
- Dacă contactul NC al comutatorului reed este închis, Poarta este LOW și Mosfet este pornit, rezultând un semnal HIGH pe pinul DELAY / M_DRV care activează modulul.
- Condensatorul este încărcat rapid, rezultând o creștere a tensiunii pe poartă.
- După aproximativ 20 ms, tensiunea de pe Poartă este 97% din tensiunea bateriei (300K / (300K + 10K) care este HIGH și Mosfet este oprit, rezultând un semnal LOW pe pinul DELAY / M_DRV.
- Când pinul DELAY / M_DRV este LOW, semnalul DONE al ESP-01 are ca rezultat o oprire a modulului.
Acest lucru este implementat în software; o buclă de timp nu numai că verifică dacă ușa este încă deschisă, dar verifică și dacă modulul nu este pornit prea mult. Dacă este pornit prea mult, publică o valoare NULL (starea nedefinită a ușii). În acest caz, nu știu dacă ușa este deschisă sau închisă și nu ating toate obiectivele menționate în prezentare, dar durata de viață a bateriei este mai importantă și de cele mai multe ori deschidem ușa din nou mai târziu în acea zi, rezultând o stare închisă confirmată a ușii.
Este important să utilizați un Mosfet cu canal P care este potrivit pentru domeniul de tensiune utilizat aici. Mosfet trebuie să fie complet pornit la un VGS de aproximativ - 3,8V și complet oprit la un VGS de aproximativ -0,2 V. Am încercat mai multe Mosfete și am aflat că un IRLML6401TRPBF funcționează bine pentru acest obiectiv în combinație cu rezistențele de 10K și 300K. Un condensator de 1 uF funcționează bine pentru a obține o lungime a impulsului de aproximativ 20 ms. Un condensator mai mare are ca rezultat un impuls mai lung, care nu este necesar, deoarece TPL5111 a fost activat. Am folosit osciloscopul DSO150 pentru a verifica tensiunile și lungimea impulsului.
Îmbunătățire planificată: actualizare OTA
Am de gând să încorporez o actualizare OTA prin următoarea procedură, care este deja parțial inclusă în software-ul actual
- Prin Openhab din NodeRed, public un mesaj „actualizare” reținut și un „subiect de actualizare”.
- Dacă modulul este pornit și conectat la serverul MQTT și abonat la „actualizarea subiectului”, acesta primește mesajul de actualizare.
- Mesajul de actualizare va împiedica oprirea modulului și pornește
- Prin intermediul site-ului web HTTPUpdateServer, puteți actualiza software-ul.
- Prin Openhab al NodeRed, public un mesaj „gol” reținut și un „subiect de actualizare”.
Îmbunătățire planificată: oprire hardware după un timp predefinit
În schema actuală, folosesc un rezistor de 200K între DELAY / M_DRV și GND al TPL5111. Aceasta pornește modulul pentru mai mult de 2 ore (a se vedea 7.5.3 din foaia de date TPL5111). Cu toate acestea, nu vreau ca modulul să fie pornit atât de mult timp, deoarece bateria este apoi descărcată. Dacă soluția software (a se vedea mai sus) nu reușește să oprească modulul sau mesajul de actualizare neintenționat setează modulul în modul de actualizare, modulul rămâne pornit pentru o lungă perioadă de timp.
Prin urmare, este mai bine să utilizați un rezistor mai mic între DELAY / M_DRV și GND al TPL5111, deci modulul este oprit după un timp scurt, de exemplu un rezistor de 50K rezultând un timp de pornire de 7 minute.
Recomandat:
Office alimentat de baterie. Sistem solar cu comutare automată a panourilor solare est / vest și turbină eoliană: 11 pași (cu imagini)
Office alimentat de baterie. Sistem solar cu panouri solare de comutare automată est / vest și turbină eoliană: proiectul: un birou de 200 de metri pătrați trebuie să fie alimentat cu baterie. Biroul trebuie să conțină, de asemenea, toate controlerele, bateriile și componentele necesare pentru acest sistem. Energia solară și eoliană vor încărca bateriile. Există o mică problemă de numai
Senzor de ușă și blocare alimentat de baterie, solar, ESP8266, ESP-Now, MQTT: 4 pași (cu imagini)
Senzor de ușă și blocare alimentat de baterie, Solar, ESP8266, ESP-Now, MQTT: În acest manual vă arăt cum am realizat un senzor alimentat cu baterie pentru a monitoriza ușa și blocarea stării magaziei de biciclete la distanță. Am alimentare cu rețea electrică, de aceea am alimentat cu baterie. Bateria este încărcată de un mic panou solar. Modulul este d
Deschidere ușă de garaj inteligentă DIY + Integrare asistent la domiciliu: 5 pași
Deschidere ușă ușoară pentru garaj DIY + Integrare asistent la domiciliu: Faceți ușoară ușa normală a garajului folosind acest proiect DIY. Îți voi arăta cum să-l construiești și să-l controlez folosind Home Assistant (prin MQTT) și să am capacitatea de a deschide și închide de la distanță ușa garajului. Voi folosi o placă ESP8266 numită Wemos
Senzor de umiditate pentru flori IOT WiFi (alimentat cu baterie): 8 pași (cu imagini)
Senzor de umiditate cu flori IOT WiFi (alimentat de la baterie): În acest instructiv vă prezentăm cum să construiți senzor de umiditate / apă WiFi cu un monitor de nivel al bateriei în mai puțin de 30 de minute. Dispozitivul monitorizează un nivel de umiditate și trimite date către un smartphone prin internet (MQTT) cu un interval de timp ales. U
Realizați o ușă automată de deschidere și închidere automată cu Arduino !: 4 pași
Creați o ușă automată de deschidere și închidere automată cu Arduino !: Ați dorit vreodată să vă deschideți ușa automat la fel ca în filmele SF? Acum puteți urmând acest instructabil. În acest instructable vom construi o ușă care se poate deschide și închide automat fără ca tu să atingi ușa. Senzori cu ultrasunete o