BLDC ESC 无刷直流电子调速器工作原理

BLDC ESC 无刷直流电子调速器工作原理

  • [1. 源由](#1. 源由)
  • [2. Electromagnetic effect](#2. Electromagnetic effect)
  • [3. BLDC commutation(换向)](#3. BLDC commutation(换向))
  • [4. Feedback for commutation(换向)](#4. Feedback for commutation(换向))
  • [5. Detect phase & position from BEMF](#5. Detect phase & position from BEMF)
  • [6. Control circurity design](#6. Control circurity design)
  • [7. 参考资料](#7. 参考资料)
  • [8. 补充](#8. 补充)
    • [8.1 Motor Winding](#8.1 Motor Winding)
    • [8.2 Mechanical v.s. Electrical cycle](#8.2 Mechanical v.s. Electrical cycle)

1. 源由

在更好的了解控制实现之前,首先有必要了解ESC的工作原理。

搞物理同学,估计一看这些图就知道了。因为只有了解了这个底层逻辑,才能帮助更好的了解工作原理,从而发现细微之处,更深层次的理解参数特性,才能更好的进行设计。

2. Electromagnetic effect

电磁效应指的是电流产生磁场或磁场影响电流的现象。这个效应是电磁学的基础,主要包括两个方面:

  1. 电流产生磁场:当电流通过导体时,会在导体周围产生磁场。这个现象由奥斯特发现,称为电流的磁效应。具体来说,电流的方向决定了磁场的方向(可以用右手定则来判断)。

  2. 磁场对电流的作用:当一个导体处于变化的磁场中时,导体中会产生电流,这称为电磁感应。这一现象由法拉第发现,广泛应用于发电机、变压器等设备中。

在BLDC ESC设计中充分应用了这两个特性: 奥斯特磁效应 & 法拉第电磁感应

3. BLDC commutation(换向)

电流流过线圈形成磁极,这个电磁极一直吸引着永磁体,从而中间的转子就跟着旋转起来,电机也就运动了。只要保持正确的时间使能电磁极,就能始终让转子朝一个方向旋转,此时,电能转换成动能+热能( I 2 R I^2R I2R)。

4. Feedback for commutation(换向)

换向的反馈部件通常有以下四种:

  1. Resolver
  2. Optical Encoder
  3. Hall-effect
  1. 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

控制电路的逻辑上主要处理以下两个大问题:

  1. 驱动ABC相,吸引磁极运动
  2. 控制门电路,检测传感信号

大体上,控制逻辑通过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

相关推荐
嵌入(师)16 小时前
嵌入式驱动开发详解1(系统调用)
驱动开发
昵称p16 小时前
杂项驱动开发
驱动开发·gpio子系统·杂项驱动开发
7yewh21 小时前
嵌入式硬件杂谈(四)-高速板PCB设计 高速信号全面讲解 蛇形线 等长线 差分对 阻抗对
驱动开发·嵌入式硬件·mcu·物联网·硬件工程·pcb工艺·精益工程
lishing61 天前
Linux驱动开发(9):pinctrl子系统和gpio子系统--led实验
linux·运维·驱动开发
lishing61 天前
Linux驱动开发(7):使用设备树实现RGB 灯驱动
linux·驱动开发
TeYiToKu2 天前
笔记整理—linux驱动开发部分(13)块设备
linux·c语言·驱动开发·笔记·嵌入式硬件·arm
网易独家音乐人Mike Zhou2 天前
【Linux驱动开发】irq中断配置API及中断应用 阻塞休眠和非阻塞的驱动操作
linux·c语言·驱动开发·stm32·单片机·mcu·iot
believe、悠闲2 天前
GetVolumeInformation函数使用记录
c++·windows·驱动开发
不怕犯错,就怕不做2 天前
修复kernel编译栈帧大小异常问题error: the frame size of 1928 bytes is larger than 1024 bytes
linux·arm开发·驱动开发
bigbig猩猩2 天前
Gin 框架中的表单处理与数据绑定
驱动开发·gin