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

  • Spikey
    antwortet
    Fühler rot auf + des AOI
    Fühler schwarz auf - des Meanwall 24V
    Brücke auf - des AOI und + des Meanwell

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von Spikey Beitrag anzeigen
    Habt ihr Ideen, was falsch ist? Wenn ihr mehr Infos braucht, nur Bescheid sagen.

    VG Spikey
    Ohne eine Skizze wie es angeschlossen ist, wird keiner helfen können!

    Einen Kommentar schreiben:


  • Spikey
    antwortet
    Hallo zusammen,

    ich habe heute auch eine Zisternenüberwachung gebastelt...aber es funktioniert nicht. Mache ich einen Denkfehler?

    Ein 4-20mA Sensor hängt in der Zisterne, dazu ein Meanwell 24V Netzteil als REG. Diese hängen zusammen am MDT AOI-0410V.... Das Abfrageergebnis soll dann in eine GA mit 5.001 % geschrieben werden....der Wert ist und bleibt aber konstant null, die Zisterne ist halb voll....

    Habt ihr Ideen, was falsch ist? Wenn ihr mehr Infos braucht, nur Bescheid sagen.

    VG Spikey

    Einen Kommentar schreiben:


  • StefanWE
    antwortet
    Techi Danke für dein Script. Ich habe nun auch die Ausliterung meiner Zisterne erhalten. Allerdings bringt mir das Script immer 100%, egal welche Werte ich eintrage.

    Code:
    // zistern litering table (got from manufacturer GRAF)
    // first column = fillheight in mm
    // second column = liter
    const literingTable = [
        [0, 0],
        [100, 135],
        [200, 320],
        [300, 550],
        [400, 825],
        [500, 1120],
        [600, 1450],
        [700, 1800],
        [800, 2160],
        [900, 2530],
        [1000, 2895],
        [1100, 3245],
        [1200, 3580],
        [1300, 3885],
        [1400, 4160],
        [1500, 4430],
        [1600, 4585],
        [1700, 4720],
        [1800, 4780],
    ];
    //var msg;
    var msg2;
    var msg3;
    var msg4;
    // pressure Sensor parameters
    const max_height = 4;   // 4m
    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];​
    Ich bekomme derzeit 10,46mA geliefert. Dabei ist die Zisterne voll. Aber egal ob ich 10, 10.5 , 15 oder 20 mA als max Full eintrage, ich bekomme immer die Werte 100% 3780l geliefert. Das kann ja nicht sein.
    Hast du eine Idee, woran es liegen könnte?

    Einen Kommentar schreiben:


  • hjk
    antwortet
    Dann sind 1,5m 16/4*1,5 +4 =10mA.

    Einen Kommentar schreiben:


  • StefanWE
    antwortet
    Ah verstehe. Ich dachte, das bezog sich auf die Leitung. Habe die Sonde mit Signalausgang 0-4m genommen. Dann sind 20mA eben 4m.

    mh da wäre bei mir der 0-2m besser gewesen. Naja ich bin froh, wenn ich halbwegs den Füllstand bekomme.

    Einen Kommentar schreiben:


  • hjk
    antwortet
    StefanWE
    Normal hat die Sonde eine 4-20mA Schnittstelle, also bei 0m 4mA. Daher stimmt deine Berechnung nicht.
    Du musst umrechen zwischen 0m-4mA und 5m 20mA. Eine Pegeländerung von 5m hat 16mA Stromänderung zu Folge. Das ergibt bei 1,5m dann ca. 8,8mA.

    Einen Kommentar schreiben:


  • 1mannlan
    antwortet
    Zitat von StefanWE Beitrag anzeigen
    Spielt die Sonde bei der Berechnung wirklich eine Rolle.
    Die Kabellänge entspricht nicht dem Messbereich!
    Der ist wählbar, wobei ein größerer Bereich auch ein längeres Kabel erfordert.

    Deine Sonde ist offenbar 0-3m, mit 5m Kabel (bei 0-20ma).

    ​​​​​​0-2m ist meist ein 5m Kabel.
    0-5m reichen 5 Kabel logischerweise nicht, sind dann z. B. 10m.

    Man kann bei Tecson auch eine Wunschkabellänge bestellen. Das Typschild mit Seriennummer ist nämlich am Ende, schneidet man es ab, gibt's evt. Probleme im Garantiefall.
    Zuletzt geändert von 1mannlan; 21.07.2023, 19:12.

    Einen Kommentar schreiben:


  • StefanWE
    antwortet
    Spielt die Sonde bei der Berechnung wirklich eine Rolle, oder ist das Kabel einfach nur unterschiedlich lang. Ich habe die 5m Variante gekauft, da die anderen derzeit nicht lieferbar waren.
    Meine Zisterne Graf Carat 4800l hat aktuell einen Wassertand bei voll von 1,78m
    Die Sonde habe ich nun 1,5m unter Wasserspiegel gehängt, damit ich unten noch ein wenig Reservewasser habe und sie nicht im "Dreck" liegt.
    Mein MDT Aio meldet nun einen Storm von 10,5mA.
    Wenn 20mA = 5m wären, würden meine 1,5m ja nur auf 6mA kommen. Angezeigt werden aber 10,5mA.

    Einen Kommentar schreiben:


  • sailor02
    antwortet
    Zitat von 1mannlan Beitrag anzeigen

    Offenbar keinen billigen mehr.
    Wie wäre es mit einem von Tecson?
    Vielleicht sind meine Erfahrungen für manch einen hier hilfreich:
    Ich hatte auch ewig an einer China-Sonde rumgetüftelt. Dachte zunächst, dass das Problem bei meiner Programmierung oder dem ABB Analogeingang liegen würde.
    Dann habe ich vor gut 2 Monaten in eine Tecson Sonde investiert und alles läuft seitdem perfekt. Über eine X1 Logik wird bei unterschreiten von 1cbm die Nachspeisung aktiviert, bis 3 cbm erreicht sind. Insgesamt wird der jeweilige Füllstand über 11cbm jederzeit exakt wiedergegeben....
    Ich kann nicht ausschließen, dass das mit anderen Produkten ähnlich gut funktioniert, aber mein Rat wäre: Zur Tecson Sonde greifen, wenn man eine flexible und robuste Lösung bauen möchte...
    VG!
    Zuletzt geändert von sailor02; 21.07.2023, 08:28.

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    Zitat von ur63 Beitrag anzeigen
    Der AE/A ist doch in der Dose vormontiert? Kauf eine andere Dose mit richtigen Verschraubungen und ein Druckausgleichselement und montier den eigentlichen AE/A darin. Wäre einen letzten Versuch wert...
    Ja das ist auf jeden fall eine Idee Wert. Ich werde mir diese Dose jetzt mal holen bevor ich weiter mache: https://wekonn.de/products/feuchtedi...32903544766569

    Einen Kommentar schreiben:


  • ur63
    antwortet
    Der AE/A ist doch in der Dose vormontiert? Kauf eine andere Dose mit richtigen Verschraubungen und ein Druckausgleichselement und montier den eigentlichen AE/A darin. Wäre einen letzten Versuch wert...

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    Zitat von ur63 Beitrag anzeigen
    Da ist aber doch nicht weniger Luftfeuchte, oder?
    Das stimmt, weniger Luftfeuchte ist da nicht. Bisher habe ich das aber auch nicht für ein Problem gehalten. 😅 Der PT1000 funktioniert zumindest seit einem Jahr Problemlos.

    Einen Kommentar schreiben:


  • ur63
    antwortet
    Zitat von exxtreme Beitrag anzeigen

    Ja, ist allerdings im Domschacht verbaut, nicht direkt in der Zisterne.
    Da ist aber doch nicht weniger Luftfeuchte, oder?

    Einen Kommentar schreiben:


  • exxtreme
    antwortet
    Zitat von ur63 Beitrag anzeigen
    D.h., du hast die ABB AE/A 2.1 (IP54) in der Zisterne verbaut, ohne weiteren Schutz?
    Ja, ist allerdings im Domschacht verbaut, nicht direkt in der Zisterne.

    Einen Kommentar schreiben:

Lädt...
X