Recommendations for reading the battery level

Hello,

I intend to read the battery level of the nRF9160. I see that I have 2 alternatives to perform this function, using the AT%XVBAT command or reading the battery voltage across the ADC using a voltage divider.

Currently I feed VDD1 and VDD2 through an LDO that gives me 3.3V regardless of the battery voltage, so if I use the AT%XVBAT command I will always read the value of 3300 mV or something very close to that.

So to use the AT%XVBAT command correctly, I would have to remove the LDO and feed the VDD1 and VDD2 pins directly from the battery (3.0 - 4.2 V), in terms of consumption, reliability and accuracy, which approach is more recommended, keep my circuit as it is and carry out the measurements through the ADC or carry out the aforementioned modifications to use the AT%XVBAT command?

Thank you.

Parents
  • Hi Gabriel,

    If you are able to supply VDD directly from the battery I believe that usually is the best way to go, instead of using an LDO, as long as the battery voltage is within the operating conditions. The LDO in between the battery and VDD1/VDD2 will drop the voltage to 3.3V without reducing the current draw, leading to a higher total power consumption than if the battery was connected directly.

    Sometimes you may want to use a buck/boost converter (DCDC converter), instead of an LDO, to squeeze out the last bit of the battery, when the battery voltage drops below the POR level which is 3V.

    Note that on the nRF91, there are two power domains: VDD1/VDD2 and VDD_GPIO. You may want to use the 3.3V LDO for the VDD_GPIO domain, which determines the voltage level on the GPIOs. And also power the rest of the external components from that same 3.3V source. Then the nRF91 will communicate with the other components at the same voltage level.

    Best regards,
    Stian

  • Hello Stian,

    Thank you very much for the recommendations, I will make the changes mentioned in the next prototype!

Reply Children
No Data
Related