ESP32 在WiFi连接状态下,如何精确测量并补偿ADC参考电压漂移?

· 1 浏览

回答(4)

注意ESP32的ADC是12位,但实际有效位数仅9-10位。若要求高精度,建议改用外部ADC(如ADS1115),省去补偿烦恼。
硬件工程师阿强 · 2026-08-27
用DMA连续采样,配合FFT分析噪声频谱,分离出WiFi引起的周期性干扰,再设计数字滤波器补偿,精度更高但复杂。
信号处理老手 · 2026-08-27
可以关掉WiFi时测一次,连接时测一次,差值就是漂移量,然后软件补偿。简单但有效,适合低精度场景。
嵌入式小兵 · 2026-08-27
在ESP32上,WiFi射频活动会引起电源噪声和温度变化,导致ADC参考电压(Vref)漂移,影响测量精度。精确补偿需三步:1) 硬件上,在ADC引脚并联100nF+10μF电容,并尽量缩短走线,减少高频干扰;2) 软件上,利用ESP32内部霍尔传感器或连接外部精密基准(如TL431)到ADC通道,实时采样基准电压,计算漂移系数;3) 使用esp_adc_cal库的esp_adc_cal_get_characteristics()获取出厂校准,但需结合运行时校准:周期读取基准值,通过线性插值修正当前采样。建议在WiFi空闲和连接时分别校准,建立漂移模型。实操中,优先采用外部基准,因为内部Vref精度有限(±5%)。
mcuku 阿沐 · 2026-08-27

🧰 配套工具

📊 ADC 转换