FOC 概述
FOC(Field-Oriented Control),直译为磁场定向控制,也被称为矢量控制。这是目前无刷直流电机(BLDC)和永磁同步电机(PMSM)高效控制的最优方法之一。FOC 算法的核心在于精确控制磁场的大小与方向,使得电机的运动转矩平稳、噪声小、效率高,并具备高速的动态响应能力。
无刷电机基础
无刷电机介绍
无刷电机(Brushless Motor)相比传统有刷电机,去除了机械换向器和电刷,采用电子换向技术。它由定子和转子组成:定子线圈通电产生旋转磁场,转子上的永磁体跟随该磁场转动。这种结构带来了高效率、高功率密度、宽速度范围和高可靠性等优势。
BLDC 与 PMSM 的区别
无刷直流电机(BLDC)和永磁同步电机(PMSM)在结构上相似,主要区别在于反电动势的波形。BLDC 的反电动势接近梯形波,而 PMSM 的反电动势接近正弦波。这决定了两者在驱动策略上的不同选择。

驱动原理对比
传统的六步换相驱动依赖霍尔传感器反馈转子位置,通过三相逆变电路控制绕组两两导通,电流流向呈方波特性。而 FOC 控制则采用正弦波驱动,三个半桥的 MOS 管采用三三导通方式,能够更平滑地控制电流矢量。
FOC 控制算法核心流程
FOC 控制算法的实现主要包含以下几个关键步骤:
- 电流采集:获取电机三相相电流 Ia、Ib、Ic。
- Clarke 变换:将三相静止坐标系(abc)转换为两相静止直角坐标系(αβ)。
- Park 变换:将两相静止坐标系(αβ)转换为随转子旋转的两相坐标系(dq)。
- PID 调节:根据 Id、Iq 与目标值的偏差进行 PID 计算,得到电压指令 Ud、Uq。
- 反 Park 变换:将旋转坐标系下的电压 Uq、Ud 转换回静止坐标系 Uα、Uβ。
- SVPWM 调制:将 Uα、Uβ 输入空间矢量脉宽调制模块,生成三路 PWM 占空比输出。
Clarke 变换推导
Clarke 变换的本质是将三相时域信号映射到两相正交坐标系中。利用基尔霍夫电流定律(Ia + Ib + Ic = 0),我们只需采样两相电流即可推算出第三相。变换公式如下:
$$ \begin{bmatrix} i_\alpha \ i_\beta \end{bmatrix} = \frac{2}{3} \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_a \ i_b \ i_c \end{bmatrix} $$
等幅值变换下,系数 K=2/3,确保合成矢量的大小和方向不变。逆变换则用于后续 SVPWM 计算前的坐标还原。
Park 变换推导
Park 变换将静止坐标系下的交流量转换为旋转坐标系下的直流量,从而简化了控制器的设计。角度 θ 是 d 轴与 α 轴的夹角,通常由编码器或观测器获得。
$$ \begin{bmatrix} i_d \ i_q \end{bmatrix} = \begin{bmatrix} \cos\theta & \sin\theta \ -\sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} i_\alpha \ i_\beta \end{bmatrix} $$
经过这一步变换,原本随时间变化的正弦量变成了直流分量,便于使用 PI 控制器进行精确调节。
SVPWM 调制原理
空间矢量脉宽调制(SVPWM)通过逆变器六个功率管的开关组合,模拟出圆形磁链轨迹。七段式 SVPWM 相比五段式能进一步降低谐波失真,提升电机效率。
基本流程包括:
- 扇区判断:根据 Uα、Uβ 所在象限确定当前处于 6 个扇区中的哪一个。


