Inhoudsopgave:

Ultra-low Power Kelder Overstromingsalarm Met ESP8266 - Ajarnpa
Ultra-low Power Kelder Overstromingsalarm Met ESP8266 - Ajarnpa

Video: Ultra-low Power Kelder Overstromingsalarm Met ESP8266 - Ajarnpa

Video: Ultra-low Power Kelder Overstromingsalarm Met ESP8266 - Ajarnpa
Video: Footage captures waterspout ripping through crowded beach #Shorts 2024, December
Anonim
Ultra-laag vermogen kelder overstromingsalarm met ESP8266
Ultra-laag vermogen kelder overstromingsalarm met ESP8266
Ultra-laag vermogen kelder overstromingsalarm met ESP8266
Ultra-laag vermogen kelder overstromingsalarm met ESP8266

Hallo, welkom bij mijn eerste instructable.

De kelder van mijn huis loopt om de paar jaar onder water om verschillende redenen, zoals zware onweersbuien in de zomer, hoog grondwater of zelfs een leidingbreuk. Hoewel het geen fijne plek is, maar mijn cv-ketel staat daar beneden en water kan de elektronische onderdelen beschadigen, dus ik moet het water zo snel mogelijk wegpompen. Het is moeilijk en ongemakkelijk om de situatie te controleren na een zware zomeronweer, dus besloot ik een ESP8266-alarm te maken dat me een e-mail stuurt in geval van een overstroming. (Wanneer de overstroming wordt veroorzaakt door hoog grondwater is het waterpeil meestal minder dan 10 centimeter wat niet schadelijk is voor de kachel en het is niet aan te raden om weg te pompen omdat het toch terugkomt en hoe meer je pompt, hoe meer grondwater er komt volgende keer. Maar het is goed om van de situatie op de hoogte te zijn.)

In deze toepassing kan het apparaat jarenlang in "slaap" zijn en als alles werkt zoals gepland, werkt het maar een paar seconden. Het gebruik van diepe slaap is niet praktisch omdat het te veel stroom trekt als we heel lang willen slapen en de ESP8266 kan maximaal ongeveer 71 minuten slapen.

Ik besloot om een vlotterschakelaar te gebruiken om de stroom van de ESP in te schakelen. Met deze oplossing wordt de ESP niet gevoed als de schakelaar open staat, dus het stroomverbruik is alleen de zelfontlading van de batterijen, waardoor het systeem jarenlang paraat staat om te alarmeren.

Wanneer het waterniveau de vlotterschakelaar bereikt, start de ESP normaal op, maakt verbinding met mijn WiFi-netwerk, stuurt me een e-mail en gaat voor altijd slapen met ESP. Deepsleep(0) totdat de stroom wordt uit- en weer ingeschakeld. Als het geen verbinding kan maken met wifi of de e-mail niet kan verzenden, gaat het 20 minuten in slaapstand en probeert het opnieuw totdat het is gelukt.

Dit idee is vergelijkbaar met de oplossing die Andreas Spiess in deze video beschrijft. Maar vanwege de aard van de overstroming en de vlotterschakelaar, hoeven we geen MOSFET toe te voegen om de ESP ingeschakeld te houden totdat het zijn taak heeft voltooid, omdat de vlotterschakelaar wordt gesloten als het waterniveau boven het triggerniveau komt.

Stap 1: Het schema:

Het schema
Het schema

Onderdelen

  • D1: BAT46 Schottky-diode voor wakker worden in diepe slaap. Ik heb betere ervaringen met Schottky-diodes dan weerstanden tussen D0 en RST.
  • Vlotterschakelaar: eenvoudige rietbuis van $ 1,2 en op magneet gebaseerde vlotterschakelaar van eBay. De ring met de magneet kan worden omgedraaid om te wisselen tussen hoog en laag vloeistofniveau. eBay-link
  • Batterijhouder: voor 2x AAA 1.5V batterijen
  • P1: 2x 2P 5.08mm (200mil) schroefklemmen voor het aansluiten van de draden van de accu en de vlotterschakelaar.
  • C1: 1000uF 10V condensator om de stabiliteit van de ESP te verhogen terwijl de radio aan staat. Houd er rekening mee dat als de ESP in diepe slaap is, de energie die in de condensator is opgeslagen voldoende is om hem 3-4 minuten van stroom te voorzien. In die periode kan de werking van de vlotterschakelaar de ESP niet opnieuw starten omdat de condensator hem ingeschakeld houdt terwijl hij in diepe slaap is. Dit is alleen interessant tijdens het testen.
  • U1: LOLIN / Wemos D1 Mini Pro ESP8266-microcontroller. Dit is de pro-versie met externe antenneaansluiting, wat handig kan zijn als deze in de kelder wordt geplaatst. Houd er rekening mee dat u de 0 ohm SMD "weerstand" opnieuw moet solderen om de externe antenne te selecteren in plaats van de standaard ingebouwde keramische antenne. Ik raad aan om LOLIN-microcontrollers te kopen bij de officiële LOLIN AliExpress-winkel, omdat er veel nep- of oude versie Wemos / LOLIN-borden zijn.
  • Perfboard: een protoboard van 50 mm * 50 mm is voldoende om op alle onderdelen te passen. De schakeling is te simpel om een printje van te maken.:)

Let op, de accu is aangesloten op de 3.3V ingang. Hoewel de D1 Mini een ingebouwde LDO heeft voor USB / LiPo-werking, hebben we die niet nodig als hij wordt gevoed door de 3V van 2xAAA-alkalinebatterijen. Met deze aansluiting kon mijn D1 Mini zijn taak ook voltooien met slechts 1,8 V voedingsspanning.

Stap 2: De code

Het programma kan leuker of eenvoudiger zijn, maar de onderdelen ervan zijn goed bewezen in mijn andere projecten.

De schets maakt gebruik van de volgende bibliotheken:

ESP8266WiFi.h: Standaard voor ESP8266-kaarten.

Gsender.h: Gmail-afzenderbibliotheek van Borya, kan hier worden gedownload.

Het programmaverloop is vrij eenvoudig.

  • ESP start.
  • Leest RTC-geheugen om te controleren of het een eerste start is of niet
  • Maakt verbinding met wifi met behulp van de slimme wifi()-functie. Dit maakt verbinding met WiFi met behulp van het MAC-adres (BSSID) en kanaalnummer van de router voor een snellere verbinding, probeert opnieuw zonder die na 100 mislukte pogingen en gaat na 600 pogingen in slaapstand. Deze functie is afgeleid van OppoverBakke's WiFi-stroomverbruiksspaarschets, maar zonder de verbindingsgegevens op te slaan in het RTC-gedeelte in deze toepassing.
  • Controleert de batterijspanning met de ingebouwde ESP-functies ADC_MODE(ADC_VCC) / ESP.getVcc(). Dit vereist geen externe spanningsdeler of bedrading naar A0. Perfect voor spanningen onder 3,3 V, wat bij ons het geval is.
  • Stuurt een alrt e-mail met Gsender.h. Ik heb variabelen en aangepaste tekst toegevoegd aan het onderwerp en de berichtreeksen om de batterijspanning, de verstreken tijd sinds de eerste detectie en advies over het vervangen van de batterij te rapporteren. Vergeet niet het e-mailadres van de ontvanger te wijzigen.

    • Slaapt

      • Als het lukt, slaapt het "voor altijd" met ESP.deepSleep(0); Fysiek zal het in de slaapmodus zijn totdat het waterniveau hoog is. Dit is technisch een paar uur of maximaal een paar dagen, waardoor de batterij niet leeg raakt met de weinige uA-slaapstroom. Als het water weg is, gaat de vlotterschakelaar open en wordt de ESP volledig uitgeschakeld en is het stroomverbruik 0.
      • Als het niet lukt, gaat het 20 minuten slapen en probeert het dan opnieuw. Het is mogelijk dat de stroom uitvalt in het geval van een zomeronweer. Het telt de herstarts en slaat deze op in het RTC-geheugen. Deze informatie wordt gebruikt om de tijd te rapporteren die is verstreken sinds de eerste alarmpoging. (Houd er rekening mee dat bij het testen met USB-voeding en seriële monitor, de RTC ook de cyclustellingswaarde tussen downloads kan behouden.)

Stap 3: Montage en installatie

Montage en installatie
Montage en installatie
Montage en installatie
Montage en installatie
Montage en installatie
Montage en installatie

Na het testen van de code op een breadboard, soldeerde ik het op een klein stukje perfboard.

Ik gebruikte 2 stuks 5,08 mm pitch 2-polige schroefaansluitingen aan elkaar gestikt, een vrouwelijke header voor de ESP, een condensator en een paar jumpers.

Houd er rekening mee dat de SMD-weerstand met het "0"-nummer naast de keramische antenne opnieuw op de lege pads ernaast moet worden gesoldeerd om de externe antenne te selecteren.

Daarna heb ik het geheel in een kleine IP55 elektrische aansluitdoos gestopt. De draden van de vlotterschakelaar worden aangesloten via een kabelwartel.

De doos is op een veilige hoogte geplaatst, waar het water er (hopelijk) nooit bij kan komen, dus ik heb een paar relatief dikke koperdraad van 1 mm ^ 2 (17 AWG) gebruikt om de vlotterschakelaar aan te sluiten. Met deze opstelling kon de ESP starten en het bericht verzenden, zelfs met een ingangsspanning van 1,8 V.

Na installatie staat deze stille schildwacht op wacht, maar ik hoop dat hij niet snel alarm hoeft te slaan…

Aanbevolen: