小四轴——空心杯电机引起的电源干扰

问题

用STM32做了一个微型四轴的飞控,使用的是空心杯电机,使用一个MOS管驱动,但是现在电机只要运行起来,就会产生非常大的干扰,直接导致STM32复位或不运行。经过换电容,加二极管续流,换LDO芯片,加电感进行滤波,花费了大量时间,最后终于解决了这个问题。

电机驱动部分

电机驱动我开始是使用的0.1uf电容进行电机的续流,但是后来发现干扰太大,换为了肖特基二极管进行续流,然而发现产生干扰的地方并不是此处。我们电机是使用MOS管将PWM信号进行放大的,PWM信号就是一系列的方波,这需要MOS管进行频繁的开关,在MOS进行开关时噪声就产生了,就是说该噪声是跟随PWM频率而变化的。这是驱动部分电路图以及我使用示波器观察到的噪声
驱动电路
这里写图片描述

电源部分

从上面示波器输出可以看出,我使用的是1S锂电池,电压范围为3.7~4.2V,电源我直接使用了一个LDO将电压降下来,这就导致了上述那个电压尖峰直接让我的LDO停止工作了,这是电源电路
这里写图片描述
实际我选择LDO的型号是特瑞斯的XC6206,LDO有一项指标是PSRR,即Power Supply Rejection Ratio
,电源抑制比,查看该芯片数据手册:
这里写图片描述
可以看到噪声为1KHz时,抑制比已经大幅下降了,而我的PWM频率是5KHz,也就是说噪声也是5KHz,所以应该选一款PSRR高的芯片,这里又重新购买了MCP1700替换上面的xc6206,然后发现电机能够转了,测量LDO输出电压为3.3V。
接下来的我发现虽然STM32能够控制电机,但是电机旋转时,nfs24l01模块又停止了工作,就是说仍然有噪声存在,重新查看别人小四轴的原理图,发现他们都在电源部分用了一个电感来进行滤波,抱着试一试的心态,将0R电阻换为了2.2uh的贴片电感,最后nfs24l01居然能够正常工作,问题解决。

总结

其实最根本的解决办法是重新设计电源部分,使用先升压到5V再降压到3.3V的方案,这样可以避免电机运行中电压掉得太低超过了LDO的范围的情况,这里贴一个能用的电源电路,是CrazePony的方案。
升压
降压
另外贴一下CrazePony的硬件设计:
http://www.crazepony.com/wiki/hardware-base.html

猜你喜欢

转载自blog.csdn.net/egean/article/details/77995846