Attiny13 NiMh-Lader für ein bis zwei Zellen    

von Hubert Freisinger, OE3FHA  

Elektronik-Labor   Projekte   AVR 




Das Problem dahinter waren kleine Knopfzellen und Kleinzellen des Typ NiMh die entweder permanent leer oder mit irgendwelchen einfachsten Mitteln permanent überladen waren. Dynamo-Taschenlampen, Stützbatterien in Timern o.ä. Einzelzellen der Ausführung AAA oder AA die allesamt noch eingelötet sind und vor sich hinrotten. Gerade Knopfzellen haben einen stolzen Preis und werden quasi mit Gold aufgewogen.

Hier begann meine Überlegung eine einfache und wirkungsvolle Ladeschaltung zu kreieren, die entsprechend den Eigenschaften von NiMh - Akkus arbeitet und mit minus delta peak ausgestattet war. Ferner sollte ein breites Spektrum an Strömen mit möglichst wenig Mitteln erreicht werden.

Aufgrund meiner langjährigen Erfahrung ist das Thema Laden eine Wüste mit teuren Oasen. Entweder man kauft um Hunderte Euro eine Ladestation die (fast) alle Bedürfnisse abdeckt, in meinen Augen im privaten Bereich ein Unfug der sich nicht oder kaum amortisiert, man muss selbst gut gepflegte Akkus einmal austauschen oder, man kauft eines der billigen Wunderwuzzis die allesamt irgendwie doch nicht das können was die Werbung verspricht und die verspricht oft das Blaue vom Himmel. Da gibt es Ladegeräte die die Akkus trotz µC zum kochen bringen, nach dem Motto die Elektronik gehört geröstet und Akkus müssen weichgekocht werden. Im Internet findet man jede Menge abgebrannter Lader und auch Wohnungen/Häuser. Da wird versprochen dass die Zelle erkannt wird obwohl nur ein positiver und negativer Kontakt vorhanden ist, muss eine Kamera eingebaut sein, da werden dann Mikro-Zellen genau so geladen wie Mono-Zellen, fein für die Akkuindustrie, die wollen ja Akkus verkaufen und keine Ladegeräte, oder eben Ladegeräte die den nächsten Akkukauf in absehbarer Zeit notwendig machen.

Ich bin nun einmal von den Laborerfahrungen einiger Hersteller ausgegangen und da ist ein minus delta peak Wert für NiMh Akkus von ~5mV - 10mV ein sehr guter Wert, dies hat sich auch in der Praxis bestätigt. Weniger macht kaum Sinn wegen möglichem vorzeitigen Ladeende, mehr führt oft zu unnötiger Erwärmung, und noch mehr zum "Übersehen" des Spannungs-Knick. Mein Programm arbeitet mit Reference = Avcc also 5V bei 10Bit ADC Auflösung, das bedeutet 5 /1024 = 0,0048828125V ~5mV.

Nun zu meinen Randbedingungen:

1.) Laden von ein bis 2 Zellen (natürlich in Serie)
2.) Ladeströme von wenigen mA bis hin zu 0,5A je nach Zellengröße
3.) Einfaches "einstellen" des Ladestrom
4.) Anschlussmöglichkeit an ein USB-Netzteil (5V=)
5.) Akkus sollten im eingelöteten Zustand auch geladen werden können




Da im Attiny13(A) alle erforderlichen Bedingungen enthalten sind wurde dieses Teil gewählt, zumal auch der Preis stimmt. Mit wenigen externen Bauteilen sollte das Ganze aufzubauen sein, bei mir sind sogar alte Vitrom-Widerstände zum Zug gekommen. Mit je zwei Fröschen für den jeweiligen, einfach zu berechnenden, externen Widerstand (am Bild in grün) und zwei Klemmen für den in der Regel eingebauten Akku (im Bild rot und schwarz für +/-). Die Schaltung ist selbsterklärend, denke ich, der PNP Transistor ist bei mir ein kleiner BC327/40 mit 0,8A Strombelastbarkeit und 500mW Verlustleistung. Der Widerstand R4 an der Basis kann in diesem Fall (ß>300) 330 Ohm betragen, bei anderen Transistoren (ß<300) sollte man auf 220 Ohm verringern. Hatte selbst bei 450mA keine außergewöhnliche Erwärmung des Transistors. Der Lader trickelt nach dem Ladeende mit ca. 1/20stel des eingestellten Ladestromes, zu erkennen am Aufblitzen der roten Led, und so werden die Akkus an der Selbstentladung auch nach Tagen des Ladeendes gehindert.



Nun zum Widerstand (Extern) an den grünen Klemmen. Erwähnt soll sein, dass Knopfzellen auf keinen Fall "schnellladefähig" sind, mehr dazu später.

Beispiel 1: eine Knopfzelle

Betriebsspannung ist 5V, die End-Ladespannung pro NiMh Zelle bei 0,2C beträgt in der Regel 1,6V max. Daraus ergibt sich: 5V(Betriebsspannung) - 1,6V(am Akku)-0,2V (am Schalttransistor) = 3,2V (Restspannung am externen Widerstand). Geladen wird eine Varta Knopfzelle mit 250mA/h und daraus ergibt sich: 3,2V / 0,05A (0,2C) = 62 Ohm, 68 oder 56 Ohm entsprechend der E-Reihe sind also in Ordnung.

Beispiel 2: zwei Knopfzellen

Betriebsspannung ist 5V, die End-Ladespannung pro NiMh Zelle bei 0,2C beträgt in der Regel 1,6V max. Daraus ergibt sich: 5V(Betriebsspannung) - 3,2V(am Akku)-0,2V (am Schalttransistor) = 1,6V (Restspannung am externen Widerstand). Geladen werden zwei Varta Knopfzelle mit 40mA/h und daraus ergibt sich: 1,6V / 0,008A (0,2C) = 200 Ohm, 220 Ohm entsprechend der E-Reihe sind also in Ordnung.

Beispiel 3: zwei Zellen AA im Pack

Betriebsspannung ist 5V, die End-Ladespannung pro NiMh Zelle bei 0,2C beträgt in der Regel 1,6V max. Daraus ergibt sich: 5V(Betriebsspannung) - 3,2V(am Akku)-0,2V (am Schalttransistor) = 1,6V (Restspannung am externen Widerstand). Geladen werden zwei AA Zellen mit 1100mA/h und daraus ergibt sich: 1,6V / 0,22A (0,2C) = 7,2 Ohm, 6,8 Ohm entsprechend der E-Reihe sind also in Ordnung. Achtung! Bei höheren Strömen Verlustleistung am externen Widerstand beachten, sonst Indianer (Rauchzeichen).

AUSGASENDE ZELLEN, BEI DENEN DAS ELEKTROLYT DAS LICHT DER WELT ERBLICKT HAT, MÜSSEN AUF JEDEN FALL AUSGETAUSCHT WERDEN; DA HILFT KEIN HERRGOTT!!!

Wichtig: nach dem Anklemmen des Akkus und Anlegen der 5V bitte Reset-Taste drücken und in Ruhe laden lassen um ein vorzeitiges Ladeende oder ein Übersehen des Ladeendes durch Unterbrechung zu vermeiden.

Da ich eine 2-Farben-Led (rot/grün) verwendet habe und diese im 100er Pack um 2 Euro zu bekommen waren, folgte die Rache auf dem Fuße: die grüne Led geht so, mit 330 Ohm und die rote Led ist mit 2,7k noch immer zu hell, was soll's, ist ja nur ein Indikator, man ist ja flexibel.


Nun noch einige Worte zum "Schnellladen".

Chemische Reaktionen brauchen Zeit um vernünftig zu wirken, ist in der Natur der Sache begründet, da werden 2,5A/h Mignonzellen mit 1C in einer Stunde in einer Handteller großen Kunststoffschale namens Schnellader geladen. Da Einzelzellen an- und abgegriffen werden entstehen durch Übergangswiderstände erhebliche Spannungsabfälle an den Klemmkontakten die für eine zusätzlichen Erwärmung sorgen. Das heißt, dass 4 Mignon mit ca. 10A auf engsten Raum geladen werden, die Folgen habe ich im Bild dokumentiert. Da werden im Akku Brennflecken an der Folie erzeugt, wobei Metalldämpfe entstehen und nicht nur den Akku in kurzer Zeit ruinieren sondern auch zu Kurzschluss beim Laden oder später im Verbraucher führen und in weiterer Folge zum Brand.





Und jetzt viel Spaß beim Nachbau, es wird sicher hilfreiche Hände für die Programmierung des Attiny13(A) für Leute geben die da keine Möglichkeit haben. Bin auch dazu bereit, nur steht dem das Postporto aus Österreich vermutlich im Weg.





Download:  Tiny13 loader.zip


'############################################################################################

' -delta peak Lader für 1x - 2x NiMh Akkus mit Attiny13
' Schaltschwelle bei ~5mV
' Ladestrom/Zelle je nach Vorwiderstand (25mA/h - 2,5Ah) "NiCd Loader.dsn"
'
' FUSE im Auslieferstatus

'PINB.0 = PNP Schalttransistor
'PINB.1 = LED grün gegen GND, Ladeende
'PINB.2 = LED rot gegen GND. Laden
'PINB.3 = ADC Eingang
'PINB.4 = LED gelb gegen GND, 30 Min. keine entscheidende Spannungsänderung

'############################################################################################


'Angaben für den Kompiler
'------------------------

'Prozessor
$regfile = "attiny13.dat"

'Takt, intern 1,2 MHz
$crystal = 1200000

'Speicherreservierung
$hwstack = 10
$swstack = 15
$framesize = 10

'Konfiguration Variable
Dim A As Bit
Dim B As Bit
Dim T As Byte
Dim Batterie1 As Word
Dim Batsav1 As Word
Dim Zaehler1 As Byte
Dim Zaehler2 As Word

'conf Port's B auf Eingabe=0, Ausgabe=1
Ddrb = &B0001_0111

'conf Port's B auf 0 oder 1
Portb = &B0000_0000

'conf Pin's B auf 0 oder 1 (PullUp Widerstände)
Pinb = &B0000_0000

'Konfiguration ADC (Referenz = Versorgungsspannung)
Config Adc = Single , Prescaler = Auto , Reference = Avcc

'voreingestellte Schalterwerte
B = 1
T = 5
Batterie1 = Getadc(3)



'Schleife des Ladeprogramm
'=========================

Do

'Portumschaltung, LED rot, bei Ladeende LED grün ON
Portb.0 = A
Portb.1 = A
Portb.2 = B
If A = 1 Then T = 150
If A = 1 Then Zaehler1 = 0
If A = 1 Then Zaehler2 = 0

'Ladeperiode
Wait 3

'Portumschaltung für Messpause
Portb.0 = B
Portb.1 = B
Portb.2 = A

'Messpause
Waitms T

'Abfrage neuer Spannungswert
Batterie1 = Getadc(3)

'Entscheidung: -delta peak ja (Ladeende ca. 60 Sekunden)
If Batterie1 < Batsav1 Then Zaehler1 = Zaehler1 + 1
If Batterie1 => Batsav1 Then Zaehler1 = 0
If Zaehler1 = 20 Then A = 1

'Entscheidung: wenn keine Spannungsänderung dann Timeout (Ladeende ca.30 Minuten) LED gelb ON
If Batterie1 = Batsav1 Then Zaehler2 = Zaehler2 + 1
If Batterie1 <> Batsav1 Then Zaehler2 = 0
If Zaehler2 = 600 Then A = 1
If Zaehler2 = 600 Then Portb.4 = 1
If A = 1 Then B = 0

'Neuen Spannungswert speichern
If Batterie1 > Batsav1 Then Batsav1 = Batterie1


Loop



Elektronik-Labor   Projekte   AVR