Author Topic: Battery Monitoring  (Read 1898 times)

0 Members and 1 Guest are viewing this topic.

Offline rossw

  • Senior Moderator
  • Hero Member
  • *******
  • Posts: 878
  • Karma: +35/-0
  • Grumpy-old-Unix-Admin
Battery Monitoring
« on: February 20, 2016, 10:41:16 pm »
I thought I'd put this up already, but it seems not!

A few years back, I wanted something to monitor more closely what my aging and dying battery bank was doing. Simply monitoring the bank volts was proving inadequate, and being AGM I couldn't monitor SG. Also, as an active bank, trying to measure them with a DMM was pointless, because they never had the same conditions.

Commercial systems at that stage were stupid money, and honestly weren't going to do all that I wanted. So I set out to make my own.

The design was simple:
* I wanted to monitor nominal 2V (lead-acid) and 3V (lithium) cells.
* I wanted  better than 10mV resolution.
* I wanted the option of measuring temperature of each cell.
* I wanted low-price, readily-available components, and nothing too tricky.
* I wanted something that would do 12V, 24V and 48V systems
* I wanted something that could be upgraded without having to scrap it all and start again.
* I wanted something I could connect to to automate monitoring, logging and alarming.

In the end, I decided that 10-bit ADC was all I was going to get in cheap microcontrollers, so I had to think of a clever way
to get a decent precision out of them. I decided each board would monitor only two or three cells. This would let me use a cheap PIC, measure temperature and voltage, have IO for serial communications and some indicator. Differential amplifiers let me get the full 10-bits for each cell, without dividing (and losing precision). That's under 5mV resolution. So by cascading (daisychaining) boards, I could have 2 boards (each with 3 channels) for a 12V system, 4 boards for 24V or 8 for 48V, and somewhat fewer for lithium based banks. One board would be a "master" and talk RS232 to a host system, the rest would just connect in a chain.

So, in no particular order, here's the pics.
The "master" board. This is identical to all the others except it has the D9 connector and isolation circuitry.

The other boards, shown here with a 10c coin for reference, are identical except they're missing the D9.

For my first application, I just made some simple clip-on cable sets.

These allowed me to test the concept on an existing bank, without having to do anything.

Temperature sensors are just DS18B20 chips in stainless sleeves, filled with epoxy. It was convenient to just slip them between the battery and jumper to measure the battery post temperature.

A reasonably typical display of the output from my AGM bank looks like this:

The LFP bank looks much nicer though:

Offline MadScientist267

  • Impossible Condition Curator
  • Hero Member
  • *****
  • Posts: 1514
  • Karma: +44/-4
  • Rules? What rules?
Re: Battery Monitoring
« Reply #1 on: February 25, 2016, 12:23:59 am »
Very nice indeed to see this documented Ross...

I can't add much to anything here, because my system's architecture (GC2 based) doesn't lend to cell-by-cell monitoring and balancing... but I would like to add that there's no such thing as overkill when it comes to monitoring. These things are essentially black boxes with magic trapped inside, and getting too much information on the goings-on is impossible!

I currently only have a jumper delta monitoring system set up to measure the difference between the two strings at their mid point, and it tracked down an EASILY resolved problem that was threatening to ruin a brand new bank of battery. There's no way I regret adding it, and hope to some day be running a system that is capable of being monitored at the per cell level.

Wanted: Schrödinger's cat, dead and alive.

Offline bj

  • Hero Member
  • *****
  • Posts: 728
  • Karma: +23/-0
  • Lamont, Alberta, Canada
Re: Battery Monitoring
« Reply #2 on: February 25, 2016, 06:18:03 am »
  As always Ross----nice.
  It also shows how nicely that Lithium bank is doing.
"Even a blind squirrel will find an acorn once in a while"

Offline solarnewbee

  • Full Member
  • ***
  • Posts: 231
  • Karma: +1/-0
    • Cayenne Dashboard
Re: Battery Monitoring
« Reply #3 on: April 27, 2016, 08:38:37 am »
Hey Ross!
Any ideas on boards I can use in the arduino family? Currently learning to code mega and uno boards and have to find I guess data logging Shield  boards that do the same as your boards. Chinese seller on eBay has some very inexpensive arduino gear. I also purchased a GSM shield module that can text me when there's a problem. Part of my plan is to have the micro controllers not only monitor but take actions concerning panels, batteries, cooling etc.

Any help appreciated

Best Regards!


Any day above ground is a day for potential mishaps