BLDC ESC 无刷直流电子调速器工作原理
1. 源由
在更好的了解控制实现之前,首先有必要了解ESC的工作原理。
搞物理同学,估计一看这些图就知道了。因为只有了解了这个底层逻辑,才能帮助更好的了解工作原理,从而发现细微之处,更深层次的理解参数特性,才能更好的进行设计。
2. Electromagnetic effect
电磁效应指的是电流产生磁场或磁场影响电流的现象。这个效应是电磁学的基础,主要包括两个方面:
-
电流产生磁场:当电流通过导体时,会在导体周围产生磁场。这个现象由奥斯特发现,称为电流的磁效应。具体来说,电流的方向决定了磁场的方向(可以用右手定则来判断)。
-
磁场对电流的作用:当一个导体处于变化的磁场中时,导体中会产生电流,这称为电磁感应。这一现象由法拉第发现,广泛应用于发电机、变压器等设备中。
在BLDC ESC设计中充分应用了这两个特性: 奥斯特磁效应 & 法拉第电磁感应
3. BLDC commutation(换向)
电流流过线圈形成磁极,这个电磁极一直吸引着永磁体,从而中间的转子就跟着旋转起来,电机也就运动了。只要保持正确的时间使能电磁极,就能始终让转子朝一个方向旋转,此时,电能转换成动能+热能( I 2 R I^2R I2R)。
4. Feedback for commutation(换向)
换向的反馈部件通常有以下四种:
- Resolver
- Optical Encoder
- Hall-effect
- BEMF, Back ElectroMotive Force
- 正弦波
- 梯形波
Faraday’s Law V B E M F = − N Δ ( B ∗ A ) Δ t = ω ∗ K e ∗ sin ( θ + φ ) V_{BEMF} = -N \frac {\Delta (B*A)} {\Delta t} = \omega * K_e * \sin (\theta + \varphi) VBEMF=−NΔtΔ(B∗A)=ω∗Ke∗sin(θ+φ)
- N: number of turns
- Δ ( B ∗ A ) \Delta (B*A) Δ(B∗A): change in magnetic field
- A: Area
- Δ t \Delta t Δt: change in time
- K e K_e Ke: motor BEMF constant in mV/Hz
- θ \theta θ: rotor angle
- ω \omega ω: motor speed in Hz
- φ \varphi φ: offset of phase
注:因为这里主要讲BLDC ESC采用BEMF用于飞控的场景,所以后面将会围绕BEMF展开。
5. Detect phase & position from BEMF
BEMF通常是3相6各阶段,如下图所示:
当B/C相按如下方向通电,引导永久磁芯旋转;A相不通电,但是由于切割磁力线,发生法拉第效应,产生BEMF。
通过模拟电路可以如下方式获取BEMF电动势。
根据公式,通过当前BEMF电动势大小可以映射到当前rotor
角度,即进行了转子定位。
6. Control circurity design
控制电路的逻辑上主要处理以下两个大问题:
- 驱动ABC相,吸引磁极运动
- 控制门电路,检测传感信号
大体上,控制逻辑通过MOSFET进行门电路控制导通
现实AM32设计框图参考:
由于是大功率、大电流设计,还需要考虑一些额外的保护:
- Over current protection (OCP)
- Thermal shutdown
- Uder-Voltage lock-out (UVLO)
- Shoot Through
- Lock detect
- Anti-Voltage surge (AVS)
7. 参考资料
【1】BLDC ESC 无刷直流电子调速器简介
【2】AM32开源代码之工程结构
8. 补充
8.1 Motor Winding
8.2 Mechanical v.s. Electrical cycle
- Mechanical cycle: Time for the motor to travel one full revolution
- Electrical cycle: Time for the rotor to pass a pair of poles
m
e
c
h
a
n
i
c
a
l
c
y
c
l
e
=
e
l
e
c
t
r
i
c
a
l
c
y
c
l
e
∗
#
o
f
p
o
l
e
p
a
i
r
s
{mechanical cycle} = {electrical cycle} * {\# of pole pairs}
mechanicalcycle=electricalcycle∗#ofpolepairs
m
e
c
h
a
n
i
c
a
l
s
p
e
e
d
=
e
l
e
c
t
r
i
c
a
l
s
p
e
e
d
#
o
f
p
o
l
e
p
a
i
r
s
{mechanical speed} = \frac{electrical speed} {\# of pole pairs}
mechanicalspeed=#ofpolepairselectricalspeed