Messwert durch arithm. Mittel stabilisieren
Hallo,
ich überlege jetzt schon seit Stunden wie ich es am einfachsten machen könnte eine schwankende Messung stabil zu bekommen. Also z.B. über einige Sekunden die Messungen aufaddieren und dann durch die Anzahl der Messungen zu teilen. Habe mir hierzu auch schon einen Sekundentakt gebastelt, wollte die Messwerte in einem Array speichern und per Laufvariable die Anzahl der Messungen mitzählen. Mir scheint das aber alles viel zu kompliziert zu sein. Ich komme jedoch einfach nicht auf eine einfache Lösung.
Ich möchte einfach einen stabilen Wert für die Displayausgabe haben. Es handelt sich um eine Füllstandsanzeige einer Zisterne. Es ist also völlig unkritisch. Da können ruhig einige Sekunden, eigentlich sogar Minuten verstreichen bis die Messung auf dem Display aktualisiert wird. Es stört nur eben wenn die Zahlen ständig "hin und herwackeln".
Wäre für einen Vorschlag dankbar
Gruss Florian.
Re: Messwert durch arithm. Mittel stabilisieren
Zitat:
Zitat von Florian.
... möchte ... stabilen Wert für die Displayausgabe ... eine Füllstandsanzeige einer Zisterne ...
Ich weiß nicht, wieviel Zu- und Abflüsse Deine Zisterne hat bzw. welche Mengen da bilanziert werden müssen. Aber so ganz allgemein denke ich, dass sich der Pegelstand einer Zisterne nur selten schneller als 1 mm pro Sekunde, eher pro Minute?, ändert.
Zitat:
Zitat von Florian.
... können ruhig ... sogar Minuten verstreichen bis ... Display aktualisiert wird ...
Also würde ich so etwa im Sekundentakt messen, nach 8 oder 16 Messwerten dividieren (Überlauf war ja schon angesprochen) und das Ergebnis mit dem alten Wert vergleichen. WENN das Ergebnis anders ist als der alte Wert - dann die Anzeige um eins verstellen - sonst nix machen. Wenn das immer noch zu stark schwankt, könnte man die Verstellung nochmal durch einen Counter bremsen - nach mehreren Verstellwünschen in die gleiche Richtung wird verstellt. Diese Beschreibung ist jetzt nicht die blanke theoretische Herleitung, aber so stelle ich mir eben einen möglichen Lösungsweg vor.