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
  • An easy solution I could suggest would be to take a simple discharge test using a fully charged coin cell battery. Then, by doing a constant current pulse (e.g. somewhere between 200-300 mA) for a few minutes (say 10 or 20) and then stop the current pulse after the time limit. Then, you should get a graph that is similar to this:

    image description

    This graph was found on Prof. Gregory Plett's homepage in the Chapter 2 PDF file.

    From this graph, you can approximate the R_0 value (i.e. ESR) crudely from Ohm's law: V=R_0*I. Since you can calculate the change in voltage and you know the Delta I (i.e. the difference between the current pulse and 0 A), you can approximate R_0. Like you said, the ESR does increase as the state of health of the battery decreases. So maybe, you could try this on a "used" or multiple used battery, but which still has/have a bit of charge left in it.

    It is always a possibility to do some battery testing & find a better estimate of R_0, but this would take more time & computing resources. I would try this first & if you don't think it's a good idea we can discuss more advanced methods.

  • Talked to an expert here at Nordic and it should be possible to use the ADC while the radio is transmitting. As you are using the nrf51, you will get a lower ADC sample rate with a lot of radio activity, as the nrf51 does not have easyDMA (the nrf52 does). On the nrf51, you will need to communicate with the cpu to get the voltage measurements from the ADC. Since the radio uses the CPU for transmission, the sampling rate of the ADC will decrease with heavy radio usage. If you used the nrf52, you would not need to communicate via the CPU to get voltage measurements (because the nrf52 has easy dma)

Reply
  • Talked to an expert here at Nordic and it should be possible to use the ADC while the radio is transmitting. As you are using the nrf51, you will get a lower ADC sample rate with a lot of radio activity, as the nrf51 does not have easyDMA (the nrf52 does). On the nrf51, you will need to communicate with the cpu to get the voltage measurements from the ADC. Since the radio uses the CPU for transmission, the sampling rate of the ADC will decrease with heavy radio usage. If you used the nrf52, you would not need to communicate via the CPU to get voltage measurements (because the nrf52 has easy dma)

Children
No Data
Related