This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to measure Lithium battery voltage

How to measure Lithium battery voltage with the nRF51 ADC

Parents
  • Attached is a hardware setup for the ADC which is a voltage divider with a connected capacitor. It is meant for measurement of LiIon battery with voltage range of 2.7-4.2V. For this purpose, we recommend to divide your input voltage with two resistors, R1 = 10Mohm and R2 = 2.2Mohm. Then you need to connect a 22nF capacitor (C2 in the attached schematic) from your ADC analog input pin (AIN) to ground. With this configuration you can sample with up to 20Hz for 8-bit sampling and up to 8Hz for 10-bit sampling without noticable ADC output error. You should use the internal VBG voltage as reference which is 1.2V fixed, and no input prescaling (1/1).

    To test this setup, use the rtc0_triggering_ADC_sample_from_GPIO_pin example. It samples from analog intput pin 6 and is set up for the hardware configuration mentioned above. The example outputs the ADC sampled result to port 1, i.e. pins 8-15. It is tested for nRF51 SDK 5.2.0. For other nRF51 SDK versions and other ADC examples, check the Github examples

    With the setup mentioned above the voltage divider consumes current of 4.2V/(12,2Mohm)=0.35 uA.

    The schematics for the voltage divider setup is shown in this blog post

    The above values for the voltage divider resistor values and capacitor have proven to be good for Lithium-Ion battery setup. However, it is possible to choose other resistor values if desired to e.g. increase usable resolution of the ADC for battery reading, see other replies and comments on this thread. However, by changing resistor values, another capacitor size may be needed to prevent ADC output error. The following draft document shows how to calculate capacitor size and maximum sampling frequency for the voltage divider.

    Update 22.12.2014 Capacitor size calculation method updated. The former one was incorrect

    ADC voltage divider - calculating capacitor size v2.pdf

    Update 19.12.2014 - Evaluating ADC output Mulimeters and oscilloscopes typically have resistance of 1Mohm to 10Mohms, so they will generate mesurement error if trying to measure voltage on the ADC input. I have found the voltage previously on the AIN input by measuring the voltage on the voltage source and then measuring the actual resistance of the resistors R1 and R2, which typically have tolerance of 1% or 5%. Then I would calculate the voltage inside the voltage divider with

    V_AIN = V_1 * R2/(R1+R2)

    and compare that voltage to the output value of the ADC. The ADC might also have offset and/or gain error, so calibration is recommended to obtain maximum ADC accuracy, as described here.

    Update 14.9.2016 A customer Francois provided an excel sheet to calculate capacitor value based on the formulas above for arbitrary resistor values. Ill attach his excel sheet here for convenience

    CapacitorCalculationforVoltageDivider20160913v1.xls

Reply
  • Attached is a hardware setup for the ADC which is a voltage divider with a connected capacitor. It is meant for measurement of LiIon battery with voltage range of 2.7-4.2V. For this purpose, we recommend to divide your input voltage with two resistors, R1 = 10Mohm and R2 = 2.2Mohm. Then you need to connect a 22nF capacitor (C2 in the attached schematic) from your ADC analog input pin (AIN) to ground. With this configuration you can sample with up to 20Hz for 8-bit sampling and up to 8Hz for 10-bit sampling without noticable ADC output error. You should use the internal VBG voltage as reference which is 1.2V fixed, and no input prescaling (1/1).

    To test this setup, use the rtc0_triggering_ADC_sample_from_GPIO_pin example. It samples from analog intput pin 6 and is set up for the hardware configuration mentioned above. The example outputs the ADC sampled result to port 1, i.e. pins 8-15. It is tested for nRF51 SDK 5.2.0. For other nRF51 SDK versions and other ADC examples, check the Github examples

    With the setup mentioned above the voltage divider consumes current of 4.2V/(12,2Mohm)=0.35 uA.

    The schematics for the voltage divider setup is shown in this blog post

    The above values for the voltage divider resistor values and capacitor have proven to be good for Lithium-Ion battery setup. However, it is possible to choose other resistor values if desired to e.g. increase usable resolution of the ADC for battery reading, see other replies and comments on this thread. However, by changing resistor values, another capacitor size may be needed to prevent ADC output error. The following draft document shows how to calculate capacitor size and maximum sampling frequency for the voltage divider.

    Update 22.12.2014 Capacitor size calculation method updated. The former one was incorrect

    ADC voltage divider - calculating capacitor size v2.pdf

    Update 19.12.2014 - Evaluating ADC output Mulimeters and oscilloscopes typically have resistance of 1Mohm to 10Mohms, so they will generate mesurement error if trying to measure voltage on the ADC input. I have found the voltage previously on the AIN input by measuring the voltage on the voltage source and then measuring the actual resistance of the resistors R1 and R2, which typically have tolerance of 1% or 5%. Then I would calculate the voltage inside the voltage divider with

    V_AIN = V_1 * R2/(R1+R2)

    and compare that voltage to the output value of the ADC. The ADC might also have offset and/or gain error, so calibration is recommended to obtain maximum ADC accuracy, as described here.

    Update 14.9.2016 A customer Francois provided an excel sheet to calculate capacitor value based on the formulas above for arbitrary resistor values. Ill attach his excel sheet here for convenience

    CapacitorCalculationforVoltageDivider20160913v1.xls

Children
Related