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

  • Robert86424
    antwortet
    Bekommst du die jedes mal kostenlos ersetzt oder zweifelt der Hersteller beim 4 mal in kurzer Zeit mehr an dir als an seinem Produkt?

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    Bei mir ist gestern Nummer 4 von den Amazon China Sensoren verreckt nach ziemlich genau 3 Wochen fehlerfreien Betrieb. Immerhin deutlich länger gehalten als die letzten.
    Ich denke einen letzten Anlauf mit den Billigsensoren werde ich noch wagen. Hat noch jemand einen Tipp welchen Sensor man kaufen kann?
    ​​​​​​

    Einen Kommentar schreiben:


  • Techi
    antwortet
    btw:
    ich hab mittlerweile auf influxdb2 umgestellt und lasse in meinem NodeRed Script (Drucksensor zu Füllstand, siehe https://knx-user-forum.de/forum/%C3%...48#post1776248 ) die Rückgabe nun gleich so ausgeben, das man diese direkt als eine Ausgabe in die Influxdb2 schreiben kann und dabei auch Tags geschrieben werden.

    Ausgabe sieht nun wie folgt aus:
    Code:
    array[2]
        0: array[2]
            0: object
                menge: 5627
            1: object
                typ: "inhalt"
                einheit: "liter"
                quelle: "drucksensor"
                ort: "zisterne"
        1: array[2]
            0: object
                menge: 71
            1: object
                typ: "inhalt"
                einheit: "prozent"
                quelle: "drucksensor"
                ort: "zisterne"​
    Auch hab ich das Script intern noch etwas optimiert, es wird nun eine kleine fließende Mittelwertbildung gemacht, sowie intern nun nicht mehr nur mit integer gerechnet.

    NodeRed_Zisterne_1.jpg


    Programmcode für die Sektion "Funktion"
    Code:
    // zistern litering table (got from manufacturer GRAF)
    // 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]
    ];
    
    //var msg;
    var msg2;
    var msg3;
    var msg4;
    
    // 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 zistern where water
    // can still be pumped. Below pump cant reach the water
    const percent_0_index = 2   // eg, 2 is 976l
    //const lowest_level_Tindex = 2;
    
    
    // Main starts here
    var y;
    
    var measured_mA = msg.payload; // get mA value from Sensor as input
    var measured_mA_mean;
    
    measured_mA_mean = context.get('measured_mA_mean');
    if (context.get('Startup') == 341487) {
        context.set("Startup", 0)
        measured_mA_mean = measured_mA;
    }
    measured_mA_mean = (measured_mA_mean * 2 + measured_mA) / 3;
    context.set('measured_mA_mean', measured_mA_mean);
    
    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_mean - min_mA));
    //var x = Math.round(high_mm);
    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 = Math.round(((percent * (y - literingTable[percent_0_index][1])) * 1) * 1e0) / 1e0;
    
    if (percent < 0){
        percent = -1;
    }
    
    y = Math.round(y);
    
    msg.payload = [
        [   // first value
            {   // influxdb2 fields
                "menge": y
            },
            {   // influxdb2 tags
                "typ": "inhalt",
                "einheit": "liter",
                "quelle": "drucksensor",
                "ort": "zisterne"
            }
        ],
        [   // second value
            {   // influxdb2 fields
                "menge": percent
            },
            {   // influxdb2 tags
                "typ": "inhalt",
                "einheit": "prozent",
                "quelle": "drucksensor",
                "ort": "zisterne"
            }
        ]
    ];
    
    return [msg];​

    Dann muß noch folgender Programmcode bei Sektion "Start" rein:
    Code:
    // Der Code hier wird ausgeführt,
    // wenn der Node gestartet wird
    if (context.get("Startup") === undefined) {
    context.set("Startup", 341487)
    }



    Es wurde nun mittlerweile auch die Impulsauswertung des Gartenwasserzählers in Betrieb genommen.
    Das hat mir nun ermöglicht beim Nachfüllen der Zisterne per Gartenwasser die Menge des Gartenwasserzählers mit der über den Drucksensor ermittelten Menge in Bezug zu setzen.

    Ergebnis: +/-10L !!!
    Zuletzt geändert von Techi; 20.08.2023, 06:57.

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von crazyyou Beitrag anzeigen
    Drückt die Abspannklemme die Leitung nicht zu sehr zusammen?
    Schau dir mal an wie die funktioniert. Wenn man danach googelt stellt man schnell fest, dass die genau dafür entwickelt wurde ein festhalten ohne großes einquetschen zu ermöglichen.

    Das Kabel wird auf großer Länge gleichmäßig eingeklemmt und dadurch nicht beschädigt.

    Einen Kommentar schreiben:


  • crazyyou
    antwortet
    Drückt die Abspannklemme die Leitung nicht zu sehr zusammen?

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von crazyyou Beitrag anzeigen



    Dann ist eine Abspannklemme nicht wirklich die beste Idee, oder?
    Doch, denn genau um die Beschädigung zu vermeiden nutzt man die ja.

    Einen Kommentar schreiben:


  • crazyyou
    antwortet
    Zitat von 1mannlan Beitrag anzeigen
    Wenn du die Sonde über den Boden hängen willst, solltest du das mit einer Abspannklemme machen und nicht über die Verschraubung an der Dose.
    Zitat von Techi Beitrag anzeigen
    Dieser kleine dünne Schlauch muss also immer frei luftdurchgängig und frei von Beschädigung oder Feuchtigkeit, dabei aber immer dem Luftdruck der Aussenluft ausgesetzt sein.
    Dann ist eine Abspannklemme nicht wirklich die beste Idee, oder?

    Einen Kommentar schreiben:


  • Techi
    antwortet
    Zitat von StefanWE Beitrag anzeigen
    Ist so ein Druckausgleichsfilter wirklich notwendig? Im Grunde wird doch nur das Kabel der Sonde mit dem Kabel zum Aktor verbunden...
    Bitte lies dir die vorangegangenen Beiträge durch, dort wurde auch der Grund genannt.

    Also nochmal:
    In der Anschlusskabel befinden sich nicht nur Leiter, sondern auch ein kleiner Druckschlauch welcher z.B. beim Abschneiden des Anschlusskabels gesondert betrachtet werden sollte damit dieser frei und offen bleibt. Über diesen kleinen Schlauch wird die Druckdifferenzmessung von Oberfläche Luft zu Unterwasserdruck gemacht.
    Dieser kleine dünne Schlauch muss also immer frei Luft-durchgängig und frei von Beschädigung oder Feuchtigkeit, dabei aber immer dem Luftdruck der Außenluft ausgesetzt sein.
    Das schafft man am besten mit einem speziellen Druckausgleichs Durchgang, das kann halt optimalerweise eine spezielle Membran sein.
    Zuletzt geändert von Techi; 08.07.2023, 09:18.

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von StefanWE Beitrag anzeigen
    ... Muss ich dabei noch etwas beachten? Als Kabel zum Aktor habe ich A-2Y(L)2Y 2x2x0,8.
    Nichts was mir jetzt einfiele.

    Zitat von StefanWE Beitrag anzeigen
    das würde ich dann in der Dose mit Wago Klemmen an die Leitung der Sonde klemmen und die Sonde ins Wasser lassen.
    Das mit den Klemmen sollte passen. Achte darauf, dass das Kabel der Sonde nicht zu sehr gequetscht wird. Wenn du die Sonde über den Boden hängen willst, solltest du das mit einer Abspannklemme machen und nicht über die Verschraubung an der Dose. Vielleicht auch Overkill, aber ich wollte das Kabel nicht zu sehr belasten.

    Zitat von StefanWE Beitrag anzeigen
    kann ich die Dose denn einfach mit Spaxschrauben am Plastik Dom festschrauben?
    Die Löcher für die Schrauben sind recht eng, vermutlich musst du passende Schrauben besorgen, sonst sollte das so halten!

    Einen Kommentar schreiben:


  • StefanWE
    antwortet
    Ach du meine Güte, so empfindlich hätte ich nicht gedacht. Gut das man noch mal gefragt hat. Habe die Dose nun bestellt. Muss ich dabei noch etwas beachten? Als Kabel zum Aktor habe ich A-2Y(L)2Y 2x2x0,8.

    das würde ich dann in der Dose mit Wago Klemmen an die Leitung der Sonde klemmen und die Sonde ins Wasser lassen.

    kann ich die Dose denn einfach mit Spaxschrauben am Plastik Dom festschrauben?

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von StefanWE Beitrag anzeigen
    Ist so ein Druckausgleichsfilter wirklich notwendig? Im Grunde wird doch nur das Kabel der Sonde mit dem Kabel zum Aktor verbunden...
    Ohne Druckausgleichsmembran funktioniert die Sonde nicht. Innerhalb der Zisterne ist die Luftfeuchtigkeit sehr hoch, deshalb würden die Kontaktstellen recht schnell rosten, wenn man einfach ein Loch in die Box bohrt.

    Selbst die verzinkten Betonanker rosten schon nach einem Jahr. Daher würde ich auf die Membran nicht verzichten.

    Einen Kommentar schreiben:


  • StefanWE
    antwortet
    Ist so ein Druckausgleichsfilter wirklich notwendig? Im Grunde wird doch nur das Kabel der Sonde mit dem Kabel zum Aktor verbunden...

    Einen Kommentar schreiben:


  • Kapsville
    antwortet
    Zitat von JMA Beitrag anzeigen

    Die Box schaut gut aus und scheint mir groß genug, hättest du da evtl. eine genauere Bezeichnung bzw. eine Bezugsquelle?
    https://wekonn.de/products/feuchtedi...32903544832105

    Wäre auch noch eine Option - werde ich z.B. bestellen

    Einen Kommentar schreiben:


  • TheOlli
    antwortet
    Soweit richtig.

    Einen Kommentar schreiben:


  • StefanWE
    antwortet
    Verstehe ich das richtig, das die Drucksonde https://www.amazon.de/Fl%C3%BCssigkeitsstandsgeber-Wasserstandsensor-Detektor-Signalausgang-Fl%C3%BCssigkeitsstanddetektor-Bew%C3%A4sserungssysteme/dp/B08XVV3MZX/ref=sr_1_5?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3 %91&crid=187526GNLJ4S5&keywords=TL-136&qid=1681588272&sprefix=tl-136%2B%2Caps%2C72&sr=8-5&th=1 im Wasser untertaucht. Also etwa 20-30cm über dem Boden der Zisterne hängen sollte?

    ich würde mir jetzt auch den Aio Aktor von mdt dazu holen. Und passend dazu irgendein kleines 24v dc Netzteil. Soweit richtig, oder habe ich etwas vergessen?

    Einen Kommentar schreiben:

Lädt...
X