Forum: Mikrocontroller und Digitale Elektronik Springen von ausgerechneten Messwerten vermeiden


von Miu (Gast)


Lesenswert?

Hallo,

ich möchte meine Frage an Hand eines Beispiels erläutern:

ADC-Wertebereich x : 0-1023
Resultierende Ausgangsgröße y mit Wertebereich: 100-227

=> y = x / 8 + 100

x    |    y
------------
0-7  |  100
8-15 |  101


Wenn jetzt mein gemessener Wert dauernd von 0-7 bzw. 8-15 schwankt, 
erhalte ich als Ergebnis stabil 100 bzw. 101. Wenn der Wert jetzt 
allerdings von 5-12 schwankt, wechselt mein Ergebnis ständig zwischen 
100 und 101 hin und her.

Welche Methoden verwendet ihr um so ein Schwanken der Messwerte zu 
vermeiden (Bitte mit kurzem Beispiel)?

von Miu (Gast)


Lesenswert?

Meines Wissens gibt es eine Bezeichnung für dieses Phänomen. Ich komme 
nur gerade nicht drauf. Kennt ihr diese?

von Ingo (Gast)


Lesenswert?

Mittelwertbildung über 2^n Werte hilft dabei

von Miu (Gast)


Lesenswert?

Meiner Meinung nach hilft hier eine Mittelwertbildung nicht viel. Der 
Ausgangswert wird nur langsamer schwanken...

Mittelwert über 8 Werte:

x : 7, 10, 8, 9, 10, 9, 7, 7 => Mittelwert: 8 => Y = 101

Jetzt kommt als neuert Wert nochmal eine 7:

x : 10, 8, 9, 10, 9, 7, 7 => Mittelwert: 7 => Y = 100

von Stefan (Gast)


Lesenswert?

Hysterese einbauen oder damit leben. Prinziepbedingt schwanken die Werte 
IMMER bei einer bestimmten Schwelle

von E. K. (new_berlin)


Lesenswert?

Die Auflösung vom Messsystem kleiner wählen als die geforderte 
Genauigkeit, dann interessiert ein geringes Schwanken nicht.

von Miu (Gast)


Lesenswert?

Ups bei meinem 2. Beispiel fehlt die letzte 7. Dann ist der Mittelwert 
immer noch 8. Aber egal. Noch zwei 7 dann wechselt der Wert...

Meine einzige Idee war auch die Hysterese. Aber die Hysterese muss immer 
abhängig von der Berechnungsformel erstellt werden und das finde ich 
nicht so einfach, vor allem wenn die Berechnungsformel abhängig von 
anderen Parametern noch variiert...

von Thomas (Gast)


Lesenswert?

Was wäre denn die Erwartung im Falle x= 5-12?
Wann darf sich denn der Wert y ändern?

Gruß
Thomas

von Miu (Gast)


Lesenswert?

Kleiner wählen als gefordert??? Wie soll ich dann die geforderte 
Genauigkeit erreichen?

von Dipl.-Ing. (TH) (Gast)


Lesenswert?

Du gibts eine Änderung erst weiter, wenn sie lange genuf bestätig wurde 
oder grösser, als 1 ist. Damit hast Du einen etwas grösseren 
Anzeigefehler, aber sonst Ruhe.

von Miu (Gast)


Lesenswert?

Thomas schrieb:
> Was wäre denn die Erwartung im Falle x= 5-12?
> Wann darf sich denn der Wert y ändern?

Das der Wert erhalten bleibt, der als erstes berechnet wurde. Erst ab 
einer bestimmten Schwelle auf den nächsten Wert springen...

von Miu (Gast)


Lesenswert?

Vielen Dank für die bisherigen Posts.

Wie ich oben schon beschrieben habe, nutze ich dafür bisher eine 
Hysterese. Ich blicke nur gerne über den Tellerrand, welche Alternativen 
es gibt...

von E. K. (new_berlin)


Lesenswert?

Das Problem ist doch einfach, dass du die ADU-Auflösung von 10 bit 
(0..1023) durch ein Teilen durch 8 auf effektiv 7 bit reduzierst. 
Geringere Auflösung -> "eckigere" Signale.
Hast du eine Auflösung, die groß genug ist, dann ist dir ein Schwanken 
irgendwann egal. Dann kann man das Schwanken sogar als weißes Rauschen 
annähern, das wird meistens bei der Charakterisierung von Messsytemen 
gemacht, die analog -> digital wandeln.

von Amateur (Gast)


Lesenswert?

Irgendwann musst aber von einem angezeigten Wert zum Nächsten 
"umschalten".
Die einen verwenden: (-0,4) ... 0,4 ... 1,4 ... 2,4
Die anderen stehen auf:   0 ... 0,9 ... 1,9 ... 2,9
Mit gewissen Abstrichen lässt sich die Zappelei nicht vermeiden.
Natürlich kannst Du mit irgendwelchen cleveren Algorithmen die Anzeige 
so verfälschen, dass sie steht.
Solche Effekte ergeben sich vor allem dann, wenn sich die Realität in 
die Theorie einmischt.

von Uwe (Gast)


Lesenswert?

Hi,
Wenn du Zeit hast:
null = 0
temp = neuer Messwert
rndH = Mittelwert

sub rndL,rndH
sbc rndH,null
add rndL,temp
adc rndH,null
cp  rndH,temp
brne PC+2
ldi rndL,127
fertig

ist gleitender Mittelwert auf deine 8 Bit zugeschnitten
viel Erfolg, Uwe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.