3. 坐标变换基础

在PMSM的FOC控制中,坐标变换是整个算法体系的数学基石。FOC的核心思想是将三相交流电流解耦为相互正交的直流量,从而模仿直流电机的控制方式。要实现这一目标,必须依次完成两次数学映射:第一次将三相静止坐标系(abc)变换为两相静止坐标系(αβ),即Clarke变换;第二次将两相静止坐标系(αβ)变换为两相旋转坐标系(dq),即Park变换。理解这两次变换的几何意义、数学推导以及工程实现中的细节,是后续进行电流环PI调节、SVPWM调制和转子磁场定向的前提。本章将从物理概念出发,逐步推导变换矩阵,并给出在MCU中实现时的定点/浮点注意事项。

FOC坐标变换链路与坐标系关系 三相静止坐标系 (a, b, c) ia, ib, ic (120°对称) Clarke 等幅值/等功率 两相静止坐标系 (α, β) iα, iβ (正交) Park θe 电角度 两相旋转坐标系 (d, q) id, iq (直流量) 逆Park (dq→αβ) 逆Clarke (αβ→abc) 坐标系空间关系 a轴 b轴 c轴 α β d q θe 核心:Clarke将三相投影到正交αβ轴,Park将αβ随转子磁场旋转得到dq直流量

上图展示了从三相电流到旋转坐标系电流的完整信号流。在物理世界中,PMSM的定子绕组在空间上互差120°电角度,通入三相对称电流后产生旋转磁场。Clarke变换将这三个相互耦合的交流量投影到两相正交的静止坐标系上,消除了绕组之间的耦合关系;Park变换则进一步将静止坐标系旋转到与转子磁场同步的坐标系上,使得基波交流量变为直流量。下面我们分别推导这两种变换的数学表达式,并讨论工程实现中的关键细节。

3.1 Clarke变换:从三相静止到两相静止

3.1.1 核心原理与推导

Clarke变换的物理本质是线性投影。设三相电流瞬时值为ia、ib、ic,满足基尔霍夫电流定律(KCL):ia + ib + ic = 0(对于无中线连接的星形绕组)。我们希望在αβ坐标系中找到一个等效的电流矢量,使其产生的磁动势与三相绕组产生的磁动势完全一致。由于α轴与a轴重合,β轴超前α轴90°电角度,因此可以直接将三相电流向αβ轴投影。

根据磁动势等效原则,可以得到变换矩阵。这里需要区分两种常用的变换形式:等幅值变换和等功率变换。等幅值变换保证变换前后电流矢量的幅值不变,便于调试和观测;等功率变换保证变换前后功率不变,常用于功率计算。两者的系数相差√(2/3)倍。

等幅值Clarke变换的矩阵形式为:

| iα |   | 1   -1/2   -1/2 |   | ia |
| iβ | = | 0    √3/2  -√3/2 | × | ib |
                  (系数2/3)      | ic |

由于ia + ib + ic = 0,可以简化为:iα = ia,iβ = (ia + 2ib) / √3。这个简化形式在工程中非常实用,只需要采样两相电流即可。

3.1.2 工程实现与案例拆解

在MCU中实现Clarke变换时,通常使用Q格式定点数或浮点数。以STM32F4系列为例,如果使用浮点运算单元(FPU),可以直接使用float类型;如果使用低成本MCU(如STM32F1),则需要将系数转换为Q15格式。

假设采样得到的电流为ia = 2.5A,ib = -1.0A,ic = -1.5A(满足KCL)。采用等幅值变换:

iα = 2.5A
iβ = (2.5 + 2×(-1.0)) / √3 = 0.5 / 1.732 = 0.2887A

此时电流矢量的幅值为√(2.5² + 0.2887²) ≈ 2.517A,与三相电流的合成矢量幅值一致(2.5A的峰值)。如果使用等功率变换,则iα = √(2/3)×2.5 ≈ 2.041A,iβ ≈ 0.2357A,幅值变为2.055A,但功率计算时无需额外系数。

经验提醒:在FOC电流环中,推荐使用等幅值变换。因为电流环PI调节器的输出直接作为电压指令,等幅值变换下电压指令的幅值上限与逆变器直流母线电压利用率直接对应,便于进行过调制判断。若使用等功率变换,PI参数需要额外乘以√3系数,容易出错。

3.1.3 常见误区

  • 忽略KCL约束:如果采样了三相电流但未检查ia+ib+ic≈0,可能导致变换结果偏差。实际中由于采样噪声和偏移,建议只采样两相,第三相通过计算得到。
  • 系数混淆:将等幅值变换的2/3系数误写为√(2/3),导致电流幅值缩小,PI参数需要重新整定。
  • 符号错误:β轴方向定义错误会导致电机转向判断错误,进而影响Park变换的角度补偿。

3.2 Park变换:从两相静止到两相旋转

3.2.1 核心原理与推导

Park变换的作用是将αβ坐标系中的交流量变换到与转子磁场同步旋转的dq坐标系中。设转子电角度为θe(由编码器或霍尔传感器获得),d轴与转子磁极轴线重合,q轴超前d轴90°电角度。变换的几何意义是将αβ坐标系旋转-θe角度,使得d轴与转子磁场方向对齐。

Park变换矩阵为:

| id |   | cosθe   sinθe |   | iα |
| iq | = | -sinθe  cosθe | × | iβ |

逆Park变换(用于SVPWM调制)为:

| iα |   | cosθe  -sinθe |   | id |
| iβ | = | sinθe   cosθe | × | iq |

在FOC中,通常希望id = 0(表贴式PMSM)或id为负值(内置式PMSM的弱磁控制),iq则与电磁转矩成正比。经过Park变换后,id和iq均为直流量,PI调节器可以无静差跟踪。

3.2.2 工程实现与案例拆解

在实现Park变换时,最关键的是获取准确的转子电角度θe。对于带编码器的PMSM,θe = 机械角度 × 极对数。对于无感FOC,θe由滑模观测器或龙伯格观测器估算。

考虑一个实际调试场景:某PMSM极对数为4,编码器分辨率为2500线(即10000个脉冲/圈)。当电机以600rpm旋转时,电频率为600/60×4 = 40Hz。MCU的PWM频率为10kHz,即每个电周期有250个采样点。此时θe的增量为360°/250 = 1.44°。如果使用查表法计算sin/cos,需要保证角度分辨率足够。

// 伪代码示例:Park变换(浮点实现)
float theta_e = encoder_get_angle() * POLE_PAIRS; // 电角度
float cos_t = cosf(theta_e);
float sin_t = sinf(theta_e);
float id = cos_t * i_alpha + sin_t * i_beta;
float iq = -sin_t * i_alpha + cos_t * i_beta;

在定点MCU中,可以使用CORDIC算法或查表法。查表法需要将θe映射到0~2π范围,并存储512或1024点的sin表。角度归一化公式:index = (uint16_t)(theta_e / (2π) × TABLE_SIZE) & (TABLE_SIZE-1)。

风险提示:当电机高速旋转时,θe变化很快。如果MCU的中断响应延迟过大,会导致Park变换使用的角度滞后于实际转子位置,造成电流环解耦不彻底,表现为dq轴电流交叉耦合。解决方法是使用角度预测或增加PWM中断优先级。

3.2.3 常见误区与复盘

  • 角度单位混淆:编码器返回的是机械角度,必须乘以极对数才能用于Park变换。忘记乘以极对数是新手最常见的错误。
  • 初始角度偏移:如果编码器安装时未对齐d轴,需要做初始角度校准。否则即使Park变换正确,id和iq也会存在固定偏差。
  • sin/cos计算耗时:在低端MCU上,调用标准库的sinf/cosf可能耗时超过10μs,导致控制周期超时。建议使用查表或CORDIC硬件加速。

3.3 静止坐标系与旋转坐标系的关系

3.3.1 核心原理与对比

静止坐标系(αβ)与旋转坐标系(dq)的本质区别在于参考系是否随转子旋转。下表总结了两种坐标系的关键特性:

对比维度 αβ静止坐标系 dq旋转坐标系
参考系 定子(静止) 转子(旋转)
电流波形 正弦交流量(频率=电频率) 直流量(稳态时恒定)
PI调节器 无法实现无静差跟踪(正弦参考) 可以无静差跟踪(直流参考)
控制对象 电流矢量幅值与相位 id(励磁分量)与iq(转矩分量)
适用场景 SVPWM调制、观测器设计 电流环PI控制、弱磁控制

从控制角度看,dq坐标系下的电流环PI调节器输出的是电压指令vd和vq,经过逆Park变换得到vα和vβ,再通过SVPWM生成三相占空比。整个链路中,坐标变换的精度直接决定了电流环的解耦效果。

3.3.2 实战场景:电流环调试中的坐标系验证

在FOC调试初期,一个常见的验证方法是:给定id_ref = 0,iq_ref = 1A,电机空载运行。如果坐标变换正确,实际反馈的id应接近0,iq应接近1A。若发现id不为0且随转速波动,则说明Park变换角度存在偏差。

具体排查步骤:

  1. 检查编码器角度读取是否正常:用手缓慢转动电机,观察θe是否连续变化且无跳变。
  2. 验证极对数设置:在恒速运行时,用示波器测量反电动势频率,与θe频率对比。
  3. 检查Clarke变换系数:在电机静止时注入直流电流,测量iα和iβ是否与理论值一致。
  4. 检查Park变换的sin/cos表:在θe=0°时,id应等于iα,iq应等于-iβ。
案例复盘:某项目使用磁编码器(如MA730),初始调试时发现id波动达±0.3A。排查发现编码器的零位与电机d轴未对齐,导致θe存在固定偏移。通过软件校准:在电机空载且id=0控制下,记录iq=0时的θe偏移量,然后将其作为角度补偿值。校准后id波动降至±0.05A以内。

3.3.3 常见误区总结

  • 认为dq轴电流是直流量:在负载突变或转速变化时,dq轴电流会有瞬态波动,这是正常的。PI调节器的带宽决定了跟踪速度。
  • 忽略反Park变换的延迟:在数字控制中,PWM更新和电流采样之间存在一拍延迟。如果不在算法中补偿这个延迟,高速时会导致电流环不稳定。
  • 坐标系混用:在SVPWM中,如果直接使用dq电压而不进行逆Park变换,会输出错误的电压矢量。

综上所述,Clarke变换和Park变换是FOC的两大数学支柱。Clarke变换将三相耦合系统解耦为正交系统,Park变换则将交流量变为直流量,使得经典PI控制得以应用。在实际工程中,除了掌握矩阵推导,更要关注系数选择、角度获取精度和数字实现的延迟补偿。建议读者在仿真环境(如MATLAB/Simulink或PLECS)中先搭建模型验证变换正确性,再移植到MCU中,这样可以大幅减少调试时间。