Bewässerungssteuerung für 24VAC/ 9VDC /3.6VDC Ventile (incl. Zisternenautomatik)

Begonnen von Tobias, 25 Oktober 2018, 11:28:28

Vorheriges Thema - Nächstes Thema

Tobias

Hi,
Ich möchte euch kurz meine neue Bewässerungssteuerung mit Zisternenautomatik mit ESP8266, OLED, PCF8574 und Ultraschallsensor vorstellen.
Mit diesem Sketch bekommnt man die Möglichkeit, Bewässerungsventile effizient zu steuern. Dabei kann der Aufbau der Anlage von "sehr einfach" bis "hoch komplex" mit mehreren dezentral verteilten und miteinander kommunizierenden Steuerungen varieren. Alle Features sind optional und können via integrierter Weboberfläche konfiguriert sowie auch deaktiviert werden. Im einfachsten Fall benötigt man aber nur ein Relais und ein ESP8266 oder ESP32.
Die folgenden Ventile werden unterstützt:


  • klassische Ventile (Strom An -> Offen / Strom aus -> Geschlossen, zb. Gardena/Hunter 24VAC Ventile)
  • Bistabile Ventile (Stromstoss- bzw. Impulsventile, zb. Gardena 9V Ventile, BilligVentile 3.6VDC, 4.5VDC, 9VDC)
Nachfolgende Funktionen bietet dieser Sketch:


  • Steuerung fast beliebig viele Ventile/Relais über Kaskadierung von Controllern, nur begrenzt durch den RAM des ESP
  • kontinuierliche Messung des Füllstandes einer Zisterne via Ultraschall oder analoger Messeinheit
  • Anzeige des prozentualen Füllstandes über ein OLED
  • Senden des Füllstandes der Zisterne per MQTT (falls aktiviert)
  • Unterstützung einer automatisierten Umschaltung auf eine alternative Wasserzufuhr (zb. Trinkwasser) bei leerer Zisterne (Schwellwert einstellbar)
  • Einstellung einer maximalen, gleichzeitigen Bewässerung je nach maximal möglicher lokalen Fördermenge
  • selbständiges Schließen der Ventile nach Erreichen der Öffnungsdauer (on-for-timer)
  • Steuerung vollständig per MQTT

Advanced Features für komplexere Bewässerungsstrukturen

Werden komplexere Bewässerungsstrukturen benötigt bei denen Angängigkeiten von Ventilen bestehen, so können diese ebenfalls als sogenannte "Relationen" in der Weboberfläche konfiguriert werden. Als Beispiel sei eine oder mehrere verlegte Ringleitungen genannt bei dem jede Ringleitung ein HauptAbsperrVentil besitzt welche die Wasserzufuhr des gesamtes (Teil-)Ringes (de)aktiviert. An den einzelnen Bewässerungsstellen sitzen Ventile (mit eigener ESP-Steuerung) die kleinere Bereiche bewässern. Hierzu wittmet sich eine eigene WiKi Seite.
Die folgende Hardware wird unterstützt:


  • bis zu 8x i2C PCF8574 Controller (also maximal 64 Ventile)
  • Ansteuerung der Ventile direkt über interne GPIOs
  • bis zu 4x i2C TB6612FNG Motordriver für bistabile Ventile (also maximal 8 Ventile)
  • Ventile über den 1Wire DS2408 IC, mehrere DS2408 sind möglich
  • Ultraschallsensor HCS-SR04 zur Füllstandsmessung
  • Analoge Messeinheit zur Füllstandsmessung, optional mit ADS1115 ADC
  • i2C OLED Display SSD1306


Eine Vollständige Beschreibung incl Code gibt es hier:

https://github.com/tobiasfaust/ESP8266_PumpControl/wiki

Update:
da es immer wieder Rückfragen per PN gibt: Im Wiki ist jetzt auch die Dokumentation zum OneWire drin.
https://github.com/tobiasfaust/ESP8266_PumpControl/wiki/Anschluss-von-OneWire-DS2408-Switches

Weiterhin musste ich für die Analoge Messung einen ADS1115 ADC hinzufügen da der ESP onboard ADC seehr(!) ungenau ist. Auch dieses ist nun im Wiki drin.
https://github.com/tobiasfaust/ESP8266_PumpControl/wiki/Konfiguration-eines-Sensors

Info: das PreRelease 2.5.2 ist raus. Falls keine Fehlermeldungen eintrudeln gehts Anfang Mai ins ProduktionsRelease.

Im Wiki ist die Beschreibung des automatisierten Updates komplett überarbeitet.
https://github.com/tobiasfaust/ESP8266_PumpControl/wiki/Update-Automatisierung
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

helste64

Hallo Tobias!

Bin beim Suchen auf deine Bewässerungssteuerung gestoßen - super wie das umsetzt :-)
Ich wollte nun deinen sketch hochladen - leider wird mit der Fehlermeldung

"'pcf8574Device' has not been declared"

abgebrochen :-(

Hast du vielleicht eine Idee woran das liegen könnte?

LG aus Wien

Helmut

Tobias

Hi
Die Definition dessen ist in der pumpcontrol.h
Vielleicht liegt es an der Arduino Version?
Ich nutze die 1.6.13


Gesendet von iPhone mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Hat es funktioniert? Läuft es jetzt?


Gesendet von iPhone mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

carlos

Hallo Tobias,
Sieht gut aus deine Bewässerungssteuerung.
Könntest du mal noch eine geneuere Aufstellung der Komponenten(Sprich Pumpe, Ventile incl. verkabelung etc ), die du verbaut hast machen?
Würde mich interessieren.
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox, 3 Raspberry Pi, signalduino, nanoCUL,  toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Tobias

Hi,
für alle die eine Steuerung für eine Gartenbewässerung suchen möchte ich auf die neue Version meines Sketches (branch: dev) hinweisen. Die aktuell dev-Version sollte eigentlich fast alle Anforderungen abdecken. Es werden bis zu 85 Ventile unterstützt, normale als auch bistabile.
Ein Blick ins dazugehörige Wiki lohnt sich: https://github.com/tobiasfaust/ESP8266_PumpControl/wiki

Es gibt sowohl ein MinimalBeispiel als auch ein komplexeres ;) , alles mit vielen Bildern
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Hi,
Seit gestern ist das Final Release fertig, inclusive flashbarem Binary. Aus meiner Sicht funktioniert alles.
Es wäre super wenn sich einige Tester finden könnten.

Aus Ausblick kommt später noch eine Ansteuerung von Ventilen die an einem oder mehreren 1Wire DS2408 hängen.


Gesendet von iPhone mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

maddin2020

Hi hab das Ganze auf einen esp geladen und auf ein esp Motorschield besorgt weiß jemand wie ich nun am besten ein gardena 9v Ventil anschließen kann ?

Tobias

Im Wiki von meinem Git Repo ist ein eigener Artikel für den Anschluss des Motorshields. Ebenso ein Artikel für den Anschluss eines Gardena Ventils.
https://github.com/tobiasfaust/ESP8266_PumpControl/wiki
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

maddin2020

#9
Danke deine Seite im Wiki hab ich schon gefunden. Was mir halt noch fehlt ist ob ich für die 9 V Gardena Ventile dein Programm verwenden kann da ich im Webinterface ja Zeiten einstellen muss. Die Quelle die du auch für Gardena 9V Ventile verlinkst geht ja wieder einen anderen Weg.

Also mein Verständnis ist bisher das ich die Ausgänge D1 und D3 für Ventil 1 belegen muss um den Motortreiber anzusteuern. Aber was stelle ich nun für Zeiten ein oder klappt das nicht da Gardena etwas speziell ist.

am Ausgang des Motortreiber benötige ich ja dann auch noch ein Widerstand und eine Diode laut Wiki ?? Also irgendwie blick ich dort noch nicht ganz durch.

Sobald ich alles am laufen habe helfe ich dir gerne den Wiki an dieser Stelle zu verfeinern.

Danke dir vorab für das tolle Projekt. Da kann ja bald der Sommer kommen

Tobias

Hi, doch das geht. Gardena braucht imho 250/30ms für den Schaltvorgang. Steht das nicht in der Quelle drin?
Jedes bistabiles Ventil benötigt bestimmte Zeiten um sauber schalten zu können ;)

Edit: stimmt steht nicht in der Quelle, aber hier: :)

https://help.gardena.com/hc/de/articles/115001177234-Welche-technischen-Daten-hat-dieses-9-V-Bewässerungsventil-

Gesendet von iPhone mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

maddin2020

#11
Also hab das ganze jetzt mal so aufgebaut und verdrahtet aber irgendwie schaltet nichts ...

Tobias

Stelle mal die "ms" Zeiten auf 999 und miss bitte mal mit einem Multimeter die Ausgänge am Motorshield.
Wenn du dort den Schaltevorgang nachmessen kannst, ist softwareseitig alles i.o. Das habe ich natürlich auch schon selbst geprüft ;)

Mit einem GardenaVentil habe ich es selbst aber noch nicht getestet
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

maddin2020

Also dort wird was angesteuert, allerdings mit einem Multimeter schwer zu sagen was ;-).

Muss ich dann zwei Ports hinzufügen ? Einen zum Öffnen und einen zum schließen.

Öffnungsimpuls: positiv, 9 V, + 300 mA, 250 ms.
Schließimpuls: negativ, 9 V, - 50 mA, 62,5 ms.

Heißt ich muss wie im Bild es einstellen. 62,5 kann ich ja nicht einstellen sondern nur 62 oder 63 ms.


Tobias

Der erste Eintrag sieht korrekt aus, nur statt 30 eben 63.
Den 2ten brauchst du nicht.

Du misst mit dem Multimeter beim öffnen einen  Impuls von +/- und beim schließen einen Impuls von -/+

Denk aber dran das Ventil auch richtig herum anzuschließen. Auch da hilft ein Multimeter.


Gesendet von iPhone mit Tapatalk
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter