NIMH Akku Lader

(<-- links kein Menü? Hier klicken)

Da ich mit kaufbaren Geräten entweder unzufrieden war, oder aber diese mir einfach zu teuer erschienen, hatte ich schon lange mal vor mir einen eigenes Ladegerät für NIMH Akkus zu bauen. Das Gerät sollte  sowohl sehr kleine als auch größere Akkus laden und auch mit Akkupacks die aus mehreren Zellen bestehen umgehen können. Darüber hinaus sollte auch die Möglichkeit bestehen Akkus zu entladen und dabei die Kapazität zu ermitteln. Für die Erkennung eines voll geladenen Akkus sollte das -deltaU Verfahren verwendet werden. Zum Einsatz kommt hier eine Platine, die ich mir habe herstellen lassen, dies geschah zeitgleich mit der Platine für meine Signalplotter, so dass es bei beiden Projekten mein erster Versuch war mir eine Platine herstellen zu lassen. Inzwischen ist bei dem Ladegerät die Hardware fertig, die Software ist überwiegend fertig, leider funktioniert insbesondere die -deltaU Erkennung noch nicht wie gewünscht.

Eigenschaften

Laden

Vor Beginn des Ladevorgangs muss die Zellenzahl, die Kapazität des Akkus und die gewünschte Ladegeschwindigkeit eingestellt werden. Aus dem Ladestrom und der vorher eingestellten Kapazität wird laufend der Ladezustand errechnet. Erreicht dieser 100%, wird der Ladevorgang beendet. Eine zu hohe Zellspannung oder ein Ladestrom der stark vom Sollwert abweicht beenden den Ladevorgang ebenfalls. Eine -deltaU Abschaltung ist ebenfalls implementiert, tendiert bei manchen Akkus aber zu einer zu frühen Abschaltung. Deswegen kann die -deltaU Abschaltung bei niedrigen Ladeströmen deaktiviert werden.

Sonstige Features

Anstelle als Ladegerät, kann die Schaltung auch als einstellbare Konstantstromquelle dienen. Allerdings dürfte der Ausgang nur bei ohmschen Lasten eine ausreichende Regelcharakteristig liefern. Für die Akkus stehen verschiedene Funktionen zur Auswahl: Laden, Entladen, Entladen mit anschließendem Laden und Kapazitätsmessung, welche aus Entladen-> Laden-> Entladen-> Laden besteht. Eine weitere Funktion versucht den Innenwiderstand von Akkus zu bestimmen. Softwareseitig kann eingestellt werden, dass die Schaltung (ohne Akku) eine bestimmte Verlustleistung (zb 8W) nicht überschreiten soll. Der Lade und Entladestrom wird dann entsprechend begrenzt. Zu guter letzt lassen sich noch für einige Widerstände kalibrierte Werte im EEprom des Mikrocontrollers ablegen. Die Schaltung sollte verpolt angeschlossene Akkus ohne Schäden überstehen können... getestet habe ich dies allerdings nicht ;-)

Java GUI

Um die Messwerte zu erfassen wurde eine GUI in Java geschrieben. Mit dieser lassen sich auch die Kalibrierungswerte einstellen. Für die Serielle Kommunikation kommt die RXTX Lib zum Einsatz. Diese bietet Unterstützung für diverse Plattformen und Prozessoren. Getestet wurde das Programm allerdings nur unter Linux.

Probleme

Wie oben schon geschrieben funktioniert die -deltaU Abschaltung nicht 100%tig zuverlässig. Das Problem ist, dass bereits das Berühren des Akkus oder Bewegen der Kabel Spannungsänderungen provoziert, die eine zuverlässige Erkennung eines Spannungsabfalls (wie er bei einem vollem Akku auftritt) verhindern oder aber zu früh auslösen. Daneben haben manche Akkus einen extrem flachen Anstieg der Spannung während des Ladens, welcher zu niedrig ist um von dem Ladegerät erkannt zu werden, so dass das Ladegerät wegen einer nicht steigenden Spannung zu früh abschaltet.
Daneben gab es noch eine Reihe weiterer Probleme, die ich inzwischen gelöst habe, die aber eine ganze Menge Zeit kosteten. So war der erst verwendete ATMEGA8 irgendwann voll und musste durch einen ATMEGA168 ersetzt werden, was ich aufgrund der äußerst ungünstigen Lage des Mikrocontrollers im Gehäuse (es musste alles auseinander geschraubt werden) so lange wie möglich hinausgezögert habe ;-) Auch der Verpolungsschutz hätte in der ersten Schaltungsversion nicht ausgereicht. Ebenso war zunächst T2 ein herkömmlicher Bipolartransistor, was zur Folge hatte, dass der Basisstrom beim Entladen mit gemessen wurde. Dies war im Normalfall zwar verschwindend wenig, war der Akku jedoch schon leer, versuchte die Regelung durch mehr Basisstrom den Transistor weiter zu öffnen, was dazu führte das irgendwann nur noch der Basisstrom von 20 bis 40mA (Kurzschlussstrom des OP Ausgangs) gemessen wurde und somit kleine Akkus scheinbar nie leer wurden. Nachdem dieser deswegen durch einen Mosfet ersetzt wurde, war dieser störende Strom zwar weg, dafür fing das ganze oberhalb von 100mA Entladestrom plötzlich an zu schwingen. Nach Schilderung des Problems in einem Forum gab mir jemand den Tipp einen Kondensator zwischen den Ausgang von OP2 und den Invertierten Eingang zu schalten. Dies half (in der Schaltung C3). Sollte sich herausstellen, dass auch die Regelung für die Ladeschaltung schwingt, wird auch an OP1 ein ähnlich geschalteter Kondensator eingebaut werden müssen. All dies war auf einer geätzten Platine deutlich schwieriger nachträglich zu ändern, als dies auf einer Lochrasterplatine mit freiem Platz der Fall gewesen wäre.

Bilder

(Klicken vergrößert)
Bild im frühem Zustand
Der Lader von innen
Der Lader von vorne
Die Platine, noch ohne die späteren Änderungen
Innenansicht des Gehäuses
Schaltung in Plastikgehäuse von vorne
Der Lader von hinten Java GUI Probleme mit -DeltaU. Die erste Ladekurve ist sauber,
bei der zweiten gibt es große Sprünge, die ein zuverlässiges
 Erkennen eines vollen Akkus verhindern würden.
Sicht auf die Rückseite mit dem Spannungseingängen und den Sicherungen Screenshot der GUI, gezeigt wird eine Ladekurve Vergleich zweier Ladekurven

Software und Schaltplan

Die Verwendung der Software und Schaltpläne erfolgt auf eigene Verantwortung. Ich hafte nicht für Schäden falls meine Software oder Schaltpläne welche verursachen sollte. Eine Funktionsfähigkeit und/oder Fehlerfreiheit wird nicht garantiert.
akkulader1_final1-0-1.zip
Version Final 1.0.1 der AVR und PC Software (GPL)
lader1-2.png
Schaltplan Version 1.21

Bei einem erneuten Entwerfen würde ich...




Zur Startseite

zuletzt aktualisiert: 04.06.2008