Werteausgabe Flowsensor

  • Hi,


    ich hab folgendes Problem:

    Ich lese einen Flowsensor aus--> Das Datenblatt sagt mir F=10Q-4 (F in HZ /// Q=L/Min) Des Weiteren gibt es an 383 Impulse für 1Liter Wasser

    Eingegeben habe ich das hier in mein Script-->


    So die Formel passt niemals und ich habe keine Ahnung wo das Problem liegt! Ich habe nur die Impulse ausgeszählt und das passt 383 Impulse ergibt 1 Liter Wasser! Wo liegt den hier der Fehler ich sehe es einfach nicht! Ich weiß das andere das über die Zeitdifferenz der Impulse erledigen aber auch der Weg muss doch funktionieren oder nicht?


    Hat jemand mal Lust mir das zu erklären? Vielen Dank euch im voraus!

  • Hallo,


    möchtest du die Durchflussgeschwindigkeit (also Liter pro Minute) oder die durchgeflossene Menge (in Liter) messen? Das ist mir nicht klar.


    Wenn es dir nur um die Menge (Liter) geht, brauchst du ja nur die Impulse zu zählen:

    liter = anzahl_impulse / 383

    Beispiel: Du hast 1000 Impulse gezählt, ergibt 1000/383 = 2,61l


    Willst du aber die Durchflussgeschwindigkeit, musst du die Zeit zwischen zwei Impulsen messen

    liter_pro_sekunde = 1 / (383 * impuls_abstand_in_sekunden)

    Beispiel 1: Zeit zwischen zwei Impulsen = 10msek = 0,01sek => 1 / (383 * 0,01) = 0,26 l/sek = 15,7 l/min

    Beispiel 2: Zeit zwischen zwei Impulsen = 157msek = 0,157sek => 1 / (383 * 0,157) = 0,0166 l/sek = 1l/min


    Um Messungenauigkeiten zu vermeiden, würde ich entweder mehrere solcher Messungen mitteln oder gleich die Dauer von z.B. 10 Impulsen messen.


    Gruß hadi


    PS: Die Formel aus dem Datenblatt ist meines Erachtens Unsinn. Da kommen ja nicht mal die Einheiten hin.

    Edited 2 times, last by hadi ().

  • Hallo,


    was soll eigentlich die "Frequenz" sein? Das ist offen... Wenn 383 Impulse 1 Liter sind, ist die Frequenz ja gleich. Sofern nicht die Durchflussgeschwindigket gesucht ist, wie von hadi ausgeführt.
    Hast du mal einen Link zu Datenblatt?


    Zum Code:

    • `global` ist im gezeigten Code überflüssig, sowohl in Zeile 1 als auch in Zeile 6. Und am besten vergisst du, dass es `global` gibt, weil man das so gut wie nie verwenden möchte. `global` macht den Code schwer nachvollziehbar und kann zu schwer zu findenden Bugs führen.
    • Wenn viele Events eintreten, dann solltest du die Funktion `anzahlpuls` kürzer = schneller machen, weil du sonst ggf. Impulse verpasst. Besonders den Teil mit dem I/O solltest du besser auslagern.

    Gruß, noisefloor

  • Hi,


    danke für die Antworten.


    Mir geht es nur um die Menge die durchfließt. Ich würde irgendwie sagen das die Formel nicht richtig ist. Ich habe das als Image zugesendet bekommen vom Hersteller.


    Hier aber vom gleichen Hersteller ein anderer Typ-->
    https://www.google.com/search?…QBA#imgrc=dNFbIlJpL9dTTM:


    Ich verstehe da den Formelzusammenhang nicht! Wie oben erwähnt wenn ich die Impulse(damit ist die Freuquenz gemeint) komme ich auf das richtige Ergebnis aber ich hätte gerne Verstanden wie diese Formel zustande kommt!?


    @flyppo

    Woher weißt du das ich Crosspostings verwendet habe? Sorry an der Stelle aber die Frage drückt mich mittlerweile!

  • @flyppo

    Woher weißt du das ich Crosspostings verwendet habe? Sorry an der Stelle aber die Frage drückt mich mittlerweile!

    Rate mal ;)

    So schwer ist der logische Schluss nicht.

  • Hä? Versuchst du jetzt es zu vertuschen? Erstaunt,dass jemand dahinter gekommen ist? Versteh ich nicht.

    Und jetzt sollen zwei Foren parallel und doch völlig unabhängig an einer Problemlösung arbeiten?! :denker::baeh2:

  • Hallo,


    Quote

    Woher weißt du das ich Crosspostings verwendet habe? Sorry an der Stelle aber die Frage drückt mich mittlerweile!

    Die Frage und der Code sind auffällig gleich...


    Der Punkt bei Cross-Postings ist: a) kann man das gerne als Misstrauensvotum gegen ein Forum sehen, so a la "na ja, ich stell' mal die Frage im Raspi-Forum - aber so richtig traue ich denen nicht, also lieber zusätzlich noch mal im Elektro-Forum XYZ stellen. Hosenträger + Gürtel Mentalität ist halt besser" und b) beschäftigst du potentiell doppelt so viele Leute mit deiner Frage, die in ihrer Freizeit versuchen zu helfen. Nur haben wir alle begrenzt Freizeit, also nimmst du mit deiner doppelt gestellten Fragen automatisch Hilfszeit für andere Nutzer mit Problemen weg. Also so "me frist, dann die anderen".


    Deshalb kommen Cross-Posting in so Supportforen immer schlecht an.


    Gruß, noisefloor

  • Danke an alle die geantwortet haben!


    @ Linus : Bleib mal geschmeidig! Ja ich bin erstaunt! Wie ich oben schon erwähnt habe beschäftigt mich das Problem seit längerem und deswegen der Zeitdruck dahinter. Ich habe sie in 2 Foren gestellt. Verstehe das Problem nicht Sorry! Vertuschen was ein Tatort!


    noisefloor : Wie o.b. Danke für eure Antworten. Lasse das mit dem Crossposting hat in meinem Fall mit Zeitdruck und Unwissenheit zu tun. Wusste ehrlich gesagt auch nicht das sich daran jmd gestört fühlen könnte! Sorry an dieser Stelle noch mal!

  • Hi,


    ich habe mir mal die Grafik des Herstellers angeschaut. Hier wird der Zusammenhang zwischen Frequenz und der Durchflussmenge pro Minute (Quantity) abgebildet:



    Man sieht dass die Menge nicht linear mit der Frequenz (also der Drehzahl des Flügelrads oder was auch immer da drin verbaut ist) ansteigt. Doppelte Frequenz bedeutet nicht doppelte Quantität, sondern weniger.


    Ich habe versucht, das mit meiner Formel aus Post #2 nachzubilden. Ergebnis ist die gelbe Kurve. Die rote Kurve entspricht den Angaben des Herstellers, die ich aus seiner Grafik entnommen habe:

    Man sieht, dass meine Formel bei steigender Drehzahl die Durchflussmenge überschätzt. D.h. es muss ein Korrekturglied in die Formel.


    Meine Formel (für die gelbe Kurve) ist:

    Q = 1/383 * F * 60

    (statt der Impulsdauer wie in #2 habe ich deren Kehrwert, die Frequenz genommen, was die Formel einfacher aussehen lässt)


    Mit dem folgenden Korrekturglied

    Q = 1/383 * (F - F/2,5 + 5)*60

    ergibt sich die grüne Kurve, die mit der "Realität" schon deutlich besser übereinstimmt.


    Viele Grüße

    Dieter


    PS: Mir ist schon klar, dass das nicht das Datenblatt war das genau zu deinem Modell passt. Aber ich denke das Problem mit der Nichtlinearität und seiner Korrektur sind durchaus übertragbar, sofern die Konstruktion der beiden Modelle ähnlich ist.

    Edited 5 times, last by hadi ().

  • Hi Hadi,


    ich hab heute einige Zeit getestet und du hast recht mit steigender Menge wird der der Sensor ungenauer oder besser gesagt ich kann den Strahlensatz nicht verwenden da kein lineares Verhalten! Ich verstehe auch hier nicht warum? Es ist ein Rad drin welches beim vorbeikommen einen Impuls erzeugt!


    Verschlucke ich hardwareseitig Werte wegen keine Ahnung zu schnellem Ablauf?


    Hier noch mein Testprogramm--> Ich nutze eine kleine GUI um mir in einer Infobox die Werte wiedergeben zu lassen habe 2 Schalter An und Abbrechen!


    Wie hast du den Korrkturfaktor ermittelt? Mathematisch über Werte der Tabelle?

  • Hi,


    finde ich toll dass du experimentiert hast. :bravo2:Das wollte ich oben sogar vorschlagen, fand es dann aber doch zu aufdringlich und hab's gelassen.

    ... Ich verstehe auch hier nicht warum? Es ist ein Rad drin welches beim vorbeikommen einen Impuls erzeugt!

    Da die obere Grafik aus Post #13 vom Hersteller stammt, gehe ich davon aus dass es kein Messfehler ist. Ich bin zwar kein Physiker und kenne mich nicht besonders mit Strömungsmechanik aus, aber ich vermute, dass an dem Rädchen Wirbel entstehen, die bei höherer Drehzahl (=höherem Wasserdruck) zunehmend bremsen. D.h.das Rädchen dreht sich nicht mehr so schnell wie es der vorbeiströmenden Wassermenge entsprechen würde. Daher der Korrekturfaktor der mit steigender Drehzahl (F) ebenfalls zunimmt.

    Den Faktor habe ich übrigens per mathematischem "Bauchgefühl" ermittelt. Ein paar Versuche in einer Excel-Tabelle. War selbst überrascht wie schnell es gepasst hat. (:

  • Hi Hadi,


    habe noch ein wenig probiert aber es ist zum davon laufen! Für mich ergibt sich kein Muster! Wenn dem so wäre mit dem Wirbel müsste die Funktion eine willkür des Wasser berücksichtigen oder der Hersteller würde einen konstanten Druck vorschreiben! Irgendwie kann ich mir beides nicht vorstellen. Mittlerweile habe ich das hier bekommen-->


    Ich arbeite mit konstantem Druck 3 Bar.


    Ich glaube ich werde folgendes probieren.

    Jeweils 0,1L 0,3L 0,5l 1L 3L 5L mal 5x ausgeben lassen und dann versuchen selber eine Funktion zu bauen. Ich erhoffe mir ein wiederkehrendes Muster! Was hälst du davon?


    Ach ja- Der Raspi ist mit max 49% CPU Auslastung definitiv nicht ausgereizt also hoffe ich sollte es nicht an ihm liegen!

    Ach ja- Thema experimentieren...Finde alles cool was Wissen schafft!

  • Hi,

    wenn du es tatsächlich schaffst, den Druck über den ganzen Messvorgang konstant zu halten, dann sollte die Anzahl Impulse linear zur durchgeflossenen Wassermenge sein. (Abgesehen mal von den 10% Messungenauigkeit die das Datenblatt erwähnt). Doppelt so viel Wasser benötigt dann doppelt so lange. Halb so viel Wasser halb so lange. D.h. die Fließgeschwindigkeit ist in allen Fällen gleich. Und damit auch die Wirbelbildung oder was auch immer die Nichtlinearität bei Druckänderung verursacht. Dieser Störfaktor fällt dann weg, weil konstant.

    Aber wie bekommst du das mit konstant 3 Bar hin? Anschluss an Wasserleitung?


    Gruß, Dieter