In de vorige artikelen hebben we de poolcontroller aangesloten op openHAB. De parameters voor de temperaturen kunnen eenvoudig worden ingesteld in de sectie Instellingen via de interface van de sitemap in openHAB. De regels reageren op deze wijzigingen.
Nu gaat het erom de bediening echt slim te maken: de bediening is automatisch en kan worden aangepast via Wi-Fi of internet.
Controle over het zwembad
We hebben drie modi geïmplementeerd voor het verwarmen van het zwembad:
Modus: Automatisch
De volautomatische modus schakelt de filterpomp in de tijd en verwarmt automatisch het zwembadwater tot een maximale temperatuur. Dit is echter slechts zolang de minimumtemperatuur in de warmteopslagtank niet wordt overschreden.
Modus: Boost
Vergelijkbaar met de "Auto"-modus, maar zonder rekening te houden met de minimumtemperatuur in de warmteopslagtank.
Modus: Handleiding
De pompen worden handmatig in- en uitgeschakeld via de app. Ongeacht regels en drempels.
De grenswaarden
De volgende drie parameters zijn nodig om de temperatuur van het zwembad te regelen:
- Maximale zwembadtemperatuur: Hoe warm moet het zwembad zijn?
- minimale warmteopslagtemperatuur: Welke temperatuur moet het water in de buffertank hebben op zijn minst dat het zwembad kan worden verwarmd?
- Hysteresis: Hoe groot moet de temperatuurafwijking zijn voordat de min/max-regels van invloed zijn?
Het slimme hart: pool.rules
De regels in de pool.regels zijn de regels van openHAB. Deze regels gebruiken de configuratiewaarden die door de instellingen kunnen worden ingesteld.
Hier worden de waarden van de temperatuursensoren vergeleken en vervolgens worden de radio-aansluitingen aangestuurd op basis van de hysterese. Hysterese is noodzakelijk zodat de pompen niet worden in- en uitgeschakeld bij zeer lage temperatuurverschillen. Een waarde van 0,5K is volledig voldoende gebleken.
De regels zijn verdeeld en dienen dus de individuele bedrijfsmodi.
Invoegmodule: weergavemodule
Om temperaturen te volgen, zelfs zonder app, hebben we een kleine monitoring applicatie in een oude schroefdoos. Deze module is gemaakt op basis van het LCD-scherm, dat ook werd gebruikt in een Blog artikel werd gepresenteerd.
Deze poolmonitor is gebaseerd op een ESP8266 en een LCD-scherm 16 x 2. Het ESP ontvangt de temperatuurwaarden - ook via MQTT - en werkt het display bij.
De broncode hiervoor bevindt zich ook in de coderepository en is afgeleid van de poolcontroller.
De behuizing is een oude schroefbak, die is opgevuld met wat vulmateriaal. Iets lastig was het gat voor de Micro-USB-connector. Misschien volgend jaar deze doos zal worden opgewaardeerd en uitgerust met een zonnecel. Dan kan het ook buiten bij het zwembad worden geïnstalleerd.
Open Source
Het doel vanaf het begin was om een project te maken op basis van open source. Natuurlijk is er weer een open source project gemaakt.
Het hele project is beschikbaar op GitHub:
https://github.com/stritti/smart-swimming-pool
Zo ziet de installatie van het systeem eruit met de auteur:
Conclusie
De poolcontroller is sinds mei in gebruik en heeft na enkele verbeteringen in de zomer betrouwbaar gewerkt.
Het grootste probleem was eigenlijk het gebrek aan controle of de Wi-Fi-verbinding nog steeds bestaat. We dachten altijd dat we ergens een lek in de code hadden, maar de ESP-controller verloor af en toe alleen de verbinding via de Wi-Fi. Nu draait de controller betrouwbaar, levert gegevens en regelt de pompen.
Sinds dit jaar is er een mooi warm zwembad en nog altijd genoeg warm water in het huishouden. Een project met een duidelijke meerwaarde in comfort met relatief weinig financiële betrokkenheid. Als gevolg hiervan heeft het project ook een zeer hoge De goedkeuringsfactor van de vrouw Bereikt.
Bekijken
Er zijn nog enkele mogelijkheden om het project de komende winter te verbeteren en uit te breiden. We denken aan
- Temperatuursensor direct op het zonnecircuit om te controleren of de verwarming in zonne- of verwarmingsmodus is
- Buitensensor voor omgevingstemperatuur en watertemperatuur met toevoer via zonnecellen
- Het besturingselement rechtstreeks in de ESP-code op de poolcontroller (alleen update van de configuratie en bewaking via MQTT)
- Meer beveiliging door mqtt-communicatie te versleutelen
- Meting van de waterkwaliteit (pH, chloor) door extra sensoren
- Neem de weersvoorspelling op om het buffergeheugen nog beter toe te wijzen
We kijken uit naar replica's, geïnspireerde projecten en suggesties voor verdere verbeteringen. Ook als pull requests op GitHub.
5 Reacties
Andreas Wolter
@Dirk Albers: der verlinkte Beitrag zum LCD bezieht sich auf den Uno mit ATmega328 Mikrocontroller. Daher passen die Pinnummern nicht. Diese muss man dann für den ESP abändern. Die Pins sind theoretisch frei wählbar. Sie müssen die Nummern dann aber in der Initialisierung des Objektes angeben. Schauen Sie dafür bitte in das Pinout des Mikrocontrollers.
Ich empfehle den Anschluss über den I2C-Adapter. Der wird an SDA und SCL verkabelt, dann muss aber auch eine andere Library eingebunden werden. Ein passender Beitrag dazu ist dieser hier: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/lcd-mit-fc113-und-esp32-boards
Grüße,
Andreas Wolter
Dirk Albers
Hallo, ein tolles Projekt!
Wie wird denn das Display mit dem ESP verkabelt? Das habe ich leider nicht gefunden. Nach dem Blogartikel zum Display in dem Tutorial soll man GPIO11 anschließen, den finde ich aber nicht auf dem Bord.
Danke für Hilfe. Gruß Dirk!
Patrik
Hallo,
Womit genau wird der solarkreislauf geschaltet? Mit einem stellantrieb oder ähnliches? Danke im Voraus :)
Stephan Strittmatter
Hallo Ingo,
leider sehe ich als Autor die Nachricht erst jetzt. Am besten du verscuhts mich mal über Twitter (@_stritti_) oder über das GitHub-Projekt (https://github.com/stritti/smart-swimming-pool) zu kontaktieren.
Viele Grüße,
Stephan
Ingo
Hallo,
es ist ein sehr interessanter Bericht. Habt ihr gut beschrieben. Könnten wir uns einmal zusammen unterhalten, da ich auch gerade an so etwas ähnlichem Arbeite, für ein Ideenaustausch?