航模电机驱动控制

作者:nieyong

电机驱动控制就是控制电机的转动或者停止,以及转动的速度。电机驱动控制部分也叫做电子调速器,简称电调,英文electronic speed controller(ESC)。电调对应使用的电机不同,分无刷电调和有刷电调。

有刷电机的永磁体是固定不动的,线圈绕在转子上,通过电刷跟换相器接触来改变磁场方向来保持转子持续转动。无刷电机,顾名思义,这种电机是没有电刷和换相器的,他的转子是永磁体,而线圈是固定不动的,直接接到外部电源,问题就来了,线圈磁场方向怎么改变呢?事实上,无刷电机外部还需要一个电子调速器,这个调速器就是一个电机驱动,通过改变固定线圈内部电流的方向,保证它跟永磁体之间的作用力是相互排斥,持续转动得以延续。

有刷电机工作可以不需要电调,直接把电供给电机就能够工作,但是这样无法控制电机的转速。无刷电机工作必须要有电调,否则是不能转动的。必须通过无刷电调将直流电转化为三相交流电,输给无刷电机才能转动。

一般使用PWM的占空比来控制电机的转速。

Crazepony电机驱动

无刷电机的操作相对来说是比较麻烦的,而有刷电机就是我们小时候玩的四驱车上的那种电机,接上电就能猛转,反着接它就反着猛转,就是这么简单。

Crazepony使用的是有刷空心杯电机,所以电机的控制属于有刷直流电机控制,相对于无刷电调来说要简单很多。Crazepony采用的是有刷空心杯高速电机,转速在3W转/分钟左右。要驱动有刷电机,很简单,只需要将信号的驱动能力增大,就能驱动有刷电机了。

那么选择什么元件来提供这样的特性呢?Crazepony的电机驱动IC选型经历了三级管,中功率管的失败,最后选用的是场效应管(即MOSFET)SI2302。

由于笔者完全是由于一种强烈的爱好选择了飞行器,最开始连有刷电机和无刷电机的物理结构区别都不知道,电调又是啥?傻傻分不清楚……

从一个几乎零基础的状态去选择电机驱动芯片,弯路是必须要走的,学费是必须要交的。曾以为书上学到的东西马上就能用,马上能转化为产品,后来发现真的是自己想多了。

最开始用的三极管作为电机驱动,采用很经典的共射电路“三极管工作在开关状态应该就行了吧?”画了用三极管驱动的PCB板,发现电机越转越慢,根本没劲。“也许是因为三极管扛不了大电流,好吧那我换个中功率管吧,集电极最大6A电流行了吧?”可以想象结果是不行的。

首先了解下为什么三极管作为简单的电机驱动是不可取的方案: * 三极管作为一个古老的半导体先驱,它是以一个放大器件的姿态而出现的,它在线性区域特性集中,饱和与截止都是两种极端的工作状态,而作为电机驱动的话,我们只能选择它的这两种极端工作模式。 * 用三极管作为大电流负载的驱动管时,不得不考虑的是他自身的管压降对负载的影响,这是很严重的。自身耗散越来越大,电机和管子是串联关系,电池电压只有3.7V,电机就只能越转越慢了

在晶体管家族里面还有一种跟三极管特性互补的,所有特性都集中在开关状态的晶体管,场效应管,即MOSFET。通常的场效应管完全导通时,源漏极电阻都是mΩ级别的,即它自身的耗散非常小。用它做为驱动管再合适不过了。最终选择了一个SOT23封装的,导通电压Vgs<4v的场管(SI2302),结果表现出了很好的驱动性能。

每个场效应管接一个大电阻下拉,目的是为了防止在单片机没接手电机的控制权时,电机由于PWM信号不稳定开始猛转。接一个下拉电阻,保证了场管输入信号要么是高,要么是低,没有不确定的第三种状态。那么电机也只有两种状态,要么转,要么不转。主控输出的是PWM波形,用于控制场效应管的关闭和导通,从而控制电机的转动速度。这就是crazepony电机驱动的原理。就是这么简单。

无刷电调(读做tiao)

在《电机与桨叶》一文中,我们提到大四轴基本上都是使用的无刷电机,无刷电机控制必须配合无刷电调使用

无刷电调的输入是直流,通常直接接航模电池。输出是3根线,驱动无刷电机。另外无刷电调还有三根信号线,一般输入PWM信号,用于控制电机的转速。对于航模,尤其是四轴飞行器,由于其特殊性,需要专门的航模电调。

那么为什么在四轴飞行器上需要专门的电调呢,其有什么特别的地方?四轴飞行器有四个桨,两两相对呈十字交叉结构。在桨的转向上分正转和反转,这样可抵消单个桨叶旋转引起的自旋问题。每个桨的直径很小,四个桨转动时的离心力是分散的。不像直机的桨,只有一个能产生集中的离心力形成陀螺性质的惯性离心力,保持机身不容易很快的侧翻掉。所以通常航模直升机用到的电机控制信号更新频率很低,而航模四轴飞行器用到的控制信号更新频率很高。

四轴为了能够快速反应,以应对姿态变化引起的飘移,需要高反应速度的电调,常规PPM电调的更新速度只有50Hz左右,满足不了这种控制所需要的速度,且PPM电调MCU内置PID稳速控制,能对常规航模提供顺滑的转速变化特性,用在四轴上就不合适了,四轴需要的是快速反应的电机转速变化。用高速专用电调,IIC总线接口传送控制信号,可达到每秒几百上千次的电机转速变化,在四轴飞行时,姿态时刻能够保持稳定。即使受到外力突然冲击,依旧安然无恙。

对于四轴飞行器,我们一般使用无感无刷直流电机,电调利用第三相的感生电动势来测量转子位置。而对应的车模和船模,因为其电机需要频繁启动、停止、反转,而且对整套动力系统的重量也不是十分讲究,故用有感无刷电机,电调使用电机上的霍尔效应器件来检测转子的位置。

下图为车模/船模上使用的有感无刷直流电机及对应的电调,Hobbywing(好盈)公司的Quicrun系列3650型号。

BLHeli

BLHeli是一个开源的电调硬件及软件项目。BLHeli电调的完善和流行是在2015年,跟随穿越机市场的发展。BLHeli电调是电调发展的里程碑,在10-30A电调领域,打破了原来几个大的电调厂商孤立闭源的格局。现在很多老牌电调品牌都推出了支持BLHeli固件的电调。

在BLHeli开源电调以前,有一个叫做Simonk的开源电调,但是当时还不是很成熟。

由于BLHeli的硬件和软件都是开源的,所以市面上出现了很多基于BLHeli的电调。最著名的是FVT Littlebee ESC等,其中Littlebee是其中一个BLHeli固件版本的代号,一般称为小蜜蜂电调。

BLHeli电调可以通过BLHeliSuite上位机进行固件版本升级,参数修改等,非常方便。下面是该上位机的界面。

扩展阅读

  • 《无感无刷直流电机之电调设计全攻略》——笔者最早看到这份文档,来自阿莫论坛。作者是timegate 墨鸢。对四轴飞行器无刷电机/电调入门和深入都非常合适,强烈推荐。在Crazepony的百度盘中提供一份下载

  • TI公司关于电机驱动和控制解决方案