Automatische Dosierung für den Pool (Teil 3: ph und Redox mit Arduino messen)

Zu einer automatischen Pool-Dosierung fehlten mir noch die Mess-Elektroden und vor allem das, womit ich sie auslesen und die Werte zu FHEM übertragen kann. In FHEM kann dann die ganze Dosierlogik stattfinden und die Dosierpumpen entsprechend geschaltet werden. Das Auslesen von feinen elektrischen Spannungen auf den ph-/Redox-Elektroden ist nicht trivial. Es gibt auf dem Markt kaum fertige Geräte mit Netzanbindung, um ph/ORP-Werte auszulesen. Ich habe mich daher für einen Eigenbau mit Arduino entschieden und in den Wintermonaten wochenlang dran geschraubt.

Arduino-Uno-Clones und passende Erweiterungsmodule dazu bekommt man bei Aliexpress für sehr kleines Geld. Es gibt im Angebot auch ein ph-Verstärker-Modul mit einer BNC-Buchse für ca. 16 USD inkl. Versand, was ich letztendlich auch genommen habe. In diesem Modul werden die paar Millivolt, die eine Sonde produziert, in eine am Arduino-Analogeingang messbare Spannung von 0 bis 5 Volt umgewandelt (Anschlusspin Po). In dem Modul ist vermutlich auch etwas für eine Temperatur-Bereinigung des ph-Wertes verbaut (Pins To und Do). Wie das genau funktioniert, konnte ich jedoch nicht rausfinden. Es gibt auch andere  ph-Module für Arduino, die etwas mehr kosten, z.B. von Atlas Scientific, von Phidgets oder von Dfrobot.  Alle haben ohne weitere Zusätze wahrscheinlich ein Problem: Die fehlende galvanische Trennung. Spätestens sobald man zwei Elektroden an einem Arduino anschließt und im gleichen Wasser hält, liefern sie beide Schrottwerte, da die Ströme zwischen den Elektroden fließen. (Wobei ein Blogger aus Frankreich mit Phidgets-Modulen das irgendwie geschafft hat, ph- und ORP-Elektrode an einem Arduino zu betreiben.)

Ein fertiges Verstärker-Modul mit galvanischer Trennung habe ich nicht gefunden. Es gibt ein-zwei Projekte im Internet, aber nichts lieferbares. Einen Messverstärker selbst zusammenzulöten, erschien mir zu aufwändig, zumal ich nur rudimentäre Kenntnisse der Elektronik habe. Deswegen habe ich die galvanische Trennung so hergestellt, dass ich pro Elektrode einen eigenen Arduino Uno nehme und diesen über einen eigenen linearen Stromwandler auf AMS1117-5.0 Basis und einen isolierenden DC-DC-Wandler mit Strom versorge (ich habe die Murata-Module NME0505SC mit 1 Watt genommen). Somit wird jeder Arduino Uno als Ganzes schon in der Stromversorgung galvanisch entkoppelt. Die Versorgungsspannung muss übrigens auch sehr stabil sein, da sonst die analogen Readings des Arduino, die die Versorgungsspannung als Referenz nehmen, driften. Deswegen ist jeweils ein eigener linearer Regler vorgeschaltet.

Die beiden Arduinos mit Verstärker-Modulen machen bei mir wenig anderes als die analogen Eingänge zu lesen, die Werte zu glätten und mit den eigenen sehr günstigen 433MHz-Radio-Modulen rauszufunken. So bleibt die galvanische Trennung intakt. Eine Temperatur-Kompensation habe ich gar nicht implementiert, denn diese ist im ph-Bereich um 7.0 eh kleiner als jede Messtoleranz. In den Mess-Arduinos habe ich auch die Kalibrierungslogik für die Elektroden einprogrammiert. Für den eigentlichen Kalibrierungsvorgang haben diese Module zwei Taster (für Kalibrierpunkte ph 7.0 und ph 4.0 – man kann natürlich beliebige andere Werte einprogrammieren) bzw. einen Taster (Kalibrierpunkt ORP 465 mV) bekommen. Somit ist die Kalibrierung super einfach: Die Elektrode in die Pufferlösung reinhalten, bis sich der Wert stabilisiert, und einmal drücken. Einen Redox-Verstärker habe ich übrigens mit einer kleinen Modifikation aus einem ph-Verstärker gemacht. Die ph-/ORP-Sonden liefern ja beide Millivolts, nur in etwas unterschiedlichen Ranges.

Ein dritter Arduino Uno empfängt bei mir dann auf 433MHz die ph- bzw. Redox-Werte von den beiden Mess-Arduinos. An der Nummer Drei werden drahtgebunden auch andere Sensoren angeschlossen: für Druck, Temperatur und Durchfluss. Mit einem Ethernet-Shield für Arduino wird hier auch ein minimalistischer Webserver aufgemacht und FHEM kann alle Werte ablesen. Für eine stabile Internet-Verbindung musste ich dem W5100-Chip auf dem Ethernet-Shield die Beine Nr. 64 und 65 durchschneiden. So läuft er fest auf 10 Mbit/Fullduplex und nicht im Auto-Modus, was zumindest mit meiner Fritzbox 7390 oft zu Aussetzern geführt hatte. An diesem dritten Arduino habe ich auch ein I2C 20×4-LCD-Display angeschlossen, wo die Werte permanent visialisiert werden.

Ein großes praktisches Problem schon beim Messen im Glas Wasser war das Rauschen. Vor allem die Schaltnetzteile induzieren Störungen auf die sensiblen Elektroden und hauptsächlich auf ihre Kabel. Die abgelesenen Werte zeigen im Ergebnis eine große Streuung von bis zu einigen Prozent. Ich habe dann per Zufall rausgefunden, dass die Streuung wesentlich geringer ausfällt, wenn man den Minuspol des Gleichstromausgangs vom Netzteil einfach erdet. Zum Befestigen der Komponenten im Gehäuse hat sich eine transparente 2mm-PVC-Platte als sehr praktisch erwiesen. Ein Gehäuse mit transparentem Deckel erspart Ausschnitte für LCD. Bei Fragen zu Details und Verbesserungsvorschlägen immer gern.

Die ersten Experimente mit Arduino und ph-Modul
Die ersten Experimente mit Arduino und ph-Modul
Zwischenstufe: Zwei Arduinos, zwei Elektroden und ihre galvanische Trennung mit DC-DC-Wandlern
Zwei Arduinos, zwei Sonden und galv. Trennung
Vorläufige Endausbaustufe für meinen Auslesecomputer
Vorläufige Endausbaustufe für meinen Auslesecomputer
Messverstärker für ph-Elektrode
Messverstärker für die ph-Elektrode
ph-Arduino mit eigenem Stromregler, Kalibrierbuttons und Funkmodul auf einem Proto-Shield
ph-Arduino mit Zusätzen auf einem Proto-Shield
Arduino mit galvanischer Trennung und PH-Messmodul
Arduino mit Anschluss und  PH-Messmodul

Automatische Dosierung für den Pool (Teil 2: Messstrecke)

Nur mit Dosierpumpen wird meine selbstgebaute Dosieranlage nicht automatisch dosieren können. Man braucht mind. eine ph- und eine Redox-Elektrode, um die Wasserwerte zu messen und danach zu steuern. Die sensiblen Sonden dürfen nicht einfach im Hauptstrom der Filterpumpe eingetaucht werden, sondern brauchen eine Messstrecke mit einem geringeren Durchfluss. Die günstigste Messzelle für zwei Elektroden auf dem Markt bekommt man als Ersatzteil zur Swimtec-Dosieranlage immerhin für 44 EUR. Dazu braucht man noch 8/6-mm-PVC-Schlauch, entsprechende Verschraubungen und kleine Kugelhähne mit 1/4″-Außengewinde.

Die Messzelle macht einen soliden Eindruck. Sie ist für Elektroden mit einem PG-13,5-Gewinde gedacht, die man direkt einschrauben kann. Wenn man günstigere Elektroden ohne Gewinde nimmt, kann man entsprechende Kabelverschraubungen (PG 13,5) nehmen und die Elektroden mit 12mm-Schaft bequem dareinklemmen. Man muss dann nur in der Rückwand der Messzelle etwas wegschleifen, damit sich die Kabelverschraubungen komplett einschrauben lassen. So habe ich das gemacht. Zur Abdichtung immer Teflonband reindrehen und zusätzlich passende O-Ringe drauf. Bei eBay findet man alles.

Die Wasserentnahme ist auf der Druckseite der Pumpe vor den Dosierventilen. Hier öffne ich den Kugelhahn komplett, damit in der Zelle etwas Überdruck gibt und keine Luft angesaugt wird. Der Wasserrücklauf ist auf der Saugseite der Filterpumpe. Es gibt da günstigerweise eine 1/4″-Ablassschraube. Hier regele ich mit dem Kugelhahn, wie viel Wasser durch die Zelle geht. Swimtec empfiehlt 30-60 l/h für die Messzelle. Beim Einstellen hilft ein Durchflussmesser. Es gibt analoge und digitale sehr günstig aus China. Glücklicherweise kommt bei mir keine Luft in die Messzelle rein. Auch nicht beim Stillstand oder beim Rückspühlen. Das ist oft ein ernstes Problem, denn die Sonden dürfen nie trocken werden. Beim Poolreinigen mache ich zur Sicherheit die Messstrecke dicht, denn die Luft aus der Messzelle rauszubekommen, geht nur indem man die Elektroden wieder aufschraubt.

Wasserentnahme für die Messstrecke in der Düsenleitung
Wasserentnahme für die Messstrecke
Durchflussmesser und die Messzelle (noch ohne Elektroden)
Durchflussmesser und die Messzelle
Rücklauf des Messwassers auf der Saugseite der Pumpe
Rücklauf des Messwassers auf der Saugseite der Pumpe

Automatische Dosierung für den Pool (Teil 1: Dosierpumpen)

Über den Winter habe ich mir Gedanken gemacht, wie ich im Pool eine automatische Chemie-Dosierung einrichten kann. Üblich in Dosieranlagen ist die Nutzung von 12%-Natriumhypochlorit (Flüssigchlor) als Wasserdesinfektionsmittel und 50%-Schwefelsäure als PH-Senker. Beides ist Gefahrgut, kann aber trotzdem im Internet bestellt werden. Komplettsysteme für Dosierung kosten saftige Summen, deswegen baue ich das mit Hilfe vieler Infos aus den Foren selbst.

Die Verrohrung im Poolhäuschen musste ich eh umbauen, da der alte Astral-Behälter für Chlortabletten raus muss. Dafür kam ein Rohrabschnitt rein, in dem zwei Impfventile (3/8″), eine Tauchhülse für Temperatursensor (1/2″) und ein Anschluss für die Messstrecke (1/4″) gesetzt wurden. Mit Klebeabzweigen ist das auch sehr kompakt. Es entstand sogar Platz für ein großes Regal, auf dem zwei Chemiekanister in IKEA-Plastikwannen hingestellt werden. Alles bleibt superkompakt und passt weiterhin in das kleine Häuschen. Nicht optimal: Die Chemikalien müssen bei mir ggf. durch den Solarkollektor, bevor sie im Pool landen, da der Abzweig zum Kollektor erst im Poolschacht kommt. Aber das kann ich durch die Steuerung heilen: Einfach während der Dosierung (plus eine halbe Minute) das Solarventil öffnen.

Die Dosierpumpen von Seko sind relativ teuer, da sie mit stark konzentrierter Chemie umgehen müssen. Hier werden pro Pumpe mit Impfventil und Schläuchen ca. 125 EUR fällig. Außerdem muss der Peristaltikschlauch alle 1-2 Jahre erneuert werden. Ich steuere die Dosierpumpen wie auch andere Geräte mit schaltbaren FritzDect-Steckdosen an. Die Pool-Steuerung in FHEM prüft dabei möglichst sorgfältig, dass die Pumpe grade im Filterbetrieb läuft (und nicht etwa beim Rückspülen) und dass nicht gleichzeitig Chlor und Säure eingespritzt werden, jedes Mal wenn die Dosierung in kleinen Häppchen startet. Zur zusätzlichen Absicherung gegen Dauerdosierung  sind noch Einschaltwischer-Relais (Finder 80.21.0.240.0000) dazwischengeschaltet. Ich habe sie so eingestellt, dass sie nach max. einer Minute Dauerbetrieb die Dosierpumpen abschalten. Ein Test mit Wasser hat gezeigt, was aus dem Impfventil in etwa rauskommt: 22 ml pro Minute. Solange ich keine PH/ORP-Messeinrichtung habe, dosiere ich Chlor nach Gefühl und überprüfe mit DPD-Tabletten. Beim zugedeckten Pool reichen pro Tag insg. ca. 3-5 min Dosieren, um den Chlorgehalt im Wasser zu halten, also etwa 70-110 ml.

Neue Verrohrung mit Abzweigen kleben
Neue Verrohrung mit Abzweigen kleben
Impfventile und Chlor-Kanister in Aktion
Impfventile und Chlor-Kanister in Aktion
Seko-Dosierpumpen und ihre Ansteuerung mit FritzDect
Seko-Dosierpumpen und Steuerung mit FritzDect

Wasser im Pool komplett erneuern

Da ich dem Poolwasser über zwei Sommer fast 50 Chlortabletten je 200 g verfüttert habe, hat sich sicherlich ein hohe Konzentration von Cyanursäure im Wasser gebildet und die Wirksamkeit des Chlors ließ merkbar nach. Mit dem Chlorrechner kann man diesen Effekt auch genauer nachrechnen. Da ich dieses Jahr eh auf automatische Chlordosierung mit Flüssigchlor umstellen will (keine Cyanursäure mehr), schien mir ein kompletter Wassertausch mehr als sinnvoll.

Auch wenn ich keinen Bodenabfluss habe, geht das Wasser ablassen und gleichzeitig den Winterdreck absaugen relativ einfach mit der Poolpumpe. Ich habe ein Schwimmschlauchende mit einer dünnen Dichtung aus dem alten Gummihandschuh einfach ins Skimmerloch eingesteckt und die Pumpe nur von diesem Skimmer saugen lassen. Der Dreck landet direkt im Pumpen-Vorfilter, man muss ihn deswegen regelmäßig reinigen.  Mit dem Stuhltrick ließ sich das Wasser binnen weniger Stunden auf ca. 1-2 cm absaugen. Das restliche Wasser hab ich dann mit einer Schaufel und Eimer rausgeholt. Die letzten 2-3 Eimervoll kann man effektiv mit einem Nasssauger absaugen.

Dann kam die große Reinigung. Bis auf die sehr hartnäckigen braunen Pünktchen auf dem Boden (keine Ahnung, woher sie massiv im Winter vor einem Jahr kamen), war alles easy mit einer weichen Bürste und Radierschwamm zu reinigen. Gegen die Pünktchen musste ich die Poolfolie stundenlang mit einer Algenbürste aus Metall schrubben. Nebenbei festgestellt: Bei einem LED-Scheinwerfer ist das Glas gesprungen. Schade, er hat noch gut funktioniert, selbst als Wasser offensichtlich schon drin war. Zum Wiederbefüllen habe ich mir diesmal 70 Meter Feuerwehrschlauch gekauft (leider gab’s das nicht zu mieten), an ein Standrohr  angeschlossen und meine 44 m³ waren binnen 6 Stunden wieder drin.

Wasser mit der Poolpumpe ohne Bodenablauf absaugen
Wasser mit der Poolpumpe absaugen
Mit dem Stuhltrick geht das auf 1-2 cm
Mit dem Stuhltrick geht das auf 1-2 cm
So leer war es im Pool schon lange nicht
So leer war es im Pool schon lange nicht
Die hartnäckigen braunen Pünktchen auf dem Boden
Die hartnäckigen braunen Pünktchen auf dem Boden
70m Feuerwehrschlauch und Wasser Marsch
70m Feuerwehrschlauch und Wasser marsch!

Wand-PC für Smart Home mit FHEM und Tablet UI

Über die letzten Wochen habe ich mir aus dem ausgedienten Nexus 7 mit Android ein Tablet mit allerlei nützlichen Infos und Buttons für die Diele gebastelt. Die FHEM-Zentrale nutze ich ja bereits für meine Poolsteuerung. Als schönes Frontend dazu eignet sich Tablet UI hervorragend. Danke vielen fertigen Widgets, Icons und Beispielen kann man sich mit etwas HTML-Kenntnissen eine passende Oberfläche schnell zusammenstellen.

Tablet UI läuft auch sehr gut in der Android-App WebViewControl. Damit ließen sich noch weitere schöne Sachen realisieren wie Sprachansagen mit Text-to-Speach. Damit die Gäste nicht an anderen Apps rumspielen, habe ich die WebViewControl mit der kostenlosen App Mobilock Kiosk eingesperrt.

[Update 15.02.2016] Ich lasse die Tablet-UI-Seite jetzt in meiner speziell für Wandtablets entwickelten Android-App Fully Fullscreen Browser laufen. Damit kann die ganze Tabletfläche genutzt werden. Dank dem Kiosk-Modus in der App können die Gäste auch nicht mit anderen Apps oder den Einstellungen auf dem Tablet rumspielen. Für Sprachansagen mit Text-to-Speach nutze ich AMAD. [/Update]

Das Tablet habe ich mit 3M-Klettband-Klebepads an eine Kunststoffplatte gehängt. Es hält ohne irgendwelche Halterung bombenfest, kann aber auch mühelos abgenommen werden. Der Stromverbrauch mit einem eingeschalteten Bildschirm liegt bei ca. 4 Watt. [Update 10.02.2016] Ich schalte den Bildschirm mit einem Funkbewegungsmelder über FHEM und AMAD-Modul nur an, wenn jemand vorm Tablet steht. Dann geht der Verbrauch des Wand-Tablets auf unter 2 Watt runter.[/Update]

Als Funktionen habe ich zur Zeit folgendes reinimplementiert:

  • Datum und Uhrzeit
  • Alle wichtigsten Werte aus der Wetterstation inkl. Taupunkt und Windchill sowie Trends
  • Wettervorhersagen (aus proplanta.de u.A.)
  • Unwetterwarnungen
  • Frostwarnung mit akustischer Benachrichtigung
  • Animierter Regenradar (aus niederschlagsradar.de)
  • Lezte Anrufe (aus der Fritzbox) mit Reverse-Search der Rufnummern
  • Sonnen-/Mond-Zeiten, Mondphase
  • Poolwasser– und Solartemperatur, andere Poolwerte
  • Abfallkalender mit optischer und akustischer Benachrichtigung
  • QR-Code für Gäste-WLAN (das QR-Scannen vom Tablet geht leider nur schlecht 🙁 )
  • Buttons zum manuellen Lichtschalten im Gartenhaus und im Pool
  • Aktuelle Fahrtzeiten zur Arbeit (aus Google Maps)

Ich bin sehr begeistert, was in der Community für tolle Ideen für FHEM und Tablet UI bereits gibt. Ja, das ist alles kostenlos und flexibel erweiterbar und ja, da ist sehr viel Bastelarbeit drin. Ich bin auch sicher, dass kein kommerzielles System all diese Funktionen auch langfristig in einem Produkt wird liefern können. Danke an Jürgens Technikwelt für viele gute Ideen und Lösungen.

Wand-PC mit Tablet UI und FHEM
Wand-PC mit Tablet UI und FHEM

Zum Traumhaus und -garten mit Plan, Durchblick und diesem Baublog

QR Code Business Card