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

  • sailor02
    antwortet
    Mein Sonde ist erst seit ein paar Tagen angeschlossen und ob die plausible Werte liefert kann ich nicht sagen.
    Kann mal einer schauen, ob mein Analogeingang richtig konfiguriert ist?
    und wie kann man im X1 am besten die ausgegebenen Werte in L oder % umrechnen?

    Einen Kommentar schreiben:


  • JMA
    antwortet
    Zitat von 1mannlan Beitrag anzeigen

    Meine TLD-136 von Amazon hat nach einem halben Jahr unplausible Werte geliefert.
    Das berichten leider viele von den "China Sonden".... und alle 6 Monate mag ich die Sonde auch nicht tauschen, so "lustig" ist die Montage in meiner Zisterne nämlich gar nicht.......

    Zitat von 1mannlan Beitrag anzeigen
    nach dem Tausch auf eine Tecson..
    Hast du die direkt vom Hersteller bezogen, oder wo anders gekauft?

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von JMA Beitrag anzeigen

    ok - wie lange hast du die schon im Einsatz?
    Meine "China Sonde" hat leider nur ca. 6 Monate funktioniert..............
    Meine TLD-136 von Amazon hat nach einem halben Jahr unplausible Werte geliefert. Es war zwar auch die Druckausgleichsmembran kaputt, aber nach dem Tausch auf eine Tecson war die Genauigkeit schon viel besser. Jetzt mit einer neuen Membran wieder sehr stabile Werte (+/- 5 Liter auf 6000 Liter).

    Einen Kommentar schreiben:


  • JMA
    antwortet
    Zitat von sailor02 Beitrag anzeigen
    Habe gerade nochmal nachgesehen. Es ist so eine TL-136 Sonde von Amazon.
    Tucson ist nicht korrekt, das hatte ich falsch in Erinnerung….
    ok - wie lange hast du die schon im Einsatz?
    Meine "China Sonde" hat leider nur ca. 6 Monate funktioniert..............

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Hast du die direkt beim Hersteller gekauft ?

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • JMA
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Fidelis
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Fidelis
    antwortet
    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.

    Einen Kommentar schreiben:


  • 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:

Lädt...
X