NEWS
Wasserstands-/Füllstandssensor,Wasserpegelschalter
-
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_textGruß Stephan
-
Habe nun endlich meinen ersten ToF (Time of Flight) 940nm Laser Sensor bekommen. Mit etwa 2€ ist dieser nicht fast um die hälfte billiger als die (wasserdichten) Ultraschallsensoren sondern hat in Theorie auch noch eine höhere Genauigkeit sowie weniger Störeinflüsse. In der Praxis wird vor allem interessant wie er sich im Zusammenspiel mit dem Wasser verhält. Werde mich die Tage mal ran' wagen und diesen parallel zum vorhanden Ultrasonic installieren. :male-factory-worker:
-
Wie muss ich den SR04 an einem MCULuanBoard Anschließen bezüglich Betriebsspannung. Leider bringt er mir komische Werte wenn ich VCC an 3V anschließen.

-
Wie muss ich den SR04 an einem MCULuanBoard Anschließen bezüglich Betriebsspannung. Leider bringt er mir komische Werte wenn ich VCC an 3V anschließen.

@Basti97 said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
MCULuanBoard
Das board kannte ich bis dato noch gar nicht.
Wie muss ich den SR04 an einem MCULuanBoard Anschließen bezüglich Betriebsspannung
Hier hilft eine ca. 2 sekündige google Suche :rocket: welche dieses Datenblatt enthüllt in dem die korrekte Betriebsspannung des SR04 genannt wird. Sagen wir mal so: Mit 3V lagst du daneben und viel mehr Möglichkeiten gibt es nicht mehr...
-
@Basti97 said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
MCULuanBoard
Das board kannte ich bis dato noch gar nicht.
Wie muss ich den SR04 an einem MCULuanBoard Anschließen bezüglich Betriebsspannung
Hier hilft eine ca. 2 sekündige google Suche :rocket: welche dieses Datenblatt enthüllt in dem die korrekte Betriebsspannung des SR04 genannt wird. Sagen wir mal so: Mit 3V lagst du daneben und viel mehr Möglichkeiten gibt es nicht mehr...
@OpenSourceNomad Das weiß ich jetzt auch das sie mit 5V betrieben werden. Nun fehlt nur noch ein Logik Level um die Spannung auf 3 V herunter zu bringen.
-
@OpenSourceNomad Das weiß ich jetzt auch das sie mit 5V betrieben werden. Nun fehlt nur noch ein Logik Level um die Spannung auf 3 V herunter zu bringen.
@Basti97 said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Nun fehlt nur noch ein Logik Level um die Spannung auf 3 V herunter zu bringen.
Wenn du das ganze mit einem esp betreiben willst ist das nicht nötig da diese 5v tolerant auf den io pins sind :raised_hands:
-
@Basti97 said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Nun fehlt nur noch ein Logik Level um die Spannung auf 3 V herunter zu bringen.
Wenn du das ganze mit einem esp betreiben willst ist das nicht nötig da diese 5v tolerant auf den io pins sind :raised_hands:
@OpenSourceNomad Aber es würde ja nicht schaden ein Logik Level C. zunehmen. Ich habe bezüglich maximal Spannung für die einzelnen Boards noch keine richtige Beschreibung gefunden. Genauso wie mit den Analogen Eingang mit der Max. Spannung bei den einen heißt es 1V wo anders 3V. Da weiß man nicht so richtig.
-
@OpenSourceNomad Aber es würde ja nicht schaden ein Logik Level C. zunehmen. Ich habe bezüglich maximal Spannung für die einzelnen Boards noch keine richtige Beschreibung gefunden. Genauso wie mit den Analogen Eingang mit der Max. Spannung bei den einen heißt es 1V wo anders 3V. Da weiß man nicht so richtig.
@Basti97 said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Aber es würde ja nicht schaden
ist aber trotzdem einfach total überflüssig, Materialverschwendung und darüber hinaus noch unnötig fehlerstiftend
Das die digitalen i/o pin's (analog daher ausgenommen) des esp8266 auch 5V abkönnen hat übrigens selbst Teo Swee Ann, CEO von Espressif schon 2017 bestätigt. :man_in_business_suit_levitating:
Und bezüglich deinen Ungereimtheiten des Analogeingangs vom esp8266's: Dieser, namentlich ADC, kann tatsächlich nur 1V ab. Bei so ziemlich jedem board (d1 mini, nodemcu, ...) ist aber schon ein voltage divider eingebaut, dann heißt der pin plötzlich A0 und kann 3V ab. :electric_plug:
Ich habe bezüglich maximal Spannung für die einzelnen Boards noch keine richtige Beschreibung gefunden
Geheimtipp: Internet :stuck_out_tongue_winking_eye:
-
@Basti97 said in Wasserstands-/Füllstandssensor,Wasserpegelschalter:
Aber es würde ja nicht schaden
ist aber trotzdem einfach total überflüssig, Materialverschwendung und darüber hinaus noch unnötig fehlerstiftend
Das die digitalen i/o pin's (analog daher ausgenommen) des esp8266 auch 5V abkönnen hat übrigens selbst Teo Swee Ann, CEO von Espressif schon 2017 bestätigt. :man_in_business_suit_levitating:
Und bezüglich deinen Ungereimtheiten des Analogeingangs vom esp8266's: Dieser, namentlich ADC, kann tatsächlich nur 1V ab. Bei so ziemlich jedem board (d1 mini, nodemcu, ...) ist aber schon ein voltage divider eingebaut, dann heißt der pin plötzlich A0 und kann 3V ab. :electric_plug:
Ich habe bezüglich maximal Spannung für die einzelnen Boards noch keine richtige Beschreibung gefunden
Geheimtipp: Internet :stuck_out_tongue_winking_eye:
@OpenSourceNomad Ok Naja das Problem mit dem A0 hatte ich schon mehrmals auf vielen Seiten bei den einen steht nur 1V. Ich habe nochmal geguckt auf dem Board steht wirklich A0 ist mir noch nicht richtig aufgefallen. Ich habe mich schon gewundert weil es Bilder im Internet gibt in den einer ein Regentropfensensor einfach an den Analog Eingang angeschlossen hatte. Woher sehe ich jetzt wirklich ob er auch 3 V an den Analogeneingang unterstützt außer wenn es zu spät ist.
:blush: -
Habe nun endlich meinen ersten ToF (Time of Flight) 940nm Laser Sensor bekommen. Mit etwa 2€ ist dieser nicht fast um die hälfte billiger als die (wasserdichten) Ultraschallsensoren sondern hat in Theorie auch noch eine höhere Genauigkeit sowie weniger Störeinflüsse. In der Praxis wird vor allem interessant wie er sich im Zusammenspiel mit dem Wasser verhält. Werde mich die Tage mal ran' wagen und diesen parallel zum vorhanden Ultrasonic installieren. :male-factory-worker:
@opensourcenomad Hallo, hast du das Ding (ist ja schon ein paar Jahre her) nun erfolgreich in Betrieb genommen? Ich suche noch nach einer Outdoor Lösung zur Messeung des Teichwasserstandes...