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