【发布时间】:2019-10-04 07:30:43
【问题描述】:
我在 ESP32 WROOM 中使用 ADC 引脚来确定它们的电压读数(GPIO34、GPIO35、GPIO36、GPIO39),但读数不准确,即非线性。
我所做的是:
-
我使用万用表获取实际读数,并通过使用电位计通过改变该引脚上的电压(从 0.1V -> 3.3V,基于 ADC 读数)与 ESP32 在这些引脚上的读数进行比较
-
我将这些数字放入 Excel 表格中,以便在以下列中绘制错误: ADC_READING_VOLTAGE |万用表_阅读 |错误(MULTIMETER_READING - ADC_READING_VOLTAGE)
-
然后我从误差图中得到一个趋势线方程,并将误差范围添加到 ADC_READING_VOLTAGE,这样我就可以实际得到读数的实际值 (MULTIMETER_READING)
voltage_reading = analogRead(adc_pin)/4095 *3.3V // to get the actual reading
我尝试过的方法虽然给出了稍微好一点的结果,但仍然不够好(读数仍然偏离 +- 0.2V)
以前有人处理过这个吗?欢迎提出任何建议。
【问题讨论】:
-
你试过了吗:voltage_reading = (analogRead(adc_pin)*3.3V)/4095? ADC应该会好很多。
-
根据你所做的这些假设,你能确认电源没有噪音,你的接线没有电容吗? +- 0.2V 在非实验室条件下似乎绰绰有余
标签: microcontroller adc esp32