LiPo per ADC messen und Mittelwert bilden

OP #4720599
Lesenswert?
• ▲
▼
Hallo zusammen,

ich widme mich gerade dem Timer, der x mal pro Sekunde den Akku messen 
soll. Nach y Messungen soll ein Mittelwert gebildet werden und dann eine 
Aktion erfolgen.

Was denkt ihr über folgendes?

4 mal pro Sekunde messen, insgesamt über 4 Sekunden Dauer. Somit hat man 
16 Werte erhalten. Diese 16 Werte addiert dann geteilt durch 16 = 
Mittelwert -> führe dann eine Aktion durch.

Ich wäre dankbar über eine Auskunft, ob obige Vorgehensweise zum Erhalt 
des Messergebnisses Sinn macht oder würdet ihr die Messungen öfters 
durchführen bzw. über einen längeren Zeitraum?

Danke!
Gast #4720606
Lesenswert?
• ▲
▼
Wie soll man das pauschal beantworten? Allein dass du dir Gedanken über 
eine Mittelwertbildung machst zeigt ja, dass du einer Einzelmessung aus 
irgendwelchen Gründen nicht traust. Welche sind das? Welche Genauigkeit 
strebst du an? ...
Gast #4720615
Lesenswert?
• ▲
▼
Alfred S. schrieb:
> Worauf?

Ich denke mal an eine Kamera ...... diese Zeigt den Ladezustand
(Spannung) überhaupt erst an wenn die Kamera einige Sekunden
gelaufen ist. Will heissen sie wartet erst einen "brauchbaren"
eingeschwungenen Lastzustand ab bevor sie misst und ausgibt.
Dieser Zustand ist offensichtlich kurz nach dem Einschalten noch
nicht gegeben.

Vielviel man misst (Mittelung) ist dann erst (später) zu
beurteilen ...
OP #4720624
Lesenswert?
• ▲
▼
Arduinoquäler schrieb:
> Will heissen sie wartet erst einen "brauchbaren"
> eingeschwungenen Lastzustand ab bevor sie misst und ausgibt.

Verstehe. Also wenn ein paar Sekunden gewartet wird, bis alles "on" ist, 
reicht es den Mittelwert zu bestimmen!?
Wenn ich jetzt an einen USB Hub (Raspberry) noch einen WLAN Stick 
dranklemme und ggf. noch sonstige stromhungrige Peripherie: dann wäre 
Mittelwertbildung Quatsch und die Meridianlösung anzustreben?
Gast #4720667
Lesenswert?
• ▲
▼
Nicht nur mit USB Hub ist der Median der Weg. Sogar, wenn die Belastung 
nicht so hoch ist, kann es trotzdem gut vorkommen, dass du unbrauchbare 
"Ausreisser" mit unter den Werten hast. Du kannst das entweder 
Softwaremässig lösen oder z.B. Einen Filter nutzen. Wenn ich eine 
Akkuzelle mit dem AtMega messe, sind bei 10 Messungen öfter schon mal 2 
unbrauchbare dabei. Einer ist dann z.b. Aus unerklärlichen Gründen 0 und 
einer weicht stark ab (oft die erste Messung). Daher willst du immer 
erstmal filtern.
Gast #4720688
Lesenswert?
• ▲
▼
Der Nachteil eines Medianfilters ist aber der deutlich höhere 
Rechenaufwand. Bei einem Mittelwert muß man nur den ältesten Wert von 
der Mittelwertsumme abziehen und den aktuellen Wert draufaddieren. 
Sinnigerweise wählt man eine Zweierpotenz als Anzahl der Werte, dann 
kann man die Mittelwertsumme shiften anstatt zu dividieren.

Für die Ausreißerwerte: Man hat ja typischerweise einen Bereich, in dem 
man arbeiten kann. Dann kann man einfach auf z.B. Untergrenze-0.2V bis 
Obergenze+0.2V clippen.

Ich würde übrigens empfehlen, wenigstens beim Hochfahren erstmal einen 
Last-Streßtest auf die Batterie zu geben und währenddessen die Spannung 
zu messen. Das ist dann aussagekräftiger.

Vier Sekunden sind auch nicht nötig. Man kann auch alle 10ms im 
Timerinterrupt messen und über z.B. 8 Werte mitteln. Die nächste Messung 
stößt man aus dem Timerinterrupt unmittelbar nach dem Auslesen des 
Meßwertes an  - in 10ms ist das auf jeden Fall fertig.
Gast #4720713
Lesenswert?
• ▲
▼
Nop schrieb:
> Der Nachteil eines Medianfilters ist aber der deutlich höhere
> Rechenaufwand.

Es ist ein Witz beim Vorgang einer Batterieladung/-Entladung
in Rechenaufwand/Geschwindigkeit zu denken .....

Ob ich eine oder hundert Millisenkunden rechnen muss spielt
in solch einem Zusammenhang keinerlei Rolle, schon auch
deswegen weil die Messwerte über einen wesentlich längeren
Zeitraum gemittelt werden als Rechenzeit benötigt wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren