This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Best practice for monitoring coin cell battery voltage given ESR

I'm using an NRF51 w/ S130 operated directly from a coin cell battery. I use the ADC with a voltage divider to successfully measure analog voltages. One of the challenges of the coin cell is that its ESR is not insignificant and degrades overtime. This means that if I have a substantial current pulse (for example from RF activity) the battery voltage droops in a meaningful way (sometimes ~200 mV). The ESR is not fixed and usually gets worse over time. Suppose my system cannot operate below 2.4V and I want to monitor the battery voltage and [do something] when there's a low battery condition. What's the best way to do this given the ESR? For example with a multimeter I might see "2.6V", but with a healthy current pulse the battery might actually droop to 2.4 momentarily, which could brownout my system. Is there a way to synchronize sampling the ADC with RF activity so I can measure the worst case battery voltage?

Parents
  • Assuming your device is powered straight from a coin cell, have a look at measuring the battery voltage via the bandgap method (this link is for a different microncontroller but the general principle holds). This will reduce your system's quiescent current.

    You should reduce the spikes (and increase the life of your coin cell) via large decoupling capacitors.

    I haven't used the S130 BLE stack, but I've used the EVENT_TX event in the ANT+ stacks to synchronize tasks when the radio is transmitting.

    I'd imagine you could infer the health / capacity of the coin cell by measuring its voltage and comparing against a known voltage vs capacity curve. This curve could be found experimentally or from the coin cell datasheet.

Reply
  • Assuming your device is powered straight from a coin cell, have a look at measuring the battery voltage via the bandgap method (this link is for a different microncontroller but the general principle holds). This will reduce your system's quiescent current.

    You should reduce the spikes (and increase the life of your coin cell) via large decoupling capacitors.

    I haven't used the S130 BLE stack, but I've used the EVENT_TX event in the ANT+ stacks to synchronize tasks when the radio is transmitting.

    I'd imagine you could infer the health / capacity of the coin cell by measuring its voltage and comparing against a known voltage vs capacity curve. This curve could be found experimentally or from the coin cell datasheet.

Children
No Data
Related