Inhoudsopgave:
Video: Batterij-aangedreven schuurdeur- en vergrendelingssensor, zonne-energie, ESP8266, ESP-Now, MQTT - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
In deze Instructable laat ik je zien hoe ik een sensor op batterijen heb gemaakt om de deur- en vergrendelingsstatus van mijn externe fietsenstalling te bewaken. Ik heb geen netstroom, daarom heb ik hem op batterijen. De batterij wordt opgeladen door een klein zonnepaneel.
De module is ontworpen voor een laag stroomverbruik en werkt op een ESP-07S in diepe slaap die wakker wordt en elke minuut de deur- en vergrendelingspositie controleert. Wanneer de deur echter wordt geopend, wordt de module gewekt door een eenvoudig hardwarecircuit om onmiddellijk de 'deur open'-informatie te verzenden. De module communiceert via ESP-Now, waarbij de zendtijd zeer kort is en slechts weinig energie nodig is.
Mijn domotica die draait op Openhab en Mosquitto verwerkt de berichten en stuurt mij een alarmerend bericht via Telegram als het alarm is ingeschakeld.
Benodigdheden
Alle componenten worden gekocht bij Aliexpress.
- De ESP-07S-module is gekozen voor het eenvoudig aansluiten van een externe antenne om het ESP-Now-bereik te vergroten.
- TP4056 laadbord met batterijbescherming
- 18650 LiPo-batterij
- Reed-schakelaar (NEE om de deurpositie te bewaken)
- Contactschakelaar (monitorvergrendelingspositie)
- Zonnepaneel (6V, 0,6W)
- Transistoren, weerstanden, diode, connectoren (zie schema)
Stap 1: Hardware
Het as-built schema is als afbeelding bijgevoegd. Ik heb eerst een prototype gemaakt van het circuit op een breadboard. Daarna heb ik alle componenten op een perf-bord gesoldeerd.
Ik gebruik een ESP-07S ESP8266-module omdat deze een aansluiting heeft voor een externe antenne. Aangezien mijn fietsenstalling buiten staat, moet het wifi-signaal door een betonnen muur. Ik kwam erachter dat een externe antenne het bereik van de ESP-Now sterk vergroot. Logisch, want het is een wifi-signaal.
Voor de deursensor heb ik een reed-schakelaar gebruikt met botn NO en NC aansluitingen. Wanneer de deur gesloten is, opent een magneet die aan de deur is bevestigd de schakelaar. De module controleert elke 60 seconden de status van de deur en het slot, maar wanneer de deur wordt geopend, wil ik onmiddellijk op de hoogte worden gebracht, daarom heb ik een resetcircuit geïmplementeerd, zie hieronder.
Voor de slotsensor heb ik een contactschakelaar gebruikt met zowel NO als NC aansluitingen. Wanneer het slot gesloten is, opent de slotpen de schakelaar. Dus zowel de deursensor als de slotsensor zijn normaal geopend (NO).
De batterij wordt opgeladen via een TP4056-opladerbord met batterijbescherming bevestigd aan een klein 6V-zonnepaneel.
Hieronder zal ik enkele onderdelen van de schakeling toelichten.
Reset circuit
Het reset circuit met de 2N7000 Mosfet wordt aangesloten op de reset-pin van de ESP8266. Als de deur gesloten is, is het contact open, zowel de gate als de source van de transistor zijn hoog en de mosfet staat uit. De condensator die op de poort is aangesloten, heeft een positieve lading. De ESP8266 riet GPIO12 als HOOG = gesloten.
Wanneer de deur wordt geopend, is de bron van de mosfet verbonden met aarde. Aangezien de poort hoog is, wordt de mosfet ingeschakeld en trekt de reset-pin naar aarde, met als resultaat een reset van de ESP8266. De condensator wordt via R7 ontladen en schakelt dan de mosfet uit. Zie de screenshot van mijn oscilloscoop voor de lage puls van 50 ms. Na de puls start de ESP8266 op. De ESP8266 riet GPIO12 als LOW = open.
Als de deur weer dicht is, trekt weerstand R6 de source en GPIO12 omhoog.
Batterijbewaking
De accuspanning wordt uitgelezen via een spanningsdeler tussen VBat en GND. Ik wil echter geen permanente verbinding tussen VBat en GND, omdat dit de batterij leegtrekt. Daarom plaats ik een P-kanaal mosfet aan de hoge kant van de spanningsdeler en de poort van de mosfet wordt omhoog getrokken, dus de mosfet staat uit. Pas als GPIO14 laag is, wordt de mosfet ingeschakeld en kan de ESP8266 de spanning met de ADC regelen.
Stap 2: Software
De ESP8266-module bevindt zich meestal in de diepe slaapmodus om stroom te besparen.
Elke 60 seconden start de module op met wifi uitgeschakeld en meet de slot- en deurpositie en controleert of deze posities zijn gewijzigd ten opzichte van de waarden die zijn opgeslagen in het RTC-geheugen. Als een positie is gewijzigd, slaapt de module voor een minimale tijd en wordt wakker met WiFi ingeschakeld om de nieuwe positie via ESP-Now te verzenden. En natuurlijk worden de nieuwe posities opgeslagen in het RTC-geheugen. Als er niets is gewijzigd, slaapt de module gewoon weer en wordt wakker met wifi uitgeschakeld.
Zie mijn andere Instructable waarin ik uitleg hoe ik ESP-Now gebruik om berichten te verzenden en om te zetten in MQTT-berichten.
Als het 'OTA-circuit' handmatig wordt gesloten via een jumper, wordt de module wakker en maakt verbinding met mijn wifi-netwerk om te wachten op een OTA-update via ESP8266HTTPUpdateServer.
Elke 30 minuten wordt de spanning van de batterij gemeten en gepubliceerd.
Het werkt als een staatsmachine. De toestanden worden gedefinieerd in het programma dat op mijn Github is gepubliceerd.
STATE_CHECK: wakker worden met radio uit (WiFi uit), kijk gewoon of er iets is veranderd
STATE_INIT: wakker worden met radio aan (WiFi aan) en deur- en vergrendelingsstatussen verzenden
STATE_DOOR: word wakker met de radio aan, publiceer de deurstatus de volgende keer dat het opstart
STATE_LOCK: word wakker met radio aan, publiceer lockstate de volgende keer dat het opstart
STATE_VOLTAGE: wakker worden met radio aan, spanning publiceren de volgende keer dat het opstart
STATE_OTA 5: wakker worden met radio aan, ga naar OTA-modus
Stap 3: monteren
Ik gebruik schroefklemmen en DC mannelijke/vrouwelijke connectoren om mijn project te kunnen monteren en demonteren. Ik heb alle onderdelen in een klein ABS doosje gedaan, zie de foto's. Ik heb de onderdelen ingekapseld in Kapton-tape voor elektrische isolatie
Ik sluit het zonnepaneel aan via een mannelijke DC-stekker (5,5 x 2,1) met een 1N5817 diode die een lage voorwaartse spanning heeft.
De reed-schakelaar is in de doos gelijmd en een magneet is op de juiste positie op de deur gelijmd.
Het slotcontact wordt vanaf de zijkant ingevoerd, zie de foto.
Stap 4: Werkmodule
De ontvangen gegevens worden uitgelezen door mijn Openhab domotica. Als je wilt, kan ik de Openhab-bestanden posten.
ik monitor:
- De accuspanning (met persistentie dus ik zie de spanning in de tijd in een grafiek).
- De deur- en slotposities.
- De tijden dat de positie is veranderd.
Zo kan ik als ik ga slapen gemakkelijk zien of alle schuren op slot zijn.
Bij het begin van het gebruik werd de batterij opgeladen op een heldere dag en na een week of zo was de batterij volledig opgeladen. Nu in de herfst blijft de batterij opgeladen. Blijkbaar is de module erg zuinig en verbruikt hij veel minder energie dan een klein zonnepaneel opwekt. De stevige batterij heeft waarschijnlijk stroom voor een paar maanden duisternis. Eens kijken hoe de module presteert deze winter, wanneer de temperatuur in de schuur veel lager is.
Aanbevolen:
Een draagbare zonne-energiegenerator maken: 12 stappen
Maak een draagbare zonne-energiegenerator: was uw elektronica ooit leeg toen u onderweg was? camping of op een plek waar er geen stroom (Ac) was om ze weer op te laden? Nou, hier is een eenvoudig weekendproject dat ervoor zorgt dat je altijd een manier hebt om je mobiele telefoon te houden
Modulair zonne-weerstation: 5 stappen (met afbeeldingen)
Modulair zonne-weerstation: Een van de projecten die ik al een tijdje wilde bouwen, was een modulair weerstation. Modulair in de zin dat we de gewenste sensoren kunnen toevoegen door gewoon de software te wijzigen. Het modulaire weerstation is in drie delen verdeeld. Het moederbord heeft de W
Micro zonne-energiebank.: 3 stappen
Micro Solar Power Bank.: Dit project is een oplader voor zonnecellen op kleine schaal
Zonne-weerstation: 5 stappen
Zonne-weerstation: heb je ooit realtime weersinformatie uit je achtertuin willen hebben? Nu zou je een weerstation in de winkel kunnen kopen, maar die hebben meestal batterijen nodig of moeten op een stopcontact worden aangesloten. Dit weerstation hoeft niet aangesloten te worden op de
Zonne-irrigatiesysteem zonder batterij: 10 stappen
Zonne-irrigatiesysteem zonder batterij: in deze instructable wil ik uitleggen hoe ik een systeem heb gebouwd dat de planten water geeft wanneer dat nodig is, zelfs tijdens vakanties. De planten hebben water nodig afhankelijk van hoeveel vocht er in de lucht zit en is soms moeilijk houd er rekening mee dat je