Forum: Mikrocontroller und Digitale Elektronik NiMh laden und Dauer-Erhaltungsladung, Welcher uC als Ladecontroller?


von Tom (Gast)


Lesenswert?

Hi.

Ich möchte ein einfaches Ladegerät bauen, mit dem NiMH Akkus aufgeladen 
werden können, und anschließend dauerhaft auf vollem Zustand gehalten 
werden.

Das ganze soll aber möglichst einfach aufzubauen und preiswert werden, 
so dass man auch eine große Zahl Ladeslots gut realisieren kann.

Eine Schnell-Lade-Funktion ist nicht erforderlich. Ein Ladestrom von 
100-200 mA ist ausreichend.

Erhaltungsladung kann z.B. mit 10 mA gemacht werden.

Man könnte auch Ladepausen mit einbauen.

Das ganze soll wie folgt realisiert werden:
3,3 V per handelsüblichen Schaltregler.
Feinregelung Spannung/Strom für den Akku:
Linearregler (geeignete Transistorschaltung)

Dieser Linearregler soll per R2R eingestellt werden. Akkuspannung und 
Akkustrom soll durch den uC überwacht werden. (2 Analog Eingänge)

Der uC soll möglichst billig und einfach sein, und das Ladeprogramm soll 
erstmal keinen großen schnickschnack wie delta-U oder so bieten.

Jeder Ladeslot soll vollständig autark mit einem einfachen Ladeprogramm 
arbeiten. Und wenn der Master gebaut wird, werden die Ladecontroller 
einfach über dne Master ferngesteuert, wenn komplexere Ladeprogramme 
realisiert werden sollen.

Sollte der Microcontroller eine entsprechende Zahl von Analogeingängen 
und Ausgangsports bieten, können auch mehrere Slots von einem 
Mikrocontroller bedient werden.

Multiplexing, Port Expander vor allem bei den analogen Messwerten, oder 
externe AD Wandler wollte ich vermeiden.
Dann baue ich lieber mehrfach auf, um die Zahl der benötigten Slots zu 
haben.

Jeder Ladecontroller soll I2C haben, so dass ich zu einem späteren 
Zeitpunkt noch eine Control Unit mit Display und Tasten hinzfügen kann, 
und über den Master auch komplexere Ladeprogramme gefahren werden 
können.

Der Mikrocontroller für die Ladeslots sollte jedoch möglichst leicht 
verfügbar sein. Irgendwelche speziellen, fertigen Ladecontroller, die 
man nur per Sample oder per Digikey o.ä bekommt, wollte ich vermeiden.

Welchen Mikrocontroller würdet ihr empfehlen?

von Harald W. (wilhelms)


Lesenswert?

Tom schrieb:

> Ich möchte ein einfaches Ladegerät bauen,
> das Ladeprogramm soll
> erstmal keinen großen schnickschnack wie delta-U oder so bieten.

...und wie willst Du feststellen, ob der Akku voll ist?

> Multiplexing wollte ich vermeiden.

Multiplexing vereinfacht die Gesamtschaltung allerdings sehr. :-)

> Welchen Mikrocontroller würdet ihr empfehlen?

Da Dein µC sowieso nicht viel zu tun hat, bleibt sich das ziemlich egal.
Gruss
Harald

von Anja (Gast)


Lesenswert?

Tom schrieb:
> Welchen Mikrocontroller würdet ihr empfehlen?

Ich würde die Zellen in Reihe schalten und dann einen L200 Controller 
verwenden.
siehe <Batteriewächter>

Gruß Anja

von Ulrich H. (lurchi)


Lesenswert?

Die "Schnellladung" (ca. 0,5-2 h) ist eigentlich die einzig brauchbare 
Methode für das laden von NiMH Akkus. Da sollte man nicht unbedingt 
drauf verzichten. Lieber schon die Akkus nacheinander schnell laden 
(jeweils einer) als mehrere parallel langsam quälen. Neben der Spannung 
sollte ggf. auch die Temperatur gemessen werden - nur zur Sicherheit.

Die Erhaltungsladung bit NiMH ist problematisch, da müsste man 
nachforschen was man machen kann. Ggf. erst einmal ein paar Tage gar 
nichts und dann ggf. in Pulsen oder die Spannung auf eine Niveau halten.

Beim µC ist die Wahl relativ unkritisch. Das geht je nach Vorlieben oder 
Vorkenntnissen, etwa eine AVR, PIC16/PIC18, 8051, kleiner ARM (M0) oder 
so.
Wenn ein µC mehr Kanäle laden kann ist der µC auch nicht mehr so der 
Kostenpunkt - beim Einzelstück sowieso nicht. Die Frage ist ggf. was man 
an ADC und Referenz braucht und auch Delte U und Delta U² zu machen.

Atmel hat da ein paar alte Vorschläge auf Basis von Tiny15 bzw. Tiny26 
(heute wohl Tiny261 als Nachfolger): da steuert der µC einen kleinen 
Schaltwandler.

von Tom (Gast)


Lesenswert?

Multiplexing auf Messwert-Analogebene wollte ich vermeiden, da man dann 
Analog Switches bräuchte.

Man könnte allerdings auch hingehen, und einen I2C AD Wandler für die 
Messung nehmen und einen I2C Portexpander, um den Regler einzustellen.

Jeder Ladeslot erhält dann nur 3,3V und I2C. Aber ob das billiger wäre, 
als einfach einen kleinen ATTINY pro Slot zu nehmen?
Dann könnte man zur Not auch noch ein einfaches Ladeprogramm 
implementieren, so dass die Ladeslots auch autark genutzt werden können.

Schnell-Ladung im Bereich 1 A könnte man auch noch machen, man müsste 
den 3,3 V Schaltregler nur entsprechend dick auslegen.
Die Feinregelung will ich auf jeden Fall linear machen, und nicht per 
Einzelschaltregler an jedem Akku, weil das zu kompliziert wäre.

Was nicht klappt, ist Reihenschaltung der Akkus, da es keine gruppierten 
Akkus oder Akkupacks sind und jeder Akku einen unterschiedlichen Zustand 
hat.

Außerdem soll das ganze Erweiterbar bleiben, um zu einem späteren 
Zeitpunkt weitere Slots hinzuzufügen.

von Dietrich L. (dietrichl)


Lesenswert?

Diese Frage bleibt aber immer noch:

Harald Wilhelms schrieb:
> Tom schrieb:
>
>> erstmal keinen großen schnickschnack wie delta-U oder so bieten.
>
> ...und wie willst Du feststellen, ob der Akku voll ist?

von Tom (Gast)


Lesenswert?

Das ist eine gute Frage.

Vielleicht nur schauen, ob die Ladeschluss-Spannung erreicht ist.

von Harald W. (wilhelms)


Lesenswert?

Tom schrieb:
> Das ist eine gute Frage.
>
> Vielleicht nur schauen, ob die Ladeschluss-Spannung erreicht ist.

Es gibt keine konstante "Ladeschluss-Spannung" als Ladeendanzeige
bei Ni-Akkus.

von Joachim B. (jar)


Lesenswert?

Harald Wilhelms schrieb:
> Es gibt keine konstante "Ladeschluss-Spannung" als Ladeendanzeige
> bei Ni-Akkus.

es gibt aber eine 50mV Überhöhung die nach Voll wieder abfällt, aber 
ausgeprägter je höher der Ladestrom ist. Ist der Ladestrom klein fällt 
die Überhöhung evtl. unter die Messgrenze.

Die Frage am TO bleibt, eine Zelle oder mehrere in Reihe?

: Bearbeitet durch User
von Ulrich H. (lurchi)


Lesenswert?

Der TO wollte einzelne Zellen laden, weil sie ggf. nicht alle gleich 
sind.
Das macht schon Sinn. Bei einzelnen Zellen klappt auch die delta U 
Abschaltung besser als bei vielen in Reihen.

Man Rat geht klar in Richtung schnell laden und dafür ggf. nur jeweils 
eine Zelle zur Zeit. Allerdings passt das eher nicht zu modularen 
Konzept des TO. Die Delta U Abschaltung sehe ich nicht als 
Schnickschnack, sondern die Berechtigung für den µC. Sparen kann man 
sich ggf. Dataloging auf SD Karte oder auch ein Entladen, auch wenn 
beides was für sich hätte.

von batman (Gast)


Lesenswert?

So ganz einfach ist das alles nicht. -dU-Abschaltung klappt nur sicher 
bei Schnellladung und die braucht er ja nicht. Ladeendespannung variiert 
bei NiMH ganz ordentlich, da müßte man ein großes Sicherheitspolster 
nehmen und früh abschalten - nicht schlimm, wenn sich die 
Erhaltungladung anschließt und man viel Zeit hat. Wenn man sowieso die 
Zellentemperatur überwacht, kann man auch gleich nach Temp.Kurve 
abschalten - Meßwerte auf Umgebungstemperatur normalisieren (ggf. Sensor 
im AVR). Wieviele Schächte sollen es denn sein?

von A-Freak (Gast)


Lesenswert?

Wie wäre es mit einer Abschaltung nach 0dU

Die Zelle wird geladen bis die Spannung nicht mehr weiter steigt, dann 
ist sie gerade voll.

Im Gegensatz zu -dU funktioniert das bei jedem Ladestrom zuverlässig.

von Anja (Gast)


Lesenswert?

A-Freak schrieb:
> Im Gegensatz zu -dU funktioniert das bei jedem Ladestrom zuverlässig.

woher hast Du diese Erkenntnis?
Finde ich sonst nirgends in Datenblättern / Literatur.

Gruß Anja

von batman (Gast)


Lesenswert?

Ist aber schon irgendwie logisch, daß die Akkuspannung nicht unendlich 
ansteigt. Wenn man bei (näherungsweise) Null-Steigung, also dU/dt=0 
abschaltet, ist die Zelle längst nicht voll aber das ist ja nicht immer 
das Wichtigste.

von  Gast (Gast)


Lesenswert?

Hm,


eigentlich arbeitet man mit Stromquellen und misst die Spannungen, die 
sich am Akku einstellen...

Schau dir mal die ICs bei Linear an (z.B. LTC4011), hier wird auch der 
Ladevorgang sehr gut beschrieben.

Ich würde allerdings solche ICs verwenden, und mit dem µC nur die 
interesanten Daten mitloggen. Was passiert nämlich wenn sich dein µC in 
der Testphase aufhängt, weil du noch einen Bug in der Software hast? 
(Wird der Akku dann auf 300% geladen... ) Oder einen Bug, der erst nach 
sehr langer Laufzeit auftritt...


mfg
Gast

von Anja (Gast)


Lesenswert?

Hallo,

bei manchen Zellen ist der Teil "A" der Ladekurve so flach (bei 
niedrigen Ladeströmen) daß dies bei dU/dt=0 bereits als 
Abschaltkriterium erkannt wird und nicht erst im Maximalpunkt "B".

http://blog.conrad.de/wp-content/uploads/2011/12/Ladekurve1.jpg

Insbesonders wenn man mit A/D-Wandlerauflösungen von nur um die 10 Bit 
mißt.

Gruß Anja

von Ulrich H. (lurchi)


Lesenswert?

Soweit ich es mitbekommen habe, sollte man bei NiMH relativ früh 
abschalten im Verglelich zu den alten NiCd. Bei der Kurve die Anja oben 
verlinkt hat also ggf. schon beim Punkt D und nicht erst bei A oder B. 
Das wäre dann das d²U Abschaltkriterium.

So ohne weiteres ist der 10 Bit AD im AVR dafür auch schon recht knapp. 
So etwas wie oversampling und rausfiltern von Störungen sollte man also 
schon machen.
Je langsamer man lädt, desto schwächer ausgeprägt wird das Maximum. 
Schnell Laden kann also einfacher werden als langsam laden.

von Stefan F. (Gast)


Lesenswert?

Mignon Akkus muss man mit einigen hundert mA laden, um einen deutlichen 
Spannungsabfall am Ende des ladevorgangs feststellen zu können.

Bei nur 100mA Ladestrom wird der Akku für den Delta-U Effekt nicht 
ausreichend warm.

Aber gerade weil er nicht warm wird, brauchst du auch nicht mit dem 
Laden aufhören. Die Lebensdauer des Akkus wird durch die Dauerladung nur 
unwesentlich reduziert.

von batman (Gast)


Lesenswert?

Man muß nicht immer alles 1:1 übernehmen, was in den Lehrbüchern steht. 
Die Annahmen sind nur für 99% der Fälle sinnvoll.
In diesem Falle kann man z.B. einfach das dt sehr groß machen, warum 
nicht 5 oder 10 Minuten, schon paßt das mit der Genauigkeit der dU/dt=0 
wieder.

von Stefan F. (Gast)


Lesenswert?

Ein großes dt setzt allerdings eine sehr stabile Referenzspannung im ADC 
voraus.

von batman (Gast)


Lesenswert?

Ich verstehe zwar nicht, warum die Uref bei großem dt stabiler sein muß 
als bei kleinem dt aber das muß man sich ab 100x Oversampling, was sich 
bei soviel Meßzeit anbietet, wohl auch nicht wirklich überlegen?

von batman (Gast)


Lesenswert?

Ein Ripple auf der Uref würde in dem Fall sogar die Auflösung steigern.

von Ulrich H. (lurchi)


Lesenswert?

Die Ref. Spannung muss stabil sind, darf sich also nicht zu sehr mit der 
Zeit, Versorgungsspannung oder Temperatur ändern. Nur eher kurzfristige 
Schwankungen (z.B. 1/f Rauschen, 50 Hz Einstreuung) können sich raus 
mitteln, was langsamer als ein paar Minuten ist kann die Abschaltung 
stören.

Dadurch das man die Spannung an einer Zelle misst wird das Signal aber 
schon einmal kräftiger als man es bei Akkupaks mit z.B. 10 Zellen 
bekommt. So kritisch sollte die Abschaltung also nicht werden, wenn man 
nicht ausgesprochen langsam lädt. Bei geringem Ladestrom müsste man ggf. 
für gleichmäßige Umgebungstemperatur sorgen (z.B: Abdeckung), um das 
Ladeende von äußeren Temperaturschwankungen zu unterscheiden.

Soweit ich es kenne mögen die NiMH Akkus die Dauerladung / Überladen 
nicht so sehr, auch wenn die dadurch nicht heiß werden. Man sollte also 
auch bei geringem Ladestrom schon eine brauchbare Abschaltung haben, man 
hat aber entsprechend etwas mehr Zeit zu reagieren.

Schon wegen der Ladezeit wird man moderne AA Zellen (z.B. 2000 mAh) eher 
mit mehr als 100 mA laden. Um über Nacht 4 Zellen voll zu bekommen 
braucht man schon gut 500 mA - das sollte schon ausreichen für ein 
genügendes delta U Signal. Bei den alten NiCd Zellen war das schließlich 
die 1 Stunden Ladung.

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.