3. Clark变换与Park变换:坐标变换数学原理
坐标变换,说白了就是换个角度看问题。
我们搞电机控制的,天天跟三相电流打交道。但三相交流电在空间上差120度,时间上又正弦变化,直接控制非常麻烦。我刚开始做FOC时,看着那三根正弦波就头疼——这玩意儿怎么解耦?怎么让力矩和磁通分开控制?
后来才明白,Clark变换和Park变换就是干这个的。它们把三相静止坐标系下的量,先变到两相静止坐标系,再变到两相旋转坐标系。这样一来,交流量就变成了直流量,控制起来就跟调直流电机一样简单。
3.1 为什么要做坐标变换?
先想一个问题:三相电机有三相绕组,每相通电都会产生磁动势。三个磁动势叠加,最终形成一个旋转的合成磁动势。但如果我们能直接控制这个合成磁动势的大小和方向,是不是更直观?
坐标变换的核心思想就是:用两相绕组来等效三相绕组。只要保证变换前后产生的磁动势相同,那电机表现出来的特性就完全一样。
变换的终极目标:
- 把三相交流量变成两相直流量
- 实现转矩和磁通的解耦控制
- 简化控制算法,降低计算复杂度
3.2 Clark变换:从三相到两相静止坐标系
Clark变换也叫3s/2s变换,就是把三相静止坐标系(A、B、C)下的量,映射到两相静止坐标系(α、β)下。
我习惯把α轴和A轴对齐,β轴超前α轴90度。这样变换矩阵最简洁。
3.2.1 等幅值变换
等幅值变换,顾名思义,就是变换前后电压或电流的幅值保持不变。这是我最常用的方式,因为调试时看波形很直观——三相电流的峰值就是αβ轴电流的峰值。
变换公式如下:
| iα | | 1 -1/2 -1/2 | | iA |
| iβ | = | 0 √3/2 -√3/2 | | iB |
| iC |
写成系数形式:
iα = iA
iβ = (iA + 2*iB) / √3
嗯,这里要注意:等幅值变换的系数是2/3。为什么?因为要保证变换前后幅值不变,矩阵前面要乘一个2/3的系数。
我的经验: 等幅值变换在调试阶段特别好用。你直接用示波器看αβ轴的电流波形,峰值和三相电流完全一致,心里有底。我曾经在项目里用等功率变换,结果调试时波形对不上,排查了半天才发现是变换系数的问题。
3.2.2 等功率变换
等功率变换,就是保证变换前后功率不变。这个在理论分析中很常用,尤其是做功率计算和效率分析时。
变换矩阵:
| iα | | √(2/3) -1/√6 -1/√6 | | iA |
| iβ | = | 0 1/√2 -1/√2 | | iB |
| iC |
等功率变换的系数是√(2/3)。你会发现,变换后的幅值比原来小了√(3/2)倍。也就是说,三相电流峰值10A,变换后αβ轴电流峰值只有8.16A左右。
| 对比项 | 等幅值变换 | 等功率变换 |
|---|---|---|
| 变换系数 | 2/3 | √(2/3) |
| 幅值关系 | 变换前后幅值相等 | 变换后幅值缩小√(3/2)倍 |
| 功率关系 | 变换后功率需乘3/2 | 变换前后功率相等 |
| 适用场景 | 工程调试、波形观察 | 理论分析、效率计算 |
避坑指南: 我曾经在一个项目里,Clark变换用了等幅值,Park变换却用了等功率的系数,结果算出来的转矩完全不对。后来花了整整一天才找到原因——两个变换的系数必须统一。要么都用等幅值,要么都用等功率,千万别混用。
3.3 Park变换:从两相静止到两相旋转坐标系
Clark变换做完,我们得到了αβ轴上的交流量。但交流量还是不好控制——PID调节器对直流量最拿手,对交流量就力不从心了。
Park变换就是来解决这个问题的。它把αβ轴上的交流量,投影到随转子旋转的dq坐标系上。投影之后,交流量就变成了直流量。
3.3.1 变换公式
Park变换也叫2s/2r变换。公式很简单:
id = iα * cosθ + iβ * sinθ
iq = -iα * sinθ + iβ * cosθ
其中θ是转子位置角,也就是d轴和α轴之间的夹角。
反过来,逆Park变换(从dq到αβ)也很常用:
iα = id * cosθ - iq * sinθ
iβ = id * sinθ + iq * cosθ
3.3.2 d轴和q轴的物理意义
搞懂dq轴的含义,才算真正理解了FOC。
- d轴(直轴): 与转子磁极方向对齐。id控制的是励磁分量,也就是产生磁通的那部分电流。
- q轴(交轴): 超前d轴90度。iq控制的是转矩分量,也就是产生力矩的那部分电流。
说白了,id决定磁场强弱,iq决定力矩大小。两者解耦后,你就可以独立调节了。
关键理解: 对于表贴式永磁同步电机(SPMSM),通常让id=0,这样所有电流都用来产生转矩,效率最高。但对于内置式永磁同步电机(IPMSM),需要利用磁阻转矩,就要让id为负值,这就是MTPA(最大转矩电流比)控制的基础。
3.4 完整的变换流程
把Clark变换和Park变换串起来,就是完整的坐标变换链路:
三相电流 (A, B, C)
↓ Clark变换(3s/2s)
两相静止电流 (α, β)
↓ Park变换(2s/2r)
两相旋转电流 (d, q) ← 直流量,可以送PID了
反过来,从电压给定到PWM输出,走的是逆变换链路:
电压给定 (Vd, Vq)
↓ 逆Park变换(2r/2s)
两相静止电压 (Vα, Vβ)
↓ 逆Clark变换(2s/3s)
三相电压 (Va, Vb, Vc)
↓ SVPWM
六路PWM信号
我刚开始学的时候,总觉得这些变换很抽象。后来在仿真里一步步推,发现其实就是矩阵乘法,算起来并不复杂。真正难的是理解每个变量的物理意义——你脑子里要有那个旋转的矢量图。
3.5 变换矩阵的推导思路
如果你想知道这些矩阵是怎么来的,我简单说一下推导思路。
核心原则就一条:变换前后磁动势不变。
- 写出三相绕组的磁动势表达式(空间矢量形式)
- 写出两相绕组的磁动势表达式
- 令两者相等,解出变换矩阵的系数
- 根据等幅值或等功率条件,确定最终的系数
推导过程其实不复杂,就是解一个线性方程组。我建议你亲手推一遍,哪怕只推一次,对变换的理解都会深很多。
小技巧: 推导时先忽略系数,只关注结构。等结构确定后,再根据等幅值或等功率条件去配系数。这样思路更清晰,不容易出错。
3.6 本章知识体系
下面这张图总结了Clark变换和Park变换的核心逻辑:
从这张图可以看得很清楚:Clark变换把三相变两相,Park变换把静止变旋转。两者配合,就把难搞的交流量变成了好控制的直流量。
3.7 实际应用中的注意事项
最后说几个我在项目中踩过的坑:
- 角度对齐: Park变换需要转子位置角θ。这个角度必须和实际转子位置严格对齐,否则id和iq会耦合,控制效果大打折扣。我建议上电后先做一次角度校准。
- 变换系数统一: 前面说过,等幅值和等功率不能混用。选一种,从头用到尾。
- 数值精度: 在定点DSP上实现时,注意三角函数和开方运算的精度。我习惯用查表法加线性插值,速度和精度都能兼顾。
- 仿真验证: 任何变换代码,先在Matlab/Simulink里验证一遍。把三相正弦波输入进去,看输出是不是直流量。这一步能帮你发现90%的系数错误。
再强调一次: 坐标变换是FOC的基石。矩阵公式可以查手册,但物理意义必须刻在脑子里。我见过太多人公式背得滚瓜烂熟,一遇到id和iq耦合的问题就懵了——其实就是角度没对齐或者系数搞错了。
好了,这一章的内容就到这里。Clark和Park变换的原理搞清楚了,下一步就可以用它们来搭建完整的SVPWM波形分析系统了。