Accurately measuring the cell voltage

106 views
Skip to first unread message

Chris Ewert

unread,
Dec 31, 2007, 12:01:39 PM12/31/07
to fre...@googlegroups.com
I'm going to try and break the project down into a couple smaller pieces
so we can solve the smaller pieces and then build a system that way.

1.) Accurate voltage sensing.
Many (most) PIC microcontrollers have built in 10 bit A/D converters,
but the accuracy depends on the stability of the power supply rail,
something we can't rely on since that will be changing. I believe
adding a precision 0.2% 2.5v Vref can increase the accuracy to a usable
level for 3-4v li-ion cells. I've never used a vref before with a PIC
A/D converter, so I'm not sure exactly how thats done. I've looked
around online for tutorials with only a little success. Does anyone
know exactly how to do that? We need to accurately measure the voltage
of the cell that the chip is running from which should be > 3v and less
than 4.5v.)

Chris

Mike

unread,
Jan 1, 2008, 3:16:34 AM1/1/08
to FreeBMS
I will chime in on this item. From my view point the voltage reference
problem needs to be looked at from the needs of the processor. Small
PICs such as the PIC 12F6xx will run at 2 volts, however their the A
to D is degraded at below 2.5 volts. Clock frequencies are limited
below 2.5 volts also. For these reasons I picked 3 volts. The only
cell chemistries that have minimum voltages of 3 volts are some of the
Li-ions, and those just barely. All others are lower some like NiCad,
and NiMH go down to one volt. Voltage references of the .2% variety
cost between $1 and $2 each, and may require an Op-amp if any amount
of current is needed to drive more than the micro's ref input pin. By
using a precision voltage regulator like the LP 2982, ($0.58), I could
get 3 volts +- 0.03 volts for the micro and all of the other items
like the thermistor bias supply.
I chose to monitor 2 or more cells per board, and use a A 14 pin PIC
processor that can monitor up to 4 cells with enough pins left over
for the other needs such as cell temperatures, communication,
indicators, and charging or dump load control. Another advantage of
using a precision voltage regulator is that we need not use a precious
IO pin as a reference input.

By using a trimming resistor on each of the voltage dividers for the
cell inputs we can reduce any other tolerances to zero having only the
A to D's quantization error to worry about.
I will post an updated schematic with these changes to the files area.

Mike

mikep_95133

unread,
Jan 1, 2008, 9:45:59 AM1/1/08
to FreeBMS
Under load the A123 lithiums can safely get down to 1.7v per cell. The
minimum safe no load voltage is 2.5v So it would seem prudent to me
to make sure our system can monitor lower than 1.7v. This was
explained to me and others, by Bill Dube. He owns and operates many
hundreds of these cells with a BMS on the pack.

So could 4 cells be monitored separately, but power the Pic with all 4
cells so the supply voltage would not sag below 3.3v or even 5v, under
load or other abnormal conditions?

Mike

Mike

unread,
Jan 3, 2008, 7:03:22 AM1/3/08
to FreeBMS
I have placed a new schematic in the files area. It is for a four cell
monitoring board that should handle anything from a single NiCad cell
to four 12 volt lead-acid batteries. Software would have to change for
the different limits for the batteries, and the values of the voltage
divider resistors need to match the cell/battery voltages. The AtoD
has a total of 1024 steps, so by allowing 256 per cell we get 16.8 mV
resolution for a Li-ion. For NiCads we can read with a resolution of
6.3 mV. 12 V batteries would have 56 mV resolution. There is a jumper
select for the power source for the monitor. Voltage limits for the
regulator are from 3.1 to 16 volts, so if the system needs to monitor
four dead NiMHD cells : ) you could use a bias supply to provide the
3.1 volts.
I have not included any information on what kind if individual cell/
battery charge control to use as that should be for another
discussion. Four pins on the micro are available to control individual
charge/discharge of the cells/batteries. If we need more IO pins we
could use the 16F88 recommended by Andrew, it has 4 more IOs, however
it would ad about one dollar to the system cost.

mikep_95133

unread,
Jan 3, 2008, 10:57:29 AM1/3/08
to FreeBMS
I like! The more cells monitored on one board, the less boards that
take up space in the pack.

Can the minimum monitored voltage be lowered to 1.7v ?

Mike

Chris Ewert

unread,
Jan 3, 2008, 11:10:03 AM1/3/08
to fre...@googlegroups.com
Mike wrote:
> I have placed a new schematic in the files area. It is for a four cell
> monitoring board that should handle anything from a single NiCad cell
> to four 12 volt lead-acid batteries. Software would have to change for
> the different limits for the batteries, and the values of the voltage
> divider resistors need to match the cell/battery voltages. The AtoD
> has a total of 1024 steps, so by allowing 256 per cell we get 16.8 mV
> resolution for a Li-ion.
For voltage sensing, wouldn't there also be additional error from the
voltage regulator, voltage divider, temperature and stability over the
lifespan? It seems like even though the resolution is good enough for
16.8mV the additional errors would make it less accurate. I'm not sure
exactly what accuracy you need for li-ion cells, but I know they are touchy.

Another thing that I think we need to look at is discharge. The
regulator will be constantly consuming power, even if the chip is in low
power standby, as will the thermistor and voltage dividers. For the
thermistor, it could simply have the ground connection be routed back to
an output on the PIC which could be brought low to measure the
thermistor, and high to shut it off so there is no current leaking to
ground while the chip is in low power sleep.

Chris

Mike

unread,
Jan 3, 2008, 3:16:42 PM1/3/08
to FreeBMS
Yes Mike by using the same divider ratios on all cells to read the
voltage on any cell you do a read on the cell you want to look at then
a read on the cell below then subtract the low cells reading from the
upper cells. The result is a number that if multiplied by 16.8 is the
cell voltage in mili-volts, so you can read from 0 to 4.3 volts per Li-
ion cell. If the voltage divider is tuned for NiCads it will read from
0 to 1.6 volts with a resolution of 6.3 mV.

Mike

unread,
Jan 3, 2008, 8:09:22 PM1/3/08
to FreeBMS
A complete error analysis would include all of the things you mention,
however all of the errors except regulator stability can be taken out
with a trimming resistor across R1, R3, R5, and R6 this would be
cheaper than buying 0.1% parts. With 0.1% resistors and voltage
reference you would have a maximum error of 12.9 mV for a Li-ion cell.
Add in quantization error for the D to A and you get a total error of
29.7 mV. Although this would be an acceptable error it would add about
$4 to the cost of a board. By using a 1% regulator and resistors then
4 trimming resistors the error could be reduced to the quantization
error alone. The regulator specified has a worst case output voltage
error of 2% over the entire range of load and temperature.

For the selected resistors in the voltage divider network and micro
when running could be in the neighborhood of six or seven mA. We need
to see if this is too much in real world situations. This could be a
problem with Li-ions as they have a minimum voltage spec. A rough
estimate is six or seven Ah per month, or about one full charge ever
six months. Note this is without any efforts to reduce this parasitic
load.

Mike

mikep_95133

unread,
Jan 4, 2008, 12:25:28 PM1/4/08
to FreeBMS
Thanks for the clarification Mike!

I look forward to building and testing the hardware.

Mike

Mesuge

unread,
Jan 15, 2008, 4:14:27 PM1/15/08
to FreeBMS
Hi Mike,

I'm glad that your are advocating the universal approach to this
FreeBMS,
lead acids (AGM, gels) will stay with us for a considerable time into
future so I'm gratefull
that this project will be compatible with them..

thanks
All best
Michal
Reply all
Reply to author
Forward
0 new messages