OpenEdv-开源电子网

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

STM32电源被电机干扰如何处理?

[复制链接]

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
发表于 2017-9-8 14:12:32 | 显示全部楼层 |阅读模式
1金钱
我做了一个电路板,使用STM32来控制小四轴的空心杯电机,使用的3.7V锂电池,使用LDO来稳压到3.3V,电机用MOS管驱动,现在问题是:1. 电机不接时一切正常。
2. 四个电机都接上后没有反应,并且STM32一个管脚接的LED灯开始闪烁(我没有写LED闪烁的代码,并且在LED闪烁时使用JLINK调试,MDK报错:无法读取寄存器...),此时测量LDO输出为3.3V。
3. 如果接一个电机的话又能够控制电机。此时测量LDO输出在2.5~3.0V之间乱跳。
这是电源部分电路图:
截图00.png





LDO芯片:XC6206,在淘宝买的,网址点

电容:100nf的普通电容,47uf的为钽电容


这是电机驱动电路图:
截图01.png

测量Pwm_Out端输出是正常的,这里我给了一个锯齿波,占空比从0增加到30%。


我的尝试:
1. 将LDO的滤波电容从47uf换为1uf(数据手册推荐),效果相同。
2. 使用外接电源给STM32单独供电,一切恢复正常,4个电机都可以控制。
3. 怀疑淘宝买的LDO质量问题,更换成嘉立创买的同型号LDO(厂商不同,但是电压输出是2.5V),此时接1个电机,此时LDO输出2.5V不再乱跳,并且电机能转,但是接4个电机仍然无法工作,现象还是LED闪烁。
4. STM32的VBAT悬空,接上3.3V后问题依旧。

我的思路:
1. 很明显是STM32被电机的电流干扰了,因为单独给STM32供电是正常的。
2. 查看其它电路图,电机处没有并联电容,而是使用二极管进行续流(正点原子的四旋翼),0R电阻位置在VCC上而不是地上。
3. 仍然怀疑是LDO质量问题,购买多种型号的LDO进行尝试。
4. LED不受控制的闪烁很奇怪,以前好像记得是电池没电了会让STM32出现这种情况,但是LDO最大输出是200ma
5. 使用示波器观测电池和LDO输出波形。


折腾这个问题许久了,论坛的朋友有没有什么好的建议?

最佳答案

查看完整内容[请看2#楼]

经测试,电机运行时,单片机虽然能够工作,但是24l01果然不能工作。然后将原来的0R电阻的地方换成了2.2uh的电感,,我擦,,居然好了,单片机和24l01都可以工作了。。。估计电感加电容把电压尖峰过滤了。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-8 14:12:33 | 显示全部楼层
经测试,电机运行时,单片机虽然能够工作,但是24l01果然不能工作。然后将原来的0R电阻的地方换成了2.2uh的电感,,我擦,,居然好了,单片机和24l01都可以工作了。。。估计电感加电容把电压尖峰过滤了。。。
回复

使用道具 举报

58

主题

6291

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11406
金钱
11406
注册时间
2014-4-1
在线时间
1282 小时
发表于 2017-9-8 16:55:58 | 显示全部楼层

可能你的电池质量差,一加负载电压就跌。

先确定这一点,然后再说。

回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-8 16:56:41 | 显示全部楼层
用示波器看了,电机旋转的时候有一个80KHz的毛刺,峰峰值在2.5V左右,,而80KHz刚好是我的PWM控制频率,80KHz这么高的频率应该是能够被0.1uf的电容滤掉的,但是我这里的0.1uf电容又画错了没有接到BAT和GND之间。。。
回复

使用道具 举报

4

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2015-12-16
在线时间
34 小时
发表于 2017-9-8 17:54:22 | 显示全部楼层
依照你的分析,接一个电机是可以控制的,而接四个电机就有问题是吧,那么再接着分析这两者对整个系统产生的影响差异在哪呢?最直接的电流肯定变了,那么电流变了势必影响电池的输出电压(因为电池有内阻,依据欧姆定律,电流增大输出电压就会减小)。那么再看LDO,它要降压输出一个稳定的电压,那它的输入和输出需要多大的压差呢?在你四个电机消耗大电流之后,输出的电压是否还满足你LDO需要的最小压差呢?假定刚好就不能,那么LDO的最小压差不会变,那么就只能输出电压改变了,而这样来看,如果你描述的蔬菜电压在2.5~3V之间跳动如果还伴随着电机转速变化(或者停顿),那么就十分吻合。所以,你可以同时测量你LDO的输入和输出。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-9 11:14:16 | 显示全部楼层
idfulin 发表于 2017-9-8 17:54
依照你的分析,接一个电机是可以控制的,而接四个电机就有问题是吧,那么再接着分析这两者对整个系统产生的 ...

我昨天测试了,接四个电机和接一个电机电池电压都稳定在4V,而且输入电压不会随电机转动而变化,但是用示波器看可以看到一个80KHz的尖峰,峰峰值为2.5V,80KHz刚好就是我的PWM频率,所以应该是我的PWM频率给得太高了,等下给到5KHz试试
回复

使用道具 举报

3

主题

2164

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5703
金钱
5703
注册时间
2013-11-22
在线时间
1198 小时
发表于 2017-9-9 15:03:14 | 显示全部楼层
单独测试每一路电机,看是否正常。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-9 16:23:51 | 显示全部楼层
xuande 发表于 2017-9-8 16:55
可能你的电池质量差,一加负载电压就跌。

先确定这一点,然后再说。

不管何种情况,测量电池电压都不会变
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-9 19:23:59 | 显示全部楼层
救命啊,PWM频率改为5KHz,1KHz,500Hz,接三个电机能转,接四个就不能转了啊,,,,怎么感觉我的1uf滤波电容完全没起作用。。。难道1uf电容不能滤掉5KHz的噪声吗
回复

使用道具 举报

38

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2016-7-14
在线时间
94 小时
发表于 2017-9-15 10:35:02 | 显示全部楼层
在电机和MCU之间加个二极管(哪路干扰就可以加哪路)试试。
回复

使用道具 举报

3

主题

178

帖子

0

精华

高级会员

Rank: 4

积分
524
金钱
524
注册时间
2016-12-31
在线时间
195 小时
发表于 2017-9-15 10:41:18 来自手机 | 显示全部楼层
顶!!!
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-15 11:49:18 | 显示全部楼层
然后又在电机两端并了肖特基二极管(原子四轴原理图),仍然不行。
最后解决办法:换了一个贵点的LDO。。。。。。5KHz下四个都能工作了,然而80KHz仍然不能工作,,,凑合着用。。。
15%占空比下LDO输出稳定在3.3V(万用表测的)
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-9-8
在线时间
6 小时
 楼主| 发表于 2017-9-15 11:57:58 | 显示全部楼层
好吧,又去看了帖子说要升压再稳压。。否则24l01可能工作不起来。。。感觉要重画电路板了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 03:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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