nachdem meine kleine Arduino Poolsteuerung nun soweit funktioniert, würde ich gerne noch etwas dazu basteln.
Ich steuere mittels eines ESP8266 2 Relais, welche die Filterpumpe und die Poolscheinwerfer ein und aus schalten. Gesteuert wird das per NodeRed, MQTT auf einem Raspi.
Das funktioniert soweit sehr gut. Nun ist es aber so, dass sich die Poolpumpe auch durch die Niveauregelung (PAUSCH: NIVPOOL: der Überlaufbehältersteuerung NIVPOOL), die unabhängig von meiner Steuerung (welche nur eine Zeitsteuerung ist) ist, eingeschalten werden kann. Wenn ein z.B. gewisser Wasserstand im Ausgleichsbehälter überschritten wird, dann schaltet sich die Pumpe ein. Wenn ein gewisser Wasserstand unterschritten ist, schaltet sie sich aus, etc.
Nun hätte ich gerne ein Feedback, damit ich in NodeRed anzeigen kann, ob die Pumpe nun läuft, und zwar unabhängig von der Stellung das Relais.
Mir wäre die einfachste Lösung am liebsten
Natürlich könnte man einen Strömungsschalter einbauen, aber dazu muss ich in die Verrohrung eingreifen.
Eventuell ein Sensor, der erkennt, wenn durch das Kabel zur Pumpe Strom fließt, oder ein Mikrofon, welches auf das Geräusch der Pumpe reagiert und dann ein Signal zum ESP8266 schickt.
In die Niveauregelung möchte ich nicht unbedingt eingreifen. Sicher könnte man da irgendwo den Relaistatus der Steuerung abgreifen, aber das Ding ist nicht ganz so billig und ich möchte da nicht dran herumbasteln.
Hat vielleicht wer eine gute Idee, wie ich das am einfachsten gelöst bekomme?
Denke, Stromaufnahme wird am einfachsten sein - die Schaltung wird bereits im Trockenem verbaut sein und Strom ist massig vorhanden.
Mikro auf der Pumpe ist Mal kultig, gefällt mir!
Hätte eher an einen Hall-Sensor gedacht.
Wie sieht Das denn nun bei Dir aus?
Wenn die Niveau-Regelung AUS sagt, Du aber gerade per Arduino AN befiehlst?
Oder ist Das eine separate Pumpe?
Wie ich es verstanden habe ist nicht die Funktion der Pumpe zu kontrollieren (dh. ob sie nicht kaputt ist) sondern ob sie angesteuert wird oder nicht.
Noch einfacher ist ein 230VAC Relais paralell zur Pumpe schalten. So hat man einen isolierten Kontakt der die Spannungsversorgung der Pumpe wiederspiegelt.
Manchmal ist der Schwimmerschalter direkt an der Pumpe montiert, dann gehts nur über die Stromaufnahme.
Mittlerweile gibts da auch schöne Dinger mit Hallsenoren.
Wenn es sich nur um "Pumpe läuft" dreht, dann könne man sich bei den Master-Slave Steckdosen was abschauen, oder gar nutzen.
Erspart einem dann Bastelkram im 235V Bereich.
Danke für die Antworten und Vorschläge.
Es ist so, dass die Niveauregelung und meine Steuerung die selbe Pumpe steuern und das unabhängig voneinander.
Ich schalte die Pumpe zu bestimmten Zeiten ein und aus. Die Niveauregelung schaltet sie abhängig vom Wasserstand im Ausgleichsbehälter ein und aus.
Wenn meine Zeitsteuerung die Pumpe ein schaltet, dann kann die Niveauregelung die Pumpe aus schalten, wenn ein Mindestwasserstand unterschritten ist. Das ist ein Trockenlaufschutz. Wenn meine Zeitsteuerung die Pumpe ausschaltet, dann kann die Niveauregelung sie einschalten, sobald ein Hächstwasserstand erreicht ist, damit das Wasser aus dem Ausgleichsbehälter wieder in den Pool gepumpt wird, wenn man außerhalb der Pumpenlaufzeit badet.
Es geht mir nun darum zu erkennen, wenn die Niveauregelung in meine Zeitsteuerung eingreift. Idealerweise so, dass ich auch erkenne, ob die Pumpe läuft. Wenn ich z.B. nur das Relais der Niveauregelung abgreife, welches die Pumpe schaltet, dann erkenne ich zwar, dass die Pumpe laut Niveauregelung nun laufen sollte oder nicht, aber ich weiß nicht, ob sie das auch tatsächlich tut oder ob sie vielleicht steckt oder defekt ist.
Hallsensor klingt interessant. Gehe ich Recht in der Annahme, dass ich den außen am Pumpenkörper anbringen kann und er erkennt, ob sich innen der Rotor bewegt? Das wäre natürlich ideal für meinen Zweck.
Ich muss mal schauen, ob ich nicht eh einen in der Bastelkiste liegen habe. Dann probiere ich es einfach mal aus.
Mir ist klar, dass ein Hall-Sensor Magnetfelder misst. Deshalb dachte ich auch, man könne damit das Magnetfeld des Rotors in der Pumpe messen, wenn sich die Pumpe dreht. Wenn ich lediglich den Stromfluss im Kabel messe, dann erkenne ich da zwar, dass Strom fließt, aber nicht, ob die Pumpe sich tatsächlich dreht. Im Normalfall ist das ja auch deckungsgleich. Ich hatte aber schon Fälle, wo die Pumpe nicht anläuft, wenn man sie einschaltet, weil sie steckt. Das ist bisher auch nur jeweils bei der Erstinbetriebnahme nach dem Winter passiert. Dann muss ich kurz manuell nachhelfen. Die Pumpe hat außen ein Flügelrad, welches wohl der Kühlung dient. Dieses ist durch ein Schutzblech abgedeckt und wenn man das abnimmt, kann man das Flügelrad anstupsen.
Wie gesagt, passiert das nur bei Erstinbetriebnahme nach dem Winter. Deshalb wird es reichen, wenn man misst, ob das Kabel Strom führt.
Werde mich also mal mit dem Hall-Sensor beschäftigen.
Eventuell könnte auch sowas funktionieren?
Dann könnte ich auch gleich den Stromverbrauch messen.
Du brauchst doch nur zu prüfen, ob an der Pumpe Spannung anliegt oder nicht.
Ganz einfach kannst du das machen, indem du der Pumpe ein 5V Netzteil parallel schaltest, und die Spannung auf einen GPIO schaltest.
Die habe ich in 5V und 3.3V und die verwende ich um meine Arduinos und ESP8266 mit Spannung zu versorgen.
Da muss ich jetzt nur am Ausgang der Niveauregulierung, wo die Pumpe dran hängt so ein Teil anschließen und den Ausgang an einen GPIO des ESP8266. Genial einfach.
Das kann ich dann auch theoretisch auch gleich am Ausgang zum Magnetventil für die Wassernachfüllung und kann dann auch erkennen, wenn das Magnetventil offen ist.
Werde das mal so machen. Danke für den super Tipp.
helste:
Die Pumpe hat außen ein Flügelrad, welches wohl der Kühlung dient.
Wenn Du Flügel reflektierend und nicht reflektierend machst und mit einer Reflexlichtschranke auswertest, bekommst Du eine Information, ob sich die Pumpe dreht.
Ja, die Flügel hatte ich auch schon ins Visier genommen. Da gäbe es ein paar Möglichkeiten, die Bewegung abzugreifen. Habe die aber dann als zu kompliziert verworfen. Mit Abdeckung drauf ist das schwer zugänglich und ohne Abdeckung möchte ich das nicht unbedingt laufen lassen, auch wenn da sowieso niemand ran kommt.
themanfrommoon:
Du brauchst doch nur zu prüfen, ob an der Pumpe Spannung anliegt oder nicht.
Ganz einfach kannst du das machen, indem du der Pumpe ein 5V Netzteil parallel schaltest, und die Spannung auf einen GPIO schaltest.
Das ist auch nicht viel anders als ein relais paralell zur pumpe schalten, mit dem problem daß elektronische Schaltungen es gar nicht gerne haben Spanung an Eingängen zu bekommen wenn sie keine Spannungsversorgung haben.
uwefed:
Das ist auch nicht viel anders als ein relais paralell zur pumpe schalten, mit dem problem daß elektronische Schaltungen es gar nicht gerne haben Spanung an Eingängen zu bekommen wenn sie keine Spannungsversorgung haben.
Du meinst, wenn das ESP8266 mal ohne Strom ist und dann an dem GPIO eine Spannung anliegt?
Wenn das schlecht ist, dann ist die Lösung mit dem Netzteil allerdings wirklich nicht ideal.
220V Relais habe ich jetzt keines rum liegen, aber ich kann ein Netzteil verwenden und anstatt es direkt an den GPIO Pin zu legen, kann ich damit ein Relais schalten, welches im Prinzip einen Schalter am GPIO simuliert.
Damit erkennst Du aber nicht ob dei Pumpe wirklich dreht.
helste:
Mir ist klar, dass ein Hall-Sensor Magnetfelder misst. Deshalb dachte ich auch, man könne damit das Magnetfeld des Rotors in der Pumpe messen, wenn sich die Pumpe dreht. Wenn ich lediglich den Stromfluss im Kabel messe, dann erkenne ich da zwar, dass Strom fließt, aber nicht, ob die Pumpe sich tatsächlich dreht. Im Normalfall ist das ja auch deckungsgleich.
Das Magnetfeld wird vom Stator erzeugt. Ein vorhandenes Magnetfeld sagt noch nichts über das Drehen des Rotors aus.
Um sicher zu sein daß die Pumpe dreht mußt Du entweder das Drehen des Rotors/Welle/Flügelrad kontrollieren oder einen Flußmesser oder Druckmesser ins Wasserrohr einbauen oder eben den Strom der Pumpe messen.
noiasca:
ja außen anbringen,
nein nicht am Gehäuse sondern um ein Stromführendes kabel
Wobei nicht das Versorgungskabel mit Phase, Nulleiter und Erde gemeint ist sondern der Stromwandler muß an der Phase oder dem Nulleiter den Strom messen.
helste:
Du meinst, wenn das ESP8266 mal ohne Strom ist und dann an dem GPIO eine Spannung anliegt?
Wenn das schlecht ist, dann ist die Lösung mit dem Netzteil allerdings wirklich nicht ideal.
220V Relais habe ich jetzt keines rum liegen, aber ich kann ein Netzteil verwenden und anstatt es direkt an den GPIO Pin zu legen, kann ich damit ein Relais schalten, welches im Prinzip einen Schalter am GPIO simuliert.
Im Prinzip ja, Du kannst ein Relais über ein Netzteil versorgen. Diese Lösung ist aber Fehleranfälliger als ein 230VAC Relais weil das Netzteil zusättzlich kzum Relais kaputgehen kann.
Mir ist klar, dass ich damit nur messe, ob an der Pumpe Spannung anliegt. Die anderen Methoden sind sicher besser, aber halt auch komplizierter. Für meinen Zweck reicht es in der Regel, wenn ich weiß, dass die Pumpe Strom bekommt, egal ob nun durch die Zeitsteuerung, die Niveauregulierung, oder mittels Schalter, mit dem man alles noch manuell übersteuern kann.
Deshalb werde ich jetzt direkt an der Steckdose, an der die Pumpe hängt ein Netzteil mit Relais anbringen, über das ich einen GPIO PIN schalte.
Mir ist auch klar, dass das Netzteil eine zusätzliche Fehlerquelle ist, aber es handelt sich hier nicht um eine sensible Steuerung in der Industrie, sondern nur um eine Info, die ich mir anzeigen lassen kann, ob die Pumpe läuft oder nicht. Wenn ich mir nicht sicher bin, ob die Anzeige passt, kann ich ja immer noch die Pumpe per MQTT einschalten und sehen, ob sich der Status entsprechend ändert. Ich kann auch mal nachsehen gehen, wenn es mir komisch vorkommt.
Jedenfalls dürfte diese Lösung für meine Anwendung ausreichend sein.
helste:
Ja, die Flügel hatte ich auch schon ins Visier genommen. Da gäbe es ein paar Möglichkeiten, die Bewegung abzugreifen. Habe die aber dann als zu kompliziert verworfen. Mit Abdeckung drauf ist das schwer zugänglich und ohne Abdeckung möchte ich das nicht unbedingt laufen lassen, auch wenn da sowieso niemand ran kommt.
Du könntest ein Löchlein in die Abdeckung bohren. Eine Reflexlichtschranke braucht kein großes Guckfenster. Alternative wären zwei Neodym-Magnetchen auf dem Lüfterrad und sie mit einem Hallsensor detektieren. Zwei Magnete auf gegenüberliegenden Seiten zur Vermeidung von Unwuchten.
agmue:
Sowohl eine stehende wie eine drehende Pumpe zieht Strom. Der Stromfluß ist also kein hinreichendes Kriterium für eine drehende
Beim Stromfluss der Pumpe sollte eine festsitzende Pumpe einen deutlich höheren Stromfluss als eine frei laufende haben. Ob das als Kriterium taugt, müsste man messen.
Theseus:
Du könntest ein Löchlein in die Abdeckung bohren. Eine Reflexlichtschranke braucht kein großes Guckfenster. Alternative wären zwei Neodym-Magnetchen auf dem Lüfterrad und sie mit einem Hallsensor detektieren. Zwei Magnete auf gegenüberliegenden Seiten zur Vermeidung von Unwuchten.
An die Magnete hatte ich schon gedacht, aber wegen der drohenden Unwucht wieder verworfen. Mit 2 auf gegenüberliegenden Seiten könnte es aber gehen. Vielleicht probiere ich das doch mal aus.
Das mit der Reflexlichtschranke werde ich auch noch mal ins Auge fassen. Löchlein gibt es im Deckel sowieso, wenn ich mich richtig erinnere. Muss mir das nochmal ansehen und dann durch den Kopf gehen lassen.
Die Idee, den 'Deckel' ab zu lassen ist nicht sonderlich gut - durch diesen Deckel wird die Luft des Lüfterrades erst über den Motor geleitet - ohne Deckel kannst Du auch das Lüfterrad abreißen - bis auf 'Aua-Finger' macht Das dann eh Nichts mehr.
Bei den Drehzahlen der Pumpe wirst Du keine Probleme mit Unwucht bekommen (es sei, Du bringst einen Magnet mit 200kg Zugkraft an - dann besser zwei nehmen und auf die Finger aufpassen ... Stichwort: Aua )
Lichtschranke könnte mit der Zeit verdrecken - das Lüfterrad ist ja gerade dazu da, Unmengen an Luft dort durchzuprügeln - und hier wird auch viel Schmutz mit durch gehen.
Da gefällt mir der Hall-Sensor um Längen besser.
Wie schnell dreht denn die Pumpe? Im Allgemeinen wird Das ein Asyncronläufer sein, also ein Teiler von 3000 (bzw. jeweils etwas darunter, Stichwort Schlupf).
Ich habe keine Ahnung, wie schnell die Pumpe dreht. Ich muss mir das mal in Ruhe ansehen.
Ist sicher die ideale Lösung, aber eben doch etwas aufwendiger.
Ich habe inzwischen schon mal die einfache Lösung mit dem Relais umgesetzt. Funktioniert super.
Tut eigentlich was es soll. Es zeigt mir halt an, wenn die Steckdose, wo die Pumpe dran hängt, Strom liefert. In 99,99% der Fälle ist das deckungsgleich mit dem Laufen der Pumpe.
Ich habe noch ein paar andere Projekte in Arbeit. Die Poolsteuerung und Überwachung ist daher erstmal auf dem Stand, wie sie jetzt ist schon ganz gut und daher mal als vorläufig abgeschlossen zu betrachten.
Kann nun per MQTT die Pumpe an und ab schalten, kriege angezeigt, ob sie läuft (bzw. Strom abbekommt), kann die Poolscheinwerfer ein und aus schalten und die Farbwechsel der Scheinwerfer steuern und ich bekomme die Wassertemperatur und die Temperatur im Technikschacht (im Winter wichtig) übermittelt.
Die Temperatursensoren haben mich heute etwas genervt. Wenn einer angeschlossen ist, dann hat das am ESP8266 direkt funktioniert, wenn der Sensor mit 5V angespeist wurde (der hängt mit den Relais an einer 5V Versorgung). Habe ich beide Sensoren angeschlossen, ging damit nichts mehr. Nach langem hin und her bin ich dann darauf gekommen, dass es mit 2 Temperatursensoren nur funktioniert, wenn ich die Spannungsversorgung der Sensoren auf 3,3V bringe. Musste also einen kleinen Spannungsteiler basteln. Egal, nun funktioniert es.
Ich verwende übrigens diese Temperatursensoren: https://www.banggood.com/DS18B20-Waterproof-Digital-Temperature-Temp-Sensor-Probe-1M-2M-3M-5M-10M-15M-p-1211828.html?