一、FOC概述与坐标系基础

1.1 什么是FOC?

FOC,全称Field-Oriented Control,中文叫磁场定向控制。说白了,就是让电机转得又稳又省电。

我刚开始接触电机控制时,觉得这名字挺唬人。后来做多了才发现,FOC的核心思想其实很简单——把交流电机当成直流电机来控制

你想想看,直流电机多好控制啊。给电压就转,电压越高转速越快,调个PID就能搞定。但交流电机不行,它的磁场和电流是耦合在一起的,牵一发而动全身。

FOC要做的,就是通过数学变换,把交流电机那套复杂的耦合关系解耦。解耦之后,我们就可以像控制直流电机一样,独立控制转矩和磁通。

FOC的核心优势:

  • 转矩响应快——毫秒级响应,比方波控制快一个数量级
  • 效率高——电流波形接近正弦,谐波损耗小
  • 噪音低——没有换相转矩脉动,电机运行安静
  • 调速范围宽——从零速到额定转速都能稳定控制

1.2 FOC的应用场景

FOC现在几乎无处不在。我这些年做过的项目,从几十瓦的小风扇到几十千瓦的工业伺服,都用FOC。

常见的应用场景:

  • 电动汽车——主驱电机、电动转向、电动空调压缩机
  • 工业伺服——机器人关节、数控机床主轴、包装机械
  • 家用电器——变频空调、洗衣机、吸尘器
  • 无人机——无刷电机电调,需要快速响应
  • 电动工具——电钻、电锯,需要高功率密度

我记得有一次做电动工具项目,客户要求启动时不能有抖动。用方波控制怎么调都不行,换成FOC后,问题迎刃而解。嗯,这就是FOC的魅力。

1.3 坐标系基础

要理解FOC,必须先搞懂三个坐标系。这是FOC的数学基础,也是很多初学者卡住的地方。

1.3.1 三相静止坐标系(ABC)

这是最直观的坐标系。电机有三相绕组,A、B、C三相相差120度。我们实际采集的电流,就是这三相的电流值。

但问题是,三相电流是交流的,随时间变化。而且三相之间互相耦合,直接控制很麻烦。

1.3.2 两相静止坐标系(αβ)

Clark变换就是干这个的——把三相ABC变成两相αβ。

为什么要这么做?因为三相系统其实有冗余。三相电流满足iA + iB + iC = 0,所以真正独立的只有两相。

Clark变换的公式很简单:

// Clark变换
iα = iA
iβ = (iA + 2*iB) / √3

// 或者用矩阵形式
[iα]   [1      -1/2    -1/2 ] [iA]
[iβ] = [0    √3/2   -√3/2 ] [iB]
[i0]   [1/2    1/2     1/2 ] [iC]

我的经验:实际代码中,我一般用等幅值变换,因为这样变换前后电流幅值不变,调试时更直观。等功率变换虽然数学上更严谨,但调试时容易搞混。

1.3.3 两相旋转坐标系(dq)

Park变换把静止的αβ坐标系,旋转到与转子磁场同步的dq坐标系。

为什么要旋转?因为旋转之后,交流量就变成了直流量。直流量多好控制啊,PID一调就稳。

Park变换公式:

// Park变换
id = iα * cos(θ) + iβ * sin(θ)
iq = -iα * sin(θ) + iβ * cos(θ)

这里θ是转子位置角,一般用编码器或霍尔传感器获取。

变换之后,id就是励磁分量,控制磁通;iq就是转矩分量,控制转矩。两者正交,互不影响。

关键理解:

id和iq解耦之后,我们就可以独立控制。想要更多转矩?加大iq。想要弱磁提速?减小id。就这么简单。

1.3.4 反Park变换

控制完id和iq之后,还得变回去。反Park变换就是把dq变回αβ。

// 反Park变换
iα = id * cos(θ) - iq * sin(θ)
iβ = id * sin(θ) + iq * cos(θ)

然后经过SVPWM调制,生成三相PWM波驱动电机。

1.4 坐标系之间的关系

我画了一张图,帮你理清这几个坐标系的关系:

FOC坐标系变换流程 三相静止坐标系 ABC坐标系 两相静止坐标系 αβ坐标系 两相旋转坐标系 dq坐标系 Clark变换 Park变换 反Park变换 各坐标系中的物理量 ABC:iA, iB, iC 三相交流电流 αβ:iα, iβ 两相交流电流 dq:id, iq 两相直流电流 FOC控制流程 采样ABC电流 → Clark变换 → Park变换 → PI控制(对id,iq) → 反Park变换 → SVPWM

避坑指南:我曾经在一个项目中,因为Park变换的角度搞反了,电机死活转不起来。检查了两天才发现,θ应该是电角度,不是机械角度。如果你用的是多对极电机,一定要乘以极对数。

1.5 总结

FOC的核心就是坐标系变换。从ABC到αβ再到dq,把交流量变成直流量,然后解耦控制。

Clark变换负责降维,把三相变两相。Park变换负责旋转,把交流变直流。反Park变换再变回去,给SVPWM用。

搞懂了这三个坐标系,FOC的大门就算打开了。后面的事情,无非就是怎么调PI参数、怎么处理采样、怎么优化SVPWM。

嗯,下一章我们聊聊电流采样和SVPWM的具体实现。不过那是后话了,先把坐标系吃透再说。


专注资料整理