打卡第十八集-ADC采集电源电压和ADC按键
ADC反推电源电压是一种通过测量已知参考电压来计算出当前ADC参考电压(Vref)的校准方法。当ADC的参考电压直接使用电源电压(如VDD)且该电压可能波动时,这种方法可以修正ADC测量值,提高精度。
一、为什么要反推电源电压?
ADC的转换结果与参考电压(Vref)密切相关:
text
ADC值 = (Vin / Vref) × (2^N - 1)
其中N为分辨率(如12位时2^N-1=4095)。
如果Vref不稳定(如直接使用电池供电),则同一Vin对应的ADC值会随Vref变化,导致测量误差。通过反推当前Vref,可以动态校准,获得真实的Vin。
二、反推原理
已知一个精确的基准电压(Vcal),用ADC测量该电压得到ADC值ADcal,则:
text
Vref = (Vcal × (2^N - 1)) / ADcal
之后,测量未知电压Vin时,实际电压为:
text
Vin = (ADC_vin / (2^N - 1)) × Vref
这样,即使Vref波动,最终计算结果也能准确。
三、常用基准源
- 内部带隙基准
许多单片机(如STM32、AVR、MSP430)内部集成了一个稳定的带隙基准电压(通常1.2V或2.5V),并映射到某个ADC通道。
- 优点:无需外部元件,温度稳定性较好。
- 示例:STM32的
VREFINT通道,典型值为1.2V。
- 外部精密基准
在要求更高精度时,可以外接一个精密基准源(如TL431、REF3025)或高精度电阻分压网络(如从Vref分压得到固定比例)。
- 优点:精度高,可定制。
- 缺点:增加成本和PCB面积。
ADC反推电源电压是一种低成本、实用的校准技术,尤其适用于电源电压不稳定或需要提高测量精度的场景。通过测量一个已知的基准电压(内部或外部),动态计算出当前Vref,再换算其他通道,能显著降低因参考电压波动带来的误差。掌握这一技术,可以让ADC测量在更复杂的供电条件下依然保持可靠。
