最近有个项目需要用到ESP32的ADC做一下电池电量检测,网上关于这方面的资料写得很模糊,于是自己整理了一下。代码注释写的很详细了,基本能解决你搜这个问题所想要解决的问题,以下是代码简介:
通过ESP32的ADC引脚检测电池电压(并通过均值滤波与软件校准)
注意,若要使用ADC2请留意该警告
-
本示例芯片型号:ESP32C3(兼容ESP32其它型号芯片【ESP32S2不支持软件校准】,但需要根据idf编程指南ADC部分修改衰减值对应的输入电压范围)
-
-
使用前请adc接地读取偏差值,设置adc_offset。或使用以下函数将ADC1或ADC2的基准电压输出至IO,然后可以手动测量基准电压以进行校准
esp_err_t adc_vref_to_gpio(adc_unit_t adc_unit, gpio_num_t GPIO)
-
ESP32 ADC 对噪声非常敏感,导致 ADC 读数存在较大差异。根据使用场景,可以将旁路电容(例如100 nF陶瓷电容)连接到正在使用的ADC输入焊盘,以最大限度地降低噪声
-
相关文档资料
实验图片
电压精度能达到±0.01V左右


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!