[STM32L5] ADC采集低于1V电压时出错了

[复制链接]
1416|18
 楼主| 柴库柴库 发表于 2025-3-2 20:14 | 显示全部楼层 |阅读模式
用STM32L151与CubeMX。在使用ADC转换时,adc的值表现异常。当测量的是来自位置传感器的adc值时其范围从0到2.9V(用示波器测量)。当电压达到2.9V时,测量到的adc值为3600,这是正确的(3600/4095 * 3.3v)。当测量值低于0.7V时,adc值变为了0。例如,如果测量到1V时理论上adc值应该是1240(1v/3.3v4 *095),但实际的adc值是280。这与ADC配置有关系么??
公羊子丹 发表于 2025-3-3 07:44 | 显示全部楼层
你的VREF+是多少?如果用的是内部3.3V基准,确认一下是否稳定,否则可能影响低电压测量。
周半梅 发表于 2025-3-3 07:48 | 显示全部楼层
低于0.7V就测不出来,会不会是输入阻抗太高,ADC采样时间不够,导致采样结果失真?
帛灿灿 发表于 2025-3-3 07:49 | 显示全部楼层
试试降低ADC的采样速率,增加采样时间,比如设置ADC_SAMPLETIME_640CYCLES_5,看看低电压测量是否正常。
童雨竹 发表于 2025-3-3 07:51 | 显示全部楼层
你的ADC是单端模式还是差分模式?如果是单端模式,看看VREF-有没有正确接地。
万图 发表于 2025-3-3 07:52 | 显示全部楼层
STM32L5的ADC输入范围通常在VREF-到VREF+之间,确认一下VREF-有没有被正确配置?
Wordsworth 发表于 2025-3-3 07:54 | 显示全部楼层
你是用外部传感器供电还是单片机内部提供?有些传感器在低电压时可能输出阻抗过大,影响ADC读取。
Bblythe 发表于 2025-3-3 07:55 | 显示全部楼层
试着用电池或者稳压源直接提供已知电压,看看ADC是否仍然测不准,这样可以排除传感器的问题。
Pulitzer 发表于 2025-3-3 07:56 | 显示全部楼层
会不会是ADC输入管脚的ESD保护二极管导致的?低电压时可能拉低输入信号,试试用一个小电阻(1KΩ-10KΩ)下拉到GND看看。
Uriah 发表于 2025-3-3 07:58 | 显示全部楼层
你有没有试过换一个ADC通道测量同样的电压?如果换通道正常,可能是特定通道的硬件问题。
Clyde011 发表于 2025-3-3 07:59 | 显示全部楼层
你的供电是3.3V吗?如果供电电压不稳定,可能会影响ADC的参考电压,导致测量偏差。
温室雏菊 发表于 2025-3-22 01:34 | 显示全部楼层
是的,ADC 测量值异常很可能与 ADC 的配置有关

失物招領 发表于 2025-3-22 02:26 | 显示全部楼层
STM32L151 ADC 参考电压默认是 VDD3.3V),如果 VDD 不稳定或低于 3.3V,会导致 ADC 测量值不准确

她已醉 发表于 2025-3-22 03:23 | 显示全部楼层
如果使用了外部参考电压(VREF+),需要确保其电压稳定且正确

将爱藏于深海 发表于 2025-3-22 04:36 | 显示全部楼层
ADC 的分辨率可能配置不正确。STM32L151 ADC 支持 12 位、10 位、8 位和 6 位分辨率。如果分辨率配置为低于 12 位,会导致测量精度下降

故意相遇 发表于 2025-3-22 05:23 | 显示全部楼层
如果输入信号源阻抗过高,会导致 ADC 采样时电压被拉低,从而测量值不准确。位置传感器的输出阻抗可能较高,需要增加缓冲电路(如运放跟随器)

春日负喧 发表于 2025-3-22 06:34 | 显示全部楼层
ADC 的采样时间过短,可能导致采样不充分,尤其是在输入信号阻抗较高时。增加采样时间可以提高测量精度

白马过平川 发表于 2025-3-22 07:34 | 显示全部楼层

可能ADC未进行校准,导致测量值存在偏差。在初始化ADC后,需要调用 HAL_ADCEx_Calibration_Start 函数进行校准

西洲 发表于 2025-3-22 08:34 | 显示全部楼层

如果电源存在噪声,可能会影响 ADC 的测量精度。确保电源稳定,并增加滤波电容

风凉 发表于 2025-3-22 09:34 | 显示全部楼层
确认 VDD 电压是否为 3.3V。如果使用了外部参考电压(VREF+),确保其电压稳定且正确

您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

81

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部