View Single Post
Old 02-01-2012, 03:35 PM   #8 (permalink)
DJBecker
EcoModding Apprentice
 
Join Date: Nov 2010
Location: Annapolis
Posts: 159
Thanks: 0
Thanked 32 Times in 27 Posts
We've recently been integrating our battery monitor system with the rest of the system, and it has been illuminating.

First the hardware. Our battery monitor is a modification of the STM32-based motor controller we built. The processor power is isolated with a DC-DC converter, talking to the CAN bus through a Si8421 digital isolator and standard CAN transceiver. Up to 12 cells are monitored per controller using the on-chip 12 bit A/D converter, with the remaining four channels used for temperature and charge current monitoring. We get a fresh sample of all channels every millisecond.

One of the things we discovered is that the cell voltages sag quite a bit while driving. We got a hint from the whole-pack voltmeter, but our high sample rate catches the extremes. Even with a freshly charged battery, the cell voltages will drop below the nominal shut-off voltage level (which is specified at zero load) during acceleration.

The high load sag combined with the discharge voltage curve being very flat makes it very difficult to use a whole-pack voltmeter to track discharge. You can't distinguish between the expected voltage sag and a nearly dead cell. And a stand-alone cell monitor can't tell if the voltage is sagging from load, or because the cell is mostly discharged.

You pretty much need a battery monitor that tracks the weakest cell. Better, a monitor that knows the discharge current and uses that to set the alarm voltage threshold. Ideally with a way to advise the motor controller to incrementally lower the power limit to match the weakest cell's capability.
  Reply With Quote