Introduction
Setup
Test Procedure
Test Results

Introduction

We use the Radio Shack DMM and a C program to measure the discharge curves for several AAA batteries. We tested two batteries in series with a load of 33 ohms. The batteries tested include Energizer, Duracell, Radio Shack, and Renewal. We use various Linux tools to format the data and we use gnuplot to build the actual plot images.

Setup

Load Schematic We use a Radio Shack digital multimeter with RS-232 output, a dual AAA battery holder, a 33 ohm resistor, a couple of test clips, and batteries from various manufacturers. The use of a 9 volt battery eliminator in the DMM is strongly recommended since the DMM will be on for long periods. Most of the parts are available from Radio Shack. Theoretically it's possible to do this with many different kinds of batteries, from mobile phones to a DS Lite, but for now we'll stick with two AAAs.

 

 

  Photo of resistor and batteries

Test Procedure

Build the circuit shown above.  You can wrap the bare wires from the battery holder around the resistor and hold them securely in place with the clip leads.  We compiled the C program as dvm. The DMM is attached to the /dev/ttyS1 serial port. For each of the batteries you want to test: The data files should each look something like the following:
DC 03.02  V
DC 03.00  V
DC 02.98  V
DC 02.96  V
DC 02.94  V
DC 02.93  V
DC 02.92  V
DC 02.91  V
DC 02.89  V
DC 02.88  V

We use gnuplot to graph the discharge curves.  To use gnuplot we must remove the "DC" and the "V" from the raw data files.  We do this with the bash script:
for i in RadioShack Renewal Energizer Duracell
do
 awk '{print $2}' < $i.33 >$i
done

The gnuplot program is normally interactive but can take configuration and commands from a file as well.    Gnuplot displays on the X window by default.  We use the "set termainal" and "set output" commands to get a PBM image sent to standard output.  The other commands shown set the title and some display paramaters.
 
The "discharge.gp" file
set terminal pbm small gray
set output
set view 60, 30, 1, 1
set samples 100, 100
set isosamples 10, 10
set title "AAA Battery Voltage Versus Time with a 33 Ohm Load" 0,0
set notime
set rrange [-0 : 10]
set trange [-5 : 5]
set urange [-5 : 5]
set vrange [-5 : 5]
set xlabel "Minutes" 0,0
set xrange [0 : 1240]
set ylabel "Volts" 0,0
set yrange [0.19 : 3.05]
set zlabel "" 0,0
set zrange [-10 : 10]
set autoscale r
set autoscale t
set autoscale xy
set autoscale z
set zero 1e-08
plot "RadioShack", "Duracell", "Energizer", "Renewal"

Generate the PBM file with the command:
gnuplot discharge.gp > discharge.pbm

Use the xv program to load the PBM file and to save it as a GIF file.
xv discharge.pbm

The final display might look something like......
 



The discharge curves for 4 battery brands