单片机控制商用无刷电调驱动无刷电机

立创EDA,中国自主研发的PCB设计工具,免费使用!云端设计!

大家好!我是瑞生,今天给大家介绍一下如何用单片机输出信号给好盈无刷电调(X-Rotor,乐天20A)驱动无刷电机(银燕MT-2216 BLDC)。

如题目,是很多初入四轴飞行器行列的朋友都会问到的一个问题,因为商用电调的说明书,都没有写关于单片机怎么和它通信。只是介绍了如何利用遥控器控制。当然,如果你想自己设计四轴飞行器的飞控板的话,接下来将要介绍的就是必须要知道的。

下面是我买到的银燕MT-2216无刷电机,KV值810,重62克。用3S电池(11.1V),1045桨的话,最大可产生670g的推力;用4s电池(14.8V)1045桨的话,最大可产生950克的推力。花了人民币88元,包装内附带一个正桨一个反桨和一些零部件,下图是我装了一个正桨的效果。

银燕MT2216

下面是我买到的好盈乐天X-Rotor 20A的无刷电调,人民币48元。电调引出了接电源的两条线和油门信号线,还有3个无刷电机的插孔,如下图所示:

XRotor20a

电源线接电源,3个插孔接入三相电机的线,油门信号线共2条,黑色的是信号的GND,白色的就是信号线。商用的油门信号线,是采用PWM的的驱动方式,也就是说,我们随便找个单片机就可以给电调信号从而控制无刷电机运转了。我们现在拿到的这个好盈电调最大支持621Hz的PWM信号,下面的实验中,我们用500Hz的信号。速度是由PWM中高电平的时间决定的,一般从0.5~2.5ms。下面的实验中,我们用0.7ms作为最低速,1.9ms作为最高速,用单片机产生0.7ms到1.9ms之间的PWM信号,就可以把电机从0调到最大转速。

把电机固定好,接好线,如下图所示。我们这里用开关电源给它提供12V电源,用单片机LPC1114输出PWM调速信号。

BLDC-DT-MCU

电调在初次使用时,需要设置最大和最小的PWM高低电平时间。

设置步骤为:

1.给单片机写程序:使得某引脚输出500Hz的PWM信号,初始化时高电平时间设置为1.9ms,然后在while循环里面加入检测按键的程序,当按键按下,把高电平设置为0.7ms。写好程序后,下载到单片机,上电。用示波器测试一下是否正确。正确的话,进行下一步。

2.等单片机上电后,再打开开关电源,给电调上电,我们会听到电机发出“哔哔”两声,在3s钟内,按下单片机开发板上的按键,我们会听到一声比较长的“哔”声,代表设置成功。如果电机发出急促的“哔哔哔哔…”的声音,代表设置不成功,肯定是程序有问题。只要第一步做到了,这一步就不会有问题。

3.这时候,电调就设置好了。

使用步骤:

1.给单片机写程序,把刚才的PWM初始化的高电平设置为0.7ms,保证刚上电,电调不会让电机转动。然后给修改按键按下的程序,修改为,按一次按键,高电平时间增加一点点,最大增加到1.9ms。再写个按键程序,用来减速。把写好的程序下载到单片机,用示波器看看结果是否正确。不正确的话,继续修改程序。

2.给单片机上电,接着给电调上电,会听到一声“哔”的声音,代表电调准备就绪。这时候,就可以按按键来使得电机转动了。

注意:调试的时候,一定要把螺旋桨卸下,否则很容易划伤自己,说有性命之忧也不为过,因为高速旋转的螺旋桨划到脖子,就见不到明白的太阳了。四轴有风险,调试需谨慎!

通过上面的调试,我们得出结论:如果要自己设计飞控板,飞控板的单片机需要满足“硬件PWM生成模块”和“可输出4路PWM信号”。

 


关注我的微信公众号,可以第一时间看到我的文章

微信公众号科技老顽童