Forum: Mikrocontroller und Digitale Elektronik Ableitung einer Messkurve bilden


von Paul H. (powl)


Lesenswert?

Hi!

Um meine Akkus zu laden benutze ich derzeit das -dU Verfahren, da das 
aber nicht so gut ist und meine Akkus das scheinbar nicht so mögen 
wollte ich das Verfahren etwas verbessern.

Die Ladekurve eines Akkus steigt ja zunächst immer steiler werdend an, 
wird dann wieder schnell flacher und sinkt letztendlich ab dem -dU Hügel 
wieder. Bisher wurde die Spannungsdifferenz von Maximum und 3mV darunter 
detektiert, jedoch wird der Akku zu diesem Zeitpunkt laut Literatur 
schon überladen.

Wenn ich die Ladung direkt im Maximum oder noch besser im Wendepunkt der 
Ladekurve schon abschalten könnte wäre das Ideal. Das Problem ist, wie 
ermittle ich den Wendepunkt. Je nach Ladezustand kann die Ladung recht 
langsam vonstatten gehen oder recht schnell. Gemessen wird z.B. einmal 
die Sekunde. Der ADC ist so konfiguriert dass ich das Ergebnis direkt in 
mV als ADC-Wert rausbekomme.

Das Problem ist nun, dass ich zur Ableitung nicht einfach die Differenz 
zweier oder mehrere Werte nehmen kann. Bei einer langsamen Ladung 
bekomme ich zig mal hintereinander die gleichen Werte bis die Spannung 
endlich mal etwas steigt: 120 120 120 120 121 121 122 122. Die Differenz 
zweier Messwerte ist meistens 0 => fehlerhafte Ableitung. Wenn ich 
mehrere Messwerte mit einbeziehe und die Ladung zu schnell ist kann es 
sein dass das ganze zu ungenau wird.

Dass die genaue Ableitung zu dem Zeitpunkt wo mehrmals 120 gemessen wird 
bevor es endlich mit 121 121 122 122 weitergeht noch nicht vorhersagbar 
ist, ist klar. Wie könnte ich den Wendepunkt und dann das Maximum 
dennoch zuverlässig erkennen, weitestgehend unabhängig vom Messinterval?

mfg PoWl

von Hannes (Gast)


Lesenswert?

>-dU Verfahren, da das
>aber nicht so gut ist und meine Akkus das scheinbar nicht so mögen

Um welche Akkus handelt es sich? Für NiCd ist das Verfahren OK, für NiMH 
eher nicht.

>Gemessen wird z.B. einmal die Sekunde.

>Die Differenz zweier Messwerte ist meistens 0 => fehlerhafte Ableitung.

Deine Software solltest Du so gestalten, dass sie nicht stur jede 
Sekunde misst. Sie muss die Zeitanstände selbständig ermitteln.

Jedoch würde ich allgemein davon abraten, sowas selber zu programmieren. 
Es gibt gute Laderegler-IC's für wenig Bares. Und auch fertige 
Ladegeräte von sehr guten Firmen wie Ansmann. Da steckt jahrzehntelange 
Erfahrung drinnen.

Letztendlich ist es auch nicht ungefährlich, mit halbgaren Ladegeräten 
Akkus (unbeaufsichtigt) zu bestromen.

von Paul H. (powl)


Lesenswert?

Es waren NiCd, allerdings minderqualitative weshalb das nicht so 
aussagekräftig ist. Mittlerweile kommen NiMh zum Einsatz. Für ein 
Laderegler-IC ist es leider zu spät, die Schaltung existiert schon und 
ist eingebaut (verklebt usw..)

von vielleicht so (Gast)


Lesenswert?

>120 120 120 120 121 121 122 122

ist klar, bringt nichts. Der Trick ist gleichzeitig zu glaetten und 
hoehere Aufloesung zu haben. Mach ein exponentielles Mittel und schieb 
weniger als du solltest, ein paar mehr Wandlungen als 1 pro sekunde 
duerfens schon sein. Ich wuerd mal schauen, zu ueber den relevanten 
Zeitraum von sagen wir 30 sekunden auf 14-16 bit zu kommen. Das ist 
machbar mit einem Mittel aus 1024, oder mehr Messwerten

von nemon (Gast)


Lesenswert?


von Stefan (Gast)


Lesenswert?

>Wenn ich die Ladung direkt im Maximum...
Genau, das ist aber irgendwie auch wieder -dU! Man müsste halt -dU mit 
sehr hoher Auflösung messen.

>oder noch besser im Wendepunkt der
>Ladekurve schon abschalten könnte wäre das Ideal.
Ich sehe das überhaupt nicht als Ideal an!
Im Wendepunkt abzuschalten bedeutet, dass der Akku nicht vollgeladen 
wird, was zum einen dem Akku auch nicht gefällt... vielmehr aber den 
Anwender "ärgert", weil die Akkulaufzeit nicht optimal ist!
Man könnte zwar nach dem Wendepunkt mit reduziertem Ladestrom 
weiterladen, wobei dann aber wieder die Frage auftaucht, wann diese 
Top-Off-Ladung beendet werden soll (Zeit, -dU, dT, ...???)

An Deiner Stelle würde ich bei -dU bleiben. Das ist eine bewährte und 
(unter Berücksichtigung des Aufwandes) optimale Lademethode für NiCd und 
NiMH.
Mit deiner -3mV-Schwelle bist Du sehr gut dabei... für NiMH werden 
üblicherweise 5-10mV pro Zelle vorgeschlagen.
Infos zu Ladeparametern von Panasonic:
http://www.panasonic.com/industrial/battery/oem/images/pdf/Panasonic_NiMH_ChargeMethods.pdf

von avion23 (Gast)


Lesenswert?

@Stefan
-DU ist schon eine starke Überladung bei NiMh, sogar dU/dt==0 ist eine 
Überladung. "Am besten" ist der Wendepunkt. Dann weiß man, in welchem 
Zustand der Akku sich befindet. Außerdem Tritt bis zu 70% der Ladung 
kaum eine Erwärmung auf. Von diesem Punkt an kann man mit einer Topp-off 
charge arbeiten, um die Zellen durch leichte Überladung an zu gleichen. 
Eine Überladung bei 1/10C verkraften aktuelle Zellen problemlos.

@ Paul Hamacher

Ich habe das selbe Problem wie du, aber keine Lösung. Ich habe es mit 
dem zentralen Differenzenquotienten versucht, das sieht aber nicht schön 
aus:
0, 0, -1, +1, 0, 0, +1, 0, -1, 0, 0, 0, +1, 0, 0

Deswegen habe ich versucht stark zu glätten und lasse einen Counter 
mitlaufen, wie lange die Ladespannung sich nicht mehr erhöht hat. In 
diesem PUnkt müsste die Steigung=0 sein. Das Extremum zeigt sich bei 
dieser Zeitbasis ja als Pleateau.
Elegant ist das nicht :( Ich habe überlegt, dass man ein Array aufmachen 
kannin das immer neue Werte eingelesen werden. Aus diesen Werten werden 
dann mit viel höherer "Pseudoauflösung" Zwischenwerte ähnlich eine 
Gaußkurve berechnet. Diese Werte sind größer und damit bekäme ich eine 
zumindest zahlentechnisch höhere Ableitung und wäre nicht dauernd an der 
Diskretisierungsstufe.

Geholfen hat es auch etwas, die Zeitbasis auf 10s zu vergrößern.

von Paul H. (powl)


Lesenswert?

Also die Zeitbasis werde ich noch anpassen. Das Problem ist nur, bei 
relativ vollem Akku geht die Aufladung binnen weniger Minuten 
vonstatten, die ganze Kurve wird superschnell durchlaufen. Bei leerem 
Akku kann sich das über Stunden hinziehen.

lg PoWl

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.