close-circle
Close
0%
0%

Internal Resistance of Lead Acid Batteries

A project to automate the measurement of internal resistance for lead acid batteries to determine if pulse conditioning is of any benefit.

Similar projects worth following
This project takes a cheap assembly, $2 delivered, from China and turns it into a test fixture for measuring the internal resistance of small lead acid batteries.There were two motivating reasons for this project. The first, and a long standing one, was to determine if some of the rejuvenate, repair or restore ideas I had come across had any objective merit. My inital tests of a pulse conditioning circuit suggested it had merit but I wanted a more rigourous approach.I was looking for a way to automate the entire measurement, conditioning and charging process to firmly establish if there was any benefit in pulse conditioning these batteries. Then I stumbled across the project at https://hackaday.io/project/16097-eforth-for-cheap-stm8s-gadgets. I was so excited I just had to build my own battery tester. It works so well it was only fair to share it.

Overview

This project uses the W1209 thermostat board, readily available for under $2. What I did was make a few small modification to the board:

  1. remove the 20k smd resistor next to the sensor connector,
  2. throw the sensor in the junk box,
  3. add a 10k resistor across the sensor connector (underneath if a smd resistor or remove the connector if using a through hole resistor)
  4. add a 30k resistor (or two 15k resistors in series) from the upper terminal of the sensor connector to the +12v rail.

Then I built a 1A constant current load from a 5v regulator and two 10 ohm resistors. You probably have those in your junk box ready for a project like this.

At present my board works as follows:

  • after connection to the battery  I hit the "+" key to run the measurement routine. It takes about 1 second and in that time it reads the battery voltage 32 times, summing the result, activates the relay which increase the current drawn by 1 amp and takes a further 32 measurements of the battery voltage summing those results, releases the relay then saves these two sums into eeprom
  • I then hit the "set" key  and the display shows me the average of the open circuit voltage, the loaded battery voltage, and the calculated internal resistance.
  • If I hit the "-" key the run counter is reset to zero.

The current partially discharge battery I tested this project on had a beginning voltage of 12.8V, a loaded voltage of 12.5V, and an internal resistance of 0.2 ohms.  Why not 0.3 ohms? That's the result of scaled integer maths. The 0.2 ohms is the correct answer. e.g. 12.81 - 12.59 = 0.22. But the display only shows voltage truncated to 0.1v.

My longer term goal is a test fixture that repeats daily a charge of the battery, measure the internal resistance, then applies the pulse conditioning until it is time to start the cycle over again. Then once every 8 weeks I can either dump the data back to the PC by reading the eeprom, or read the data via the display for whatever run I chose.

Batttest V2.frt

Update to show 0.2 ohms as 200 on display, not 2.

frt - 3.26 kB - 08/13/2017 at 13:24

download-circle
Download

VID_20170812_135057.mp4

How the display presents the results

MPEG-4 Video - 13.99 MB - 08/12/2017 at 05:59

download-circle
Download

Batttest.frt

Version 1 code for the W1209 board

frt - 3.08 kB - 08/11/2017 at 12:09

download-circle
Download

  • Improvements

    richard5 days ago 2 comments

    While working on a small hardware modification to improve the resolution the obvious improvement hit me: change the display for the ohms so that 200 milliohms reads as 200, not 2.

    It was easy but due to the 16 bit maths it required a new word.

    V2 of code posted.

View project log

  • 1
    W1209 Board modifications

    This project uses the W1209 thermostat board. What I did was make a few small modification to the board:

    1. remove the 20k smd resistor next to the sensor connector,
    2. throw the sensor in the junk box,
    3. add a 10k resistor across the sensor connector (underneath if a smd resistor or remove the connector if using a through hole resistor)
    4. add a 30k resistor (or two 15k resistors in series) from the upper terminal of the sensor connector to the +12v rail.

    Then I built a 1A constant current load from a 5v regulator and two 10 ohm resistors. You probably have those in your junk box ready for a project like this.

    My binary used the sensor port as part of the serial communications so I had to remove the surface mount cap. Later binaries which you will use now interface the serial communications via the + and - keys. Full marks to the project team for that.

View all instructions

Enjoy this project?

Share

Discussions

Arsenijs wrote 4 days ago point

Hey, that's interesting - I like to see real-world projects with Forth for STM8 used!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates