打印

谁的锅?关于STM32的ADC滤波后依旧被干扰

[复制链接]
944|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dsyq|  楼主 | 2023-2-15 10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      说说自己在项目中遇到的情况,大伙看看这到底是谁的锅。

      刚做项目的时候,get到了下面两条:
      第一,STM32(或其他单片机)内部只带12位ADC进行采样,教科书上都说单次采样是没有价值的,所以要多次采样并进行滤波。
      第二,STM32的数字地、模拟地要单点相接,数字电源和模拟电源也要单点相接。模拟信号要近,走线要粗。

      早先的时候,PCB是自己绘制,程序也是自己写,没有出问题。后来到了一家公司里面,PCB是同事绘制,程序还是我写,出问题了。

      问题产生的原因是:这家公司的模拟信号线走线不讲究,当功率器件启停的时候会让模拟信号产生尖峰,而我的软件没能过滤掉这个尖峰。

      我早先ADC DMA是启动后循环采样,需要数据的时候,停止采样,把连续采样的20个数据进行滤波。得到的值来使用。这就导致有可能这20个值全部在这个尖峰之中。控制系统在现场出状况后,我改为ADC DMA分时采样5组,对5组数据进行处理,就没问题了。

      这到底是谁的锅呢

使用特权

评论回复

相关帖子

沙发
gx_huang| | 2023-2-16 10:44 | 只看该作者
各打50大板即可

使用特权

评论回复
板凳
coody| | 2023-2-16 14:31 | 只看该作者
我个人经验,STM32F103的ADC就是差,噪声大,精度低,所以基本我还是要外挂一个ADC。

倒是发现现在STC8序列的12位ADC精度和稳定性都非常好。

使用特权

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

本版积分规则

56

主题

625

帖子

10

粉丝