2. PMSM数学模型:坐标变换理论(Clark/Park)、d-q轴数学模型及电磁转矩方程
好,咱们进入正题。这一节是PMSM控制的理论基石,说白了就是搞明白电机里面那些磁场、电流到底是怎么转起来的。很多初学者一上来就背公式,结果调参的时候一脸懵。我个人习惯是,先理解物理意义,再去看数学表达式,这样你写代码的时候心里才有底。
2.1 为什么需要坐标变换?
你想想看,三相交流电在定子绕组里产生的是旋转磁场,但电流本身是正弦变化的。直接去控制三个正弦量,PID控制器根本忙不过来——因为参考值一直在变。我刚开始做电机驱动时,就踩过这个坑:直接在三相坐标系下做PI调节,结果电流波形乱七八糟,转矩脉动大得离谱。
后来我才明白,坐标变换的核心思想就是「化繁为简」。把三个交流量,变成两个直流量。这样控制起来就跟控制直流电机一样简单了。
核心思路: 三相静止坐标系(abc) → 两相静止坐标系(αβ) → 两相旋转坐标系(dq)。
最终,在dq坐标系下,id和iq都是直流量,可以轻松地用PI控制器实现无静差跟踪。
2.2 Clark变换:从abc到αβ
Clark变换,也叫3/2变换。它的任务是把三相绕组上的电流,投影到两个正交的轴上去。这两个轴分别叫α轴和β轴,它们固定在定子上,不旋转。
数学上很简单,就是矩阵乘法。但我要提醒你一点:等幅值变换和等功率变换,系数不一样。我建议你在工程中统一用等幅值变换,因为这样你算出来的电流幅值跟实际相电流幅值一致,调试时方便很多。
// Clark变换(等幅值)
// ia, ib, ic 为三相电流
// i_alpha, i_beta 为两相静止坐标系电流
i_alpha = ia;
i_beta = (ia + 2 * ib) / sqrt(3); // 或者用 (ia + 2*ib) * 0.57735
我的经验: 实际代码中,我一般不会直接算sqrt(3),而是预先算好系数存成常量。比如 1/sqrt(3) ≈ 0.577350269。这样每次变换就省了一次开方运算,对实时性有帮助。
2.3 Park变换:从αβ到dq
Clark变换之后,我们得到了两个正交的正弦量。它们还是交流量,没法直接用PI控。这时候就需要Park变换登场了。
Park变换的本质,就是跟着转子一起转。想象你坐在转子上看定子电流,原本旋转的磁场在你眼里就静止了。这个旋转的角度,就是转子位置角θ(也就是电角度)。
// Park变换
// i_alpha, i_beta 为Clark变换后的值
// theta 为转子电角度
// id, iq 为旋转坐标系下的直轴和交轴电流
id = i_alpha * cos(theta) + i_beta * sin(theta);
iq = -i_alpha * sin(theta) + i_beta * cos(theta);
注意: 这里的θ是电角度,不是机械角度。对于一对极的电机,两者相等;对于多对极电机,电角度 = 机械角度 × 极对数。我曾经在8对极的电机上忘了乘极对数,结果电流环直接发散,电机嗡嗡响,吓得我赶紧切了急停。
2.4 d-q轴数学模型
好了,现在我们在dq坐标系下看电机。这时候的数学模型就清爽多了。电压方程如下:
ud = Rs * id + Ld * (did/dt) - ωe * Lq * iq
uq = Rs * iq + Lq * (diq/dt) + ωe * (Ld * id + ψf)
其中:
- Rs:定子电阻
- Ld, Lq:直轴和交轴电感
- ωe:电角速度
- ψf:永磁体磁链
你仔细看这两个方程,会发现一个有趣的现象:d轴和q轴之间是耦合的。d轴方程里出现了q轴电流,q轴方程里也出现了d轴电流。这就是所谓的「交叉耦合项」。如果不做解耦,你调id的时候iq会跟着抖,调iq的时候id也会受影响。
解耦方法: 在实际的电流环PI控制器中,我会在输出端加上前馈补偿项。比如uq的PI输出后面,加上 ωe * (Ld * id + ψf) 这一项,就能抵消掉反电动势的影响。这样id和iq就可以独立控制了。
2.5 电磁转矩方程
终于到了最核心的部分——转矩。在dq坐标系下,电磁转矩的表达式非常简洁:
Te = 1.5 * p * [ ψf * iq + (Ld - Lq) * id * iq ]
其中p是极对数。这个公式我建议你背下来,因为后面所有的转矩脉动抑制策略,都是围绕它展开的。
公式里有两项:
- ψf * iq:永磁转矩,由永磁体磁场和q轴电流相互作用产生。这是主要的转矩来源。
- (Ld - Lq) * id * iq:磁阻转矩,由d轴和q轴电感差异产生。对于内置式永磁同步电机(IPMSM),Ld < Lq,所以这一项是负的。但如果你给id注入负值,这一项就变成正的,可以帮你「白嫖」一部分转矩。
避坑指南: 我曾经在调试一个IPMSM项目时,发现转矩输出总比预期小。查了半天,发现是id的参考值设成了0。对于IPMSM,你其实应该给一个负的id,利用磁阻转矩来提升效率。这就是所谓的「最大转矩电流比(MTPA)」控制。嗯,这个后面章节会细讲。
2.6 小结与思考
这一节的内容,说白了就是三件事:
- Clark变换:把三相变两相,静止坐标系。
- Park变换:把静止变旋转,跟着转子走。
- dq模型与转矩方程:在旋转坐标系下,电机变成了一个线性系统,转矩只跟id和iq有关。
你可能会问:「这些变换会不会引入误差?」 会的。比如角度采样有延迟、电流采样有噪声,都会导致变换后的dq轴分量不纯。这就是后面我们要讲的转矩脉动来源之一。
下一节,我们会深入分析转矩脉动的成因,以及如何用谐波注入、死区补偿等手段来抑制它。到时候你会发现,今天学的这些数学模型,就是所有抑制策略的「地基」。