风筝
发表于: 2019-8-13 18:59:13 | 显示全部楼层

在本篇文章中,我们将学习无刷电机和ESC的工作原理。该内容包含两部分,本文是第一部分,我们将学习无刷直流电机和ESC(电子速度控制器)的工作原理,第二部分我们将学习如何使用Arduino控制BLDC无刷直流电机。


无刷直流电机的工作过程

BLDC电机由两个主要部分组成,定子和转子。如下图所示,转子是具有两个极的永磁体,而定子由如下图所示布置的线圈组成。

Brushless-motor-main-parts-a-stator-and-a-rotor.png

无刷电机主要部件 - 定子和转子


我们都知道,如果通过线圈施加电流,它将产生磁场,磁场线或磁极取决于电流方向。

Magnetic-field-generated-by-current-running-through-a-coil.png

电流通过线圈产生的磁场


因此,如果我们施加适当的电流,线圈将产生将吸引转子永磁体的磁场。现在,如果我们一个接一个地激活每个线圈,由于永磁体和电磁体之间的力相互作用,转子将保持旋转。

Force-interaction-between-permanent-and-electromagnet-in-BLDC-Motor.png

BLDC电机中永磁体和电磁体之间的力相互作用


为了提高电动机的效率,我们可以将两个相对的线圈作为单个线圈缠绕,从而产生与转子极相反的极,从而我们将获得双吸引力。

Brushless-motor-coils-electromagnets-force-interaction.png

无刷电机线圈电磁铁强制相互作用


通过这种配置,我们可以在定子上产生仅有三个线圈或相位的六极。我们可以通过同时激励两个线圈来进一步提高效率。以这种方式,一个线圈将吸引而另一个线圈将排斥转子。

BLDC-motor-working-principle.png

BLDC电机工作原理


为了使转子完全旋转360度,需要六个步骤或间隔。

BLDC-Motor-current-waveform.png

BLDC电机电流波形


如果我们看一下电流波形,我们可以注意到,在每个间隔中,有一个相带正电流,一个相带负电流,第三个相关闭。这给出了我们可以将三相中的每一相的自由端点连接在一起的想法,因此我们可以在它们之间共享电流或者使用单个电流同时激励两相。


以下是一个例子。如果我们将A相拉高,或将其连接到正DC电压,使用某种开关(例如MOSFET),另一侧将B相连接到地,则电流将从VCC流过,通过A相、中性点和B相接地。因此,只需一个电流,我们就会产生四个不同的极点,这些极点会导致转子移动。

Generating-4-magnetic-poles-with-just-a-single-current-flow.png

仅用一个电流产生4个磁极 - 无刷电机工作原理


通过这种配置,我们实际上有一个电机相的星形连接,其中中性点在内部连接,而相的另外三个端从电机出来,这就是为什么无刷电机有三根电线从它出来。

Brushless-motor-star-connection.png

无刷电机星形连接


因此,为了使转子完全循环,我们只需要在6个间隔的每一个中激活正确的两个MOSFET,这就是ESC实际上的全部内容。


ESC(电子速度控制器)如何工作

ESC或电子速度控制器通过激活适当的MOSFET来控制无刷电机的运动或速度,从而产生旋转磁场,从而使电机旋转。 ESC经过6个间隔的频率越高或越快,电机的速度就越高。

How-does-an-ESC-Work-Electronic-Speed-Controller.png

ESC如何工作 - 电子速度控制器


然而,这里有一个重要的问题,那就是我们如何知道何时激活哪个相位。答案是我们需要知道转子的位置,并且有两种常用的方法来确定转子位置。


第一种常用方法是使用嵌入定子中的霍尔效应传感器,彼此相等地布置120或60度。

Brushless-motor-rotor-position-using-Hall-effect-sensors.png

使用霍尔效应传感器的无刷电机转子位置


当转子永磁体旋转时,霍尔效应传感器感测磁场并为一个磁极产生逻辑“高”,或者为相反极产生逻辑“低”。根据该信息,ESC知道何时激活下一个换向顺序或间隔。


用于确定转子位置的第二种常用方法是通过检测反电动势或反电动势。反电动势由于产生磁场的完全相反的过程而发生,或者当移动或变化的磁场通过线圈时,它在线圈中感应出电流。

Back-EMF-in-Brushless-motor.png

无刷电机中的反电动势


因此,当转子的移动磁场通过自由线圈或者未激活的线圈时,它将在线圈中引起电流流动,结果在该线圈中将发生电压降。 ESC在发生这些电压降时捕获这些电压降,并根据它们预测或计算何时应发生下一个间隔。


这就是无刷直流电机和电调的基本工作原理,即使我们增加转子和定子的极数也是一样的。我们仍然会有一个三相电机,只有间隔的数量会增加才能完成一个完整的循环。

3-Phase-BLDC-Motor-Working-Principle.png


在这里我们还可以提到BLDC电机可以是内转子(inrunner)或外转子(outrunner)。内转子无刷电机在电磁铁内部具有永磁体,反之亦然,外转子无刷电机在电磁铁外部具有永磁体。同样,他们使用相同的工作原理,每个都有自己的优点或缺点。

Inrunner-vs-outrunner-brushless-motor.png


好吧,理论知识差不多了,所以现在让我们在现实生活中展示和看到我们上面解释的内容。为此,我们将无刷电机的三相连接到示波器。我在一个点连接了3个电阻器以形成虚拟中性点,而在另一侧我将它们连接到BLDC电机的三个相位。

connecting-a-brushless-motor-to-an-oscillocope.jpg

将无刷电机连接到示波器我们在这里首先要注意的是三个正弦波。这些正弦波实际上是在它们不活动时在阶段中产生的反电动势EFM。

BLDC-motor-Phases-and-Back-EMF-displayed-on-an-Oscilloscope.jpg

在示波器上显示BLDC电机相位和反电动势


我们可以看到,当我们改变电机的转速时,正弦波的频率会发生变化,并且它们的幅度也会发生变化。 RPM越高,反电动势正弦波的频率和幅度越高。然而,驱动电动机的实际上是这些峰值,它们是产生变化磁场的有效相位。

BLDC-motor-phases-activations-displayed-on-a-Rigol-DS1054Z-Oscilloscope.jpg

Rigol DS1054Z示波器上显示BLDC电机相位激活


我们可以注意到,在每个间隔,有两个活动相位和一个非活动相位。例如,这里我们有A相和B相激活,而C相无效。然后我们将相位A和C激活,而相位B不激活,依此类推。


本文使用的是Rigol DS1054Z入门级示波器。它有四个输入通道,50MHz带宽,可以达到100MHz,它的采样率为1GSa / s,相对较大的存储深度为24Mpts。

Rigol-DS1054Z-SPI-and-I2C-decoding.jpg

Rigol DS1054Z SPI和I2C解码


以上就是无刷电机的基本工作原理。如果您想要一些更真实的实例并学习如何使用Arduino控制电机,您可以查看本文的第二部分。

Controlling-brushless-motor-using-Arduino-and-ESC.jpg

使用Arduino和ESC控制无刷电机


希望您能喜欢本篇文章并学到新的东西。如果遇到问题,请随时在本帖下面进行回复。

跳转到指定楼层
唐朝古都
发表于: 2022-4-7 20:56:33 | 显示全部楼层

你可真是一个可爱
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-25 16:15 , Processed in 0.038508 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表