51822电池电量采集,可采用以下方法进行设计,需要注意的是:如果需要增加R1,R2,并保证采用准确的,可以在待测点上并联一个接地电容,但需要更长的ADC采样时间。增大R1、R2的好处是可以减少功耗。
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.
C:\fakepath\nRF51 ADC - Voltage divider schematics for LiIon battery measurement.jpg
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.
更多详细内容:
——回复可见内容——