STM32
直播中

熊本熊

8年用户 1378经验值
擅长:处理器/DSP
私信 关注
[问答]

STM32L073VZT6 ADC VRefint读出来的数据不对是怎么回事?

我的是STM32L073VZT6的芯片,使用内部参考电压源. 1.为了确打开了内部参考源,我在初始化ADC前调用了__HAL_UNLOCK( hadc);  HAL_ADCEx_EnableVREFINT();
2.当使用扫描模式读的话,读出来的数据是递增的.
3.当使用sigle模式的话,读出来数据是稳定的,但是好像ADC输入达到1.2V左右读出来的ADC值就达到4095了(爆表),
4.当我外接参考电源的话,读出来数据与万用表的值是对的上的.很准确,问题是这个产品对ADC精度要求不高,所以不愿意专门加个参考源.

回帖(1)

杨万富

2024-5-9 16:38:28
根据您的描述,您在使用STM32L073VZT6的ADC功能时遇到了一些问题。以下是一些可能的原因和解决方案:

1. 确保您的ADC配置正确。检查您的初始化代码,确保ADC通道、时钟、分辨率等设置正确。

2. 检查您的硬件连接。确保ADC输入引脚与待测电压源正确连接,且无短路或断路现象。

3. 内部参考电压源(VREFINT)的精度可能较低。STM32L073VZT6的内部参考电压源精度可能不如外部参考电压源。这可能导致在高分辨率模式下,读数的精度受到影响。

4. 考虑温度变化对内部参考电压源的影响。内部参考电压源可能受到温度变化的影响,导致读数不稳定。

5. 检查您的ADC采样时间设置。较长的采样时间可以提高ADC的精度,但可能会降低数据更新速率。

6. 如果您对ADC精度要求不高,可以尝试使用较低分辨率的模式,以提高数据更新速率。

7. 如果问题仍然存在,您可以考虑使用外部参考电压源。虽然这会增加硬件成本,但可以提高ADC的精度。

总之,您需要检查硬件连接、ADC配置和采样时间设置,以确保ADC读数的准确性。如果问题仍然存在,您可能需要考虑使用外部参考电压源。
举报

更多回帖

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