查看原文
其他

BLDC驱动入门最简教程

菜刀和小麦 小麦大叔 2022-10-21

大家好,我是小麦,最近这段时间,成功地做了一个项目,是基于BLDC的无感方波驱动的一个产品,在这里顺便总结和分享一下BLDC的驱动原理。

有刷直流电机

BLDC(brushless DC electric motor)全称是无刷直流电机。在介绍BLDC之前,这里就不得不说一下有刷直流电机,然后带着问题再看什么是直流无刷电机。

结构

有刷直流电机发明于 19 世纪,现在应用仍然很普遍,相比较于无刷直流电机,它的结构会更加复杂,通常电机内部结构的组件都包括转子和定子;

  • 转子就是旋转的;
  • 定子就是固定的;

然后其中一个可能是永磁体,就是那种加入稀土等材料然后可以保持长期磁性的物质;

而另一个就是线圈绕组,经过交变电流之后,会产生变化的磁场,从而推动电机的转子进行旋转。

下面是我小时候玩的四驱车里拆下来的电机;

玩具四驱车的电机
内部结构图

原理

小时候拆过的小伙伴请举手,好,言归正传,下面是一个简单的两极有刷直流电机的模型,我们来简单分析一下它的旋转原理;

状态一

首先这里的转子是励磁绕组,正如前面提到的,就是线圈绕组,但是它如何通过交变电流呢,正是通过这个换向器,图1 中金黄色的器件,

假设我们给线圈通电,这时候会在电枢周围产生磁场。由于同极相斥,电枢的左侧被推离左侧,电枢的右侧被拉向右侧,从而导致转子旋转。

这里电枢是转子,而永磁体是定子,其中用蓝色表示N极,红色表示S极;

状态二

电枢继续旋转。当电枢与水平垂直时,即电枢产生的磁场与永磁体产生的磁场垂直,换向器反转改变了通过线圈的电流方向,使磁场反转。因此转子可以继续旋转。

状态三

重复以上过程,转子就开始旋转了,如下图所示;

旋转过程

其实最简单的运行原理看下图就很清晰了,如果我们换一个更大的电池(电压更高),这个线圈可能会转的更快;

线圈旋转

所以有刷直流电机可以很简单地转动起来,因为电机内部已经帮你做好了换向的工作,所以通常可以进行升压和降压调速,通常这里的做法是PWM,加上功率元器件,实现弱电控制强电,这有一部分属于电力电子的范畴了。

最常经常使用的就是H桥驱动电路了,可以简单的控制电机的正转和反转,还能通过控制PWM的占空比进行调速,整体电路如下所示;

H桥电路

有刷直流电机虽然换相简单,控制简单,但是结构相对复杂,并且在换相的时候,容易产生火花。

大家想象一下,把插头插入插座的时候,是不是会产生火花?是的,就是这种换相开关瞬间产生的火花,可能会损坏电刷,所以它的维护成本就直线上升了。

好了,差不多搞清楚直流有刷电机之后,可以看看直流无刷电机到底和它有什么相同和不同的地方呢

无刷直流电机

直流无刷电机从结构上,比直流有刷电机少了电刷和换向器,所以内部结构无法自己完成换相的操作,因此就需要外部驱动信号进行换向。

这里我们还是从内部结构作为切入点,对其驱动时序进行分析,结果就会变得清晰起来。

结构

如下图所示,在四轴飞行器或者一些航模上,都能看到这种类型的直流无刷电机,它通常有三条线,UVW,当然航模上还需要配置一个电调(ESC)——作为电机的驱动器。

这里的电调往往有两种驱动方式,六步方波,或者FOC驱动,下面主要对六步方波驱动方式进行分析。

无刷直流电机

我们先看一下直流无刷的内部结构,通常是这样的,这里由定子和转子构成,是电枢绕组,转子是永磁体;两对极电机,分别是U1V1W1U2V2W2,后面我们会进一步进行介绍。具体如下图示;

2对极BLDC内部结构

图中的电机的定子是电枢绕组在通过交变电流的时候,会产生磁场,电枢的材料是铁芯,可以导磁,这样可以增大磁场的强度,磁场的方向取决于电流的方向,具体可以根据右手螺旋定则来判断,如下图所示;

右手螺旋定则

换相原理

这里我们简单介绍一下转子旋转的过程,即无刷直流电机的换相原理:

  1. 首先我们对电枢绕组施加适当大小的电流,线圈将产生一个磁场,该磁场将吸引转子的永磁体;

  2. 如果我们一个接一个地激活每个线圈,这样可以产生一个旋转的磁场,由于永磁体和电磁体之间的力相互作用,转子将在旋转的磁场作用下继续旋转。

具体如下图所示;

旋转磁场

但是上面提到,这里是两对极的直流无刷电机,那么为了提高电机的效率,我们可以将两个相反的线圈组成一个绕组,这样会产生与转子极相反的磁极,从而获得双倍的磁场的力。

共同通电

初步了解了内部的结构和通电机制之后,我们就需要产生相应的驱动信号去产生旋转的磁场,带动转子转动。如下图所示,这是一个简单的驱动的架构;

通常我们会在MCU中会固化一段代码,这段代码可以产生驱动信号;然后驱动信号通过IPM间接驱动六个功率开关元器件(这里可以是MOSFET),从而产生旋转的磁场。

电机模型可以等效成三个星型连接的电感,所以我们需要做的工作就是如何去产生驱动信号。

这个驱动信号又符合什么样的规律呢?下面我们进一步介绍驱动信号。

硬件架构图

这里其实是一种两两通电的方式。如果我们将 A 相上拉至高电平,然后在另一侧将 B 相接地,则电流将从 VCC 流过A 相,中性点和 B 相,最终流向地。

因此,只需一个电流,我们就可以产生了四个不同的磁极,从而导致转子移动,内部的电流走向如下图所示;

两两通电的情况

其实电机内部一般可以等效成一个星型的连接方式,ABC三相的中性点连接在一起,外部通过MOSFET或者IGBT组成功率开关元器件,进行控制,所以这里也可以说明无刷直流电机,通常有UVW三条线引出来。

两两通电的其中一种状态如下图所示,此时的状态可以标注为a+b-c0,下面我们会进一步进行解释;

两两通电外部结构图

首先规定一下我们的驱动电路的相应符号:

  • 使用SW1SW2作为一个上下管驱动U,或者是a
  • 使用SW3SW4作为一个上下管驱动V,或者是b
  • 使用SW5SW6作为一个上下管驱动W,或者是c

然后我们在这里规定:上管打开标记为+,下管打开标记为-,上下管都不开标记为0

最终让转子朝一个方向旋转的驱动时序应该是这样的:

  1. a+b-c0
  2. a+b0c-
  3. a0b+c-
  4. a-b+c0
  5. a-b0c+
  6. a0b-c+

具体如下图示:

六步方波

驱动的六步方波时序正确之后,我们基本可以实现对无刷直流电机的开环控制驱动了;

具体的驱动时序可以简单画一下,对于每一相而言都需要六步的驱动时序,然后两相之间的相位相差120°

例如A相的六步相序需要比B相超前120°,B相需要比C相超前120°,

整体应该如下图所示;

驱动信号时序

下面是我实际过程中测试的上管的方波驱动信号,可以和A相,B相,C相的信号对应起来。

实测波形

闭环控制

实现开环运行之后,就要进行闭环控制了,首先有一点需要说明的是,前面的六步PWM时序,并没有根据转子的实际位置进行磁场的切换,所以可能出现的情况,就是失步,这个有点类似步进电机。

结论就是实际磁场旋转的速度可能远快于转子旋转的速度,导致磁场的旋转速度和转子不同步,所以就造成了失步。

如果这里引入转子的位置反馈量,就可以完美的解决这个问题,所以通常会加入霍尔传感器来检测实际的转子位置。

无刷直流电机内的霍尔传感器

转子处于不同位置的时候霍尔传感器会产生相应的信号,并且还可以根据霍尔信号计算转速,作为后面速度闭环的反馈值,霍尔信号具体如下图所示;

霍尔信号

一般来说增加了霍尔传感器,在成本和电机的结构复杂程度上都会大大增加,所以,这里可以通过检测每一相的反电动势(Back EMF),来进行位置的估算以及速度的计算。

无刷直流电机的反电动势是梯形反电动势,具体如下图所示;

反电动势

无感方波的驱动方式难点在于启动和过零点的检测上,通常启动可以使用三段式启动的方式,即转子预定位,开环强拖,开环切闭环,这三个过程。

另外还可以进行高频注入的方式确定转子的初始位置,然后直接进行启动,在过零点的检测和换相存在一定的难度。

结论

本文简单介绍了有刷直流电机和无刷直流电机的结构和原理,以及各自的优势。进一步介绍了无刷直流电机的六步方波驱动原理,简单提及了闭环控制中一些注意点。作者水平有限,文中难免存在不足和错误之处,请各位大佬不吝赐教。

好的,这期就先到这里,我们下期再见。

参考:

《无刷直流电机控制应用-基于STM8S系列单片机 - 李家庆》

https://en.wikipedia.org/wiki/Brushless_DC_electric_motor

—— The End —

推荐好文  

微控制器,RTOS,物联网之间有什么联系?

2021-06-16

深究:预编译指令的点点滴滴

2021-06-13

这个Keil的小技巧,你知道吗?

2021-05-23

Sourcetail 一款代码编辑神器,让看源码如丝般顺滑

2021-05-19


原创不易,欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!




长按识别二维码关注我



你点的每个好看,我都认真当成了喜欢

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存