三相系统与 Clarke/Park 变换 — 把 AC 控制变成 DC 控制
本质与导读
本质 三相电机的电压、电流、磁链在 abc 坐标系下都是耦合且时变的正弦量,把它们当成 AC 信号直接做 PI 控制几乎不可能。Clarke 把"三相 120° 错开的三个量"压缩成"正交两个量",Park 再把"静止的两个量"旋到"跟着转子转的两个量"——一旦坐标系跟上了转子,稳态电流就变成了 DC,FOC 里所有的电流环、速度环都退化成标准 PI 控制。读这一页之前只需要懂正弦三相;读完之后,你应该能解释 FOC 为什么必须这样做坐标变换、为什么 d/q 轴在 PMSM 控制里有"磁通 / 转矩"的物理意义,以及实时实现时哪些地方最容易出错。
1. 三相 abc 坐标系下的控制困境
要理解坐标变换的价值,先要看清楚不变换会发生什么。这一节回答的是"为什么"——为什么 FOC 不能直接在 a、b、c 三相电流上跑 PI。
1.1 三相耦合来源于电磁本身
PMSM 的三相绕组在空间上错开 120 度。当转子上的永磁体转动时,在 a、b、c 三个绕组里分别感应出 120 度相差的反电势;同时三相绕组之间通过互感互相耦合。写成方程形式,a 相绕组的电压方程不只跟 有关,还跟 、、转子位置 都有关:
三相绕组的耦合不是"工程上不够好",而是绕组本身就这样布的。这意味着 a 相电流要往什么方向走、走多大,跟另外两相和转子角度都绑在一起。直觉上,这是"一个变量影响另一个变量影响另一个变量"的强耦合系统。
1.2 AC 信号直接 PI 控制为什么不行
PI 控制器的核心假设是"被控量在稳态趋于设定值的稳态差,积分会把这个差消掉"。对一个 DC 设定值 + DC 反馈,这套机制清晰且可调。但 abc 坐标系下,稳态电流本身就是正弦:
要追踪这样一个时变设定值,PI 控制器需要有无限带宽——也就是积分项要能跟上设定值的相位变化。实际带宽永远有限,所以总会出现幅值衰减和相位滞后。再叠加三相之间的耦合,谁影响谁、应该怎么调,几乎只能靠经验试。
工程上几条出路里,FOC 选的是最干净的一条:换坐标系,把 AC 问题变成 DC 问题。一旦稳态电流变成 DC,PI 控制器就回到了它最擅长的工作点。
2. Clarke 变换 — abc 到 αβ
第一步坐标变换叫 Clarke。它把三相 120° 错开的三个标量,压成正交两个分量 和 。从信息论看,三相电流满足 (中线断开时),所以"独立信息"只有两维;Clarke 只是把这两维直接显式化。
下图把三种坐标系并排画,展示 Clarke 和 Park 分别做了什么:
2.1 几何含义
把三相绕组想象成空间上 120° 错开的三个轴 、、。abc 系下的电流向量是三个标量 ,等价于在这三个轴上投影后的分量。Clarke 把这个三维空间投影到 a 轴所在的正交平面上,得到 轴(沿 a 轴)与 轴(垂直于 a 轴、在 、 之间)。
直觉上,Clarke 在做"压缩":三相之间本来就有 的约束,所以三维表达里其实只有两维独立。Clarke 把这两维直接拿出来, 平面里看到的是一个振幅恒定、方向旋转的电流向量。
2.2 矩阵形式
Clarke 变换的标准矩阵是:
系数前面的 是"幅值不变"约定的产物。工程上还有另一种"功率不变"约定,系数前面变成 。两者数值不一样,但 FOC 的物理意义都成立。选择哪种约定,主要影响后续推导里的常数(包括转矩公式里那个常数):
| 约定 | 系数 | 优点 | 缺点 |
|---|---|---|---|
| 幅值不变 (Amplitude-invariant) | 与 同幅值,直觉好 | 功率公式带 常数 | |
| 功率不变 (Power-invariant) | 功率公式干净: | 、 振幅与 差一个 |
工业上 ST、TI、Infineon 的电机控制库默认幅值不变约定;论文里两种都常见。读 datasheet 或代码时第一眼要确认用的是哪个。
2.3 零序分量与边界
Clarke 实际上是从三维降到二维,理论上应该有一个"零序" 维度。完整形式是:
在中线断开的三相三线系统(EV 主驱、工业变频器最常见的拓扑)里, 恒为零,所以工程实现里直接跳过这一维。但在中线接通或绕组中点接通的拓扑(比如某些辅助驱动)里, 不一定为零,这时候坐标变换的整套推导要加上零序补偿, 这个两维空间已经不够用了。
3. Park 变换 — αβ 到 dq
第二步坐标变换叫 Park。它把"静止"的 坐标系旋到"跟着转子转"的 坐标系。这是 FOC 里最关键的一步——一旦坐标系和转子同步,稳态电流就变成 DC,所有 PI 控制器开始正常工作。
3.1 同步旋转的几何含义
想象转子电角度是 。Park 变换就是把 平面里的向量,顺着 反方向旋转一次:
物理上,稳态时电流向量在 里以同步速 旋转,而新的 坐标系也以 旋转——两者相对静止,所以 里看到的就是一个指向固定方向、幅值不变的 DC 向量。
这一步是 FOC 的"魔法":AC 变成 DC,只靠一次坐标旋转。
3.2 d 轴 / q 轴在 PMSM 里的物理意义
dq 坐标系不是随便选的,而是和 PMSM 的物理特性对齐的:
- d 轴(direct axis):沿着转子永磁体的磁极方向。沿 d 轴的电流 直接增强或削弱磁通——常被用来做"弱磁控制"(field weakening),让电机在高速区进一步升速。
- q 轴(quadrature axis):与 d 轴正交,沿"切向"方向。沿 q 轴的电流 与磁通相互作用产生转矩——所以稳态转矩近似正比于 。
这是 FOC 命名为 "Field-Oriented" 的由来:坐标系是和"磁场"对齐的。直接控制 和 等价于直接控制磁通分量和转矩分量,两者解耦,各自跑独立的 PI 环。
4. 反变换与实时工程陷阱
正变换(abc → αβ → dq)发生在反馈通路上;反变换(dq → αβ → abc)发生在指令通路上,把控制器输出的 、 变回三相参考电压送给 SVPWM。实时实现里有几个特定的工程陷阱,这一节集中提醒。
4.1 角度延迟会让 dq 解耦失效
实时控制里,从采样 到输出 PWM 总有 1-2 个控制周期延迟。这意味着 Park 变换用的 已经"过时",而电机已经转过了一个小角度。当电速高时(EV 主驱 10-20 kHz 控制频率下可能转过几度),这种延迟会让 和 之间出现耦合,转矩响应变差。工程上的常见处理是:
4.2 定点实现要小心饱和
EV 主驱的 MCU 大量使用 Q15 / Q31 定点格式来跑 Clarke/Park。这有两个常见问题:一是 Q15 范围 ,标幺化没做好会立即饱和;二是定点乘除法引入截断误差,长链路里误差会累积。工程上把 / 做成查表 + 线性插值,把矩阵乘法用 SIMD/DSP 指令一次跑完,是两件最常见的优化。
4.3 反变换闭环的代数错误
dq → αβ → abc 的反变换矩阵和正变换矩阵互为转置(在功率不变约定下严格转置,在幅值不变约定下需要乘 )。这个常数前后不一致,是新手代码最常见的 bug——表现为输出电压幅值偏差 50%,但相位和波形完全正确,很难一眼看出来。工程上验证的标准做法:输入一个已知的 DC ,跑完正反变换,看 、、 是否回到预期的正弦三相。
核心要点
- 三相 abc 系下电流是耦合 AC,PI 控制器没法处理;Clarke + Park 把 AC 问题变成 DC 问题
- Clarke 把三相压成正交二相, 时只剩 两维
- 系数前面的 (幅值不变)还是 (功率不变)是工程选择,影响后续常数但不影响物理
- Park 把静止 旋到同步 dq,转速同步后 / 在稳态变成 DC
- 轴对应磁通分量, 轴对应转矩分量,FOC 因此可以独立 PI 控制磁通和转矩
- 整个机制依赖准确的 ,位置传感精度直接决定 FOC 性能
- 实时实现的三大陷阱:角度延迟造成 dq 耦合、定点饱和、反变换系数错配
Engineering Objects
引用此页的结构化 Engineeri…
引用此页的结构化 Engineering Object(v2.0 Copilot 自动生成,不要手动编辑此段)。
- mechanism ·
mechanism_foc— Field Oriented Control (FOC)
Cross-references
- ← 索引
- 电机控制(基础) — PMSM 三相模型,本页的物理上游
- FOC 磁场定向控制 — 三环结构、MTPA、弱磁,直接消费 Clarke/Park
- SVPWM 调制策略 — dq → αβ → abc 反变换之后的下一步
- Resolver / RDC — 的工业级来源
- 位置传感器(基础) — encoder / Hall / resolver 综述
- 状态观测器与无传感器 FOC — 无 传感器时的替代方案
- PI 控制环路设计方法论 — Clarke/Park 之后所跑的 PI 环