STM32
直播中

李郝荫

8年用户 1414经验值
私信 关注
[问答]

STM32G431的ADC数据不准确是什么原因导致的?

我在一个STM32G431的核心板上做的测试工程. 使用 ADC1,tiM1,DMA1 实现的 ADC多通道定时采集工程.
ADC进行了校准, 采集了Vrefint通道. 通过 Vrefint通道的读数和 片内存储的电源为3.0V时测量的基准电压的数据 计算出 当前电源电压 为 3.11v. 而我使用的外接电压Vref+为 3.3v.
而通道4,我用万用表测量的电压为 3.0v, 而测量得到的值为 4000. 使用 Vref+为3.11v的值计算得到的通道4是 3.037v. 使用 Vref+为3.3v的值计算得到的通道4是 3.222v.
我通过增大设置 每个通道的 Sampling Time,保证了每个通道的测量都比较准确.
这个ADC测量的数字不正确是什么原因呢? 怎么计算得到的 ADC参考电压不是 3.3V呢?


回帖(2)

王鑫

2024-3-26 13:52:56
我也遇到了结果不准确的情况,应该都是基本电压引起的 
举报

刘强

2024-3-26 18:08:24
有几个可能导致ADC数据不准确的原因:

1. ADC采样时间不合适:ADC的采样时间需要根据被测量的信号波形来决定,如果采样时间太短,可能无法准确采集到信号的峰值;如果采样时间过长,可能会引入噪音。您已经通过增大每个通道的采样时间来保证测量的准确性,这是一个很好的优化方法。

2. 参考电压不准确: ADC的精度依赖于参考电压的准确性,如果参考电压不稳定或不准确,会导致ADC数据的误差。您测量的外部参考电压Vref+为3.3V,而通过Vrefint通道和基准电压计算出的电压为3.11V,这两者有一定的偏差,可能是导致ADC数据不准确的原因之一。建议使用更准确的参考电压来校准ADC,或者使用外部稳定的参考电压来提高准确性。

3. PCB布线不合理:ADC的布线需要考虑到信号的干扰和阻抗匹配等因素。如果布线不合理,可能会引入噪音或信号失真,从而导致ADC数据的不准确。建议检查 PCB 布线是否符合设计规范,避免信号干扰。

4. 温度漂移:ADC的精度可能会受到温度的影响,特别是在温度发生变化时。如果您的系统存在温度变化的情况,可能需要考虑温度补偿或其他校准方法来提高准确性。

综上所述,可能的原因包括采样时间不合适、参考电压不准确、布线不合理以及温度的影响等。您可以根据具体情况逐步排查,尝试进行校准或优化,以提高ADC数据的准确性。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分