STM32 ADC 采样值不准确 情况分析及解决办法

情况1

使用ADC / DMA 循环自动采样的方式,但是采样数据与预估数据相差很大,小了很多。

解决办法

配置adc的时候,采样周期需要设置大一些。
sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5 ;

原因分析

采样周期太小,会导致采样不准确,采样周期越大越准确。
采样周期太大会影响采样时间,计算公式:
采样时间(us) = (12.5+SamplingTime ) / ADC时钟(MHZ)

情况2

仿真调试时,采样准确,但是设备重新上电后,采样不准确,偏小。

解决办法

上电后延时一会,再运行校准ADC的操作 :
HAL_ADCEx_Calibration_Start(&hadc1);

原因分析

线路板刚上电时,电容太大的原因,电压还没上升到3.3V,但是程序已经在运行了,这时执行校准会导致ADC不准确。

  • 10
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值