NEWS
Wasserstands-/Füllstandssensor,Wasserpegelschalter
-
Habe gelesen, das es Probleme mit der Oberflächenspiegelung der Flüssigkeit und der Ultraschallmessung gibt, vielleicht hat es damit zutun.
-
@Schlagschatten sagte in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Habe gelesen, das es Probleme mit der Oberflächenspiegelung der Flüssigkeit und der Ultraschallmessung gibt, vielleicht hat es damit zutun.
Alles möglich.
Hab mich daran gewöhnt.Ne bessere Lösung hab ich noch nicht gefunden.
-
Mit dem Ultraschallsensor und der Füllstandsanzeigen ist schon eine abgefahrene Lösung. Mir würde für den Anfang erstmal eine einfachere und ggf. stabilere Variante mit Werten (true/false) reichen. Würde mich über weitere hilfreiche Vorschläge freuen.
-
Hi,
ich messe den Füllstand meiner Zisterne mit einem Wemos D1 mini und einem HC SR04 Ultraschallsensor. Funktioniert seit 2 Jahren bei Wind und Wetter ohne Probleme. Wemos D1 mini ist via ESPEasy und MQTT in ioBroker eingebunden.
-
wemos und ultraschall -> billig und funktioniert.
Eine wirkliche genaue, zuverlässige Lösung hab ich noch nicht gefunden.
true/false wäre mir zu wenig.
Ich möchte schon die cm haben.mfg
-
@George_Best sagte in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Hi,
ich messe den Füllstand meiner Zisterne mit einem Wemos D1 mini und einem HC SR04 Ultraschallsensor. Funktioniert seit 2 Jahren bei Wind und Wetter ohne Probleme. Wemos D1 mini ist via ESPEasy und MQTT in ioBroker eingebunden.
Hast du auch Störsignale?
-
Habt ihr den Ultraschallsensor in ein wassergeschütztes Gehäuse gebaut oder wie geht ihr da vor?
-
@Schlagschatten sagte in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Habt ihr den Ultraschallsensor in ein wassergeschütztes Gehäuse gebaut oder wie geht ihr da vor?
Ne, das hab ich nicht.
-
@bahnuhr sagte in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
@George_Best sagte in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Hi,
ich messe den Füllstand meiner Zisterne mit einem Wemos D1 mini und einem HC SR04 Ultraschallsensor. Funktioniert seit 2 Jahren bei Wind und Wetter ohne Probleme. Wemos D1 mini ist via ESPEasy und MQTT in ioBroker eingebunden.
Hast du auch Störsignale?
Inwiefern? Das Signal wird ohne Störsignale übertragen - es wird ja auch kein Analog-Signal übertragen sondern bereits der gemessene Wert.
Ich sende das Signal alle 300 Sekunden, daher gibt es auch kein "Flackern" des gemessenen Wertes. -
Würde jemand so freundlich sein mir die Vorgehensweise mit dem Wemos und dem HC SR04 zu erklären?
Die Teile gibt es ja in China oder bei Amazon zu kaufen.
Habe mir auch schon einige Videos auf YouTube angeschauen.
Werde daraus aber einfach nicht schlau.Was muss denn für ein Programm auf den Wemos und wie spielt man das auf?
Vielleicht geht es ja auch mit dem NodeMcu, wenn das leichter ist?
Wie bekomme ich dann eine Verbindung zur Homematic um mir den Wasserstand in VIS anzeigen zu lassen?Ich habe mir jetzt schon den dritten Wasserstandsmesser von ELV gekauft und die Dinger gehen regelmässig nach eineinhalb bis zwei Jahren kaputt.
Ich habe einfach keine Lust mehr denen das Geld in den Rachen zu werfen für ihren Schrott!Könnte mir jemand helfen?
-
@Superdad said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
HC SR04
Ich habe zwar ne nodemcu, Dein Wemos sollte ähnlich sein. Bei mir habe ich Tasmota ausgespielt und verwende folgende Konfiguration:
GPIO4 und GPIO5 musst du nicht konfigurieren. Bei mir ist da ein Display angeschlossen.
Weiterhin verwende ich dieses Modell:
-
@Superdad sagte in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Würde jemand so freundlich sein mir die Vorgehensweise mit dem Wemos und dem HC SR04 zu erklären?
Such mal nach meinen Beiträge.
Da habe ich es erklärt. Und auch ein funktionierendes Sketch eingestellt. -
Vielen Dank euch Beiden!
-
Habe mir jetzt mal alles besorgt und angeschlossen.
Hoffe, dass ich es richtig angeschlossen habe.
DC6 = Trigger
DC7 = Echo
GND = GND
Vin = 5V
NodeMCU mit Tasmota geflasht.
Bekomme im iOBroker im Sonoff-Adapter unter SR04_Distance auch einen Wert angezeigt.
Dieser kann aber nicht stimmen.
Mit welcher Formel muss der umgerechnet werden?
Oder hast du eventuell ein Blockly dazu?
Auch habe ich noch nicht mitbekommen in welchem Intervall der gemessene Abstand aktualisiert wird.
Weißt du das zufällig?Gruss Andreas
-
Guten Morgen Andreas,
bei mir ist das so angeschlossen: (Habe an D1 und D2 noch ein Sh1106 Display angeschlossen)
Den Wert musst du eigentlich nicht umrechnen. Dieser wird in der Einheit cm übertragen. In der Tasmota Software ist ja noch ein Mittelwertfilter hinterlegt. Schätze mal dass die Software alle par Sekunden misst. Wie oft übertragen wird kannst du mit dem Parameter teleperiod einstellen. Entweder fest in die Software eintragen wenn du selbst compilieren willst, oder in der Konsole mit teleperiod und einer Zahl. Zulässig sind 0 für ausschalten oder 10 - 3600 sekunden.
Mein Werte im obigen Bild stimmt zwar messtechnisch auch überhaupt nicht, liegt bei mir aber am Einbau des Sensors, den ich übers Wochenende ändern werde.
Die weitere Verarbeitung des Signals kannst du dann z.B. in Javascript machen.
Ich will bei mir die Ölmenge im zylindrischen Erdtank bestimmen. Das Script dazu habe ich schon geschrieben und sieht so aus:
// Maximale Füllmenge im Erdtank const maxVolume = 7000; // Liter //maximale Füllhöhe const MaxOelLevel = 160; // cm // Gemessener Abstand von Sensor zu Öloberfläche var AirLevel = 0; // cm // Korrekturwert wegen Sensormontage im Erdtank ( Domschacht) var AirLevelOffset = 16; // cm // Errechneter Ölstand im Tank var OelLevel = 0; // cm // Menge Öl in Erdtank var Oelvolume = 0; // Peiltabelle von Thyssen Krupp // Wert links Pegelstand von Grund ab gemessen in cm, // Wert Rechts Fuellstand in Liter const Peiltabelle = new Map([ [ 0, 0 ], [ 1, 5 ], [ 2, 15 ], [ 3, 28 ], [ 4, 43 ], [ 5, 61 ], [ 6, 80 ], [ 7, 101 ], [ 8, 124 ], [ 9, 149 ], [ 10, 174 ], [ 11, 201 ], [ 12, 230 ], [ 13, 259 ], [ 14, 289 ], [ 15, 320 ], [ 16, 352 ], [ 17, 385 ], [ 18, 419 ], [ 19, 455 ], [ 20, 491 ], [ 21, 528 ], [ 22, 565 ], [ 23, 603 ], [ 24, 642 ], [ 25, 682 ], [ 26, 723 ], [ 27, 764 ], [ 28, 806 ], [ 29, 848 ], [ 30, 891 ], [ 31, 935 ], [ 32, 979 ], [ 33, 1024 ], [ 34, 1069 ], [ 35, 1114 ], [ 36, 1160 ], [ 37, 1206 ], [ 38, 1254 ], [ 39, 1303 ], [ 40, 1352 ], [ 41, 1401 ], [ 42, 1450 ], [ 43, 1500 ], [ 44, 1550 ], [ 45, 1601 ], [ 46, 1652 ], [ 47, 1703 ], [ 48, 1755 ], [ 49, 1808 ], [ 50, 1861 ], [ 51, 1914 ], [ 52, 1967 ], [ 53, 2020 ], [ 54, 2074 ], [ 55, 2128 ], [ 56, 2183 ], [ 57, 2238 ], [ 58, 2293 ], [ 59, 2348 ], [ 60, 2403 ], [ 61, 2458 ], [ 62, 2513 ], [ 63, 2569 ], [ 64, 2625 ], [ 65, 2681 ], [ 66, 2737 ], [ 67, 2793 ], [ 68, 2849 ], [ 69, 2905 ], [ 70, 2961 ], [ 71, 3017 ], [ 72, 3073 ], [ 73, 3130 ], [ 74, 3187 ], [ 75, 3244 ], [ 76, 3301 ], [ 77, 3358 ], [ 78, 3415 ], [ 79, 3472 ], [ 80, 3529 ], [ 81, 3586 ], [ 82, 3643 ], [ 83, 3700 ], [ 84, 3757 ], [ 85, 3814 ], [ 86, 3871 ], [ 87, 3928 ], [ 88, 3984 ], [ 89, 4040 ], [ 90, 4096 ], [ 91, 4152 ], [ 92, 4208 ], [ 93, 4264 ], [ 94, 4320 ], [ 95, 4376 ], [ 96, 4432 ], [ 97, 4488 ], [ 98, 4543 ], [ 99, 4598 ], [ 100, 4653 ], [ 101, 4708 ], [ 102, 4763 ], [ 103, 4818 ], [ 104, 4873 ], [ 105, 4927 ], [ 106, 4981 ], [ 107, 5034 ], [ 108, 5087 ], [ 109, 5140 ], [ 110, 5193 ], [ 111, 5246 ], [ 112, 5298 ], [ 113, 5349 ], [ 114, 5400 ], [ 115, 5451 ], [ 116, 5501 ], [ 117, 5551 ], [ 118, 5600 ], [ 119, 5649 ], [ 120, 5698 ], [ 121, 5747 ], [ 122, 5795 ], [ 123, 5841 ], [ 124, 5887 ], [ 125, 5932 ], [ 126, 5977 ], [ 127, 6022 ], [ 128, 6066 ], [ 129, 6110 ], [ 130, 6153 ], [ 131, 6195 ], [ 132, 6237 ], [ 133, 6278 ], [ 134, 6319 ], [ 135, 6359 ], [ 136, 6398 ], [ 137, 6436 ], [ 138, 6473 ], [ 139, 6510 ], [ 140, 6546 ], [ 141, 6582 ], [ 142, 6616 ], [ 143, 6649 ], [ 144, 6681 ], [ 145, 6712 ], [ 146, 6742 ], [ 147, 6771 ], [ 148, 6800 ], [ 149, 6827 ], [ 150, 6852 ], [ 151, 6877 ], [ 152, 6900 ], [ 153, 6921 ], [ 154, 6940 ], [ 155, 6958 ], [ 156, 6973 ], [ 157, 6986 ], [ 158, 6996 ], [ 159, 7001 ], [ 160, 9999 ] // error ]) ; // Name des Tasmota Gerätes const Geraetename = 'DVES_568D91'; //Staus Verbindung zu Tasmota var StatusVerbindung = 0; // String der verbundenen Tasmota Geräte var sonoffname; StatusVerbindung = getState("sonoff.0.info.connection").val; // Prüfe Verbindung zu Tasmota prüfen //console.log(StatusVerbindung); sonoffname = StatusVerbindung.search(Geraetename); // Suchen ob Tasmota Gerätename vorhanden //console.log(sonoffname); if( sonoffname != -1) { var Messwert = getState("sonoff.0.DVES_568D91.SR04_Distance").val; // Hole Daten von Ultraschallsensor console.log( 'Luftmessweg' + Messwert + 'cm') ; AirLevel = Messwert - AirLevelOffset; // Montagehöhe von Sensor abziehen OelLevel = MaxOelLevel - AirLevel; // Errechne die Füllhöhe im Erdtank console.log( 'Ölmessweg ' + OelLevel + ' cm') ; if ((OelLevel >= 0) && (OelLevel < MaxOelLevel)) { Oelvolume = Peiltabelle.get(Math.round(OelLevel)); console.log( 'Ölmenge ' + Oelvolume + ' Liter') ; // sendTo("telegram.0", "send", { // text: 'Heizpatrone Stufe 1 Ein' // }); } else {console.log('Fehler in Messung'); Oelvolume = 9999; console.log( 'Ölmenge ' + Oelvolume + ' Liter') ; } } else{ console.log('Keine Verbindung zu Tasmota Gerät'); Oelvolume = 9999; } code_text
Gruß Stephan
-
Hallo Stephan,
jetzt ist alles im grünen Bereich.
Muss nur noch das Script anpassen.
Hatte ganz vergessen, dass der Sensor unter 20cm nur Mist misst!Hatte gestern einen halben Tag gebraucht um auf das Nodemcu Sonoff zu flashen.
Zuerst habe ich es mit ESPeasy Flashtool probiert. Hat aber nicht funktioniert.
Dann mit Arduino versucht zu flashen. Bis ich dann die richtige Einstellung hatte, war der halbe Tag rum.
Aber jetzt funktioniert es ja.Vielen Dank für die Hilfe!
-
Soweit hat bei mir alles funktioniert.
War mein erster Date mit NodeMCU und Co.Seit drei Tagen habe ich aber folgendes Phänomen, dass mein HC SR04 jeden Abend anfängt die Messungen umzudrehen.
D.h. was tagsüber 20% Füllmenge sind, sind Abends plötzlich 80%.Kann es sein, dass der HC SR04 defekt ist?
Ich benutze folgendes Script:
Aber daran kann es nicht liegen, da die Datenpunkte ja schon umgedreht sind.
Hat das schon mal jemand gehabt?
-
Hier mal meine Ausführung. Kosten ~25€ (2 * Fensterkontakt von Aqara + Füllstandssonde von Ali)
Aber nur 2 Pegel! -
@Superdad Ich würde an deiner Stelle mal die Rohwerte vom SR04 mit dem History oder anderen Datenbank Adaptern aufzeichnen um den Fehler einzugrenzen.
-
@heinzie wusste bis eben nicht dass es die Dinger auch als Doppelschwimmer gibt.
Ist so auch eine schöne und einfache Lösung. Hast du schon Erfahrungswerte ob die Dinger hängen bleiben/festgammeln?
ich habe 2 einzelne Schwimmer mit 3D-Druck-Teilen und 50er-HT-Rohr verbaut. Ist so beliebig anpass- & erweiterbar.
So können die Fische schon mal keine Fehlalarm auslösen
Ein Wasserdichter DS1820 sitzt auch noch in der unteren Hülse. Auslesen werde mit einem Wemos.
Muss da mal weitermachen damit das Rohr im Frühjahr in den Teich kann. Technik soll in ein kleines Modellbauhäuschen mit Steg für die Rohrmontage.
Hintergrund der Spielerei: Unser Bachlauf/Verdunstung und Pfanzen die in den Teich hängen sorgen für Wasserverlust.
Wenn der untere Schwimmer auslöst soll das Hauswasserwerk Brunnenwasser nachpumpen bis der obere Schwimmer wieder voll signalisiert.