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

工作原理与驱动
理解电机原理前,先重温一下安培定则(右手螺旋定则)。当电流流过线圈时会产生磁场,通电线圈与永磁体之间的相互作用力驱动转子旋转。
六步换相驱动原理
传统的有感直流无刷电机通常采用六步换相法。驱动电路由三个半桥组成,通过控制上下桥臂的导通组合,将直流电逆变为交流电驱动三相绕组。由于绕组两两导通,共有 6 种通电状态,霍尔传感器检测转子位置后切换这 6 种状态,使转子跟随磁场旋转。
注意:同一半桥的上下管严禁同时导通,否则会导致电源短路烧毁器件。六步换相依赖霍尔传感器反馈位置,属于方波驱动。
FOC 控制原理
与六步换相不同,FOC 采用正弦波驱动,且三个半桥 MOS 管采用三三导通方式。这种方式能消除转矩脉动,运行更平滑,但算法复杂度更高。
无刷电机 FOC 控制算法
整体流程
FOC 控制的核心流程如下:
- 采集电机三相电流 Ia, Ib, Ic。
- 通过 Clarke 变换将三相静止坐标系转换为两相静止 α-β 坐标系。
- 通过 Park 变换将 α-β 坐标系转换为随转子旋转的 d-q 坐标系。
- 根据 Id, Iq 与目标值进行 PID 计算,得到电压指令 Ud, Uq。
- 通过反 Park 变换将 Ud, Uq 转换回 α-β 坐标系。
- 利用 SVPWM 调制生成三路 PWM 占空比输出。
Clarke 变换
Clarke 变换的作用是将三相电流映射到两相直角坐标系上。基于基尔霍夫电流定律(Ia + Ib + Ic = 0),我们只需采样两相电流即可推算第三相。
等幅值变换下,公式推导如下:

最终结果为: $$ \begin{bmatrix} i_\alpha \ i_\beta \end{bmatrix} = \begin{bmatrix} 1 & -1/2 & -1/2 \ 0 & \sqrt{3}/2 & -\sqrt{3}/2 \end{bmatrix} \begin{bmatrix} i_a \ i_b \ i_c \end{bmatrix} $$
逆变换同理,用于将两相结果还原为三相参考值。
Park 变换
Park 变换将静止的 α-β 坐标系旋转到与转子磁链同步旋转的 d-q 坐标系中。其中 d 轴与转子磁链重合,q 轴垂直于 d 轴。
经过这一步变换,原本随时间变化的交流量变成了直流量,便于使用常规 PI 控制器调节。角度 θ 是 d 轴与 α 轴的夹角,即电角度。


