Tiefbrunnenpumpen Steuerung – [Teil 1] - AZ-Delivery

Hallo und Willkommen,

heute wollen wir Ihnen den ersten Blog-Beitrag von einem unserer neuen Autoren präsentieren - Markus Pohle. Unser neuer Autor, Markus Pohle, wird uns von nun an mit interessanten Projekten begleiten und heute fangen wir an mit einer neuen Reihe: Tiefbrunnenpumpen Steuerung.

Viel Spaß beim Lesen!

Der heutige Blog Beitrag ist der Start zu einer mehrteiligen Serie, welche sich mit der Steuerung einer Tiefbrunnenpumpe mittels ESP32 und entsprechenden Sensoren beschäftigt. Im Verlauf der Serie werden wir die vorhandene analoge/mechanische Steuerung der Tiefbrunnenpumpe aus Schwimmschalter und Schützschaltung mit Selbsthaltung durch entsprechende elektronische/digitale Komponenten ersetzen.


Im ersten Teil der Serie ersetzen wir die Schützschaltung durch einen ESP32 und ein Relais (KY-019), behalten jedoch erst einmal die Schwimmschalter zur Füllstandserkennung bei.

Im zweiten Teil der Serie ersetzen wir dann die Schwimmschalter durch einen Ultraschallsensor zur Füllstandsmessung.

Im dritten Teil der Serie erweitern wir den aktuellen Programmcode des ESP32 um einen Webserver. Mit diesem können wir dann den aktuellen Füllstand und den Status der Tiefbrunnenpumpe (läuft / läuft nicht) anzeigen. Zusätzlich werden wir eine Funktion implementieren, die es uns ermöglicht, die Tiefbrunnenpumpe über die Webseite des ESP32 ein- und auszuschalten.

Im vierten Teil der Serie erweitern wir dann die Schaltung noch um einen digitalen Durchflussmesser. Mit diesem können wir dann die aktuelle Fördermenge der Tiefbrunnenpumpe pro Minute und/oder Stunde anzeigen lassen. Hintergrund dieser Maßnahme soll sein, Grenzwerte für die dauerhafte Entnahme aus dem Brunnenschacht zu definieren, zu denen die Tiefbrunnenpumpe dann vorsichtshalber für eine Zeit x abgeschaltet wird. Damit wollen wir verhindern, dass bei allzu exzessiver Nutzung der Brunnen trocken läuft und die Tiefbrunnenpumpe einen Schaden davon trägt.

ACHTUNG – ACHTUNG – ACHTUNG

Im Verlauf dieser Serie werden wir mit Netzspannung 230V AC arbeiten. Hierzu ist es zwingend erforderlich, dass entsprechendes elektrotechnisches Fachwissen vorhanden ist. Die VDE 0100 (insbesondere Teil 410) und VDE 0470 müssen bekannt sein und beachtet werden. Die Regeln zum Arbeiten mit und unter Spannung müssen bekannt sein und zwingend eingehalten werden. Begriffe wie „Kleinspannung“, „Schutzklassen“ und „galvanische Trennung“ müssen bekannt sein. Andernfalls drohen ernsthafte Verletzungen und persönliche/körperliche Schäden bis hin zum Tod.

Wer mit solchen Arbeiten nicht vertraut ist, sollte an den entsprechenden Stellen eine Fachkraft hinzuziehen. Ich weise ausdrücklich darauf hin, dass ich bei nicht Einhalten keine Haftung für entstandene Schäden, weder sachlicher noch körperlicher Natur, übernehmen werde!

Alternativ, anstelle der Netzspannung von 230V und der Tiefbrunnenpumpe, kann auch exemplarisch erst einmal mit 5V, einem 330 Ohm Vorwiderstand und einer Leuchtdiode gearbeitet werden. Ganz am Ende, wenn alles klappt, kann man dann mithilfe einer Elektro-Fachkraft die letzten Schritte zusammen abarbeiten.

Die bestehende Schaltung aus Schütz und Schwimmschalter

Die bisherige Schützschaltung
Fassinneres mit Schwimmschalter

Die aktuelle analoge/manuelle Schaltung ist recht einfach gehalten. Wie man am Schaltplan erkennen kann, besteht diese nur aus zwei Schaltern (S1 als Öffner (oben rechts im Bild zu sehen) und S2 als Schließer) und dem Schütz. Sinkt der Wasserpegel im Fass weit genug ab, so schließt der Schalter S2.

Das Schütz K1 zieht an, wodurch auch der Schließer K1.1 des Schützes schließt. Da dieser parallel zum Schalter S2 geschaltet ist, bleibt der Stromkreis geschlossen, selbst wenn S2 sich wieder öffnen sollte (steigender Wasserpegel) – dies nennt sich Selbsthaltung.

Der Schließer K1.2 wird dadurch ebenfalls geschlossen und der Motor M1 der Tiefbrunnenpumpe fängt an zu laufen und das Fass mit Wasser zu füllen. Steigt der Wasserpegel weiter an, erreicht dieser irgendwann denn Schwimmschalter S1, welcher als Öffner verbaut ist. Der Wasserpegel drückt den Schwimmer von S1 nach oben, bis der Kontakt öffnet und damit den Stromkreis unterbricht.

Schaltplan der bisherigen Schützschaltung in vereinfachter Darstellung und vereinfachter Beschriftung

Benötigte Hardware 

Wir benötigen hierzu folgende Teile:

Anzahl Bauteil Anmerkung
1 ESP32 Microcontroller
1 Breadboard Spannungsversorgung
1 Relais Modul KY-019
1 Klappschwimmschalter
1 Dupont Steckverbinder (M/M und M/F)


Für den Aufbau mit der Tiefbrunnenpumpe:

Anzahl Bauteil Anmerkung
1 230V AC Schuko-Stecker
diverse Kleinteile (Aderendhülsen, …)
1 Abisolierzange / Crimp-Zange
1 Flachzange / Seitenschneider


Alternativ mit LED und Vorwiderstand: 

Anzahl Bauteil Anmerkung
1 LED 5mm
1 Vorwiderstand 330 Ohm

Der neue Schaltungsaufbau auf dem Breadboard

 

 

Die Grafik oben zeigt den Aufbau der Schaltung in Fritzing. Zu beachten ist, dass beim realen Nachbau der ESP32 nicht über zwei Breadboards gesteckt werden kann – er ist etwas zu schmal. Damit man den ESP32 also entsprechend aufstecken kann, muss von einem der Breadboards die Spannungsleiste abgezogen werden. Anschließend kann man die Breadboards wieder voreinander stecken und der ESP32 lässt sich aufstecken.

Der Schaltungsaufbau auf dem Breadboard gestaltet sich recht einfach. Wir benötigen hierzu folgende Teile:

  • ESP32 Microcontroller
  • Breadboard Spannungsversorgung
  • Relais Modul KY-019
  • Klappschwimmschalter
  • Dupont Steckverbinder (M/M und M/F)

Für den Aufbau mit der Tiefbrunnenpumpe (beachtet bitte, wie auf dem Fritzing Bild zu sehen, dass das KY-019 Modul nicht mit auf dem Fritzing Board gesteckt ist. Das Modul führt beim Anschluss an 230V an einigen Lötkontakten auf der Unterseite Netzspannung. Die „räumliche“ Trennung dient dazu zu verhindern, dass es zu einem Übersprechen der Netzspannung auf das Breadboard kommt und damit zu Schäden an den Bauteilen oder das Netzspannung an offenen Bauteilen anliegt und es damit zu Stromschlägen kommen kann – es gelten die Warnhinweise aus der Einführung!)

  • 230V AC Schuko Stecker
  • diverse Kleinteile (Aderendhülsen, …)
  • Abisolierzange / Crimp-Zange
  • Flachzange / Seitenschneider

Alternativ mit LED und Vorwiderstand

  • LED 5mm
  • Vorwiderstand 330 Ohm


Den Signal-Pin des Relais (gelbe Leitung) schließen wir an GPIO23 des ESP32 an. Den +Pin des Relais führen wir an +5V (rote Leitung) und den -Pin des Relais auf GND (blaue Leitung). Das Relais hat ausgangsseitig drei Anschlüsse:

– COM (auch Feed genannt – Commonly Connected – hier liegt die Versorgungsspannung an, die geschaltet werden soll) – Pin mittig
– NO (normally open) – dient als „Schließer“. Im Ruhezustand des Relais ist dieser Pin offen und führt keine Spannung
– NC (normally closed) – dient als „Öffner“. Im Ruhezustand des Relais ist dieser Pin geschlossen und führt die Spannung von COM

Den Schwimmschalter für den oberen Wasserpegel schließen wir mit einem Pin an GPIO22 an, mit dem anderen Pin an +3,3 V.
Den Schwimmschalter für den unteren Wasserpegel schließen wir mit einem Pin an GPIO21 an, mit dem anderen Pin an +3,3 V.

Die Software 

// 2020-03-02 Brunnenpumpe V1
// (c) Markus Pohle @Creative Commons BY-NC-SA
// https://en.wikipedia.org/wiki/File:Cc-by-nc-sa_icon.svg
// 
// Brunnenpumpen Steuerung mittels Schwimmschalter

const int relayPin = 23;
const int upperWaterLevelSwitch = 22; 
int upperWaterLevelSwitchState = 0;
const int lowerWaterLevelSwitch = 21;
int lowerWaterLevelSwitchState = 0;
int pumpActive = 0;


void setup() {
  // Wir definieren einige Aus- und Eingabe Pins
  // die Eingabe Pins definieren wir als PULLDOWN!
  pinMode(relayPin, OUTPUT);
  pinMode(upperWaterLevelSwitch, INPUT_PULLDOWN);
  pinMode(lowerWaterLevelSwitch, INPUT_PULLDOWN);
}

void loop() {
  // hier lesen wir die Zustände der Schwimmschalter ein
  upperWaterLevelSwitchState = digitalRead(upperWaterLevelSwitch);
  lowerWaterLevelSwitchState = digitalRead(lowerWaterLevelSwitch);

  // wir prüfen die Zustände der Schwimmschalter
  // sind beide Schalter "unten", dann muss die Pumpe starten
  // das "Pumpe aktiv" Flag geht auf 1
  if (lowerWaterLevelSwitchState && upperWaterLevelSwitchState) {
    pumpActive = 1;    
  }

  if (!upperWaterLevelSwitchState) {
    pumpActive = 0;
  }

  if (!lowerWaterLevelSwitchState && upperWaterLevelSwitchState && pumpActive) {
    pumpActive = 1;
  }
  
  
  if (pumpActive) {
    digitalWrite(relayPin, HIGH);
  } else {
    digitalWrite(relayPin, LOW);
  }

}

Der Sketch ist relativ leicht verständlich. Nach dem Definieren der Variablen setzen wir in der setup() Routine die PIN-Modes unserer drei benötigten GPIO Pins. Der Relais Pin wird natürlich ein OUTPUT Pin, darüber wollen wir ja das Relais mit einer Trigger-Spannung versehen. Die GPIO Pins für die Schwimmschalter werden INPUT Pins.

Hier nutzen wir aber noch eine Besonderheit. Wir definieren die Pins als sogenannte INPUT_PULLDOWN Pins (Erklärung was ein PULL-DOWN Widerstand ist). Dadurch ist sichergestellt, dass die GPIO Pins immer einen definierten Zustand haben und nicht „flappen“. In der loop() Schleife lesen wir dann die Schwimmschalter aus und verproben über drei if-Anweisungen, ob das Relais geschaltet werden muss oder nicht.

Fazit

Das war es auch schon mit der Einführung in die Tiefbrunnenpumpen Steuerung – gar nicht so kompliziert und nur wenige Bauteile und wenig Programm-Code sind nötig, um die „alte“ mechanische Schaltung zu ersetzen und Platz zu machen für die schöne neue Welt des IoT und ihre vielen Möglichkeiten.

Ich wünsche viel Spaß beim Nachbauen und Experimentieren.
Für Fragen stehe ich gerne zur Verfügung.

Im nächsten Teil geht es dann weiter mit dem Umbau auf den Ultraschall Sensor.

Gruß

Markus Pohle

Esp-32Projekte für fortgeschrittene

25 Kommentare

Peter Strom

Peter Strom

Hallo zusammen, inkl. postmaster-ino
Ich bin zwar 1 Jahr zu spät, aber eben gerade erst hier gelandet. Als Elektroingenieur, der schon 30 Jahre unter Spannung arbeitet und immer noch lebt, möchte ich auf ein paar (lebens)wichtige Dinge hinweisen:
- die Relaisplatine hat ein Datenblatt, das man auch lesen sollte! Max. 5A bei max. 50V AC. Mehr muss man nicht sagen.
- ‘die’ Pumpe gibt es nicht! Abhängig von Förderhöhe und Förderleistung braucht ‘sie’ gerade mal 200W oder auch mal schnell 1.600W. Und da die Last induktiv ist, muss ein geeignetes Schütz verwendet werden und kein Spielzeug für Elektronikbastler. Ja ich weiß, das kostet! Aber wenigstens nur Geld.
- die Schaltschemata und der Text suggerieren, man sollte die 230V-Komponenten ‘neben’ das Breadboard ‘legen’, wie sie sind. Ich lebe vermutlich noch, weil ich trotz aller Erfahrung so etwas garantiert niemals tun würde.
Generell wünsche ich mir, dass keine Anleitungen von Leuten erstellt werden, die zu wenig Ahnung, aber viel Glück haben, für Leute, die noch weniger Ahnung und vielleicht nicht so viel Glück haben. Denen hilft der proklamierte Haftungsausschluss dann auch nicht mehr.

Uwe

Uwe

Hallo Herr Pohle,
ich benutze die gleichen Schwimmschalter wie Sie um den Wasserstand für eine Tauchpumpe (etwa 10m tief) zu prüfen. Mein Schalter schaltet gegen Masse und sobald ich das entsprechende Kabel an den GPIO12 (INPUT) des ESP32 und externen Pullup Widerstand = 100k anschließe, sinkt die Signalspannung direkt am IO Pin von 3.3 V auf 2.7 V obwohl der Schwimmschalter geöffnet ist und mit dem Ohmmeter einen unendlichen Widerstand anzeigt.
Mein Programm zeigt beim Ablauf einen zufälligen Zustand an als wenn das Eingangssignal auf und ab springt.
Wenn ich das gleiche mit einem Schwimmschalter ohne Verlängerungskabel teste, funktioniert alles wie erwartet.
Ist der Eingang des ESP32 irgendwie kapazitätsabhängig (ich messe ins Kabel eine Kapazität von ca. 10 nF) ?
Ist der Pullup Widerstand zu groß ?
Ist das Kabel zu lang und fängt es damit Störsignale ein ?
Vielen Dank für ein paar Tipps
Uwe

Giosino

Giosino

Hallo,
Die Tiefbrunnenpumpe befördert das eisenhaltige Wasser in das Fass und vielleicht habt ihr da hydraulisch noch etwas nachgeschaltet was das Eisen rausfiltert oder eliminiert.
Hat halt nur bedingt etwas mit dem Thema zu tun.

Viele Grüße!

Grauer Wolf

Grauer Wolf

Hallo Markus Pohle,
die Schützschaltung mag ja funktionieren, ist ja auch nicht so aufregend, aber die Ausführung einer elektrischen Anlage mit so einem Spagettistil macht mir etwas Probleme. Und wenn es veröffentlicht wird, dann sollte es auch sauber aufgebaut sein.
Gruß
Grauer Wolf

Markus Pohle

Markus Pohle

Hallo @postmaster-ino,
vielen Dank für Ihr Feedback und, wenn es auch fast in der Kritik untergegangen ist, das Lob, dass dieses Projekt an sich ein schönes Projekt ist.
Ihre Kritikpunkte habe ich, hoffentlich zu Ihrer Zufriedenheit, sowohl textuell als auch ‘malerisch’ im Blogartikel angepasst und auch noch einmal noch dringlicher auf die potentiellen Gefahren hingewiesen. Hinsichtlich des Relais, das Ihnen scheinbar Kopfschmerzen bereitet, werde ich prüfen, welche Alternative wir hier hinsichtlich Schaltungsaufbau und/oder Relaistype haben. Für meinen Einsatzzweck und meine Pumpe ist das KY-019 völlig ausreichend. Aber jeder muss (!!) natürlich selbst prüfen, ob die technischen Spezifikationen zu seinen Anforderungen passen.
Beste Grüße
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @R. Leilich,
vielen lieben Dank für das sehr konstruktive Feedback zum ersten Teil dieser Artikel Serie.
Ich kann Ihnen versichern, dass mir der obere Schwimmschalter, obwohl sicherlich, wie von Ihnen angemerkt, von Ingenieuren mechanisch designed, derart oft kaputt gegangen ist, dass das Fass überlaufen konnte. Auch fehlt noch eine Art “Notaus” – Sie haben recht mit Ihrer Aussage, dass ein µC abstürzen kann. Daher habe ich in der Planung, nur in der aktuellen Artikel Serie so noch nicht vorgesehen, trotz Steuerung mittels ESP eine entsprechende Notaus-Schaltung in Planung. Ich werde an dieser Stelle berichten, sobald die Änderungen eingeflossen sind.

Markus Pohle

Markus Pohle

Hallo @Frank Carius,
vielen lieben Dank für die vielen wichtigen Hinweise… ich hatte die Tiefbrunnenpumpe schon viele viele Male zu Testzwecken mit dem KY-019 Relais geschaltet und bisher keinerlei Probleme, gebe aber offen zu, dass ich den Anlaufstrom bisher nicht gemessen habe – hierzu fehlt mir aktuell das passende “Werkzeug”; da muss ich mir erst einmal was überlegen und anschließend werde ich ausführliche Tests machen und gerne davon dann hier berichten!
Der Hinweis mit dem Trockenlaufschutz ist gar nicht mal so schlecht :) Ich habe die Tiefbrunnenpumpe jetzt seit 15 Jahren im Einsatz und trocken gelaufen ist sie bisher nie, einfach weil der Brunnen genug Wasser liefert und ich es nie habe drauf ankommen lassen. Aber mittels eines NTC oder PTC und zweier Drähte (mal schauen, wie ich die zur Tiefbrunnenpumpe bekomme) eine einfache Temperaturmessung am Gehäuse der Tiefbrunnenpumpe vorzunehmen, finde ich gut – daraus könnte man dann tatsächlich noch einen weiteren Teil zu dieser Artikel Serie hinzufügen – ich prüfe das und melde dann das Ergebnis hier zurück. Danke!
Gruß
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @Giosino,
vielen Dank für Ihren Kommentar… Sie haben Recht mit Ihrem Hinweis: das Wasser ist eisenhaltig… mir sind nur zwei Möglichkeiten bekannt, das Eisenoxid aus dem Wasser zu bekommen:
- die Enteisenung (zweiwertige Eisen zur dreiwertigen Form oxidieren, woraufhin durch Hydrolyse Eisenhydroxidflocken entstehen, die etwa mit Hilfe von Sandfiltern abgefiltert werden können)
- Ionenaustauscher

Beide Verfahren kommen für mich als privater Anwendung nicht in Betracht – das Fass wird einfach regelmäßig gereinigt :)
Gruß
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @Burkhard,
vielen Dank für Ihren Kommentar… Sie haben Recht, man sieht auf dem Bild “nur” ein HWW. Die Tiefbrunnenpumpe ist im Brunnenschacht in 23 Meter Tiefe und wird über die Schützschaltung gesteuert, um das 200L Fass zu füllen, aus dem sich dann wiederum die Verbraucher mittels des HWW bedienen.
Gruß
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @Walter,
danke für Ihren Hinweis… ich gestehe, dass ich in den letzten 15 Jahren hierauf nicht geachtet habe; das war mir schlichtweg nicht bewusst… allerdings habe ich ja extra das 200L Fass als Zwischenpuffer :)
Gruß
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @Grauer Wolf,
vielen Dank für Ihren Kommentar… können Sie mir bitte liebenswerter Weise genau sagen, was mit der Schützschaltung nicht stimmt, dass diese bei Ihnen ein “Oh je” auslöst? Danke sehr im Voraus!
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @Michael,
vielen Dank für Ihren Hinweis mit den Input Pulldown Eingängen. Sie haben Recht, dass nicht jeder ESP µC über solche Eingänge verfügt. Falls also jemand statt des hier genannten ESP32 z.B. einen ESP8266 nehmen möchte, wäre tatsächlich Ihr Vorschlag mit den Input_Pullup Eingängen zu nutzen, da der ESP8266 nur über einen Input_Pulldown an GPIO16 verfügt.

Markus Pohle

Markus Pohle

Hallo @Jan Heil,
danke für den Hinweis… der Ultraschall Sensor ist Bestandteil des zweiten Teils dieser Blogreihe und wurde in der Einführung dieses ersten Teils der Blogreihe genannt.
Beste Grüße
Markus Pohle

Markus Pohle

Markus Pohle

Hallo @Michael Förster,
danke für den Hinweis… da ist mir ein Lapsus passiert, den ich korrigieren werde…natürlich sollten die GPIOs des ESP nicht mehr als 3,3V bekommen – ich kann aber sagen, aus eigenen ausführlichen langen Tests, dass die meisten ESP inzwischen mit 5V am GPIO klarkommen… aber: regulär sind 3,3V

postmaster-ino

postmaster-ino

Ich habe Da ‘etwas’ Bauchschmerzen, bei diesem AZ-Delivery-Artikel.
Ok, der Plan der Schützschaltung ist ‘interessant’ – man kann als Laie erahnen, daß K1.1/K1.2 wohl die Kontakte sein sollen … trotzdem sind die Bezeichnungen schlicht falsch.
Dann wurde meine Hoffnung, daß nur ein Schütz mit Kleinspannung angesteuert wird, gnadenlos niedergeknüppelt – warum tauscht man nicht das Klein-Schütz der Pumpe gegen eine 24V-Variante?
Oder gegen ein 25A-DA SSR? (wobei Das für einen Motor schon ‘nahe dran’ sein kann – aber man könnte über das SSR das 230V Schütz ansteuern).
Nein, es MUSS mit 230V rumgespielt werden!
Dann das nächste ‘Hoppala’ … das Spiel-Relais (ohne Ausfräsung) an 230V … AUF EINEM STECKBRETT ?!?!?
- keine Ausfräsung: Kriechstrecke zu kurz, Überschlag 230V→5V nicht ausgeschlossen!!
!!! Das RELAIS kann 230V – aber die Platine SO nicht!!!
- 230V <→ Steckbrett … ja, ist ‘Fritzing’ aber auch Damit sollte man nicht so einen Müll ‘malen’
Ich mag mich ja irren, aber zumindest ‘mein Gutes’ hatte mindestens die Beschränkung auf 1A – Spannung hätte ich nicht mehr im Kopf, aber da die Isolierung nach Unten nur durch einen halben Millimeter Schaumstoff gegeben ist, möchte ich doch an 230V zweifeln – und anfassen möchte ich Das ebenfalls nicht!

Identischer Post (von Da kam ich):
https://forum.arduino.cc/index.php?topic=683825.msg4604064#msg4604064

BITTE lasst solche schönen Projekte nicht an so schlechter Recherche scheitern!
Nicht jedem ist bewusst, daß die 230V aus der Steckdose Dich ‘einfach so’ TOT machen – und Ihr spielt Damit auf einem Steckbrett herum, wo dünnste Drähte (auch irrtümlich) überall reingesteckt werden können. Auch wird Euch das Steckbrett die Motorlast übel nehmen, da sowohl der Strom wohl außerhalb der Spezifikationen ist, wie der Übergangswiderstand zumeist ‘nicht sonderlich toll’.
Daraus resultiert eine starke Erwärmung der beteiligten Federklemmen im Steckbrett, das Gelump schmilzt und man bekommt noch eine Gratis-Heizung mit Licht und Ton-Effekten dazu.

… hasst Ihr Euro Kunden so sehr, daß Ihr Diese loswerden wollt?
Auf diesem Weg??

Michael Förster

Michael Förster

Ein nettes Projekt, aber ich habe eine Anmerkung: im Bild des Aufbaus haben sie die Schalter an 3.3V gelegt, das verträgt der ESP, im Text schreiben Sie allerdings, dass sie an 5V liegen, eine gute Chance, den ESP durchzubrennen. Eine Möglichkeit wäre, mittels einer Wiederstandsbrücke die Spannung entsprechend zu reduzieren.
Ich wünsche ein schönes Bastelwochenende.

Jan Heil

Jan Heil

Ein Ultraschall Sensor wäre Deutlich billiger und
genauer, dadurch lassen sich die Pumpen Effizienter steuern.

Siehe:
https://github.com/Gamer08YT/Water-Level-Indicator

Michael

Michael

kleine Anregung: Input_Pulldown gibt es nur auf wenigen Arduino Prozessor Varianten – alle haben den Input_Pullup Befehl. Deshalb würde ich die Level-Schalter an Masse und die Inputs als letzteres deklarieren.
Auch würde ich statt mehreren If..Then’s einen Ausdruck nehmen:
Pumpe an, wenn (PumpeActive oder LowLevel) und kein HighLevel.
Deckt alle 8 möglichen LowLevel,HighLevel,PumpActive Kombinationen ab.
Ansonsten freue ich mich schon auf den nächsten Teil. Grüsse, Michael

Grauer Wolf

Grauer Wolf

Oh je, wenn ich die Schützschaltung sehe … ☹️

Klaus Sucker

Klaus Sucker

Guten Tag Herr Pohle,
Sie haben hier ein interessantes Projekt angestoßen, dass die Grundlagen der Automatisierung mit den einfachsten Mitteln realisiert. Die Übernahme der Zweipunktregelung in den ESP32 ist meiner Meinung nach jedoch verbesserungswürdig.

Mit den beiden oberen If-Statements programmieren Sie ein RS-Flipflop. Bei einfachen Zweipunktregelungen ohne Hand-Ebene ist dies ein adequates Mittel, wie es auch in der Industrie verwendet wird.

Allerdings ist das dritte If-Statement meiner Meinung nach unnötig.

if (!lowerWaterLevelSwitchState && upperWaterLevelSwitchState && pumpActive) { pumpActive = 1; }

Wieso sollte die Punke eingeschaltet werden, wenn sie schon läuft?

Ganz nebenbei ist der Ausschalt-Befehl als Überlaufschutz an letzer Stelle gerückt, was für die Sicherheit des Codes relevant wird. Der wichtigste Befehl einer Automatik ist schließlich der zum Ausschalten von Antrieben.

R. Leilich

R. Leilich

Eine interessante Bastelei – zum steuern eines Modells oder Spielzeugs hervorragend geeignet. ABER: für eine echte Anwendung im “realem Leben” absolut ungeeignet! Mir als Ingenieur stehen bei solchen Anleitungen die Haare zu Berge! Bedenkt bitte: Es gibt schließlich Leute, die das unreflektiert nachbauen!
Auch wenn auf die Problematik mit 230V eingegangen ist:
Die originale Schaltung mit Schwimmschalter verwendet wahrscheinlich als oberen Schalter einen Öffner, den ein Ingenieur mechanisch so designt hat, das er NIEMALS bei Überschreitung “hängen bleiben” kann, und somit ein Überlaufen des Behälters ausgeschlossen ist. Eine industrielle Anlage hätte da noch einen zusätzlichen Sicherheitsschalter, falls der Schwimmer versagt!
Ein ESP32 kann abstürzen, das Programm kann einen Fehler aufweisen. Was ist dann, wenn das Relais Dauerkontakt hat und die Pumpe läuft? Wer bezahlt die Kosten der Überschwemmung im Keller? Wo ist die zusätzliche mechanische Sicherheit?
Das Relais wurde zwar vom chinesischem Hersteller für 230V-tauglich erachtet – europäische Sicherheitsbestimmungen hält es aber nicht ein (Stichworte: Luft- und Kriechstrecke; Isolationsklasse). Messt mal nach – der Abstand der Leiterbahnen muss mindestens 3.3 mm sein!
Ein JQC-3FF-S-Z oder SRD-05VDC-SL-C oder was auch immer auf den Platinen für den Schmalspurpreis verbaut wurde, ist ausschließlich für ohmische Lasten konzipiert! Für eine induktive Last wie eine Wasserpumpe sind sie völlig ungeeignet! Ein “klebenbleiben” der Kontakte ist da vorprogrammiert! (Das ist bei mir bei Testschaltungen mit 5w LEDs bereits passiert)
Schaut euch mal das Relais FIN 40.61.8 von finder an (gibt es bei Reichelt). Das ist günstig, kostet aber schon mehr, als die hier eingesetzte Relaisplatine. DAS kann eine Wasserpumpe schalten!

Frank Carius

Frank Carius

Ich habe eine ähnliche Pumpe als “Saugpumpe” die per Druckschalter bei Wasserentnahme sich einschaltet. Um diese erst mal zu überwachen habe ich einen fertigen ShellyPlugS eingesetzt, den ich per REST/MQTT abfrage. Siehe auch: https://www.msxfaq.de/tools/prtg/prtg-shellyplugs..htm.
Daher zwei Feedbacks an das Projekt:
Das Relais mit 10A dürfte nicht lange halten, da der Anlaufstrom so einer Pumpe deutlich höher ist. Mit einer “16A (Flink)” spingt manchmal. erst ein Automat mit B-Characteristik bleibt sicher. Auch der Shelly hat eine “überlastwarnung” bei 2500W und auch die springt manchmal an obwohl die Pumpe im Regelbetrieb ca 1010W braucht. (Der Shelly kann den Stromverbrauch messen und über die Laufzeit addieren, so dass man in etwas die Betriebsstunden und Wassermenge schätzen kann.
Mir fehlt ein Trockenlaufschutz :-) ich würde dazu einen PTC/NTC an das Pumpengehäuse kleben, denn das ist mit Brunnenwasser eigentlich “kalt”.
Insofern
- Vielleicht solltet ihr ein Solid State Relais einsetzen, z.B. Pollin https://www.pollin.de/p/solid-state-relais-xssr-da2420-3-32-v-20-a-240-v-340470 mit 20A und auch mit 3V ansteuerbar und mechanische wohl robuster. Oder man nutzt euer Relais, um ein VDE-sicheres Hutschienenrelais (Eltako o.ä.) anzusteuern.
- Trockenlaufschutz per Temperatur
einen 1wire Sensore oder einen einfachen PTC/NTC wäre dann Teil 5 ? :-)

Ansonsten nehme ich da einiges mit und folge den weiteren Beiträgen, insbesondere dem Durchflussmesser. denn der Shelly ist ja nur eine temporäre Lösung.

Frank

Giosino

Giosino

Hallo liebes Az-delivery Team.
Das ist mal wieder ein tolles Projekt! Ich beschäftige mich gerade mit dem selben Thema, nur dass ich noch drei weitere Relais für eine Gartenbewässerung verbaut habe.
Mir ist aufgefallen, dass euer Fass sehr braun / rot ist, es sieht nach Rost und somit nach eisenhaltigen Wasser aus. Ich habe das selben Problem, jedoch keine Lösung dafür, wie man das Eisen aus dem Wasser lösen kann. Gegenstände die Grundwasser abbekommen sind schon ganz rot.

Habt ihr eine Idee wie man das Eisen rausbekommt, würde ich mich über einen Top sehr freuen.

Viele Grüße auf NRW

Burkhard

Burkhard

Hallo,
ich glaube, ich habe da ein Verständnisproblem. Was hat das Ganze mit einer Tiefbrunnenpumpe zu tun? Ich erkenne auf den Bildern nur ein ganz normales Hauswasserwerk. Vielleicht könnten Sie das einmal näher ausführen.
MfG
Burkhard Schilling

Walter

Walter

Hallo Gemeinde,

denkt daran, eine Tiefbrunnenpumpe darf meist nur 4 Mal pro Stunde eingeschaltet werden !
Ansonsten leiden die Förderräder sehr !

Gruß Walter

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery