Measuring Battery Capacity With an Arduino

Measuring Battery Capacity

I needed a couple of AA batteries and found the display at the supermarket where they were all arrayed. Normally when I’m shopping in the supermarket, I tend to look at the price/kg or price/l when comparing similar products. In the case of the batteries, there was no such indicator. Fine, I thought, I’ll work it out myself. I grabbed a few different makes and scanned the packaging for some measure of their capacity. Nothing. Not a single one of the batteries had any indicator of how much energy they would provide. Instead, they all had terms like ‘PLUS’, ‘SUPER’, ‘ULTRA’ and of course had wildly differing prices. So, I decided that it was time for an experiment and bought one pack of every type I could find.

Measuring Battery Capacity

The Plan

My idea was really simple: I would make a circuit that would fully discharge each of the batteries while measuring how much energy it produced (displayed in Joules and in Watt-Hours. I had an Arduino and an LCD panel left over from a different project so I thought I’d make a standalone unit. As the design evolved, I let two additional features creep in:

  1. Add a temperature sensor to track ambient temperature during the test since that certainly affects battery capacity.
  2. Add a USB logging capability so that I could capture all the data to plot terminal voltage as the battery discharges.

Note: This was never intended to be a scientific instrument to measure how long a battery would power your circuit – it’s designed to provide a relative comparison of different batteries using a similar load.

The Design

The circuit works by measuring the voltage across a fixed load every second until the voltage drops to less than 0.2V. For simplicity, I used a resistive load (the original plan was to use a 4.7R resistor but I didn’t have any high power resistors to hand so I used 4 22R resistors in parallel instead giving me an effective load of 5.5R. Here’s the final circuit:Measuring Battery Capacity schematic

 

Read more: Measuring Battery Capacity With an Arduino

Leave a Comment

Your email address will not be published. Required fields are marked *