Bewässerungssteuerung - Vorstellung und Ideensammlung

Begonnen von funclass, 29 Oktober 2016, 22:22:41

Vorheriges Thema - Nächstes Thema

funclass

Sorry erstmal für die fehlende Reaktion in den letzten Tagen. Hab aktuell noch einige Bauprojekte zu laufen, und da der Winter naht ist Bewässerungssteuerung derzeit nicht Priorität A Thema.
Ich habe mal 2 Fotos von meiner "FHEM-Unterverteilung" gemacht und mal nen allgemeines Bild zur Nutzung des ULN im Netz rausgesucht (ist zwar nicht der ULN2003 abgebildet aber Funktionsweise ist identisch). Ist im Grunde ziemlich simpel, 5V an Pin 9 und Masse an 10. Ausgang des Nanos (oder Raspis) an Pin 1, 2, 3 ... oder 7 und gegenüberliegenden Pin an das Relais. Da ich in Summe 16 Relais zur Verfügung habe, habe ich 3 ICs verbaut.
Um flexibel zu sein und problemlos Änderungen vornehmen zu können habe ich nicht gelötet sondern auf Breadboardverkabelung gesetzt. Nun kurz ne grobe Beschreibung, ausführlich muss ich später noch werden.

Die ersten 4 Relais oben links steuern die Bewässerungsventile. Die angeklemmten Relais des rechten Blocks sind für meine Hoftürklingel. Unten rechts der Trafo für die Ventile. Gezeichnetes Schaltbild reiche ich noch nach.

jnewton957

Zitat von: funclass am 21 November 2016, 22:11:59
Gezeichnetes Schaltbild reiche ich noch nach.

Schon mal ganz herzlichen Dank für die Bilder und Beschreibung.
Es macht es etwas klarer und ist schon mal hilfreich.

Auf das gezeichnete Schaltbild freuen wir uns - damit dürften dann insbesondere auch "Unklarheiten" auf der linken Seite des Entwicklungsboards ausgeräumt werden.

Danke für die Mühe.

Jörg
P.S. wäre mal interessant an welchen "Großprojekten" du sonst noch arbeitest - die Bewässerungssteuerung ist auf jeden Fall für mich der Hammer und "mein" Großprojekt über die Weihnachtstage.
Parallel arbeite ich noch an MySensors Sensoren für die Bewässerungsnotwendigkeit von Pflanzen in outdoor Blumenkübeln und einer Wasseruhrablesevorrichtung (auch mysensors)

FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

funclass

#17
Hallo zusammen,

anbei mal ein schematischer Schaltplan beschränkt auf 7 Relais. Für weitere 7 wird ein 2. ULN2003 benötigt. Ich habe neben der Bewässerungssteuerung auch meine Hoftürklingel über 2 Relais laufen, daher gibt es noch ein paar Zusatzbauteile auf dem Breadboard. Außerdem hängt noch ein 1Wire-Temperatursensor am Arduino, für die Bewässerungslogik ist das aber alles irrelevant.
Die Elektronik wird komplett über die USB-Versorgung des Arduino gespeist. Dieser hängt am gleichen Netzteil wie mein Raspberry (hat 2 USB-Ports mit jeweils 2A).
Auf dem Arduino läuft der Sketch ConfigurableFirmata v2.06 ohne weitere Anpassungen. Standard würde hierfür auch vollkommen ausreichen, da ich 1 Wire brauche habe ich damals aber CF verwendet.

Derzeit beginne ich mit dem Ausbau meines Dachgeschosses. Deshalb wir hier FHEM noch ein wenig mehr zu tun bekommen (Rollläden der Dachfenster, schaltbare Steckdosen, Beleuchtung etc.). Außerdem wird je nach Wetterlage auch noch an der Garage gebaut, daher die sporadische Pflege von Infos zu diesem Projekt hier.

jnewton957

Zitat von: funclass am 12 Dezember 2016, 22:40:14
Hallo zusammen,

anbei mal ein schematischer Schaltplan beschränkt auf 7 Relais.

DANKE DANKE DANKE

Schönen 4. Advent

Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

tante ju

Ich habe diesen Sommer die Bewässerung im Garten auch automatisiert. Hatte auch erst mit den fertigen Relais-Platinen experimentiert, war da aber nicht so glücklich mit.

Letztlich habe ich ein Steuergerät auf MySensor-Basis gebaut. Leider habe ich keine Fotos vor dem Zusammenbau, wollte das aber noch mal bauen und Fotos machen, da ich da ein paar Dinge eingebaut habe, die vielleicht für viele interessant sind.

Die Basisplatine enthält Sicherung und Schaltwandler von 220V auf 5V zur Versorgung der Elektronik. NRF Modul, ATmega, ATSHA, ULN und 7 Relais sind auch noch untergebracht. Eine zweite Platine, die oben im Hutschienengehäuse eingebaut wird, enthält 7 Taster, 7 LEDs, 2 PCF8574, ein OLED und einen LM75. Die beiden Platinen sind über I2C verbunden.

Warum ich dieses gewählt habe?

Ich wollte alles in einer normalen Unterverteilung einbauen und Kleinspannung und Niederspannung trennen und da keine nackten Kontakte. Da auch die Pumpe gesteuert werden soll, muß noch ein Koppelrelais dahinter, die es auch für Hutschiene gibt.

Dann sollte alles auch autonom laufen. Also über die Tasten Pumpe an/aus und auch die Ventile zu betätigen, automatische maximale Laufzeiten, damit bei Fehlfunktionen keine Sumpflandschaft entsteht, und der LM75 als Temperatursensor, damit automatisch bei unter 10 Grad die Pumpe abgeschaltet bleibt. Ein automatisches Belüftungsprogramm für den Winter muß ich noch einbauen.

Die LEDs zeigen an, ob ein Relais eingeschaltet ist und evtl. ob ein Timer läuft. Das OLED ist eigentlich überflüssig, zeigt aber ein paar Statusinfos, wie Temperatur an.

Das ganze läuft über MySensors und der ATSHA ist drin, damit nicht irgendwer Kontrolle über das Wasser übernimmt.

Bei Bedarf kann ich gerne mal Schaltpläne und Layouts bereitstellen.

funclass

Das klingt auch sehr interessant. Über weiterführende Infos würde ich mich natürlich freuen.

jnewton957

Zitat von: tante ju am 05 Januar 2017, 23:12:43


Bei Bedarf kann ich gerne mal Schaltpläne und Layouts bereitstellen.

Hallo,

ich hätte Bedarf und würde mich über mehr Infos (und Bilder) sehr freuen.

Danke
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

tante ju

So,

hier ein paar mehr Infos zu meiner Bewässerungssteuerung.
Die Anbindung an FHEM erfolgt mittels MySensor. Dafür habe ich eine Modul für die Hutschiene gebaut, welches:

  • An 220V betrieben wird
  • 7 Relais steuert
  • Einen Temperatursensor enthält
  • Tasten für direkte Steuerung enthält
  • Kontroll-LEDs und Display enthält
  • Eingeschränkt autark laufen kann

Schaltpläne und Layouts habe ich angehängt.
Wenn man sich das 19" Hutschienengehäuse anschaut, dann kann man da mehrere Platinen unterbringen, bzw. muß man sogar. Deswegen sind es zwei Platinen: Einmal die Basisplatine, auf welcher auch die Schraubklemmen für die Anschlüsse sitzen und einmal die Front-Platine mit den LEDs und Tastern.
Das Modul läuft auch nur mit der Basisplatine. Dann kann man halt vor Ort nichts sehen oder steuern. Die Anbindung mit der Frontplatine läuft über I2C, womit sich die Verkabelung in Grenzen hält. Die Platinenmaße sind exakt so, daß es in ein Hutschienengehäuse passt. (Details müsste ich nachschauen).

Wichtig ist hierbei, daß man ein wenig an der Arduino-Library basteln muß. Es werden ALLE I/O-Pins des ATmega verwendet, also auch die beiden, an denen normalerweise der Quarz hängt. Diese sind aber in der normalen Header-Datei nicht definiert, weswegen man die beiden Einträge hinzufügen muß. Ebenso muß man manuell per avrdude die Fuses richtig setzen, damit die beiden I/Os verfügbar werden. Im Laufe der Entwicklung hatten sich ein paar Änderungen ergeben, weswegen drei analoge Pins nun wieder frei sind, und man das auch anders machen könnte.
An jedem Relais ist ein Jumper, durch welchen man einstellen kann, ob die beiden nach Außen geführten Kontakte ein Öffner oder Schließer sind. Nur beim mittleren Relais muß man das mit Drahtbrücke festlegen, da dort ein Steg vom Gehäuse im Weg ist.

Die Display-Platine enthält eine LED und einen Taster für jeden Kanal, welche über I2C I/O angesprochen werden. Ich habe da noch ei OLED eingebaut, weil ich es hatte und ein paar Zusatzinfos anzeigen wollte. Das ist aber nicht so wirklich nötig und das kann man sich sparen. Der Temperatursensor sitzt auch auf der Displayplatine, um nicht durch Stauwärme im Gehäuse beeinträchtigt zu werden.

Die Funktion ist folgende:
Für jeden Kanal kann man einstellen (per MySensor), ob es einen Timer gibt. Mit Timer wird dann ab der Aktivierung (per Taster oder MySensor Befehl) die Zeit runtergezählt und anschließend das Relais wieder deaktiviert. Der Temperaturfühler ist zur Sicherung der Pumpe da und schaltet die Pumpe unterhalb von 10 Grad ab. 10 Grad, weil das ganze in einem Unterverteiler sitzt, der immer ein wenig über Außentemperatur ist.

Die Relais steuern direkt die 24V für die Magnetventile, wobei ein Relais de gemeinsamen Kontakt aller Magnetventile steuert. So kann ich die Ventilbox komplett potentialfrei schalten. Ist nicht unbedingt notwendig, aber das ist für mich noch die Rückversicherung bei abgeschalteter Anlage, daß nicht ein einzelner Tastendruck irgendwo Wasser einschaltet :-)

Die Pumpe und andere 220V Verbraucher schalte ich über Finder Koppelrelais. Also das Relais schaltet das Koppelrelais, welches dann erst die 220V schaltet. Eigentlich könnten auch die eingebauten Relais 220V schalten, aber man sollte Niederspannung von Kleinspannung immer soweit wie möglich trennen, deswegen wollte ich an der Anschlußleiste keine 220V haben.

Noch ein paar Warnhinweise:
Auf der Platine ist ein Netzteil, somit liegen da auch 220V an. Das ganze gehört in ein entsprechendes Gehäuse mit Schutzklasse je nach Aufstellungsort. Die ganze 220V Verkabelung sollte nur Fachkräfte machen. 220V kann nicht nur tödlich sein, Fehler können auch Brände auslösen und Fehler können auch zur Zerstörung von Geräten führen.
Da sich Kondenswasser bilden kann, sollte die Platine (Kupferseite) auch entsprechend beschichtet sein, um Leckströme zu verhindern.

Ich übernehme keine Garantien und werde diese Platinen auch nicht produzieren oder verkaufen.

Bei Bedarf kann ich auch noch die anderen, wasserberührenden, Bauteile raussuchen, die ich verwendet habe.

pnewman

Hallo,

danke für diese wunderbare Steuerung.

Da Ich wunderground nicht nutze, muss Ich den Niederschlagszähler auslassen und die Beregnung auf die Frage "Regnet es Heute oder Morgen?" mit Proplanta umstellen.

Hat das schon jemand?


Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

funclass

Wie sehen die readings bei Proplanta hierfür aus?

pnewman

#25
Hallo,

für Heute ist es "fc0_rain"
für morgen ist es "fc1_rain"

Danke für deine Hilfe.


Edit:
Übrigens benutze ich einen Homematic 8fach Empfänger und eine 8fach Relaisplatine für Arduino.
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

funclass

#26
Ich würde dafür lediglich den automatischen Start des Beregnungszyklus um die Prüfung der beiden Readings erweitern und die tägliche Kumulation der Niederschlagsmenge deaktivieren (es sei denn Proplanta liefert auch irgendwie den Tageswert für Niederschlag). Vorteil ist dann, dass der Zyklus der Beregnung weiterhin über den Tageszähler gewählt werden kann und sonst keine weiteren Anpassungen nötig wären.

z.B.:

## Zyklus starten
...
my $heute = ReadingsVal('Proplanta', 'fc0_rain', '0');;\
my $morgen = ReadingsVal('Proplanta', 'fc1_rain', '0');;\
## prüfen ob Niederschlag der letzten x Tage kleiner als x Liter\
{if (($tage > $tage_max) && ($niederschlag < $liter_soll) && ($heute < x) && (morgen < x)) {\
...


-> x muss natürlich gegen einen gewünschten Mindestwert ersetzt werden oder du prüfst ob heute und morgen = 0 ist

und


define Niederschlag_schreiben at *23:59:30 {\
my $aktuell = ReadingsVal('Beregnung', 'Menge', '0');;\
my $niederschlag = $aktuell;;\
...

Jewe

Zitat von: tante ju am 27 März 2017, 20:55:27
So,

hier ein paar mehr Infos zu meiner Bewässerungssteuerung.

Hallo tante ju,

kannst Du vielleicht noch ein paar Bilder Deiner Anlage posten ? Würde mich schon sehr interessieren. :-)

Jens

pnewman

#28
Hallo funclass,

heißen deine Getrieberegner "Getrieberegner"?

Ich schreibe gerade den Code für mich um und bin darüber gestolpert.
Gestern hatte ich alles nur grob überflogen und mich über wunderground informiert.


Edit:

damke habe es schon gefunden, du steuerst Relais01 - Relais04!

Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

pnewman

#29
Hallo funclass,

ich habe "Niederschlag_schreiben" mal auf 17:54:00 gestellt und folgendes Log erhalten:

2017.03.30 17:54:00 3: setReading Beregnung Menge 0 : Please define Beregnung first
2017.03.30 17:54:00 3: setReading Beregnung Tage 1 : Please define Beregnung first
2017.03.30 17:54:00 3: Niederschlag_schreiben: Please define Beregnung first

Wenn ich Beregnung nicht definiert habe ist dies schon klar.

Nur habe ich nichts dergleichen gefunden.

Wenn ich auf den Pfeil von "bewaesserung_starten" klicke passiert auch nichts.



Edit:

Zu Dumm zum Lesen! Entschuldigung!
Ich sollte auch den Anfang mitlesen  "Hauptschalter"
Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung