按照被测量的电池电压值和你用的单片机AD输入范围,比如,用STM8或者新唐003,ADC范围就是电源电压,那么我们必须采用电阻分压网络来对输入电压进行分压处理,让比较高的电压,衰减到ADC合理范围,考虑到机器动态范围,我们确定的ADC输入值,也不可以到最高电压值。
举个例子,比如我要测试84V锂电池(聚合物20串)电压,设置机器在84V时候,ADC输入值为4V(5V供电芯片),就必须采用21倍衰减,考虑到输入阻抗同时综合考虑采样电阻的功耗,取下电阻为3K,则上电阻为56K。
实际采样网络衰减是62+3/3=21.67。84V时候,实际AD输入电压=3.877V。
或者上电阻采用56K,衰减=19.67实际AD输入电压=84/19.67=4.27V。
然后,AD读数值是这样换算的:比如12位AD,4.27输入=4.27/5*4095=3499。
也就是AD读数为3499=84V。其他电池实际读数,按照这个比值直接换算就好。
由于电阻包括Vcc都是有误差的,实际数据,还必须进行校准才算准确。 |