打印
[应用相关]

STM32 ADC使用问题

[复制链接]
268|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2023-9-20 10:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
基本信息
  • MCU:STM32F105R8T6
  • 库:HAL
  • 平台:MDK
  • 精度:12位
问题一
  • 现象:
    在测量的时候,发现采样值在 1023 ~ 1042 和 1279 ~ 1290 两个区间之间无法测量
  • 原因:
    一开始还以为是我计算方式不对,折腾了很久才发现是采样导致的,发现这个现象后,有两个猜测
    可能一:怀疑是放大电路的问题,出现了这样的死区,导致 MCU 无法测量
    测试方法:用万用表测量放大后的信号是有变化的,并没有这样的死区存在,说明也不是放大电路的问题
    可能二:怀疑是 MCU 的 ADC 通道损坏导致无法采集
    测试方法:使用了多个 MCU 测量也是同样的现象,基本可以排除 MCU 的 ADC 通道损坏的可能,为了排除程序功能之间的影响,使用了单独的 ADC 采样 DEMO 程序测量时,居然没有这样的现象,到这里基本可以确定了是程序的问题,经过对比程序,最后发现是 ADC 时钟没有配置,绝望了。
  • 解决办法:
    只需要配置 ADC 采集通道的时钟即可,程序如下所示:


问题二
  • 现象:
    通过采样值计算出的电压与时间的电压有 40MV 的差距
  • 原因:
    未知
  • 解决办法:
    增加 ADC 通道校准,程序如下

    /* 校准ADC */

    HAL_ADCEx_Calibration_Start();


本文来自博客园,作者:浇筑菜鸟,转载请注明原文链接:https://www.cnblogs.com/jzcn/p/17687397.html


使用特权

评论回复
沙发
AloneKaven| | 2023-9-20 22:04 | 只看该作者
105跟103的区别是增强了什么啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2028

主题

15904

帖子

14

粉丝