Conrad Charge Manager 2020
Das ist der neue CM2020 von Conrad. Neu ist eigentlich neben den 10 Schächten nur die clevere Lösung, den Ladestrom über die Bauform anzupassen. Leider ist das Gerät wie sein Vorgänger so laut, dass schnell das Bedürfnis entsteht, es möglichst weit entfernt vom Schreibtisch aufzustellen. Damit man auch weiterhin bequem vom Schreibtisch aus den Ladezustand ablesen kann, habe ich ein kleines Perl-Script für Windows geschrieben, dass alle erforderlichen Werte in einer HTML-Seite darstellt, welche sich ständig aktualisiert. Diese HTML-Seite wird mittels des in dem Script integrierten Webservers über Port 3037 in das lokale Netzwerk gestellt. Zusätzlich wird, wenn die Aufladung beendet ist, eine Email mit den Ladekennwerten an einen SMTP-Server im Netzwerk abgesetzt, so dass bei Bedarf eine Datenbank mit den Ergebnissen angelegt wird.
J. Grathwohl hat die Version 0.4 weiterentwickelt, die HTML-Ausgabe um eine Grafik erweitert und zusätzlich die Möglichkeit eines Hex-Dumps eingefügt (Version 0.74).
Das Protokoll der seriellen Schnittstelle des Vorgängermodells CM2010 wurde ausgiebig von Christoph Heine und Markus Birth beschrieben. Leider hat der Hersteller das Datenformat verändert, insbesondere wird jetzt die tatsächliche Zellenspannung unter Last übertragen, so dass zur Auswertung der Leerlaufpannung zusätzlich ein Counter mit ausgewertet werden muss. Anders formuliert wird beim Laden nur einmal pro Minute die Leerlaufspannung übermittelt. Beim Entladen wird die Leerlaufspannung alle 10 Sekunden ermittelt.
Nachfolgend die für den CM2020 angepasste Tabelle von Markus Birth:
Nullmodemkabel
Geschwindigkeit:
9600 baud
Datenbits:
8
Parität:
keine
Stoppbits:
1
Flusskontrolle:
DTR
Das Datenformat Jeder Datensatz über einen einzelnen Slot besteht aus 22 Bytes. Hier kommt eine Aufschlüsselung über die gesendeten Informationen. Numerische Werte sind im Big Endian Format codiert, d.h. das höchstwertige Byte steht links. Also 256d wäre dann 01 00h und 65538d 01 00 02h. Mit "xx/Hi" meine ich die vier ersten(linken) Bits des Bytes, mit "xx/Lo" dann natürlich die 4 letzten(rechten) Bits des Bytes.
Byte(s)
Beschreibung
01
Nummer des Slots, über den die Daten sind
02/03
?? zeigt u.a. beim Laden: - bei bestimmten Weten von Byte 22 den Strom in mA an(wie Byte 14/15)
04/Hi
Hex
0
kein RDY (CM arbeitet oder Leerlauf)
4
RDY Discharge
6
RDY Charge
ERR (gefunden von J. Schneider)
Bit
?? (evtl Break?)
Akku geladen (ist bei Charge Ready und Trickle gesetzt)
2
RDY (Charge und Discharge)
3
04/Lo
Gibt Auskunft über die momentane Display-Anzeige:
7
CHA
DIS
9
CHK
a
CYC
b
ALV
05
Gibt Auskunft über den Ablauf des Programms.
kein Programm aktiv / Kein Akku eingelegt
Laden
<-- ALV startet hier
Entladen
<-- CYC startet hier
<-- CHK startet hier
5
<-- CHA startet hier
(wird übersprungen, nur bei DIS startet das Programm hier)
Erhaltungsladung
(Trickle)
RDY
Fertig!
Bei ALV läuft der CM2020 folgende Schritte ab: 1, 2, 3, 4, 5, 8. Bei CYC: 3, 4, 5, 8. Bei CHK: 4, 5, 8. Bei CHA: 5, 8. Bei DIS: 6, 8. Wenn nach dem Laden die Akkuspannung sinkt, kommt TRI.
06-08
Geladene Kapazität. (CCap; in 10-2 mAh)
09-11
Entladene Kapazität. (DCap; in 10-2 mAh)
12-13
Spannung (U; in mV) - beim Laden und Entladen Byte 18 beachten!! - leerer Schacht: Leerlaufspannung ca. 2,20V - wenn RDY: Zellenspannung
14-15
Stromstärke (I; in mA) mit der geladen/entladen wird. (Byte 18 beachten!)
Entladung erfolgt im Taktverhältnis 4:1, d.h. der angezeigt Stromwert beträgt als Mittelwert 80% Imax (nachgemessen: 83% Imax) Beladung erfolgt im Taktverhältniss 58:1:1 (+I, -I, I=0) demzufolge müßte die Stromanzeige 57/60=95% Imax betragen (nachgemessen: 100% Imax, d.h. 5% zuviel Kapazität CC ;-)
16
Stunden, die der Akku bearbeitet wurde.
17
Minuten, die der Akku bearbeitet wurde.
18
Trigger zum Synchronisieren der Ausgabe (s. auch Byte 22)
tritt auf beim
Werte
0A
jetzt Strom und Spannung auslesen
8A
jetzt Spannung auslesen (Strom ist immer gültig)
19
00
Schacht leer
1F
Akku eingelegt (nur Slot 1 bis 8)
20
???
21
Gibt Auskunft über den maximalen zulässigen Ladestrom in (102 mA)
Dez
Strom
03
300mA
10
1000mA
14
2000mA (zB. Mono oder Mignon im Power-Modus)
22
Counter zählt immer Rückwärts bei jeder Anzeige (2 Sekunden für alle 10 Slots - jeder Slot hat einen eigenen Counter)
der tatsächliche Strom und die Leerlaufspannung müssen bei bestimmten Counterwerten ausgelesen werden:
1E, 1D …. 01, 1E, …
bei 1Eh Spannung auslesen
05, 04, 03, 02, 01, 05..
bei 05h Strom und Spannung auslesen
technische Details des CM2020
Der CM2020 unterscheidet sich vom Aufbau und von der Software (Betriebssystem) grundsätzlich vom CM2010. Im CM2020 steckt ein Microprozessor MC68HC908GT16 (analog einer C-CONTROL I M-UNIT 2.0) mit einem 16-Bit A/D Wandler ADS1100. Die Programmierung könnte sogar in BASIC erfolgt sein (siehe http://c-control-support.de)
Beim Laden wird 58 Sekunden mit Konstantstrom geladen. Danach wird für knapp eine Sekunde der Ladestrom umgekehrt. Anschließend wird in der 60 Sekunde die Leerlaufspannung gemessen und dann am ComPort ausgegeben. Wegen der großen Zeitspanne von 58 Sekunden ist der CM2020 kein Reflex-Lader. Weiterhin wird zum Ladeende der Strom nicht verringert, so dass bei hohen Ladeströmen von 2A (Baby-Zellen oder Mignon-Zellen im Power-Modus) starke Erwärmungen auftreten können.
Y-Achse: Oberer Messwert: Spannung mit 500mV/Linie, darunter Strom mit 500mA/Linie X-Achse: 0,5sec/Linie
Beim Entladen wird erst 8 Sekunden entladen. Danach folgt eine Ruhepause von 2 Sekunden, in der die Leerlaufspannung gemessen und am Com-Port ausgegeben wird
Y-Achse: Obere Linie Spannung 500mV/Linie , darunter Strom mit 500mA/Linie (negativ wg. Entladung) X-Achse: 2 sec/Linie
Hier noch einmal zur Verdeutlichung der Übergang vom Entladen zum Laden. Der Vorgang wurde manuell angestoßen, gut zu erkennen aber ist der Akku-Test.
Y-Achse: Strom mit 1000mA/Linie (Entladung: negativ / Ladung: positiv ) X-Achse: 30 sec/Linie
Hier hat Conrad das Ladeprinzip gegenüber dem CM2010 geändert. Siehe ein altes Posting von Roland Reiss in der Newgroup de.rec.fotografie der ebenfalls mit einem Tektronix nachgemessen hat ;-)
Ausgaben des Perl-Scriptes
Link zu einer Ausgabeseite des Scriptes und zu einem Dump von Slot 1.
Hier eine Grafik von 2 Baby-Zellen (Conrad 2000mAh):
Refresh / X Scale 30sec / 15min
Slot
Prog
Ladung CC
Entladung DC
Spannung
Time
1889 mAh
1423 mAh
1.382 V
0.000 A
6:35
7567 mAh
1717 mAh
1.416 V
1.994 A
6:58
^ (3)
bekannte Probleme der aktuellen Firmware des CM2020 (Stand: Januar 2005)
x-Achsen-Teilung: 30 Minuten , y-Achse [V] und [A]
Anbei ein Detail aus der Grafik der oben dargestellten Baby-Akkus von Conrad. Der grüne 2200mAh Baby-Akku im Slot 2 wurde 4 Stunden bei 1,8A Ladestrom gegrillt (siehe Tabelle) und war ausgelaufen. Im Slot 1 (Rot) hat die Ladeschlusserkennung funktioniert..
In der vergrößerten Grafik ist zu erkennen, dass der CM2020 das Delta_U-Kriterium bei ca. 1750 mAh überfahren hatte!! Die Spannung war 2 Pixel = 60 Sekunden = 1 Messwert abgesackt. Offensichtlich war dieser Spannungsabfall zu gering, um das Minus_Delta_U Kriterium zu erfüllen. Die Ladespannung überschreitet hier zu keiner Zeit die 1,536V-Abbruchschranke.
Installationsanleitung für ActivePerl
Zuerst das Modul win32-api mit dem Perl Package Manager (PPM) installieren (wenn das Modul nicht vorhanden ist). Kommandozeile: PPM> install win32-api
Danach das Modul WIN32::SerialPort (Comport für Windows unter Perl) installieren. Das ist mit dem PPM nicht möglich. Deshalb alles entpacken und von Hand installieren, der genaue Weg ist in der readme beschrieben:
perl Makefile.PL [optional PORT] perl test.pl perl install.pl
Damit wird dann die Datei COM1_test.cfg (bzw. COM2_test.cfg - im Script entsprechend eintragen) erzeugt, welche im gleichen Verzeichnis, wie das Perl-Script liegen muss. Das Perl-Script erzeugt dann im 2 Sekundentakt die Ausgabe an Port 3037 (Link hier ohne reload).
Die html-Seite aktualisiert sich im Browser alle 5 Sekunden mittels reload, so dass ständig die aktuellen Ladestände angezeigt werden.
Zusätzliche Pakete ab Version 0.7:
das Modul MIME-Lite-HTML mit dem o.g. Perl Package Manager: PPM> install MIME-Lite-HTML
das Modul GD mit dem o.g. Perl Package Manager: PPM> install http://theoryx5.uwinnipeg.ca/ppms/GD.ppd
Kontakt
Project Admin: http://sourceforge.net/projects/cm2020/
Downloads
Version 0.3: mit dem Web-Server (nur Textausgabe)
Version 0.4: mit dem Web-Server und E-Mail-Statusmeldung
Version 0.74: von J.Grathwohl mit grafischer Ausgabe: Web-Server, E-Mail-Statusmeldung, Hex-Dump
Links