OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5814|回复: 22

关于stm32F1模拟信号采集有毛刺的求教

[复制链接]

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
发表于 2017-8-16 11:23:37 | 显示全部楼层 |阅读模式
1金钱
各位大神,小弟这段时间在控制直流电机,给定曲线用AD转换通道采集电机位置的角度制(电位计)与实际曲线作比较产生电压(闭环)来驱动电机。现在遇到的问题是采集的信号一直有毛刺(采集信号通过自己做的RC低通滤波)。

(1)我的RC低通滤波器是R=2.2kΩ,电容是瓷片105的。这个滤波器在MATLAB验证过没问题;

(2)ADC用的是定时器触发采样7ms一次;
(3)电位计的电源用的stm32上供电电源5V和3.3V,外部电源也用了,效果一样;
(4)接地问题,电位计的地和供电用的地用的是stm32上的不同接口;
(5)接收信号,用stm32板子上的供电0和3.3V都非常稳定,没有一点瑕疵;
我在想是不是其他信号内部供电,或者采样信号有干扰还是什么原因,我排查了好久还是没有解决,第一次发帖,有哪位大神遇见过这样的问题或者有什么指教的。求教,先谢谢各位。如图的波形。

6EAY9[VO{MV@70)DSJT_I6L.png
Q9EUWSH[0N]SVWO)IT)6_TC.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-8-16 12:57:42 | 显示全部楼层
你是 模拟电源和数字电源 分别供电,模拟地和数字地用铁氧体磁珠单点相接,如果和电机的地相接同样也会有干扰?
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-8-17 11:18:11 | 显示全部楼层
wxjhby 发表于 2017-8-16 12:57
你是 模拟电源和数字电源 分别供电,模拟地和数字地用铁氧体磁珠单点相接,如果和电机的地相接同样也会有干 ...

恩,今天刚买的铁氧磁体。回来再试试。
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-8-18 15:11:06 | 显示全部楼层
用了铁磁体,问题还是没解决。各位大神求救啊!
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-8-21 14:23:58 | 显示全部楼层
先把电路其他部分去掉,只留下电压采集和最小系统,然后一点点加,看是哪个部分引起的
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-8-30 20:27:05 | 显示全部楼层
wxjhby 发表于 2017-8-21 14:23
先把电路其他部分去掉,只留下电压采集和最小系统,然后一点点加,看是哪个部分引起的

我把所有的都去掉了,只剩下电压采集还是不行。不知道你有没有在采集的时候出现在这种情况?
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-8-31 10:26:32 | 显示全部楼层
直接采集电源和地准不准?
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-4 15:15:54 | 显示全部楼层
wxjhby 发表于 2017-8-31 10:26
直接采集电源和地准不准?

直接接stm32上电源和地的都准。外接就不准了。
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2017-9-4
在线时间
6 小时
发表于 2017-9-4 16:05:10 | 显示全部楼层
你试试把你接设备的插线板上的地线剪断,重新试一下。另外,示波器尽量不要和其他设备共用一个插线板。
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-5 14:10:41 | 显示全部楼层
黑黑 发表于 2017-9-4 16:05
你试试把你接设备的插线板上的地线剪断,重新试一下。另外,示波器尽量不要和其他设备共用一个插线板。

我这没有用上什么设备。就一个电脑。示波器当时也没有用。
回复

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2016-7-27
在线时间
73 小时
发表于 2017-9-5 16:53:44 | 显示全部楼层
我使用stm32f103的时候也发现这个问题,当用示波器观察时,一旦调用库的AD转换函数,或者说置对应的寄存器的位时,在对应的采集口就会有一个毛刺产生,而当将程序暂停时,毛刺消失,如果使用DMA的话,则是为采集周期的毛刺,更改了采样速率还周期都是一样的,感觉这就是stm32进行AD转换时产生的 ,毛刺一般为0.3V以下、、、
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2017-9-4
在线时间
6 小时
发表于 2017-9-6 10:28:33 | 显示全部楼层
chenlongfei 发表于 2017-9-5 14:10
我这没有用上什么设备。就一个电脑。示波器当时也没有用。

看你这个应该是用Matlab采集的,首先看看是不是你采集卡自带高频干扰,如果实在不能解决你就用个滤波吧,我以前用滤波器观察出现过毛刺,后来剪断了插线板的地线后就解决了。其实在Matlab里面直接加带通,应该可以得到接近理想波形的波形。
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2017-9-4
在线时间
6 小时
发表于 2017-9-6 10:29:53 | 显示全部楼层
chenlongfei 发表于 2017-9-5 14:10
我这没有用上什么设备。就一个电脑。示波器当时也没有用。

加一点,尽量采用数字滤波
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-6 12:09:34 | 显示全部楼层
诸葛亮的哥哥 发表于 2017-9-5 16:53
我使用stm32f103的时候也发现这个问题,当用示波器观察时,一旦调用库的AD转换函数,或者说置对应的寄存器 ...

是的,应该是,我正在想办法解决
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-6 12:11:24 | 显示全部楼层
黑黑 发表于 2017-9-6 10:28
看你这个应该是用Matlab采集的,首先看看是不是你采集卡自带高频干扰,如果实在不能解决你就用个滤波吧, ...

不是MATLAB采集的,用的串口调试软件。采集数据在MATLAB上绘制的数据图全程采集不涉及MATLAB,只是数据处理上用到了而已。
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2017-9-4
在线时间
6 小时
发表于 2017-9-11 11:26:38 | 显示全部楼层
chenlongfei 发表于 2017-9-6 12:11
不是MATLAB采集的,用的串口调试软件。采集数据在MATLAB上绘制的数据图全程采集不涉及MATLAB,只是数据处 ...

你可以尝试一下在Matlab上面采集,然后经过滤波,效果应该很好!
回复

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
发表于 2017-9-11 11:41:38 | 显示全部楼层
模拟信号的毛刺是完全虑不掉的,只能尽可能的减少噪声。做一个好点的滤波电路或者再做个数字滤波。
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-12 17:05:31 | 显示全部楼层
Rainday 发表于 2017-9-11 11:41
模拟信号的毛刺是完全虑不掉的,只能尽可能的减少噪声。做一个好点的滤波电路或者再做个数字滤波。

恩,我确实还没找到合适的办法。
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-12 17:06:36 | 显示全部楼层
黑黑 发表于 2017-9-11 11:26
你可以尝试一下在Matlab上面采集,然后经过滤波,效果应该很好!

这个我试过,精度误差不超过0.002mv。但是stm32就不行了
回复

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
发表于 2017-9-12 18:23:39 | 显示全部楼层
chenlongfei 发表于 2017-9-12 17:05
恩,我确实还没找到合适的办法。

可以尝试下二阶压控型低通滤波器,我见别人用的时候滤波效果都挺好的。
回复

使用道具 举报

8

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2017-8-16
在线时间
15 小时
 楼主| 发表于 2017-9-17 15:42:20 | 显示全部楼层
Rainday 发表于 2017-9-12 18:23
可以尝试下二阶压控型低通滤波器,我见别人用的时候滤波效果都挺好的。

你做的精度能达到多少?
回复

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
发表于 2017-9-19 16:04:47 | 显示全部楼层
chenlongfei 发表于 2017-9-17 15:42
你做的精度能达到多少?

没测精度,但是不会有这么明显的毛刺。或者你买个低通滤波的芯片 那种集成好的片子
回复

使用道具 举报

8

主题

206

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-4-6
在线时间
234 小时
发表于 2019-9-30 15:34:57 | 显示全部楼层
请问楼主有没有什么好的解决方案。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 23:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表