[STM32L4] 使用ADC采样发现有个1us左右的干扰波形

[复制链接]
 楼主| houcs 发表于 2022-1-2 19:27 | 显示全部楼层 |阅读模式
L4系列ADC采样自带干扰怎么回事
xxrs 发表于 2022-1-2 19:30 | 显示全部楼层
看看图
 楼主| houcs 发表于 2022-1-2 19:33 | 显示全部楼层
liuzaiy 发表于 2022-1-2 19:38 | 显示全部楼层
频率和采样频率设置有关系
 楼主| houcs 发表于 2022-1-2 19:40 | 显示全部楼层
如果关闭ADC采样就没有这个波形,接一个稳压源输出的固定电平也这样,因此认为这个是ADC自己产生的。一直不理解这个是为什么,怎么去掉。
dingy 发表于 2022-1-2 19:43 | 显示全部楼层
配置代码发下吧
 楼主| houcs 发表于 2022-1-2 19:45 | 显示全部楼层

hadc1.Instance = ADC1;
  hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV16;
  hadc1.Init.Resolution = ADC_RESOLUTION_12B;
  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
  hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
  hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
  hadc1.Init.LowPowerAutoWait = DISABLE;
  hadc1.Init.ContinuousConvMode = ENABLE;
  hadc1.Init.NbrOfConversion = 11;
  hadc1.Init.DiscontinuousConvMode = DISABLE;
  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
  hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
  hadc1.Init.DMAContinuousRequests = ENABLE;
  hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
  hadc1.Init.OversamplingMode = DISABLE;
wyjie 发表于 2022-1-2 19:47 | 显示全部楼层
那个型号?
 楼主| houcs 发表于 2022-1-2 19:50 | 显示全部楼层
STM32L476
dingy 发表于 2022-1-2 19:53 | 显示全部楼层
这是 ADC 采用保持电路工作引起的, 逐次比较类型的 ADC 都这样. 你的信号源的阻抗越小, 这个脉冲就越小.
xxrs 发表于 2022-1-2 19:55 | 显示全部楼层
其实采样时间超过这个 波形宽度越大, 那么影响越小
 楼主| houcs 发表于 2022-1-2 19:57 | 显示全部楼层
谢谢解答,有办法彻底规避吗?软件\硬件方法都可以,求指点
chuxh 发表于 2022-1-2 20:04 | 显示全部楼层
降低采样速度看看;
 楼主| houcs 发表于 2022-1-2 20:06 | 显示全部楼层
产品要求,采样频率已经是最慢,不能在下降了。
dingy 发表于 2022-1-2 20:08 | 显示全部楼层

那就只能这样了,或者结果矫正。
wuhany 发表于 2022-1-2 20:11 | 显示全部楼层
没办法的,你可以做隔离,比如用跟随器隔离两边。这样就不会影响到那边数据
 楼主| houcs 发表于 2022-1-2 20:13 | 显示全部楼层
没办法了,现在只能在提高一下采样频率
renyaq 发表于 2022-1-2 20:15 | 显示全部楼层
然后算平均数?
 楼主| houcs 发表于 2022-1-2 20:18 | 显示全部楼层
嗯,目前测试可以
pangb 发表于 2022-1-2 20:20 | 显示全部楼层
试试降低采样速度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

743

主题

8382

帖子

5

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

743

主题

8382

帖子

5

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