BLDC驱动入门简易教程
有刷直流电机
BLDC(brushless DC electric motor)全称是无刷直流电机。在介绍BLDC之前,这里就不得不说一下有刷直流电机,然后带着问题再看什么是直流无刷电机。
结构有刷直流电机发明于 19 世纪,现在应用仍然很普遍,相比较于无刷直流电机,它的结构更加简单,通常电机内部结构的组件都包括转子和定子;
转子就是旋转的;定子就是固定的;然后其中一个可能是永磁体,就是那种加入稀土等材料然后可以保持长期磁性的物质;
而另一个就是线圈绕组,经过交变电流之后,会产生变化的磁场,从而推动电机的转子进行旋转。
下面是我小时候玩的四驱车里拆下来的电机;
原理小时候拆过的小伙伴请举手,好,言归正传,下面是一个简单的两极有刷直流电机的模型,我们来简单分析一下它的旋转原理;
首先这里的转子是励磁绕组,正如前面提到的,就是线圈绕组,但是它如何通过交变电流呢,正是通过这个换向器,图1 中金黄色的器件,
假设我们给线圈通电,这时候会在电枢周围产生磁场。由于同极相斥,电枢的左侧被推离左侧,电枢的右侧被拉向右侧,从而导致转子旋转。
这里电枢是转子,而永磁体是定子,其中用蓝色表示N极,红色表示S极;
电枢继续旋转。当电枢与水平垂直时龙虎斗赌博,即电枢产生的磁场与永磁体产生的磁场垂直,换向器反转改变了通过线圈的电流方向,使磁场反转。因此转子可以继续旋转。
重复以上过程,转子就开始旋转了,如下图所示;
其实最简单的运行原理看下图就很清晰了,如果我们换一个更大的电池(电压更高),这个线圈可能会转的更快;
所以有刷直流电机可以很简单地转动起来,因为电机内部已经帮你做好了换向的工作,所以通常可以进行升压和降压调速,通常这里的做法是PWM,加上功率元器件,实现弱电控制强电,这有一部分属于电力电子的范畴了。
最常经常使用的就是H桥驱动电路了,可以简单的控制电机的正转和反转,还能通过控制PWM的占空比进行调速,整体电路如下所示;
有刷直流电机虽然换相简单,控制简单,但是结构相对复杂,并且在换相的时候,容易产生火花。
大家想象一下,把插头插入插座的时候,是不是会产生火花? 是的,就是这种换相开关瞬间产生的火花,可能会损坏电刷,所以它的维护成本就直线上升了。
好了,差不多搞清楚直流有刷电机之后,可以看看直流无刷电机到底和它有什么相同和不同的地方呢?
无刷直流电机
直流无刷电机从结构上,比直流有刷电机少了电刷和换向器,所以内部结构无法自己完成换相的操作,因此就需要外部驱动信号进行换向。
这里我们还是从内部结构作为切入点,对其驱动时序进行分析,结果就会变得清晰起来。
结构如下图所示,在四轴飞行器或者一些航模上,都能看到这种类型的直流无刷电机,它通常有三条线,U,V,W,当然航模上还需要配置一个电调(ESC)——作为电机的驱动器。
这里的电调往往有两种驱动方式,六步方波,或者FOC驱动,下面主要对六步方波驱动方式进行分析。
我们先看一下直流无刷的内部结构,通常是这样的,这里由定子和转子构成,是电枢绕组,转子是永磁体;两对极电机,分别是U1,V1,W1,U2,V2,W2,后面我们会进一步进行介绍。具体如下图示;
图中的电机的定子是电枢绕组在通过交变电流的时候,会产生磁场,电枢的材料是铁芯,可以导磁,这样可以增大磁场的强度,磁场的方向取决于电流的方向,具体可以根据右手螺旋定则来判断,如下图所示;
换相原理这里我们简单介绍一下转子旋转的过程,即无刷直流电机的换相原理:
首先我们对电枢绕组施加适当大小的电流,线圈将产生一个磁场,该磁场将吸引转子的永磁体;
如果我们一个接一个地激活每个线圈,这样可以产生一个旋转的磁场,由于永磁体和电磁体之间的力相互作用,转子将在旋转的磁场作用下继续旋转。
具体如下图所示;
但是上面提到,这里是两对极的直流无刷电机,那么为了提高电机的效率,我们可以将两个相反的线圈组成一个绕组,这样会产生与转子极相反的磁极,从而获得双倍的磁场的力。
初步了解了内部的结构和通电机制之后,我们就需要产生相应的驱动信号去产生旋转的磁场,带动转子转动。如下图所示,这是一个简单的驱动的架构;
通常我们会在MCU中会固化一段代码,这段代码可以产生驱动信号; 然后驱动信号通过IPM间接驱动六个功率开关元器件(这里可以是MOSFET),从而产生旋转的磁场。
电机模型可以等效成三个星型连接的电感,所以我们需要做的工作就是如何去产生驱动信号。
这个驱动信号又符合什么样的规律呢?下面我们进一步介绍驱动信号。
这里其实是一种两两通电的方式。如果我们将 A 相上拉至高电平,然后在另一侧将 B 相接地,则电流将从 VCC 流过A 相,中性点和 B 相,最终流向地。
因此,只需一个电流,我们就可以产生了四个不同的磁极,从而导致转子移动,内部的电流走向如下图所示;
其实电机内部一般可以等效成一个星型的连接方式,A,B,C三相的中性点连接在一起,外部通过MOSFET或者IGBT组成功率开关元器件,进行控制,所以这里也可以说明无刷直流电机,通常有U,V,W三条线引出来。
两两通电的其中一种状态如下图所示,此时的状体可以标注为a+,b-,c0,下面我们会进一步进行解释;
首先规定一下我们的驱动电路的相应符号:
使用SW1和SW2作为一个上下管驱动U,或者是a;使用SW3和SW4作为一个上下管驱动V,或者是b;使用SW5和SW6作为一个上下管驱动W,或者是c;然后我们在这里规定:上管打开标记为+,下管打开标记为-,上下管都不开标记为0。
最终让转子朝一个方向旋转的驱动时序应该是这样的:
a+,b-,c0a+,b0,c-a0,b+,c-a-,b+,c0a-,b0,c+a0,b-,c+具体如下图示:
驱动的六步方波时序正确之后,我们基本可以实现对无刷直流电机的开环控制驱动了;
具体人驱动时序,如果画一下的话,对于每一相都是六步的驱动时序,然后两相之间的相位相差120°。
例如A相的六步相序需要比B相超前120°,B相需要比C相超前120°,
整体应该如下图所示;
下面是我实际过程中测试的上管的方波驱动信号;
闭环控制实现开环运行之后,就要进行闭环控制了,首先有一点需要说明的是,前面的六步PWM时序,并没有根据转子的实际位置进行磁场的切换,所以可能出现的情况,就是失步,这个有点类似步进电机。
结论就是实际磁场旋转的速度可能远快于转子旋转的速度,导致磁场的旋转速度和转子不同步,所以就造成了失步。
如果这里引入转子的位置反馈量,就可以完美的解决这个问题,所以通常会加入霍尔传感器来检测实际的转子位置。
转子处于不同位置的时候霍尔传感器会产生相应的信号,并且还可以根据霍尔信号计算转速,作为后面速度闭环的反馈值,霍尔信号具体如下图所示;
一般来说增加了霍尔传感器,在成本和电机的结构复杂程度上都会大大增加,所以,这里可以通过检测每一相的反电动势(Back EMF),来进行位置的估算以及速度的计算。
无刷直流电机的反电动势是梯形反电动势,具体如下图所示;
无感方波的驱动方式难点在于启动和过零点的检测上,通常启动可以使用三段式启动的方式,即转子预定位,开环强拖,开环切闭环,这三个过程。
另外还可以进行高频注入的方式确定转子的初始位置,然后直接进行启动,在过零点的检测和换相存在一定的难度。
结论
本文简单介绍了有刷直流电机和无刷直流电机的结构和原理,以及各自的优势。进一步介绍了无刷直流电机的六步方波驱动原理,简单提及了闭环控制中一些注意点。作者水平有限,文中难免存在不足和错误之处,请各位大佬不吝赐教。
参考:
《无刷直流电机控制应用-基于STM8S系列单片机 - 李家庆》
https://en.wikipedia.org/wiki/Brushless_DC_electric_motor
码字不易,三连鼓励一下, @小麦大叔