Module

Aus wiki.steinla.us
Zur Navigation springen Zur Suche springen

Füllstand der Zisterne[Bearbeiten]

Der Füllstand der Zisterne wird mit einem VL53L1X Time of Flight (ToF) Laser Ranging Sensor Module gemessen. Dieser misst die Entfernung bis zur Wasseroberfläche. Damit kann dann der Füllstand und damit dann wiederum das vorhandene Volumen berechnet werden.

Software[Bearbeiten]

ESPEasy[Bearbeiten]

Alternativ kann Deep Sleep auch über Rules aktiviert werden

Tasmota[Bearbeiten]

Tasmota hat den Treiber für den VL53L1X nicht in der Sensor-Binary, deshalb muss eine eigene kompiliert werden.

#define USE_I2C
#define USE_VL53L1X
#define I2CDRIVERS_0_31  0x00000000
#define I2CDRIVERS_32_63 0x00400000     // enable only device 54, the VL53L1X
#define I2CDRIVERS_64_95 0x00000000

Genaues Vorgehen:

Einstellungen für TasmoCompiler v9.0.1:

  • Hardware: Wemos/NodeMCU
  • Funktionen:
  1. Abstandssensoren
  2. Regeln
  3. Web Interface
  • Zusätzliche Parameter:
#define I2CDRIVERS_0_31  0x00000000 
#define I2CDRIVERS_32_63 0x00400000     // enable only device 54, the VL53L1X
#define I2CDRIVERS_64_95 0x00000000

Dann eine stabile Version compilieren.

Wenn beim Update nicht genug Speicher angezeigt wird:

Zuerst die minimale Version installieren:

http://ota.tasmota.com/tasmota/release/tasmota-minimal.bin.gz

Dann die neue Vollversion installieren

DeepSleep[Bearbeiten]

Die DeepSleepTime kann über MQTT geändert werden. Wenn der ESP schläft, kann er keine Nachricht empfangen. Retain auf true setzen hilft hier nicht, denn die Nachricht wird dann zwar bei jedem Aufwachen erneut gesendet und verarbeitet, DeepSleep wird dann jedoch von Tasmota sofort verarbeitet, BEVOR die Sensordaten gesendet werden. Die Nachricht mit der neuen DeepSleepTime sollte deshalb mit Retain false gesendet werden, wenn der ESP die Sensordaten gerade geschickt hat.


Console[Bearbeiten]
  • Rule1 ON Power1#Boot DO Power on ENDON
  • Rule1 1
  • DeepSleepTime 3600
Modulkonfiguration[Bearbeiten]
  • GPIO12 (D6) I2C SDA
  • GPIO13 (D7) I2C SCL
  • GPIO15 (D8) Relay
  • GPIO17 (A0) ADC Range

{"NAME":"Zisterne","GPIO":[0,0,0,0,0,0,0,0,640,608,0,224,0,4864],"FLAG":0,"BASE":18}

MQTT Parameter
Item Wert
Host 192.168.1.1
Port 1883
client Zisterne
Benutzer SaTanca
topic Zisterne
full topic wasser/%prefix%/%topic%/


Die Übermittlung der Daten an den Server kann direkt durch ein Kabel erfolgen, oder per WLAN mit einem ESP über MQTT. Allerdings ist die Länge des Kabels für I2C begrenzt.

I2C Kabel:

WLAN:

Hauptventil und Durchflussmesser[Bearbeiten]

Der Durchflussmesser basiert auf einem ESP-01 mit Relais Modul. Er bekommt per MQTT die Wassermenge, die er abgeben soll, öffnet entsprechend lange das Hauptventil, sendet regelmäßig den aktuellen Durchfluss, schließt das Hauptventil wieder und sendet einen ready-Status.

ESP-01 Modul[Bearbeiten]


YF-S201 Wasserfluss Durchfluss Sensor[Bearbeiten]

Dieser Durchfluss-Sensor ermöglicht die Bestimmung von Flüssigkeitsmengen zwischen 1 bis 30 Liter pro Minute.

Technische Daten:

   Messbereich: 1 bis 30 Liter/Minute
   Sensorart: Hall-Sensor
   Signalausgang: Frequenz (Hz) = 7,5 * Flussrate (l/min)
   450 Pulse/Liter
   Stromaufnahme: 15 mA @ 5 V
   Spannungsversorgung: 3 bis 18 V DC
   Toleranz: ±10%
   Pinbelegung:
       schwarz: GND
       gelb: analoges Signal
       rot: Vcc
   Anschluss: 1/2 Zoll
   Maximaler Hydrostatischer Druck: 1,75 MPa
   Betriebstemperatur: -25 bis 85 °C
   Kabellänge: 15 cm
   Sensor Type: Hall effect
   Output Type: 5V TTL
   Working Humidity Range: 35%-80% RH
   Output duty cycle: 50% +-10%
   Output rise time: 0.04us
   Output fall time: 0.18us
   Flow rate pulse characteristics: Frequency (Hz) = 7.5 * Flow rate (L/min)
   Durability: minimum 300,000 cycles
   1/2" nominal pipe connections, 0.78" outer diameter, 1/2" of thread
   Größe: ca 6,3cm x 3,5cm x 3,5cm
  • ESPEasy installieren
  • mit neuem WLAN verbinden (192.168.4.1)
  • Passwort: configesp

GPIO2 muss beim booten auf high gezogen werden. Wenn der Durchflussmesser zufällig auf low ist, bootet der ESP-01 nicht. Deshalb besser in ESPEasy die serielle Ausgabe deaktivieren und GPIO3 (RX) als Eingang nehmen. Dann bootet der ESP-01 auch zuverlässig.

An den GPIO3 einen Spannungsteiler schalten, um die 5V vom Durchflussmesser auf 3.3V zu regeln: Signal Durchflussmesser -> 4.7k -> GPIO3 -> 10k -> Masse.


Relais-Boards[Bearbeiten]

Ein 4-er Relais kann bis zu 5 Pflanzen bewässern, wenn alle 4 Ventile Durchgangsventile sind. Die Zentrale Steuerung muss entsprechend den Zweig komplett abschalten. Für das 2-er Relais gilt das entsprechend. Gleichzeitig kann ein Modul bis zu 4 Feuchtigkeitssensoren auslesen. Dafür wird ein I2C-Modul mit 4 analogen Eingängen angeschlossen. Das Relais-Modul muss mit der Sensor-Firmware von Tasmota geflasht sein, damit I2C nutzbar ist (tasmota-sensors.bin.gz). Der Anschluss erfolgt an RX und TX mit RX = SDA und TX = CSL. Dafür muss unter "Configure Logging" "Serial log level" auf "None" eingestellt werden. Die anderen freien GPIOs funktionieren leider nicht mit I2C, warum auch immer... Der AD-Wandler wird erkannt, aber alle Messwerte sind 0.


Akku mit Solarladung[Bearbeiten]

Micro USB 5 V 1A 18650 TP4056 Lithium-Batterie-Ladeg-Modul[Bearbeiten]

Technische Daten:

Länge ca. 27,9 mm
Breite ca. 17,2 mm
Eingangsspannung: 4,5-5,5 V
Vollladung Spannung: 4,2 V
Max Ausgangsstrom: 1A voreingestellt kann durch den Austausch von R3 geändert werden.
Power Anzeige: rot steht für Laden, Blau steht für voll aufgeladen.
Eingangsschnittstelle: Micro USB Schnittstelle oder Lötpads.
Achtung: Bei längeren Laden mit maximalem Strom kann der Lade-IC eine Temperatur von 60°C erreichen!
Widerstandswerte für Ladestrom
Widerstand R3 Akku Ladestrom
10 kΩ 130 mA
5 kΩ 250 mA
4 kΩ 300 mA
3 kΩ 400 mA
2 kΩ 580 mA
1,66 kΩ 690 mA
1,5 kΩ 780 mA
1,33 kΩ 900 mA
1,2 kΩ 1000 mA

MOSFET FQP27P06[Bearbeiten]

https://www.mouser.de/ProductDetail/onsemi-Fairchild/FQP27P06?qs=sGAEpiMZZMtqBmg8fZQA68ZR%252Bf36qak7

Low-Drop Spannungsregler HT7333[Bearbeiten]

https://www.kollino.de/elektronik/low-drop-spannungsregler-ht73xx/