X-14 - 12/98 Elektor
EXTRA
——————————————————— PC-P
LUS
Gerade für regelmäßig wiederkeh-
rende Meßaufgaben kann ein über-
zähliger PC sehr sinnvoll recycelt wer-
den. Im vorliegenden Fall ist ein 386er
mit VGA-Bildschirm und Standard-
Druckerport (EPP ist nicht nötig) gut aus-
reichend. Allerdings sollte der mathe-
matische Co-Prozessor vorhanden sein,
da sonst das Programm eventuell
rekompiliert werden muß. Beim 486er ist
der Co-Prozessor in der SX-Version
ebenfalls (wie beim 386er) extern, bei
der 486-DX-Version hingegen (ebenso
wie beim Pentium) standardmäßig auf
dem Chip mit integriert.
Funktionsprinzip
Wie das Blockschaltbild (Bild 1) zeigt,
besteht die Meßschaltung aus einem
Widerstand zur Entladung des Akkus
und einem A/D-Konverter, der die
Akkuspannung mißt und nach der
Wandlung in Form von digitalem
Meßwerten an den PC zur Auswertung
weitergibt. Das Programm ist so konzi-
piert. daß es in festgelegten Zeitinter-
vallen Meßwerte vom A/D-Wandler
über die parallele Schnittstelle einliest.
Für das Programm ist es kein Problem,
aus dem Spannungs- und Wider-
standswert den Strom zu errechnen, der
über den Entladewiderstand fließt.
Durch Integration ist es dann ebenfalls
einfach, die entladene Strommenge in
mAh oder Ah und damit die Kapazität
zu ermitteln. Der Verlauf von Spannung
und entnommener Strommenge läßt
sich dann in Form von Kurven (Kennli-
nien) darstellen und speichern.
Hardware
Der Schaltplan des Wandlers ist in Bild
2 angegeben. Am Eingang der Schal-
tung ist ein Spannungsteiler mit den
Widerständen R1 bis R6 vorgesehen.
Mit dem Drehschalter können sechs
verschiedene Meßbereiche umge-
schaltet werden. Die Widerstände sind
so abgestuft, daß jedes Weiterschalten
des Drehschalters den Meßbereich um
5 V vergrößert, so daß er zwischen 5 V
und 30 V in 5-V-Schritten eingestellt wer-
den kann. In der untersten Position ist
der Eingang der Schaltung direkt mit
den Eingang des A/D-Wandlers ver-
bunden, der einen Eingangsspan-
nungsbereich von 0 bis 5 V aufweist.
Vor zu großen und negativen Span-
nungen wird der A/D-Wandler-Eingang
durch die Z-Diode D1 geschützt. Der
verwendete A/D-Wandler ADC0804 ist
quasi ein Industriestandard und wird
von verschiedenen Herstellern wie Har-
ris, National Semiconductor und Philips
Semiconductors gefertigt.
Unterstützt wird der ADC0804 durch
einen 74HC257, einen vierfachen 2-zu-
1 Leitungsmultiplexer mit 3-State-Aus-
gängen.
Zur Ermittlung des Spannungs- und Kapazitätsverlaufs
eines Akkus benötigt man außer einem PC nur wenig
Hardware. Im Prinzip genügt ein preiswerter A/D-
Wandler. Auch an den PC werden keine hohen
Anforderungen gestellt, so daß es kaum etwas kostet,
um für regelmäßige Messungen einen festen
Meßplatz unter Verwendung eines überzähligen DOS-
PCs einzurichten.
Entwurf von F. Simonnot
Kapazitätskennlinie
PC
Spannungskennlinie
Wandler
Akku
Widerstand
982093 - 11
Akku-Kapazitätsmessung
mit dem PC
Einfache Meßschaltung für Druckerschnittstelle
Bild 1. Das Blockschaltbild des Systems zeigt die wesentlichen Elemente: Akku,
Entladewiderstand, Meßwandler und PC.
PC-P
LUS
——————————————————
Elektor
EXTRA
X-15 - 12/98
Der ADC0804 ist ein CMOS-8-bit-A/D-
Wandler, der nach dem bekannten
Prinzip der ”sukzessiven Approximation”
arbeitet. Sein analoger Differenzein-
gang verfügt über eine sehr gute
Gleichtaktunterdrückung und bietet die
Möglichkeit, den Nullpunkt des Meß-
bereichs durch einen Gleichspan-
nungs-Offset zu verschieben. Ebenso
ist es möglich, den Meßbereich durch
Einstellen der Referenzspannung zu
variieren, in der Schaltung wird davon
aber kein Gebrauch gemacht, so daß
wir in der untersten Stellung des Dreh-
schalters den Standard-Meßbereich
von 0 bis 5 V vorfinden.
Mit dem Multiplexer am Ausgang des
ADC0804 wird der 8 bit breite Ausgang
des A/D-Wandlers (DB0 bis DB7) auf zwei
4-bit-Worte aufgeteilt, die an die fol-
genden vier Leitungen des Drucker-
ports gesandt werden:
Datenleitung D0 (Pin 2) und Steuerlei-
tungen Error (Pin 15), Select (Pin 13),
Paper End (Pin 12) und Acknowledge
(Pin 10).
Die Taktfrequenz des A/D-Wandlers wird
durch das RC-Glied C1/R7 wie folgt
festgelegt:
F
CLK
= 1 / 1,1RC
Daraus ergibt sich mit den angegebe-
nen Werten (150 pF und 10 k
Ω) eine
Frequenz von etwa 606 kHz, die Wand-
lungszeit des ADC beträgt dann weni-
ger als 100
µS.
Zusätzlich zu der erwähnten Z-Diode als
Schutzmaßnahme ist am Eingang der
Schaltung die 100-mA-Sicherung F1
vorgesehen.
Für die Kapazitätsmessung ist der in Bild
R6
1k
R5
1k
R4
1k
R3
1k
R2
1k
R1
1k
ADC0804
IC1
CLKR
AGND
INTR
VREF
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
CLK
VI+
VI–
20
10
18
17
16
15
14
13
12
11
19
CS
RD
WR
4
6
8
1
2
3
5
9
7
C1
150p
R7
10k
D1
5V1
S1
100mA
F1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
K1
+ BATT
– BATT
7805
IC3
C3
100
µ
C4
10
µ
IC4
16
8
5V
5V
9...12V
DB25
982093 - 12
74HC257
IC4
MUX
12
EN
G1
11
10
14
13
15
1
9
7
4
2
3
5
6
Bild 2. Die einfache Schaltung des Meßwandlers, der aus einem Eingangsspannungsteiler, einem A/D-Wandler und einem Anschluß für
die Verbindung zum PC-Druckerport besteht.
Bild 3. Das vom Autor mit dem Programm Layo-1 erstellte Platinenlayout mit Bestückungsplan.
X-16 - 12/98 Elektor
EXTRA
——————————————————— PC-P
LUS
1 eingezeichnete Belastungswiderstand
zwischen die beiden Eingangsklemmen
zu schalten, die auch mit der Batterie
verbunden werden. Der Wert richtet
sich nach der Spannung des zu mes-
senden Akkus und dem gewünschten
Entladestrom (nach dem Ohmschen
Gesetz: R = U/I).
Software
Damit das Programm die Messung aus-
werten kann, muß der Wert des Entla-
dewiderstands und der mit S1 gewählte
Meßbereich eingegeben werden. Das
Programm ermittelt dann als erstes aus
den vom ADC gelieferten Werten die
Spannung des Akkus. Als nächstes wird
aus der Akkuspannung und dem Wert
des Entladewiderstands der Entlade-
strom berechnet. Der ermittelte Strom-
wert multipliziert mit der bisherigen
Dauer der Messung ergibt die bisher
entnommene Kapazität.
Das Programm heißt Accbench.exe
und ist komplett mit Sourcekode auf der
Diskette mit der Bestellnummer 986034-
1 zu finden, geschrieben ist es in Turbo
Pascal 7.0. Obwohl Teile des Sourceko-
des in Französisch geschrieben sind, ist
diese Quelldatei für eigene Modifika-
tionen des Programms sicher hilfreich.
Nach dem Starten des Programms wird
gefragt, ob die Berechnungen für die
verschiedenen Parameter ausgeführt
werden sollen. Man kann an dieser
Stelle die Nennspannung und die
Nennkapazität des Akkus sowie den
Wert des Entladewiderstands eingeben.
Ausgehend von diesen Startwerten
berechnet das Programm den Entlade-
strom, die Zeit für die vollständige Ent-
leerung des Akkus, die Verlustleistung
am Entladewiderstand und die
geschätzte Dauer des Entladezyklus
durch Auswerten der (gesampelten)
Meßwerte.
Die eingegebenen Startwerte müssen
innerhalb vorgegebener Grenzen lie-
gen. Für die Spannung sind maximal 30
V zulässig, für die Kapazität 12.000 mAh.
Bei der Eingabe größerer Werte liefert
das Programm eine Fehlermeldung.
Wer über ausreichende Kenntnisse ver-
fügt, der kann den Programmteil mit
der ADC-Steuerung so ändern (begin-
nend mit der Routine “convert”), daß
sich der MAX187 als A/D-Wandler ein-
setzen läßt, der schon für das CPU-Ther-
mometer in Elektor Oktober 1997 ein-
gesetzt wurde.
Praxis
Bild 3a und 3b zeigen das Platinenlay-
out und den Bestückungsplan des
Autors. Beim Bestücken darf man die
Drahtbrücken auf keinen Fall verges-
sen, am besten kontrolliert man die fer-
tig bestückte Platine nochmals durch
einen Vergleich mit dem Schaltplan. Für
die beiden ICs sollte man ordentliche
Fassungen verwenden.
Die Schaltung baut man am besten in
ein kleines Kunststoffgehäuse ein, das
auch mit dem 25poligen Sub-D-
Anschluß (DB25) für ein Drucker-Verlän-
gerungskabel versehen wird, das die
Verbindung zum PC-Druckerport her-
stellt. Normalerweise endet das Kabel
mit einer Sub-D-Buchse (female), so
daß am A/D-Konverter ein Sub-D-
Stecker (male) vorzusehen ist. Die Pins
2, 10, 12, 13, 15 und 25 des im Schalt-
plan mit K1 bezeichneten Sub-D-Ver-
binders sind mit den im Schaltplan
angegebenen Anschlüssen des
74HC257 zu verbinden. Außerdem sind
die beiden Leitungen für den Anschluß
des Akkus an die Platine anzuschließen
(Punkte + batt - im Bestückungsplan).
An die mit +12V und –12V markierten
Platinenpunkte (am 100-
µF-Elko vor
dem Spannungsregler 7805) schließt
man ein stabilisiertes Steckernetzteil mit
einer Ausgangsspannung im Bereich
zwischen 9 und 12 V an.
Zum Schluß
Programm und Schaltung erlauben das
Testen aller gängigen Akkus für Elektro-
nik, Modellbau und andere Hobbys.
Die Entladung über einen Festwider-
stand wurde nicht nur aus Gründen der
Einfachheit und Flexibilität gewählt, son-
dern auch, weil sie eher den realen
Bedingungen entspricht als die Mes-
sung mit einer elektronischen Strom-
senke, die den Entladestrom unabhän-
gig von der sinkenden Akkuspannung
konstant hält.
Der Screendump in Bild 4 informiert
über den Inhalt der für dieses Projekt
verfügbaren Diskette. Die Dateien sind
im einzelnen:
accbench.cir
Simulationsdatei für Microcap V.
accbench.exe
kompilierte Exe-Datei
accbench.lmc
Schaltplan im Layo-1-Format.
accbench.pas
Quellkode-Datei in Turbo Pascal 7.0.
cuivben.lmc
Layout der Platine im Layo-1-Format.
cuivlpt
Druck-Datei des Platinenlayouts für
LaserJet oder DeskJet-Drucker (300 dpi).
egavga.bgi
DOS-Treiber für die Anzeige der Akku-
Kennlinien auf jedem IBM-kompatiblen
PC.
seriben.lmc
Bestückungsplan der Platine im Layo-1-
Format.
Serglpt
Druckdatei des Bestückungsplans für
LaserJet- oder DeskJet-Drucker (300 dpi).
(982093-1e)
Bild 4. Screendump mit Dateiverzeichnis der Programmdiskette.