This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Measuring Coin Cell Batteries & Coin Cell Battery Chemistry effects

Other Parts Discussed in Thread: CC2540, CC2541

I thought I'd write about my recent struggles with measuring coin cell batteries with my CC2540.  Through this struggle I've also discovered a few items that may be useful to some people in similar situations.

1)  The current battservice.c uses 2.0V as its  0% point, however this is unrealistic as a coin cell battery's internal resistance (IR) will cause much larger drops on a Connection Event or Advertising Event, than it would an MCU wake-up and measure.  The hardware will POR reset longer before it should reach 0%.  Therefore I've found that the Battery 0% threshold should be closer to 2.26V, to account for a Coin Cell's IR around 30Ohms (its near dead point)

2) The internal chemistry of a coin cell battery seems to react extremely slowly.  I've taken every precaution to reduce current consumption as much as possible.  Slow connection Parameters, disable MCU during RF, ClkDivOnHaltCmd,  DC-DC, and assured that PM2 is entered.  It seems a consequence of this is that if I put a used battery in my keyfob (say 70%),  the Coin Cell battery reading takes forever to read/reach at 70%.  It generally takes 2 days before the levels settles back at 70%.  Meanwhile from a user point of view the battery level seems to be dropping rapidly.  Falsely indicated that there is high power consumption.  I haven't found a work around for this.

3)  Currently I disable the DC-DC and wait 10msec before measuring.  Is there a recommended amount of settle time?

Thanks for the help guys.

  • Bump,  can anyone from Ti comment on getting accurate Battery readings, not just from an ADC point of view but also when to take measurements (i.e. avoid during fast connection parameters), measurement averaging, etc....  Thanks

  • You're in the wrong place I think. This is a BLE forum. You are asking a battery life measurement question. 

    There's a lot of background to your question too. I assume you are trying to relate the battery voltage to a lifespan, but just look at this datasheet http://na.industrial.panasonic.com/sites/default/pidsa/files/crseries_datasheets_merged.pdf

    The batteries just end after a very shallow decline in voltage. Its great that the battery stays near the same voltage its entire life, but trying to gauge that life is a pain.

    Connect Vbat to your scope and run the CC2541. You will see a significant sag in voltage even when the load is only pulling a few mA. If you sample during the sag, the battery will appear to be almost dead. Also sampling in a cold environment will make the battery appear to be dead. 

    If you re-post somewhere, post the link here. I'd be interested to follow your progress on this issue.

  • I beg to differ.  Since my question is not about setting of the ADC for measurements, but rather how/when to integrate battery measurements on a device running the BLE protocol.  How can it best and most accurately be used which a device will periodically be consuming alot of power (connection event) which will throw off the battery readings.