Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Durchflussmessung Kategorie: C-Control I V1.1 (von ficher - 11.07.2008 21:20)
 Als Antwort auf Re: Durchflussmessung von joergm6 - 11.07.2008 11:42
Hallo Jörg,

habe es wieder mal probiert. Jetzt mit 5 Liter pro Durchlauf (5 Durchläufe).
Jetzt kommen Werte von 6074 (4,57 Liter) - 6222 (4,68 Liter) - Mittelwert 6153 (4,63 Liter) bei 5 Liter Durchfluss. Dies würde dann wieder pro einem Liter 1214 - 1244 (Mittelwert 1230) ergeben.

Wäre es hier dann ratsam anstelle der 1330 Impulse pro Liter einen korrigierten Umrechnungsfaktor von 1230 zu verwenden?

lg
Elmar


> Hallo Elmar,
>
> oh Mann, du macht dir ja ganz schön viel Arbeit, wenn man bedenkt 30x mit 1Liter Wasser rumzupanschen.
> Aber, ich dachte bei meinen "mehreren Druchläufen" eigentlich an 2 oder 3 Liter hintereinander und nicht mehrmals 1Liter.
> Vielleicht "spielst" du das noch mal durch um zu sehen, ob die 0.1Liter weniger bleiben oder ob es 0.2 bzw. 0.3Liter werden. Im ersten Fall wäre es ein Start/Stop Fehler, ansonsten eine reproduzierbare ständige Messungenauigkeit.
> Und mehr Ideen habe ich dann auch nicht....
>
> Grüße Jörg  
>
> > Hallo Zusammen!
> >
> > Habe nochmals 30 Durchläufe mit je einem Liter gemacht.
> > Hierbei kommen Werte von 1188 - 1276 (Mittelwert 1234)
> > Dies wären dann 0,89 - 0,96 Liter (im Mittel bei 30 Durchläufen 0,93 Liter).
> > Eigentlich ändert sich dadurch der Fehler leider auch nicht!?
> >
> >
> > habe dies mit folgendem Programm getestet
> > ################
> > s=second
> > wait s<>second
> > s=second
> >
> > #loop
> > if s<>second then gosub messung
> > print value
> > goto loop
> >
> > #messung
> > s=second
> > value = value + freq
> > return
> > ################
> >
> >
> > beste Grüße
> > Elmar
> >
> >
> > > Hallo
> > >
> > > ich noch mal, habe bisschen missverständlich geschrieben....
> > >
> > >  s=second
> > >  wait s<>second    ' warte bis die aktuelle Sekunde wechselt
> > >  s=second             ' jetzt hat gerade eine ganz neue Sekunde angefangen
> > >  #loop
> > >  if s<>second then
> > >   gosub messung
> > >   print value ' Ausgabe am LCD oder weitere Auswertungen
> > >  end if
> > >  goto loop
> > >
> > > Gruß Jörg
> > > > Hallo Elmar,
> > > >
> > > > ich würde die print Ausgabe auch innerhalb der einen Sekundeabfrage machen also so:
> > > > if s<>second then
> > > >  gosub messung
> > > >  print value ' Ausgabe am LCD oder weitere Auswertungen
> > > > end if
> > > >
> > > > Wie verhält sich der Fehler bei länger Messung (20 Durchläufe)?
> > > > Wie genau ist denn der gleichzeitige Programmstart mit Druchflussstart?
> > > > Das Programm könnte innerhalb einer halben Sekunde (oder weniger) im ersten Durchlauf messen, also ich würde einen Sekundenwechsel abwarten, wie Gekü es eigentlich angedacht hat. Also vor dem #Loop mit:
> > > >
> > > >  s=second
> > > >  wait s<>second    ' warte bis die aktuelle Sekunde wechselt
> > > >
> > > > einen Sekundenwechsel abwarten.
> > > >
> > > > Grüße Jörg
> > > >
> > > > > Hallo
> > > > >
> > > > > Habe soben nochmals mit folgendem kurzen Programmbeispiel einen Test gemacht.
> > > > > Den Freqenzeingang darf ich ja nur einmal pro Sekunde abfragen.
> > > > >
> > > > > ############
> > > > > define s byte
> > > > > define value word
> > > > >
> > > > > s=second
> > > > >
> > > > > #loop
> > > > > if s<>second then gosub messung
> > > > > print value ' Ausgabe am LCD oder weitere Auswertungen
> > > > > goto loop
> > > > >
> > > > > #messung
> > > > > s=second
> > > > > value = value + freq
> > > > > return
> > > > > ############
> > > > >
> > > > > Und hier bekomme ich pro Liter, Werte von 1206-1269 (0,9-0,95 Liter) bei 10 Messungen.
> > > > > Der Fehler ist doch eigentlich nicht gering.
> > > > > Jedoch habe ich keine Ahnung mehr, ob der Sensor oder das Programm nicht ok ist.
> > > > > Beim Programm muss ich ja nur einmal pro Sekunde den Wert auslesen, aufsummieren und
> > > > > um Liter zu bekommen durch 1330 teilen.
> > > > >
> > > > >
> > > > > Danke nochmals
> > > > > für eure Unterstützung
> > > > > lg Elmar
> > > > >
> > > > >
> > > > > > Hallo Elmar,
> > > > > > Die Reproduzierbarkeit Deines Sensors ist also doch nicht so schlecht - Dein Programm vergißt nur Werte.
> > > > > > Vorschlag, mach es so, wie es hier unten Jörg beschreibt. Zur Sicherheit, dass Du keine Sekundenfelhler begehst,  mache noch folgende Programmzeilen vor dem Loop:
> > > > > > define m as byte ' Um Sekunden wert zu merken
> > > > > > #Start
> > > > > > s=second
> > > > > > if s=second GOTO start '
> > > > > > m=second                    ' Sekunde merken
> > > > > > Ventil=ON                    ' Ventilöffnung, damit der Durchfluss beginnt
> > > > > > #Loop                          ' Loop-Beginn jetzt mit Sekundenänderung
> > > > > >  if s<>second then       '  wenn nicht gleich, dann ist eine neue Sekunde erreicht
> > > > > >    s=second                  '  Sekunde merken
> > > > > >  '...
> > > > > >  '  hier kommt dein Programmteil mt der Abfrage/Auswertung rein und
> > > > > >  '  hat auch noch Zeit für LCD-Ausgaben o.ä.
> > > > > >  '...
> > > > > >   end if
> > > > > >  m=m+1                      ' zählt Sekunde weiter
> > > > > >  if m>60:m=1               ' Ãœbertrag          
> > > > > >                                   ' Wenn Taste usw.- GOTO Fertig
> > > > > > goto loop
> > > > > > #Fertig
> > > > > >  Print second, m          ' jetzt muss Sekundenwert dem Wert von m entsprechen...
> > > > > > .....
> > > > > > Gruss, Gekü
> > > > > > ********
> > > > > >
> > > > > > > > Hallo Elmar,
> > > > > > > >
> > > > > > > > ich würde keine Pause von 1s einbauen, da wie du richtig vermutest, das Programm auch Zeit benötigt und irgenwann eine Sekunde vergessen wird zu erfassen. Frage lieber sooft als möglich ab und teste selber, ob der Wert für diese Sekunde schon benutzt wurde. Auf diese Weise hast du für alle anderen Programmteile fast eine Sekunde Zeit um etwas zu machen/auszugeben, das ist dann eigentlich genügend Zeit. Also so z.B.
> > > > > > > >
> > > > > > > > define s as byte    ' zum Sekunde merken um nur 1mal je Sekunde auszuführen
> > > > > > > >
> > > > > > > > #loop
> > > > > > > > ' Sekundenschleife
> > > > > > > >  if s<>second then       '  wenn nicht gleich, dann ist eine neue Sekunde erreicht
> > > > > > > >   s=second                  '  Sekunde merken
> > > > > > > > '...
> > > > > > > > '  hier kommt dein Programmteil mt der Abfrage/Auswertung rein und
> > > > > > > > '  hat auch noch Zeit für LCD-Ausgaben o.ä.
> > > > > > > > '...
> > > > > > > >  end if
> > > > > > > > goto loop
> > > > > > > >
> > > > > > > > Ob dieses nun die Genauigkeit erhöht... schulterzuck ... aber probier mal.
> > > > > > > >
> > > > > > > > Grüße Jörg
> > > > > > > >
> > > > > > > > > > > > > ... anbei noch der Link zum Datenblatt des Sensors welchen ich am Freqenzeingang anschließen möchte,
> > > > > > > > > > > > >
> > > > > > > > > > > > > datenblatt_sensor.pdf
> > > > > > > > > > > > >
> > > > > > > > > > > > > Gruß Elmar
> > > > > > > > > > > > >
> > > > > > > > > > > > > ********************************
> > > > > > > > > > > > > > Hallo!
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Ich würde gerne mit der C-Control (CC1) einen Wasserdurchflussmenge messen.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Habe mit dazu einen Durchflussmesser besorgt. Dieser liefert 1330 Impulse/Liter.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Wenn ich dieses Signal am Frequeneingang anlege, diesen
> > > > > > > > > > > > > > Wert jede Sekunde auslese und aufsummiere kommt es hier zu
> > > > > > > > > > > > > > abweichungen.
> > > > > > > > > > > > > > Kann es sein, dass die C-Control zu langsam ist
> > > > > > > > > > > > > > diese Impulse zu messen und ev. einige Impulse nicht erkennt?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Wie kann man dieses Problem lösen?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Danke für eure Unterstützung
> > > > > > > > > > > > > > Elmar
> > > > > > > > > > > >
> > > > > > > > > > > > Hallo,
> > > > > > > > > > > >
> > > > > > > > > > > > das Ausgangssignal des Sensors ist Freqenz (200 Hz bei 540 l/h).
> > > > > > > > > > > > Das sind 150 ml/sec.
> > > > > > > > > > > > Addier-Wert je Sekunde = 150*Freq / 200
> > > > > > > > > > > > Je Sekunde addierst Du den Wert in eine Variable Milliliter.
> > > > > > > > > > > > Bei größer 999 machst einen Übertrag in eine Variable Liter mit +1
> > > > > > > > > > > >  und setzt Milliliter -1000.
> > > > > > > > > > > >
> > > > > > > > > > > > siehe auch meine homepage Kapitel Tipps Teil 4
> > > > > > > > > > > >
> > > > > > > > > > > > Mfg ManfredW
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Hallo,
> > > > > > > > > > >
> > > > > > > > > > > danke für die rasche Unterstützung.
> > > > > > > > > > >
> > > > > > > > > > > Habe gerade eine Test gemacht, und habe mehrmals 1 Liter Wasser durch den Sensor laufen lassen.
> > > > > > > > > > > Wenn ich nur die Werte am Frequenzeingang aufsummiere ergeben sich Werte von 1158 bis 1362 pro einem Liter. D.h. dies wären dann 0,87 bis 1,02 Liter.
> > > > > > > > > > >
> > > > > > > > > > > Kann diese Ungenauigkeit die Toleranz sein?
> > > > > > > > > > >
> > > > > > > > > > > Danke
> > > > > > > > > > > Elmar
> > > > > > > > > > >
> > > > > > > > > > > P.S. Zuvor hatte ich noch das LCD jede Sekunde mitaktualisieren lassen. Anscheinend braucht dieses soviel Zeit, dass Messergebnisse verloren gehen und sich Werte um 660 - 880 pro 1 Liter ergaben.
> > > > > > > > > >
> > > > > > > > > > Hallo Elmar,
> > > > > > > > > > habe nur aus Interesse Fragen:
> > > > > > > > > > a) bei kontinuierlichem Durchfluß, wie groß sind die Schwankungen (Standardabweichung) des Sensors um den Mittelwert ?
> > > > > > > > > > b) wie ändert sich dieser Fehler in Abhängigkeit von der Durchflußgeschwindigkeit ?
> > > > > > > > > > Im Datenblatt ist von +/- 0,25% Reproduzierbarkeit (was immer dies auch sein soll ???) die Rede.
> > > > > > > > > > Oft wird dabei um den Fehler optisch zu schönen der "Standarderror of Mean" (Standarderror/Wurzel(Anzahl der Messungen) gemeint. Durch beliebige Vergrößerung der Messungen kann dadurch der Fehler (mathematisch korrekt  aber ohne weitere Angaben unzulässig) als sehr klein berechnet werden...
> > > > > > > > > > Gruss, GeKü
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hallo!
> > > > > > > > >
> > > > > > > > > Habe heute nochmal einen Test gemacht!
> > > > > > > > > Bei einem kontinuierlichem Durchfluß ist die Summe nach einem Liter am Freqenzeingang in etwa 1100 (15 Duchgänge von 1050 - 1130) - dies sind nur 0,83 Liter. Jedoch frage ich mich wenn ich jede Sekunde den Freqenzeingang abfrage wie lange der Programmteil Zeit benötigt.
> > > > > > > > > Wenn ich anstelle der Pause 50 nur 40 eingebe (Zeit bis zum erneuten Abfragen vom Eingang), kommen Werte um 1350 heraus - was eingentlich gewollt wäre (1330 = 1 Liter). Selbiges Problem hatte ich ja, wie oben beschrieben als ich das LCD jede Sekunde mitaktualisiert habe - da es einfach Zeit benötigt, und ich ev. einen Sekundenzyklus beim Abfragen verpasse.
> > > > > > > > >
> > > > > > > > > Was kann ich machen, damit ich diesen Sensor vernünftig hinbekomme?!?
> > > > > > > > >
> > > > > > > > > Danke für eure Hilfe
> > > > > > > > > Elmar
> > > > > > >
> > > > > > > Hallo
> > > > > > >
> > > > > > > Hast du es mit dem interrup anschluss probiert???
> > > > > > >
> > > > > > > bei jedem inpuls wird ein Interrup aus gelöst( ich weis nicht ob deine CControl so einen Anschluss hat).
> > > > > > >
> > > > > > > MFG
> > > > > > >
> > > > > > > lorenz

 Antwort schreiben

Bisherige Antworten:

Re: Durchflussmessung (von joergm6 - 11.07.2008 22:39)
    Re: Durchflussmessung (von ficher - 11.07.2008 23:31)