|
Einleitung
Das ist die Erweiterung des einfachen
Akkuladegerätes
auf verschiedene Akkukapazitäten.
Die Software und der Controller sind weitestgehend identisch.
Auf dieser Seite werden nur die Änderungen gegenüber dem
einfachen Gerät erläutert. Alle grundlegenden Informationen
bitte
ich, der anderen Seite zu entnehmen.
Dieses Gerät ist nicht dafür gedacht, ständig alle im Haushalt anfallenden Akkus zu laden (dazu ist es zu aufwändig), vielmehr ermöglicht es neben der Ladung eine Analyse des Zustandes einzelner Akkuzellen (noch vorhandene Kapazität wird bestimmt) sowie die Akkupflege.
Anforderungen
Ein Akkuladegerät sollte in der Lage sein,
Schaltung
Das Herz der Schaltung ist ein PIC16F876,
der an PortB mit einem LCD-Display (1x16)
und einem Rotary-Encoder
versehen ist. PortA dient der Spannungsmessung und PortC der Steuerung
der Ladeelektronik. Mit dem PWM-Ausgang
RC2
wird
die Stärke des Lade/Entladestroms eingestellt.
Aufgebaut ist der 16F876 auf einer universellen Controller-Platine, die im linken Bild zu sehen ist.Auf einer 75 x 100 mm großen Platine befindet sich der Sockel für den 16F876 sowie Anschlüsse für
|
Ein Netzteil liefert +5V / 2,5 A (Vdd - Vss) für den PIC und
die
Ladeelektronik. Eine präzise Stabilisierung von Vdd = +5V ist
nötig,
da diese Spannung auch als Referenz für den ADC des PIC benutzt
wird.
(Entscheidend ist nicht die exakte Einhaltung des Wertes 5V als
vielmehr
seine Konstanz. Prinzipiell ist eine leicht Überstannung (bis max.
6V) sogar vorteilhaft.)
Der PIC steuert eine Konstantstromquelle, die den Akku mit
ca. C/3
lädt, und eine Entlade-Konstantstromsenke, die den Akku mit C
entlädt.
(C ist ein Strom, der der Akkukapazität/h entspricht, also z.B.
700mA
für einen 700mAh-Akku.)
Die Konstantstromquelle zum Laden des Akkus ist mit einem OPV (LM358) aufgebaut, der einen P-Kanal MOSFET (IRF9540) ansteuert. Er regelt den Strom so, dass über den Messwiderstand R19 (0,47 Ohm) eine Spannung abfällt, die zu der Spannung am positiven Eingang des OPV identisch ist Die Entladeschaltung ist eine Konstantstromsenke, die den gleichen OPV benutzt, der diesmal jedoch einen N-Kanal logic-level-MOSFET (SMP60N03-10L) ansteuert, der den Akku über die Messwiderstände R16..R18 entlädt. Er regelt den Strom so, dass über die Messwiderstände (0,157 Ohm) eine Spannung abfällt, die zu der Spannung am positiven Eingang des OPV identisch ist. Dadurch ist garantiert, dass der Entladestrom immer drei mal so groß ist wie der Ladestrom. Sowohl Ladeschaltung wie auch Entladeschaltung werden normalerweise vom PIC über D1&D2 blockiert, und erst beim Laden oder Entladen eingeschaltet. |
Die Stromstärke stellt der PIC mit dem
Tastverhältnis eines
PWM-Signals ein, das von R1&C1 in eine Gleichspannung gewandelt
wird.
Mit R2 wird die Stromstärke einmalig abgeglichen. Dieser Abgleich
wird durch die Software unterstützt.
Durch die hohe Verstärkung des OPV neigen die Stromquellen zwangsläufig zum Schwingen. Eine Unterdrückung der Schwingungen durch einen Gegenkoppelwiderstand am OPV ist durch die unterschiedlichen Arbeitspunkte beim Laden bzw. Entladen nicht möglich. Deshalb wurden C2&C3 zur Schwingungsunterdrückung eingesetzt. Die Akku-Zellenspannung wird mit dem ADC des PIC
überwacht. |
Erwärmung: Der IRF9540 setzt maximal 6 W in Hitze um, der SMP60N03 maximal 2W und die Lastwiderstände R16..R19 maximal je 3 W. Deshalb sollte der IRF9540 einen Kühlkörper mit einem TK von max 10 K/W und der SMP60N03 einen Mini-Kühlkörper bekommen. R16..R19 sind 5W-Typen. Aufbau: An den Display-Anschluss (Port B) der Controllerplatine/Testplatine wurde (mit einer LCD-Tastatur-Platine) ein 1-zeiliges Dotmatrix-Display angeschlossen. Ebenfalls am Port B ist der Rotary-Encoder angeschlossen. Als Gehäuse verwende ich ein altes externes SCSI-Gehäuse mit Netzteil. Beide Dioden D1&D2 müssen aufgrund der geringen
Betriebsspannung
von nur 5V Shottky-Dioden sein. |
Berechnung der geladenen/entladenen Energie
Der Energiezähler ist ein 24 Bit-Softwarezähler dessen obere
16 Bit der Energie in mAh entsprechen. Das LSB hat also eine Wertigkeit
von 1/256 mAh = 0,0004 mAh.
Das Ladeprogramm arbeitet in einem 6,75 Sekunden-Rythmus. Bei 33,3
mA-Ladestrom
(100 mAh-Akku) wird dem Akku in 6,75 s genau 0,0625 mAh (also 1/16 mAh)
zugeführt.
Ein 24-Bit-Zahler wird nach jedem Ladezyklus um einem Wert erhöht,
der dem Ladestrom in 100/48 mA entspricht (für 200 mA also um 96,
für 1 A folglich um 480). Die oberen 16 Bit des Zählers
enthalten
dann die geladene Energie in mAh. Werte bis 60 Ah sind auf diese Weise
zählbar. Das ist für 7000 mAh-Akkus ausreichend :-)
Das Entladeprogramm arbeitet in einem 2,25 Sekunden-Rythmus. Bei 100
mA-Entladestrom wird dem Akku in 2,25 s genau 0,0625 mAh (also 1/16
mAh)
entnommen.
Ein 24-Bit-Zahler wird nach jedem Entladezyklus um einem Wert
erhöht,
der dem Entladestrom in 300/48 mA entspricht (für 600 mA also um
96,
für 3 A folglich um 480). Die oberen 16 Bit des Zählers
enthalten
dann die entnommene Energie in mAh. Werte bis 60 Ah sind auf diese
Weise
zählbar. Das ist für 7000 mAh-Akkus ausreichend.
Die Energieberechnung erfordert das Einstellen der Ladeströme in 2,0833 mA-Stufen (Entladestrom ist immer 3 mal so groß). Der Akkutyp kann also in Stufen von 6,25 mAh ausgewält werden. Die Software erlaubt nur ein Einstellen in der sinnvollen Stufung von 50 mAh. Nur in diesen Stufen lässt sich auch die von der PWM erzeugte Strom-Steuerspannung einstellen.
Kalibrierung
Im Ladeadapter gibt es zwei Potentiometer (R2 und R4), die präzise
eingestellt werden müssen. Diese 'Kalibrierung' wird durch die
Software
des PIC ein wenig unterstützt.
Einstellen der Referenzspannung von 2,56 V - 3 Varianten
Am Potentiometer R4 muss die Referenzspannung Uref auf genau 2,56V eingestellt werden. Dazu bieten sich 3 Varianten an, von denen Variante 1 am genauesten und Variante 3 am ungenauesten ist. Die Präzision dieser Einstellung sollte man nicht überbewerten, da sich ein Messfehler von 5% nicht nennenswert auf die Funktion des Ladegerätes auswirkt.
Prüfung der Stromquellen bei 1 A
Nach der 'Kalibrierung 0,1A' sollten die Stromquellen in der Lage sein,
alle Ströme exakt zu erzeugen. Zur Probe kann man im PIC den
Menüpunkt
'Kal 1A' aufrufen. Daraufhin wird die Ladestromquelle auf 1 A
eingestellt.
Wird an den Akkuklemmen ein Amperemeter angeschlossen, kann man den
Stromwert
direkt prüfen.
Alternativ kann man während der 'Kalibrierung 1 A' die Spannung
über R19 mit einem Digital-Voltmeter messen. Diese muss 470
mV
betragen, wenn die Akkuklemmen kurzgeschlossen werden. Die
Spannungsanzeige
im Display sollte bei der 'Kalibrierung 1A' nicht verwendet werden. Sie
ist durch Übergangswiderstände stark fehlerbehaftet, und wird
deshalb mehr als 470mV anzeigen.
Da Nichts vollkommen linear funktioniert, wird der Strom in der bei
'Kalibrierung 1A' warscheinlich etwas kleiner als 1A ausfallen. Durch
abwechseldes
Einstellen des 100-mA-Stroms und des 1-A-Stroms ließ sich bei mir
eine Position von R2 finden, in der der Stromfehler in jedem Fall unter
3% liegt.
Menue des Akkuladegeräts
Nach dem Einschalten stehen 10 Menuepunkte zur Wahl, die durch Drehen des Rotary-Encoders ausgewählt und durch drücken dessselben (länger als 0,25 s drücken!) gestartet und wieder verlassen werden können. Zur normalen Arbeit werden nur die ersten 4 Menuepunkte benötigt, die anderen dienen Test und Kalibrierfunktionen.
Während der Lade- und Entlade-Programme kann durch Drehen des Rotary-Encoders zwischen den folgenden angezeigten Messwerten umgeschaltet werden:
Display | Bedeutung | Erläuterung |
Akkutyp | Akkutyp einstellen |
|
Laden | Laden des Akkus |
|
Entladen | Entladen des Akkus |
|
Ent/Lade | erst Entladen, danach Laden des Akkus |
|
Spannung | Anzeigen der Akkuspannung |
|
U-Lupe | Anzeigen der Lupenspannung |
|
U-ref | Anzeigen der Referenzspannung |
|
Kal 1A | Kalibrierung 1A |
|
Kal 0.1A | Kalibrierung 0,1A |
|
AD589 | Anzeigen der Spannung des AD589 |
|
Zur Realisierung wird u.a. auf folgende Unterprogramme zurückgegriffen:
Entladeprogramm:
Um dem viel diskutierten Memmoryeffekt aus dem Wege zu gehen, sollten
insbesondere NiCd-Akkus vor dem Laden entladen werden. Dazu werden sie
mit einem Strom belastet, der ihrer Nennkapazität C entspricht
(alo
ein 750 mAh-Akku mit 750 mA). Die Entladung wird beendet, wenn die
Zellenspannung
1,0 V erreicht hat. Während der Spannungsmessung, wird die
Entladung
kurzfristug unterbrochen.
Mechanischer Aufbau
Mögliche Verbesserungen
Bei Erhöhung der Speisespannung könnten auch mehrzellige
Akkus geladen werden. Allerdings benötigt dann der PIC eine eigene
5V-Stabilisierung für Vdd, und der Speisewiederstand für den
B589 ist anzupassen. Außerdem muss dann die Akkuspannung
über
einen Spannungsteiler dem ADC und dem OPV zugeführt werden.
Auf der Suche nach einem Netzteil fiel mir im Keller ein altes externes SCSI-Gehäuse in die Hand. Das ist ein geeignetes Gehäuse für das Akkuladegerät, und enthält ein Schaltnetzteil für 5V / 6A und 12V / 3A. Damit ließe sich der Akkulader zu einem Akkupacklader bis zu 7 Zellen a 9000 mAh oder zu einem Einzelzellenlader bis zu 18000mAh oder zu einem Sinterzellenschnellader bis zu 2400mAh erweitern.
Die Schaltung besitzt noch keinen Verpolschutz. Ein falsch herum eingesetzter Akku kann (wenn auch nur theoretisch) den Eingang RA0 des PIC und den OPV beschädigen. Das Problem lässt sich durch den Einsatz von 2 Schutzdioden beheben.
Die Spannungsmessung könnte einfacher (ohne OPV) und genauer
(0,4mV
Auflösung bei 10 Bit im Bereich von 1,2 bis 1,6 V) erfolgen, wenn
man anstelle eines 16F876 einen 16F628 verwendet, und mit dem Komparator
einen 10-Bit-Delta-Sigma-ADC aufbaut. Außerdem kostet der
16F628
nur die Hälfte des Preises des 16F876.
Der kleinere RAM des 16F628 würde aber eine Verkleinerung des
FIR-Filters auf 48-Stufen nötig machen. Das sollte aber reichen.
Eng
wird es mit der geringen Anzahl an freien I/O-Pins beim 16F628. Die
Kalibrierung
der Spannungsmessung würde komplizierter werden.
Für Freunde der Tasten, sollte alternativ zum Rotary-Encoder eine Bedienung über drei Tasten vorgesehen werden.
Eine unabhängige Einstellung von Lade- und Entladestrom wäre durch die Nutzung beider PWM-Ausgänge des 16F876 möglich.