Ankündigung

Einklappen
Keine Ankündigung bisher.

Füllstandsmessung Tank (Zisterne) (gerne auf KNX)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    1mannlan
    Spannungsversorgung ist ein gutes Stichwort.
    Kann es sein, dass die schwankt?
    Kannst du die loggen?
    Mit Heimautomatisierung lassen sich alle Probleme lösen die wir sonst gar nicht hätten...
    KNX + HUE + SONOS + SIMATIC-S7 + Fritzbox + RasPi mit NodeRed + Telegramm

    Kommentar


      Zitat von TheOlli Beitrag anzeigen
      1mannlan
      Spannungsversorgung ist ein gutes Stichwort.
      Kann es sein, dass die schwankt?
      Kannst du die loggen?
      Da habe ich aktuell keine Möglichkeit dazu, aber ich habe ein anderes Netzteil (24V statt 12V) was ich mal probieren werde. Aber nach meinem Verständnis sollte die Spannung bei der 4-20mA ja keine Rolle spielen, da der Stromfluss konstant bleibt.
      Grüße
      Wolfgang

      Kommentar


        Ich tippe inzwischen stark darauf, dass der Druckunterschied durch Temperaturdifferenzen verursacht wird.
        Vielleicht ist auch einfach die Druckausgleichsmembran hinüber. Ich habe die Anschlussdose jetzt mal offen gelassen, nachdem ich gesehen habe wie perfekt die Graphen (Temperatur / Füllstand) zueinander passen!
        Angehängte Dateien
        Grüße
        Wolfgang

        Kommentar


          Im Anhang ist mal ein Screenshot von meinen (ungeglätteten) Daten einer Tecson-Sonde (genauen Typ weiß ich leider nicht, hängt schon 10-15 Jahre in der Zisterne) am MDT Analogeingang. Die "Stufen" entsprechen ca. 10L und damit vermutlich der Auflösung des Analogeingangs. Das könnte man auch gut mit Grafana glätten.
          Die orangenen Linien sind die Zeitpunkte der Wasserentnahme durch das Hauswasserwerk. Das Sondenkabel endet in einer Dose im Schachtring direkt unter dem Deckel. Zum Druckausgleich ist unten ein 3er Loch drin und auf dem Kapillarröhrchen steckt ein kleiner Filter gegen Schmutz (war bei der Sonde dabei).
          Im Öltank ist ebenfalls eine Tecson-Sonde. Hier ist die Dose aber in der Garage und ich habe gelegentlich kurzzeitige Schwankungen. Ich vermute hier aber Wind, der auf die Tankentlüftung drückt, als Ursache.

          Gruß

          Jochen
          Angehängte Dateien

          Kommentar


            Nach knapp 24 Std. kann ich nun sagen: Es war anscheinend wirklich das Druckausgleichselement kaputt. Ich habe den Deckel der Dose mal einen Spalt aufgelassen, seitdem sind die Werte absolut stabil, von kleinen Schwankungen mal abgesehen.
            Für mich heißt das, dass die vorherige China Sonde eventuell gar nicht so kaputt war wie gedacht, allerdings konnte ich hier keinen so deutlichen Zusammenhang zwischen Temperatur und Füllstand finden.

            Nun ist aber alles im grünen Bereich und ich muss nur das Druckausgleichselement reklamieren.
            Vielleicht hilft das ja jemandem, der einmal ähnliches beobachtet!
            Angehängte Dateien
            Grüße
            Wolfgang

            Kommentar


              super, wie deine grafiken das eindrücklich bestätigen!
              gemäss forenregeln soll man bitte und danke sagen! also: bitte und danke!

              Kommentar


                Zitat von Techi Beitrag anzeigen
                Habe seit letztem Jahr eine Graf Flachzisterne mit China Drucksensor ( https://www.amazon.de/gp/product/B08C77PPWB ) an einem MDT AIO-0410V.01 ( https://www.mdt.de/fileadmin/user_up...ng_Ausgang.pdf ) über NodeRed am laufen.

                Code für die Umrechung von mA zu Liter (ist für eine NodeRed "function Node")
                Für die Umrechnung nutze ich eine Ausliterungstabelle ( Ausliterung Platin ( Kundentabelle ) - NEU.pdf ) vom Zisternen Hersteller (Graf) in welcher er die Daten des Füllstands in Bezug zur Füllhöhe angibt. Die Zisterne ist extrem unförmig.
                z1.jpg
                Für die Messpunkte zwischen den Tabellendaten wird einfach eine Gerade angenommen.
                Da diese 7500 l Flachzisterne doch ziemlich unförmig ist war das zumindest eine sehr gangbarer Weg.

                Ist primitiv, aber eventuell interessiert es ja jemanden oder kann es wirklich brauchen.

                Code:
                // cistern measurement table (got from manufacturer GRAF)
                // data below are from a 7500l flat plastic cistern
                //
                // first column = fillheight in mm
                // second column = liter
                const literingTable = [
                [0, 0],
                [100, 368],
                [200, 976],
                [300, 1621],
                [400, 2339],
                [500, 3153],
                [600, 3796],
                [700, 4609],
                [800, 5341],
                [900, 6057],
                [1000, 6731],
                [1100, 7301],
                [1200, 7515],
                [1260, 7550]
                ];
                
                // pressure Sensor parameters
                const max_height = 2; // 2m
                const max_mA = 20; // mA at max_height
                const min_mA = 4; // mA at zero height
                
                // index to table for lowest level in cistern where water
                // can still be sourced. Below, pump can't reach the water
                
                const percent_0_index = 2 // eg, 2 is 200mm
                
                
                // Main starts here
                var y;
                
                var measured_mA = msg.payload; // get mA value from Sensor as input
                if (measured_mA < min_mA){
                // if its below allowed range, then exit
                node.warn("Error ! Input Value below 4mA")
                return;
                }
                
                var high_mm = ((max_height * 1000 / (max_mA - min_mA) * (measured_mA - min_mA))).toFixed(0);
                var x = high_mm;
                
                //search for fitting table area, getting index into table as i
                for(var i = 0; i < literingTable.length; i++) {
                if ( literingTable[i][0] > x ) break; // if "end entry" found, then exit
                }
                i = i - 1; // correct index to "start entry"
                
                
                // check if index was inside table and not the last entry
                if (i<literingTable.length-1){
                // was inside table
                // get values from table
                var x1 = literingTable[i+0][0];
                var y1 = literingTable[i+0][1];
                var x2 = literingTable[i+1][0];
                var y2 = literingTable[i+1][1];
                // and calculate the value in between
                y=y1+((x-x1)/(x2-x1)*(y2-y1));
                }
                else{
                // was the last entry,
                // so return last entry as fixe value from table
                // no calcuation needed
                y=literingTable[i+0][1]
                }
                
                // calculate percentage from table index 2 as 0% to last table index as 100%
                
                var percent = 100 / (literingTable[literingTable.length-1][1] - literingTable[percent_0_index][1]);
                percent = (percent * (y - literingTable[2][1])).toFixed(0) * 1;
                if (percent < 0){
                percent = -1;
                }
                
                msg = { topic: "L", payload: y };
                msg2 = { topic: "%", payload: percent };
                
                return [msg, msg2];

                zps1.jpg

                zds2.jpg

                Hi, ich stehe vor dem gleichen Problem. Ich habe auch eine Flachzisterne und dachte zuerst in diese Richtung, den Füllstand über dieses Ausliterungsdiagramm zu berechnen. Allerdings misst doch die Sonde den Druck. Wenn also z. B. im oberen abgerundeten Bereich der Zisterne weniger Wasser pro Höhe drinnen sein kann als in der Mitte, und das Wasser wird in dem nichtlinearen Bereich entnommen, dann misst die Sonde doch trotzdem linear, denn der Druck nimmt ja linear ab. Habe ich hier einen Denkfehler?

                Kommentar


                  Dein Gedanke ist schon richtig. Der Wasserdruck ändert sich linear mit der Füllhöhe. Sagt aber nichts über das vorhandene Wasser-Volumen aus. Vermutlich steht deshalb in dem von dir zitierten Beitrag "wird einfach eine Gerade angenommen". Du kannst natürlich versuchen eine nicht-lineare Funktion zu implementieren, aber wie genau benötigst du es denn letztlich? In der Regel dürfte dieses "Schätzeisen" ausreichend sein.

                  Kommentar


                    Aber genau weil die Füllmenge im Bezug auf die Höhe ja nicht linear ist, wird ja wie vom vorherigen Poster beschrieben vom Hersteller eine Ausliterungstabelle geliefert. Die Füllhöhe ist dabei Linear, die Menge nicht.
                    Man muss also die Füllmenge je nach Wasserstand kennen (alle paar Zentimeter), der Rest wird dann Interpoliert.
                    Ohne diese Tabelle (vom Hersteller) könnte man die Menge höchstens annäherungsweise anhand der annähernd Form berechnen.
                    Zuletzt geändert von 1mannlan; 27.03.2023, 10:44.
                    Grüße
                    Wolfgang

                    Kommentar


                      Danke für die Erläuterung! Damit und eine Minute nehmen, um den Code zu lesen, habe ich jetzt auch verstanden, dass Techi eine stückweise lineare Interpolation vornimmt. Immer noch ein Schätzeisen, aber vermutlich schon gut genug.

                      Kommentar


                        Am Ende ist es doch auch egal, ob in der Zisterne jetzt 5000L oder 5200L sind.
                        Wenn an der Zisterne eine Bewässerung angeschlossen ist, muss ich wissen ob das Wasser reicht oder noch etwas Frischwasser rein muss.

                        Aus meiner Sicht ist das "Schätzeisen" von Techi mehr als ausreichend.
                        Aber ich hab ja auch gut reden. Unsere Zisterne ist ein Zylinder mit dem Radius 1m und einer Höhe von 2,5m
                        Mit Heimautomatisierung lassen sich alle Probleme lösen die wir sonst gar nicht hätten...
                        KNX + HUE + SONOS + SIMATIC-S7 + Fritzbox + RasPi mit NodeRed + Telegramm

                        Kommentar


                          Zitat von Techi Beitrag anzeigen
                          Habe seit letztem Jahr eine Graf Flachzisterne mit China Drucksensor ( https://www.amazon.de/gp/product/B08C77PPWB )............. am laufen.
                          Läuft dein Drucksensor noch problemlos? Mein letzter China Drucksensor hat nach ca. 6 Monaten den Dienst quittiert und ich brauch Ersatz......

                          Zitat von concept Beitrag anzeigen
                          wer billig kauft, kauft zweimal sagt das sprichwort.
                          womit das Sprichwort mal wieder recht hat! 😪
                          Zuletzt geändert von JMA; 05.04.2023, 11:34.

                          Kommentar


                            Hallo zusammen,

                            ich hänge mich mal hier ran:
                            Ich habe eine Tucson Drucksonde an einem ABB 4.1.1.3 hängen.
                            Aktuell ist die Zisterne zu 80% gefüllt und ich erhalte als Wert "13915" auf den Bus (Datentyp: 7.012)

                            Wie kann ich den Wert jetzt in % umrechnen? Geht das nur über eine Logik im X1? Wenn ja, mit welchem Baustein?

                            Der Analogeingang ist aktuell so eingestellt:

                            image.png

                            Kommentar


                              Zitat von sailor02 Beitrag anzeigen
                              Ich habe eine Tucson Drucksonde ....
                              Servus,

                              Hast du die direkt beim Hersteller gekauft ?

                              Kommentar


                                Habe gerade nochmal nachgesehen. Es ist so eine TL-136 Sonde von Amazon.
                                Tucson ist nicht korrekt, das hatte ich falsch in Erinnerung….

                                Kommentar

                                Lädt...
                                X