你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G030 ADC 连续采样数值会偏低

[复制链接]
飞儿 提问时间:2022-4-15 08:13 / 已解决

1.使用例程 STM32Cube_FW_G0_V1.4.1\Projects\NUCLEO-G071RB\Examples_LL\ADC\ADC_SingleConversion_TriggerSW_Init

2.将while(1)里面的按键按下采样一次ADC改为 一直采样

while(1)

{

ConversionStartPoll_ADC_GrpRegular();

uhADCxConvertedData = LL_ADC_REG_ReadConversionData12(ADC1);

uhADCxConvertedData_Voltage_mVolt = __LL_ADC_CALC_DATA_TO_VOLTAGE(VDDA_APPLI, uhADCxConvertedData, LL_ADC_RESOLUTION_12B);

}

3.调试查看结果:uhADCxConvertedData的值居然降了,2500左右

4.修改程序:在ConversionStartPoll_ADC_GrpRegular();之后加入5ms延时,uhADCxConvertedData的值就正常了 2600

收藏 评论5 发布时间:2022-4-15 08:13

举报

5个回答
butterflyspring 最优答案 回答时间:2022-4-15 09:56:05

ADC采样结果主要跟采样电容充电量有关。 连续转换要看检测信号的扇出能力。如果偏弱,连续采样带来的电流有可能将信号拉低一点点。所以信号不同,需要的采样频率也会不同,外部的串联阻抗也要适当调整。

废鱼 回答时间:2022-4-15 09:09:29

读取太快,最起码要判断一下是不是转换完成。

xmshao 回答时间:2022-4-15 11:03:43
提醒下,你ADC開始工作前是否做了校準?再就是ADC采樣時間是否合適?偏小了沒?
这个事情很尴尬 回答时间:2022-4-15 11:14:59

我建议你要么直接用dma循环采集,要么用定时器触发,采集时间一定要够,毕竟ADC内部的测量跟采集电容关系很大

我一般是

初始化->校准->开ADC和定时器

这样可以控制ADC采集的频率

可能有误区见谅

飞儿 回答时间:2022-4-15 14:36:47

butterflyspring 发表于 2022-4-15 09:56
ADC采样结果主要跟采样电容充电量有关。 连续转换要看检测信号的扇出能力。如果偏弱,连续采样带来的电 ...

[md]这位朋友是正解,是外围电阻太大的原因,我原先用的1M的电阻,现在改100K现象明显好很多,官方的建议是50K的,我这里没有办法要用100K

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版