Level Sensor für Zisterne und Öl - Tank

Begonnen von Billy, 16 November 2018, 17:08:22

Vorheriges Thema - Nächstes Thema

dadoc

Ja, die gibt es, aber am Ende sind es immer 4-20 mA, die sich auf die Eintauchlänge verteilen, so dass das prozentual und von den umgewandelten Volts immer gleich bleiben sollte. Der Rest müssten wohl nachgeschaltete Berechnungen anhand der Behälterparamter erledigen.
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Billy

Zitat von: dadoc am 22 Januar 2019, 19:49:18
Ja, die gibt es, aber am Ende sind es immer 4-20 mA, die sich auf die Eintauchlänge verteilen, so dass das prozentual und von den umgewandelten Volts immer gleich bleiben sollte.
Grüße
Martin

Dem kann ich nicht zustimmen. :'(

Ein Sensor 0-3mH2O bringt die 4-20 mA im Bereich einer Einbautiefe von 0 - 3 Meter. d.h. volle Auflösung im 3m Tank. d.h. max. 20 mA
Wenn du einen Sensor 0-10mH2O in einen 3m Tank hängst, bekommst du max. ca. 9 mA .

Ein 0-5mH2O bringt also in einen 3m Tank max ca. 13,6 mA

Im meinem Fall setzte ich zum Beispiel ein 11m langes kabel mit 0-10mH2O Sensor in meiner Zisterne mit 2m max Wasserstand ein.
d.h. meine Auflösung ist 4mA -ca. 7,2 mA
Mit dem 0/4-20mA To 0-3.3V 5V/10V Current To Voltage Converter kann ich dann den Pegel für meine Verhältnisse anpassen.
Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

dadoc

Ja, das war etwas missverständlich formuliert. Ich meinte (und schrieb es im verlinkten Post auch) in der Tat die maximal spezifizierte Eintauchlänge des jeweiligen Modells, nicht die reale im Becken ;)
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

So, ich habe das am letzten WE mal zusammengelötet und einen ganz rudimentären Sketch für das Auslesen des Analog-Ports des Arduino und das Berechnen des Füllstands geschrieben (was mich schon Blut und Wasser gekostet hat..., siehe auch hier):
/*
    Reads voltage across 250 Ohm Resistor which is in series with 4-20mAmp Sensor
    www.circuits4you.com
*/
const int sensorPin=A0;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  float sensorValue = analogRead(sensorPin);
  float SensorLength = 500; // maximale Eintauch- bzw. Messtiefe in cm meines konkreten Sensors, muesste als definierbare Variable umgesetzt werden
  float ResultCase; // Gemessener Inhalt in % bezogen auf maximae Fuellhoehe
  float FillHeight = 130; // maximaler Füllstand in cm in meinem konkreten Fall, muesste als definierbare Variable umgesetzt werden
  float CaseWidth = 157;
  float Result; // Gemessener Inhalt in % bezogen auf maximale Messtiefe
  float CaseLength = 412;
  float ContentLiters;
  float Offset = 214; //
 
  Result = ((sensorValue-Offset)*100.0)/(1024.0-Offset);  //214 is offset, 4mAmp is 0
  ResultCase = Result*SensorLength/FillHeight;
  ContentLiters = CaseWidth * CaseLength * FillHeight / 1000 /100 * ResultCase;
  // print out the value you read:
  if(Result>0)
  {
    Serial.print("Pin Voltage: ");
    Serial.println(sensorValue);
    Serial.print("Sensor Output: ");
    Serial.print(Result);
    Serial.println(" %");
    Serial.print("bei konkreter Hoehe: ");
    Serial.print(ResultCase);
    Serial.println(" %");
    Serial.print("In Litern: ");
    Serial.print(ContentLiters);
    Serial.println(" l");
  }
  else
  {
    Serial.println("Sensor Error");    //Show error if value is less than 4mAmp
  }
    delay(2000);        // delay in between reads for stability   
}

Misst super in einer hohen Blumenvase.
Den US-Sensor-Sketch von Jerome anzupassen bekomme ich allerdings nicht hin (d.h. inkl. Homematic-Parts, Funk usw.), Doku oder Tutorials habe ich nicht gefunden, und Jerome hat momentan leider nicht viel Zeit... Also muss ich warten, bis eine barmherzige Seele weiter macht ;)
Eine Frage zur Verdrahtung, die ich auch im HM Forum gestellt habe, ist mir noch unklar: Wenn ich es richtig verstehe, versorgt Jeromes ursprünglicher Sketch den US-Sensor über digitalWrite(SENSOR_EN_PIN, HIGH) und digitalWrite(SENSOR_EN_PIN, LOW) nur in Intervallen mit Spannung – um Batterie zu sparen? Wenn dem so ist, sollte ich auch den Stepup (→ 24 V) nicht direkt am Batteriekasterl (wie derzeit, siehe angehängte Skizze) anschließen, sondern auch an einem 5-V-Pin des Arduino und den dann nur für die Intervallmessung auf High schalten?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

HubertM

Zitat
Zu ESP und Akku/Batterie gibt es keine vernünftige Lösung. Der ESP holt sich beim Verbinden bzw senden bis zu 800 mA. Selbst mit Sleep Modus ist man gefühlt nur am Laden oder Batterien wechseln.

Das stimmt so aber nicht!!
https://tutorials-raspberrypi.de/monatelanger-esp8266-batteriebetrieb-mittels-deep-sleep/

Ich habe einen ESP8266 mit ESPeasy in meinem Gewächshaus im Einsatz. Sendet alle 2 Minuten. Gespeist mit Akku und Solarzelle.
Das Ganze braucht so weing Strom, dass ich mir noch eine Ladebegrenzung einbauen muß, damit der Akku nicht ständig überladen wird.

dadoc

Hi,
Zitat von: Billy am 16 November 2018, 17:08:22
Ein Wemos D1 mit Tasmota geflasht überträgt die Füllhöhe über mqtt an FHEM!
Ich hätte mal ne blöde Frage, da ich noch nie etwas mit Sonoff-Tasmota gemacht habe: Könnte man den Füllstandsensor auch erst einmal "stand alone" abfragen, also ohne fhem, über das WebUI? Und wenn ja: Wo würde man die Abmessungen des Behälter definieren? Mein Bruder möchte auch so ein Teil für seine Regenwasserzisterne, hat aber bislang weder HM noch fhem (kommt aber dann bestimmt noch ;)
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

chunter1

Zitat von: dadoc am 08 März 2019, 13:11:13
...siehe angehängte Skizze...

Überleg dir nochmal genau dein GND-Konzept bzw. die Stromschleife.
So wie deine Skizze gezeichnet ist, hast du auch den Stromverbrauch der Elektronik in deinem Messsignal mit drin.

dadoc

Hi,
Zitat von: chunter1 am 08 April 2019, 15:02:16
Überleg dir nochmal genau dein GND-Konzept bzw. die Stromschleife.
So wie deine Skizze gezeichnet ist, hast du auch den Stromverbrauch der Elektronik in deinem Messsignal mit drin.
Ich muss gestehen, dass ich hier an meine Grenzen stoße. Ich habe die Schaltung dieser hier nachempfunden: https://circuits4you.com/2016/05/13/arduino-4-20mamp-current-loop/
Das zu messende Signal liegt an A0 und ist nur (?) über R4 mit GND verbunden.
Macht es denn einen Unterschied, ob ich alle GND am Batteriekasterl anlöte oder auf den GND-Pins des Arduino?
Danke für Aufklärung &
Viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Billy

Zitat von: dadoc am 08 April 2019, 13:14:41
Hi,Ich hätte mal ne blöde Frage, da ich noch nie etwas mit Sonoff-Tasmota gemacht habe: Könnte man den Füllstandsensor auch erst einmal "stand alone" abfragen, also ohne fhem, über das WebUI? Und wenn ja: Wo würde man die Abmessungen des Behälter definieren? Mein Bruder möchte auch so ein Teil für seine Regenwasserzisterne, hat aber bislang weder HM noch fhem (kommt aber dann bestimmt noch ;)

Ja, man kann den Füllstandssensor mit der von mir hier vorgestellten Lösung auch "stand alone" abfragen!
Füllstandshöhe ist ja direkt proportional zum Druck!
Mit dem Zisterneninhalt in Liter etc. ist es schwieriger, das hängt ja von Form und Lage der Zisterne ab.
Bei einem Stehenden Zylinder dürfte es aber auch mit dem WEMOS + Tasmota oder auch ESP-Easy zu rechnen sein.
Meinen Zysterneninhalt in Litern (liegender Zylinder) lasse ich in FHEM berechnen. Für den liegenden Zylinder ist die Formel ja auch anspruchsvoller.
Übrigens läuft bei mir alles problemlos.

Gruß Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

dadoc

Hi Billy,
Nachdem ich Deine Lösung bislang ja nur in abgewandelter Form (als HM-Komponente) bearbeitet habe, möchte ich sie jetzt wie geschrieben aber auch mal im Original umsetzen.
Da stellte sich mir jetzt die Frage: Was genau flashst Du auf den Wemos? Die in Deinem ersten Post verlinkte Quelle sagt ja:
ZitatThe software I'm using on the WeMos is (again) the Sonoff-Tasmota sketch by Theo Arends. I've modified it to allow use of the HC-SR04 so that the ultrasonic distance and air quality readings will appear on the web interface, and is also transmitted via MQTT, along with the other telemetry that it typically sends (signal strength, up-time, etc).
Wo findet man dieses modifizierte Image?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Billy

Zitat von: dadoc am 13 April 2019, 23:05:23
Hi Billy,
Nachdem ich Deine Lösung bislang ja nur in abgewandelter Form (als HM-Komponente) bearbeitet habe, möchte ich sie jetzt wie geschrieben aber auch mal im Original umsetzen.
Da stellte sich mir jetzt die Frage: Was genau flashst Du auf den Wemos? Die in Deinem ersten Post verlinkte Quelle sagt ja:Wo findet man dieses modifizierte Image?
Grüße
Martin

Ich flashe generell für mich eine Version von Tasmota die ich selbst compiliere.
Das ist neuerdings aber für dich nicht mehr notwendig.

Das fertige Image sonoff-sensors.bin von http://thehackbox.org/tasmota/sonoff-sensors.bin hat den analogen Input schon implementiert.
Einfach flashen das wars!
d.h. du bekommst den Füllstand ( natürlich nicht angepasst) direkt angezeigt.
Ich würde dir aber raten meine Schaltung inclusive (MT3608-DC-DC-Converter-Spannung-Step-Up) nachzustellen.

Bei weiteren Fragen einfach melden.
Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Billy

@dadoc
Falls du einen  MT3608-DC-DC-Converter kurzfristig brauchst, ich habe noch ein paar übrig.
Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

dadoc

Vielen Dank Billy,
wenn ich - für eine Stand-Alone-Version - den berechneten Füllstand direkt im Web UI des Wemos anzeigen will, muss ich vermutlich den Sketch ändern und selbst kompilieren, oder lässt sich das über das Web UI konfigurieren?
Zitat von: Billy am 14 April 2019, 08:55:06
Falls du einen  MT3608-DC-DC-Converter kurzfristig brauchst, ich habe noch ein paar übrig.
Danke für das Angebot. Aber Aliex hat mir gerade ein paar gebracht ;)
Viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Billy

Zitat von: dadoc am 14 April 2019, 09:21:37
Vielen Dank Billy,
wenn ich - für eine Stand-Alone-Version - den berechneten Füllstand direkt im Web UI des Wemos anzeigen will, muss ich vermutlich den Sketch ändern und selbst kompilieren, oder lässt sich das über das Web UI konfigurieren?

Ich denke, das hängt von der Komplexität deiner Volumenformel ab.
Bei einer Zisterne mit stehendem Zylinder könnte das auch mit den Rules in tasmota gehen.
Bin ich mir aber nicht sicher.

Wenn du den Tasmota Sketch selbst abändern möchtest dann viel Spass.
ESP Easy wäre vielleicht auch eine Möglichkeit.
Zuerst solltest du mal deine Volumenformel vorstellen, dann kann dir vielleicht jemand helfen.
Wie schon erwähnt läuft das bei mir in FHEM.

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

dadoc

Zitat von: Billy am 14 April 2019, 11:11:42
ESP Easy wäre vielleicht auch eine Möglichkeit.
Das ist ein guter Tipp, danke. https://www.letscontrolit.com/wiki/index.php/Analog klingt vielversprechend.
Zitat
Zuerst solltest du mal deine Volumenformel vorstellen, dann kann dir vielleicht jemand helfen.
Dieser Versuch ist für die Regenwasserzisterne meines Bruders, ich warte noch auf die Infos zu deren Form und Abmessungen.
Zitat
Wie schon erwähnt läuft das bei mir in FHEM.
Ja, das ist am Einfachsten. Da kriege ich meinen Bruder schon noch hin, daher setze ich ja auf die Wemos-Version ;) sonst könnte man das ja ohne weiteres Herumfrickeln einfach mit einem 4-20mA-Display lösen wie dem, das mir Aliex gerade geschickt hat: http://s.aliexpress.com/ymqYJFRn
Das kann man über die beiden Taster einstellen, was aber nur bei rechteckigen Becken funktionieren dürfte.
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods