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

  • androidin
    antwortet
    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?

    Einen Kommentar schreiben:


  • concept
    antwortet
    super, wie deine grafiken das eindrücklich bestätigen!

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    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

    Einen Kommentar schreiben:


  • jreeg
    antwortet
    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

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    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

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    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.

    Einen Kommentar schreiben:


  • TheOlli
    antwortet
    1mannlan
    Spannungsversorgung ist ein gutes Stichwort.
    Kann es sein, dass die schwankt?
    Kannst du die loggen?

    Einen Kommentar schreiben:


  • herrder4ringe
    antwortet
    Bei meiner China-Sonde rauscht das Sensorsignal um 5-10 Liter.
    Das ist bei einem 2 Meter Durchmesser Schacht ein Traumwert.
    Versorgt wird das Gerät mit durch den 12V Trafo, der meiner Haustüre beilag.

    Analogeingang ist der von MDT. Hier hab ich fett investiert ;-)

    Auch ja, ich hab mir auch das Datenblatt übersetzt und befolgt.
    Da wird auf Mandarin auch eine senkrechte Monatage 5cm über den Zisternenboden empfohlen.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • concept
    antwortet
    du kannst auch mal ein multimeter in reihe mit der sonde schalten und dir die messwerte ablesen.

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von concept Beitrag anzeigen
    die genauigkeitsangaben beziehen sich auf „full scale“ also welche sonde hast du genau (full scale) und wo befindet sich dein messwert (pegelhöhe)?
    Die Pegelsonde geht von 0-2 Meter, meine Sonde liegt am Boden einer Zisterne mit einem Wasserstand von 196cm (maximalstand).
    Demnach am oberen Ende des Messbereichs.

    Einen Kommentar schreiben:


  • concept
    antwortet
    die genauigkeitsangaben beziehen sich auf „full scale“ also welche sonde hast du genau (full scale) und wo befindet sich dein messwert (pegelhöhe)?

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von TheOlli Beitrag anzeigen
    Also wegen 50L +/- würde ich kein Fass aufmachen.
    Bei 6100L sind 50L = 0,8% soooo schlecht ist das doch nicht. Glätte den Wert in Grafana noch etwas und gut ist.

    Passt denn der Messwert, wenn du den Sensor mal auf halbe Höhe hängst?
    Also der Wert schwankt um 100 Liter, das sind knapp 1,6% was schon über der angegeben Genauigkeit für die Sonde liegt (1%).

    Wenn ich den Wert nun glätte, dann müsste ich schon auf Tagesbasis glätten, da er ja über Stunden hinweg driftet.
    Mit der alten Sonde konnte ich sogar die Niederschlagsmenge messen, wenn der Wert aber so langsam so stark driftet ists leider wieder nur Schätzeisen.

    Abgehängt auf halber Höhe gabs den gleichen Effekt.

    Ich wechsle jetzt mal den Eingang am Analogeingang, vielleicht bringt das ja was...

    Einen Kommentar schreiben:


  • TheOlli
    antwortet
    Also wegen 50L +/- würde ich kein Fass aufmachen.
    Bei 6100L sind 50L = 0,8% soooo schlecht ist das doch nicht. Glätte den Wert in Grafana noch etwas und gut ist.

    Passt denn der Messwert, wenn du den Sensor mal auf halbe Höhe hängst?

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Habe nun seit knapp einer Woche eine Tecson TDS-61 im Einsatz.
    Auch diese Sonde pendelt, wenn auch deutlich weniger als die günstige die ich vorher hatte. Dennoch 1,5% was über dem Datenblatt und deutlich über der Erwartung (0,07% "Rauschen") liegt.

    Wie wahrscheinlich ist ein defekt des Analogeingangs (mdt)?, der Messwert pendelt sehr langsam hin und her. Gibts da Erfahrungswerte?

    Der Lieferanten habe ich mal angeschrieben, aber komisch kommts mir trotzdem vor.

    Die Sonde liegt auf dem Tankboden einer Betonzisterne, abgehängt war das Verhalten identisch.
    Der Anschluss erfolgte über eine Klemmdose mit Druckausgleichsmembran.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • hjk
    antwortet
    Zitat von Gnechlsulzn123 Beitrag anzeigen
    Habs so ausprobiert.

    Komme da dann auf eine Ausgangsspannung von 22V damit würde ich das IO Interface schrotten bzw. auf jeden Fall nicht gehen
    Wofür soll die Bastelei gut sein? Schließe den Sensor doch direkt an wie in #87 beschrieben.

    Einen Kommentar schreiben:

Lädt...
X