Inhoudsopgave:
- Benodigdheden
- Stap 1: Zoutniveaudetector
- Stap 2: Programmeren van de ESP-07
- Stap 3: Definitieve bedrading
- Stap 4: Installatie van de sensor
- Stap 5: Levensduur batterij
- Stap 6: Zoutniveautabel
- Stap 7: E-mailherinnering
Video: Waterontharder Zoutpeilmeter - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Waterontharders werken met een proces dat ionenuitwisseling wordt genoemd, waarbij calcium- en magnesiumionen uit hard water worden uitgewisseld met natriumchloride (zout) via een speciale hars. Het water gaat in een drukvat waar het door de harsparels beweegt, en het calcium en magnesium worden vervangen door natrium. De harsparels raken uiteindelijk uitgeput en kunnen geen harde mineralen meer opnemen. Het herlaad- of regeneratieproces leidt een zoutwateroplossing door de harsparels die de hardheidsmineralen losmaken en onschadelijk naar de afvoer spoelen. De harsparels blijven verfrist en klaar om meer onthard water te maken.
Waterontharders met ionenuitwisseling zijn er in vele soorten en maten, maar ze hebben allemaal één ding gemeen: een pekelbak die om de paar weken met zout moet worden gevuld om een regelmatige toevoer van zacht water te garanderen. Waterontharders zijn niet bepaald aantrekkelijke apparaten en daarom worden ze verbannen naar een ontoegankelijke plaats, wat betekent dat een speciaal bezoek nodig is om het zoutniveau te controleren. Vaker wel dan niet, komt de cue voor het toevoegen van meer zout van leden van het huishouden die klagen over hard water. Een fit-and-vergeet zoutniveausensor is vereist die een herinnering kan sturen wanneer het zout in de ontharder bijna op is. In deze Instructable wordt een bereiksensor gebruikt om om de paar uur het zoutniveau in de waterontharder te meten en het resultaat wordt op ThingSpeak geplaatst. Wanneer het zoutniveau laag wordt, stuurt ThingSpeak een herinneringsmail om de pekeltank met zout te vullen. Alle componenten voor dit project zijn beschikbaar op eBay, zoals gewoonlijk komen de goedkoopste onderdelen uit Azië. Zelfs als je alle componenten moet kopen, bedragen de totale kosten ongeveer US $ 10. Een veelheid aan vaardigheden zoals solderen of het gebruik van de Arduino IDE zijn nodig om dit project te maken. Al deze technieken worden behandeld in andere Instructables en worden hier niet herhaald.
Benodigdheden
AA batterij houderVL53L0X variërend module BAT43 Shottky diode 100nF condensator 2 x 5k weerstanden 2 x 470 Ohm weerstanden FT232RL seriële adapter module AA formaat Lithium Thionyl Chloride Batterij ESP-07 microcontroller module Diversen, draad, doos etc.
Stap 1: Zoutniveaudetector
Een VL53L0X wordt gebruikt om het zoutoppervlak in de waterontharder te detecteren. De sensor werkt door een lichtpuls uit te zenden en de tijd te meten die nodig is om terug te reflecteren. De beste resultaten komen door het gebruik van een wit reflecterend oppervlak in het donker, precies wat we in de zoutbak hebben. De sensor zelf is erg klein en moeilijk te hanteren. Als zodanig kan het worden gekocht als een module met een I2C-interface. Dit maakt het veel gemakkelijker om verbinding te maken met andere microcontrollers zoals de Arduino of Raspberry Pi. Omdat de laser- en sensorvensters erg klein zijn, wordt er een laag huishoudfolie gebruikt om te voorkomen dat vuil het apparaat blokkeert. de module. Dit werd bereikt door de module tijdens het solderen, sensor omlaag, op een stuk hout te laten rusten om soldeer- of draadvormende bobbels aan de sensorzijde te stoppen.
Stap 2: Programmeren van de ESP-07
De bedoeling was om de zoutniveaumonitor op batterijen te laten werken en daarom werd gekozen voor een kale versie van de ESP8266-chipmodule om de stand-bystroom te minimaliseren en een batterijlevensduur van minimaal een jaar te geven. In tegenstelling tot sommige van de meer geavanceerde versies die spanningsregelaars en een USB-interface bevatten, moeten enkele extra componenten worden toegevoegd aan de kale ESP-07 die in dit project wordt gebruikt. Er is tijdelijk een seriële adapter aangesloten om de ESP-07 en de monitor te flashen de seriële poort tijdens het testen. Houd er rekening mee dat de seriële adapter wordt verwijderd zodra we blij zijn dat alles correct werkt, maak het niet te solide. Om de een of andere reden moesten de SDA- en SCL-lijnen worden verwisseld om de sensor te laten werken, probeer dit als het bereik op volledige schaal vastzit. Misschien een eigenaardigheid van Chinese productie? Een lithiumthionylchloride-batterij wordt gebruikt om dit project van stroom te voorzien. Het AA-formaat van deze batterij heeft een constante spanning van 3,6 V en een capaciteit van 2600 mAh, ideaal om de ESP-07 van stroom te voorzien. Deze batterijen zijn verkrijgbaar bij gespecialiseerde batterijleveranciers, maar niet in de gebruikelijke verkooppunten. Ik denk dat ze het grote publiek niet durven los te laten op een batterij van twee keer de normale spanning!
Wanneer de ESP-07 opstart, doen de pinnen vreemde dingen totdat de opstartroutine is voltooid. Als veiligheidsmaatregel zijn weerstanden opgenomen in de verbindingen naar de module-uitgangen om schadelijke stromen te voorkomen. De Arduino-schets voor dit project is bijgevoegd in het tekstbestand. Zoals gewoonlijk moet je het bewerken met je eigen routerreferenties en een API-sleutel van je ThingSpeak-account. Ook wordt een statisch IP-adres gebruikt om de wifi-verbindingstijd te versnellen en stroom te besparen. Dit kan inhouden dat de IP-adressen moeten worden aangepast aan uw netwerk. Let op komma's worden gebruikt in het IP-adres en geen punt! Er is een enorme hoeveelheid informatie op internet over flashen en het gebruik van de ESP8266 als je meer hulp nodig hebt. Samengevat gaat het flashen als volgt:
Start de Arduino IDE op de pc en zorg ervoor dat het ESP8266-bord is geïnstalleerd en geselecteerd. Mogelijk moet u de bibliotheken voor de sensor en WiFi installeren Laad in de onderstaande monitorschets en wijzig deze indien nodig Controleer de compilatie van de schets zonder fouten Sluit GPIO0 aan op aarde via een 5k-weerstandSlot batterij in de houder Sluit de USB-adapter aan Upload de code om te controleren of deze goed is aangesloten Verwijder de batterij en verwijder vervolgens de GPIO0-verbinding. Start de seriële monitor op en vervang de batterij U zou moeten worden begroet met de seriële afdrukken van de schets voordat de module in de slaapstand gaat
Door de cyclustijd te verkorten tot ongeveer 20 seconden wordt het debuggen veel gemakkelijker. Afhankelijk van uw router moet de verbindingstijd mogelijk worden aangepast om een betrouwbare verbinding te krijgen. Zodra alles werkt, kan de USB-adapter worden verwijderd en kan de monitor worden aangesloten voor onderhoud.
Stap 3: Definitieve bedrading
Als we denken dat de monitor is ingesteld zoals we hem willen, kan de bedrading worden opgeruimd zoals op de foto. De rode voedings-LED moet worden verwijderd, omdat dit een stroomverbruik is tijdens diepe slaap. Het kan voorzichtig worden verwijderd met een schroevendraaier of losgesoldeerd. Als het wifi-signaal aan de lage kant is, kan het bereik worden verbeterd door een externe antenne aan te sluiten. In dit geval moet de verbinding tussen de keramische antenne worden verwijderd zoals de LED. Er moet altijd een externe antenne zijn aangesloten als de ESP-07 wordt gebruikt zonder de keramische antenneverbinding.
Stap 4: Installatie van de sensor
De sensor moet boven het hoogste zoutniveau in de pekelbak worden gemonteerd. Bij deze installatie bleek het deksel van de waterontharder een handige plek om de sensor te positioneren. In het deksel is een klein gaatje geboord zodat de sensor het zoutniveau kan zien. Omdat het pekelmengsel zeer corrosief is, wordt een laag huishoudfolie gebruikt om het gat te bedekken en de sensor te beschermen. De batterij en ESP-07 kunnen ook naast de sensor op het deksel worden gemonteerd. Er is altijd de mogelijkheid om een externe antenne aan te sluiten als de wifi-signaalsterkte marginaal is. Bij deze installatie werden de sensor, ESP-07 en batterij gewoon op de bovenkant van het deksel gelijmd terwijl de waterontharder in een kast was weggestopt. Een goede zaak zou nodig zijn in meer blootgestelde situaties.
Stap 5: Levensduur batterij
Om de levensduur van de batterij te schatten, moeten we de stand-bystroom en stroom meten wanneer de monitor wakker is. Dit bleek vrij moeilijk omdat de ESP-07 gemakkelijk kan vastlopen bij het maken van wijzigingen, zoals het wijzigen van meterbereiken. De uiteindelijke oplossing was om een weerstand van 0,1 Ohm toe te voegen aan de voedingskabel en de stroom te meten met een scoop tijdens de wake-periode. Elke meting duurde 6,7 seconden met een gemiddelde stroom van 77mA. De slaapstroom werd gemeten door een diode en een weerstand van 5k parallel in de voedingskabel te plaatsen. De diode draagt de wekstroom, maar de lage stand-bystroom wordt gedragen door de weerstand. Dit gaf een standby-stroom van 28,8 uA. De slaaptijd in het programma is ingesteld op ongeveer 1 uur tussen metingen. Over een jaar gebruikt de monitor 250 mAh in stand-by en 1255 mAh wakker of 1505 mAh totaal. De 2600 mAh-batterij die in deze monitor wordt gebruikt, gaat gemakkelijk meer dan een jaar mee. De levensduur van de batterij kan nog verder worden verlengd door het zoutgehalte minder vaak te meten. Helaas kan de slaaptijd van de ESP-07 niet gemakkelijk langer dan ongeveer een uur worden gemaakt. Een manier om dit probleem te omzeilen is om de ESP-07 elk uur wakker te maken en daarna meteen weer in de sluimerstand te zetten. Er is een keuze om de modem niet wakker te maken en de grafiek laat zien dat dit de hoeveelheid stroomverbruik halveert. Door het zoutgehalte slechts 4 keer per dag te meten, kunnen we een batterijduur van ongeveer 5 jaar verwachten. Onderstaande code gebruikt het ESP8266 RTC-geheugen om op te slaan hoe vaak de module in diepe slaap is geweest. In deze schets zijn er 6 slaapperioden voordat een meting wordt uitgevoerd, wat 7 uur tussen metingen geeft. Uiteraard kan dit worden afgestemd op uw toepassing. Klik de batterij altijd stevig op zijn plaats, een onderbroken verbinding kan de ESP-07 blokkeren en de batterij leegmaken. De batterij moet enkele jaren meegaan voordat hij wordt vervangen met deze langere slaaptijden. Nogmaals, het is het beste om de module te testen met 10 seconden slaap, 7 uur is lang om te wachten om te controleren of het werkt…
Stap 6: Zoutniveautabel
De twee grafieken tonen het zoutniveau in de waterontharder en de wifi-signaalsterkte, een handig hulpmiddel voor het oplossen van problemen. De regeneratie van deze waterontharder is metergestuurd en omdat het een model met twee tanks is, kunnen de tanks op elk moment van de dag wisselen. De zoutniveaukaart geeft aan wanneer de regeneratie heeft plaatsgevonden en de tijd tussen de regeneraties geeft een idee van het waterverbruik. Deze monitor geeft niet alleen aan wanneer er meer zout nodig is, maar kan op een gemeten waterontharder ook overmatig waterverbruik signaleren. De VL53L0X heeft een bereik tot ongeveer 2 meter, afhankelijk van het reflecterende oppervlak. Andere toepassingen zijn mogelijk, zoals het monitoren van olie- of watertankniveaus waarbij de diepte in de loop van de tijd langzaam verandert.
Stap 7: E-mailherinnering
Herinneringsmails over een laag zoutgehalte kunnen vanuit ThingSpeak worden verzonden. Dit omvat het instellen van twee apps vanuit het APPS-menu, de eerste is een MATLAB-analyse die een e-mail opstelt en verzendt als het zoutniveau een gedefinieerde limiet overschrijdt. De andere App is een TimeControl waar je zelf kunt bepalen hoe vaak je het zoutniveau wilt controleren. Het instellen van de TimeControl App is vrij intuïtief, in dit geval wordt het zoutniveau dagelijks gecontroleerd door de MATLAB-analyse uit te voeren. Er wordt dagelijks een zeurende e-mail verzonden zodra het zoutniveau het lage niveau bereikt. De MATLAB-analyse die in deze Instructable wordt gebruikt, is hieronder bijgevoegd. Het moet worden bijgewerkt met uw eigen kanaal-ID en ApiKey. Ook moet het minimale zoutniveau voor uw tank worden ingevoegd in de 'if'-instructie. Hopelijk biedt dit voldoende details om e-mails te ontvangen zonder in de fijne kneepjes van ThingSpeak-codering te hoeven duiken.