电机驱动开发学习3. 驱动原理与相关电路
- 一、原理图介绍
-
- [1. 电机驱动板实物图](#1. 电机驱动板实物图)
-
- [1. 编码器接入口](#1. 编码器接入口)
- [2. 单片机控制与采集信号](#2. 单片机控制与采集信号)
- [3. 温度传感器接入口](#3. 温度传感器接入口)
- [4. 电机控制信号接出口](#4. 电机控制信号接出口)
- 二、驱动原理解析
一、原理图介绍
- 本系列博文使用的驱动板是野火无刷电机驱动板(20220514版本)。
- 本系列博文使用的是野火F407骄阳开发板。
- 本博文部分资源摘自野火官方《电机应用开发指南》。
1. 电机驱动板实物图

- 最高功率:700W
- 有四处接线口。
1. 编码器接入口

2. 单片机控制与采集信号

3. 温度传感器接入口

4. 电机控制信号接出口

二、驱动原理解析
1. 三相六臂全桥驱动电路

三相六臂全桥(Three-Phase Six-Arm Full Bridge)是驱动无刷直流电机的核心功率电路。所谓"三相"对应电机 U、V、W 三相绕组;所谓"六臂"是指每一相各有一对上下桥臂 MOSFET,共 6 个功率管,组成 3 个半桥,再级联成全桥结构。
基本拓扑
电路由 3 个半桥组成,每相包含:
- 上桥臂(高侧):接电源正极,负责将绕组一端拉高
- 下桥臂(低侧):接电源负极,负责将绕组一端拉低
原理图中 6 个 MOSFET 通常记为 Q1~Q6,对应关系如下:
| 桥臂 | 对应相 | 作用 |
|---|---|---|
| Q1 | U+ | U 相上桥臂 |
| Q2 | U- | U 相下桥臂 |
| Q3 | V+ | V 相上桥臂 |
| Q4 | V- | V 相下桥臂 |
| Q5 | W+ | W 相上桥臂 |
| Q6 | W- | W 相下桥臂 |
任意时刻只有两相通电、一相悬空,电流从电源正极经一个上桥臂流入电机绕组,再经另一个下桥臂流回负极,从而在定子中产生旋转磁场,驱动转子转动。
六拍换相示意
以六步换相(120° 换相)为例,依次导通不同的 MOS 管对,完成一个电周期的驱动:
| 步骤 | 导通管 | 电流路径 | 说明 |
|---|---|---|---|
| 1 | Q1、Q4 | U → V | U+ 与 V- 导通 |
| 2 | Q5、Q4 | W → V | W+ 与 V- 导通 |
| 3 | Q5、Q2 | W → U | W+ 与 U- 导通 |
| 4 | Q3、Q2 | V → U | V+ 与 U- 导通 |
| 5 | Q3、Q6 | V → W | V+ 与 W- 导通 |
| 6 | Q1、Q6 | U → W | U+ 与 W- 导通 |
例如第 1 步导通 Q1 和 Q4、其余截止时,电流从 Q1 流经 U 相绕组,再从 V 相绕组经 Q4 回到负极,转子便旋转到下一个位置。控制器根据霍尔传感器或估算的转子位置查表换相,即可让电机持续旋转。
两个必须注意的问题
1. 不能长时间保持同一导通状态
按真值表导通 MOS 管后若不再换相,转子会停在某个位置,此时电能几乎全部转化为绕组发热。绕组内阻很小,电流会很大,可能烧毁电源或电机。
2. 严禁上下桥臂直通(Shoot-Through)
同一相的上、下桥臂绝不能同时导通 ,否则电源正负极被直接短接,会瞬间烧毁 MOS 管或电源。实际电路中通过死区时间 和硬件互锁来防止这种情况。
2. 霍尔传感器测转子位置

六步换相必须知道转子当前处于哪个扇区,才能决定导通哪一对 MOS 管。电机静止时转子位置未知,需要位置传感器提供换相依据。野火配套无刷电机内置 3 个开关型霍尔传感器,驱动板原理图中的霍尔接口电路负责为传感器供电,并将位置信号传递给主控板。
霍尔传感器只需提供离散的扇区信息(不需要连续角度),恰好满足六步换相的需求:
- 转子每转过 60° 电角度,至少有一路霍尔信号翻转
- 3 路信号组合成 3 位二进制码,共有 8 种状态,其中 6 种有效、2 种无效(扇区边界)
- 控制器读取霍尔值后查换相表,即可驱动三相全桥完成换相
霍尔效应与输出特性
霍尔传感器基于霍尔效应:载流半导体处于磁场中时,载流子受洛伦兹力偏转,在垂直于电流和磁场的方向产生电势差(霍尔电势)。
开关型霍尔传感器的输出逻辑如下:
- N 极靠近并超过阈值 → 输出高电平(或低电平,取决于传感器极性)
- N 极逐渐远离 → 输出保持原状态(磁滞特性)
- 磁场变为 S 极并超过阈值 → 输出翻转
因此,在 N、S 极交替经过时,单路霍尔输出方波,高、低电平各占约 50%。
三相霍尔的安装方式
三相 BLDC 电机通常在定子侧沿圆周均匀安装 3 个霍尔传感器,常见两种布局:
| 安装方式 | 传感器间隔 | 波形特点 |
|---|---|---|
| 120° 布局 | 相邻传感器相隔 120° 电角度 | 三路信号相位差 120°,每路占空比 50% |
| 60° 布局 | 相邻传感器相隔 60° 电角度 | 波形更密集,同样可得到 6 个有效扇区 |
规定高电平为 1、低电平为 0,三路信号组成一个 3 位二进制数。转子每转过一个电周期(一对磁极),霍尔组合状态按固定顺序变化 6 次,与六步换相一一对应。
一对极电机:转子转一圈,每路霍尔输出 1 个周期;两对极电机则输出 2 个周期。
霍尔状态与换相真值表
配套野火无刷电机的霍尔真值表如下(以 A=U、B=V、C=W 相为例)。检测到对应霍尔值后,仅导通表中标注的桥臂,其余 MOS 管全部关断:
逆时针旋转:
| 霍尔 U (a) | 霍尔 V (b) | 霍尔 W © | 导通桥臂 |
|---|---|---|---|
| 0 | 0 | 1 | V-、W+ |
| 1 | 0 | 1 | U+、V- |
| 1 | 0 | 0 | U+、W- |
| 1 | 1 | 0 | V+、W- |
| 0 | 1 | 0 | U-、V+ |
| 0 | 1 | 1 | U-、W+ |
顺时针旋转:
| 霍尔 U (a) | 霍尔 V (b) | 霍尔 W © | 导通桥臂 |
|---|---|---|---|
| 0 | 0 | 1 | V-、W+ |
| 1 | 0 | 1 | U-、W+ |
| 1 | 0 | 0 | U-、V+ |
| 1 | 1 | 0 | V-、W+ |
| 0 | 1 | 0 | U+、V- |
| 0 | 1 | 1 | U+、W- |
以逆时针第 1 行为例:霍尔值为 001 时,导通 V- 和 W+,转子旋转到下一扇区;当霍尔值变为 101 时,切换为导通 U+ 和 V-,依此类推。
上表针对野火配套电机。若更换其他品牌电机,霍尔高低电平定义、相序可能与表中不同。
3. 野火驱动电路设计

野火电机驱动电路使用 MOS 管搭建,可作为大功率的无刷电机驱动。驱动板支持 12 V~70 V 宽电压输入、10 A 硬件过流保护,最高功率约 700 W。除本节重点介绍的功率驱动与信号隔离外,板上还集成三相电流采样、反电动势采样、编码器/霍尔接口及母线电压检测等电路。

为什么要做信号隔离
电机驱动的高压功率侧与 MCU 低压逻辑侧直接相连时,母线电压波动、MOSFET 开关噪声、电机绕组感应等干扰很容易沿控制线回传,轻则采样失真、PWM 抖动,重则损坏主控芯片。野火驱动板将控制信号 与采样信号均做电气隔离,使 MCU 侧始终工作在安全的低压域,这也是工业级驱动板的常见做法。
与市面上多数仅对 PWM 做光耦隔离的驱动板不同,野火板还对 ADC 采样通路使用了 AMC1200SDUBR 隔离运放(电流、母线电压等),实现控制与反馈的全链路隔离。
控制信号隔离
MCU 输出的 6 路 PWM(U+/U-、V+/V-、W+/W-)以及 1 路关断信号 SD,在进入栅极驱动芯片之前均经过光耦隔离:
| 信号类型 | 光耦型号 | 作用 |
|---|---|---|
| PWM(6 路) | TLP2362 | 高速光耦,带宽足够跟随 PWM 边沿,将逻辑域 PWM 传至功率域 |
| SD(关断) | EL357N | 将 MCU 的关断指令隔离后送至驱动芯片 SD 引脚 |
光耦两侧分别由各自的电源供电:MCU 侧为 3.3 V 逻辑电源,驱动侧为功率电路的隔离电源。两侧无直接电气连接,高压侧的干扰无法通过控制线直接耦合到主控板。

硬件互锁防直通(异或门 + 与门)
前文已强调:同一相上、下桥臂不能同时导通。除软件死区外,野火板在每相 PWM 进入光耦之前 增加了异或门(XOR)与与门(AND)组成的硬件互锁,即使 MCU 误将 U+ 与 U- 同时置高或同时置低,也不会让两侧栅极驱动同时有效。

以 U 相为例,逻辑关系如下:
- U+、U- 同为高 或同为低 → 异或门输出低 → 与门被封锁 →
Motor_U+_IN、Motor_U-_IN均为低,上下桥臂均关断 - U+、U- 一高一低 → 异或门输出高 → 与门放行 → 输出跟随对应 PWM 输入
U 相 PWM 隔离部分的输入输出真值表:
| Motor_U+ | Motor_U- | Motor_U+_IN | Motor_U-_IN |
|---|---|---|---|
| H | H | L | L |
| H | L | H | L |
| L | H | L | H |
| L | L | L | L |
V、W 相采用相同结构,六路 PWM 在硬件层面即具备防直通能力。
SD 关断信号链
每相半桥由 IR2110S 栅极驱动芯片驱动。IR2110S 的 SD 引脚为高电平有效:SD = H 时,无论 HIN/LIN 为何状态,HO、LO 均被强制拉低,上下管同时关断;SD = L 时,HO 跟随 HIN、LO 跟随 LIN 变化。

驱动板上 IR2110S 的 SD 并非直接接 MCU,而是接光耦输出 Motor_SD_IN。Motor_SD_IN 由两路与门输入经与门合成后再经 EL357N 隔离:
| 信号 | 来源 | 说明 |
|---|---|---|
| Motor_SD_A | 驱动板 SD 接口引脚 | MCU 软件关断指令 |
| Motor_SD_B | 硬件过流保护电路 | 正常时保持高电平;过流时拉低,强制关断 |
与门真值表(Y 接光耦输入,光耦输出反相后为 Motor_SD_IN):
| Motor_SD_A | Motor_SD_B | Y(光耦输入) | Motor_SD_IN(光耦输出) |
|---|---|---|---|
| H | H | H | L |
| H | L | L | H |
| L | H | L | H |
| L | L | L | H |
在不过流的前提下,Motor_SD_B 恒为高,关断与否由 MCU 的 SD 引脚(Motor_SD_A)决定;一旦过流,Motor_SD_B 被拉低,与门输出变低,经光耦反相后 SD 有效,所有 IR2110S 强制关断,实现软件关断与硬件过流保护的统一控制。
功率半桥与 IR2110S
三相六臂中,每相上下桥各由一个 IR2110S 驱动(共 3 片,每片驱动一侧半桥)。IR2110S 除逻辑处理外,还提供电平转换与自举(Bootstrap)电路,使上桥臂 MOSFET 的栅极能获得高于母线的驱动电压。MCU 经光耦隔离后的逻辑信号可直接接入 IR2110S 的 HIN、LIN、SD 引脚。
IR2110S 输入与输出逻辑真值表(* 表示该输入被忽略):
| SD | HIN | LIN | HO | LO |
|---|---|---|---|---|
| H | * | * | L | L |
| L | L | L | L | L |
| L | L | H | L | H |
| L | H | L | H | L |
| L | H | H | H | H |
上表中 SD = H 时 HO、LO 均为 L,即关断状态;正常驱动时保持 SD = L,由 HIN/LIN 控制对应桥臂导通。