2. 永磁同步电机基础:数学模型与坐标变换
好,咱们正式开始聊PMSM的数学模型。说实话,很多搞标定的工程师一上来就调参数,结果调了半天发现根本调不动——为什么?因为你不懂电机肚子里那点事儿。数学模型就是电机的“脾气”,你摸透了它,标定起来才能得心应手。
2.1 为什么需要数学模型?
你想想看,电机里面转来转去,电流、电压、磁链,这些东西都是耦合在一起的。三相交流电,直接去控制它?太复杂了。我刚开始做项目那会儿,就想着直接调三相电流,结果发现根本解耦不了,调一个量,其他两个跟着乱跳。
数学模型的作用,说白了就是“降维打击”。把复杂的、耦合的三相系统,变成简单的、独立的直流系统。这样你就能像控制直流电机一样,去控制永磁同步电机了。
核心思想: 通过坐标变换,将三相静止坐标系下的交流量,变换到两相旋转坐标系下的直流量。这样,控制问题就从“跟踪正弦波”变成了“调节直流分量”。
2.2 三大坐标系,你得搞明白
做PMSM控制,绕不开这三个坐标系。我建议你把它刻在脑子里:
- ABC 三相静止坐标系: 就是电机那三根线,A、B、C三相。物理上最直观,但数学上最麻烦。
- αβ 两相静止坐标系: 把ABC三相投影到两个垂直的轴上。相当于把三相变两相,简化了计算。
- dq 两相旋转坐标系: 这个最关键。d轴(直轴)对准转子磁极方向,q轴(交轴)超前d轴90度。在这个坐标系下,所有交流量都变成了直流量。
嗯,这里要注意:dq坐标系是跟着转子一起转的。所以你在dq轴上看电机,就像坐在旋转木马上看风景——一切都静止了。
2.3 坐标变换:从ABC到dq
变换过程分两步走:
- Clark变换(ABC → αβ): 把三相变成两相。
- Park变换(αβ → dq): 把静止的两相变成旋转的两相。
我个人习惯把这两个变换写在一起,直接一步到位。但为了讲清楚原理,咱们还是分开看。
2.3.1 Clark变换
公式其实很简单,就是矩阵乘法。等幅值变换下:
// C语言实现,等幅值Clark变换
void clark_transform(float ia, float ib, float ic, float *ialpha, float *ibeta) {
*ialpha = ia; // α轴 = A相
*ibeta = (ia + 2.0f * ib) / 1.732f; // β轴 = (A + 2B) / √3
// ic = -ia - ib,所以不用单独算
}
我在项目中遇到过一个问题:采样三相电流时,如果某一相传感器坏了,Clark变换就会出错。后来我加了个故障诊断,一旦检测到三相电流之和不为零,就立刻报警。这个坑,你们标定的时候也得注意。
2.3.2 Park变换
这一步需要知道转子位置角θ。θ从哪里来?编码器或者霍尔传感器。
// C语言实现,Park变换
void park_transform(float ialpha, float ibeta, float theta, float *id, float *iq) {
float sin_theta = sinf(theta);
float cos_theta = cosf(theta);
*id = ialpha * cos_theta + ibeta * sin_theta;
*iq = -ialpha * sin_theta + ibeta * cos_theta;
}
我的小技巧: 实际工程中,sin和cos计算很费时间。我一般用查表法或者CORDIC算法。标定的时候,记得检查角度对齐——如果θ有偏差,id和iq会互相串扰,控制效果直接崩掉。
2.4 数学模型:电压方程与磁链方程
有了dq坐标系,咱们就可以写出PMSM的数学模型了。这是标定的理论基础,我建议你至少能默写出来。
2.4.1 电压方程
在dq坐标系下,电压方程长这样:
ud = Rs * id + Ld * (did/dt) - ωe * Lq * iq
uq = Rs * iq + Lq * (diq/dt) + ωe * (Ld * id + ψf)
其中:
- ud, uq: dq轴电压(你要控制的量)
- id, iq: dq轴电流(你采样的量)
- Rs: 定子电阻
- Ld, Lq: dq轴电感(这个很重要,标定就是标它)
- ωe: 电角速度
- ψf: 永磁体磁链
你看,这里有个交叉耦合项:-ωe * Lq * iq 和 +ωe * Ld * id。什么意思?就是q轴电流会影响d轴电压,反之亦然。我曾经在标定弱磁区时,忽略了交叉耦合,结果电流环怎么调都振荡。后来加上前馈补偿,问题才解决。
2.4.2 磁链方程
ψd = Ld * id + ψf
ψq = Lq * iq
这个简单。d轴磁链由两部分组成:id产生的和永磁体产生的。q轴磁链只有iq产生。
2.4.3 转矩方程
这是标定的最终目标——你要输出多少转矩?
Te = 1.5 * p * (ψf * iq + (Ld - Lq) * id * iq)
其中p是极对数。注意看,转矩由两部分组成:
- 永磁转矩: 1.5 * p * ψf * iq(主转矩,跟iq成正比)
- 磁阻转矩: 1.5 * p * (Ld - Lq) * id * iq(只有Ld≠Lq时才存在)
对于内置式PMSM(IPMSM),Ld < Lq,所以磁阻转矩是正的。你可以利用它来提升效率。我标定MTPA(最大转矩电流比)时,就是靠这个方程找最优id/iq分配。
避坑指南: 我曾经在标定一台大功率电机时,发现转矩输出总比理论值小10%。查了半天,原来是磁链ψf随温度漂移了。永磁体在高温下会退磁,ψf会下降。所以标定一定要考虑温度补偿,否则你的转矩精度根本保证不了。
2.5 知识体系总览
下面这张图,是我自己总结的PMSM数学模型与坐标变换的完整逻辑。你照着这个思路去理解,就不会乱。
2.6 标定中需要关注的参数
从数学模型可以看出,标定工作其实就是把这几个参数搞准:
| 参数 | 符号 | 标定方法 | 注意事项 |
|---|---|---|---|
| 定子电阻 | Rs | 直流注入法 | 随温度变化明显,需做温度补偿表 |
| d轴电感 | Ld | 高频注入/脉冲测试 | 随id、iq变化,需做3D查表 |
| q轴电感 | Lq | 高频注入/脉冲测试 | 随id、iq变化,饱和效应明显 |
| 永磁体磁链 | ψf | 空载反电动势法 | 随温度升高而降低,高温退磁风险 |
我的经验: 标定Ld和Lq时,不要只测一个点。我一般会测一个完整的电流网格——id从负到正,iq从零到额定。然后做成3D查表。这样在MTPA和弱磁控制时,查出来的电感值才准。否则,你算出来的前馈电压就是错的,电流环性能直接打折。
好了,数学模型和坐标变换就聊到这儿。这些东西看着枯燥,但它是标定的根基。你把这个搞透了,后面讲MTPA、弱磁、死区补偿,你一听就懂。如果现在觉得有点绕,没关系,画个矢量图,自己推一遍Clark和Park变换,比看十遍文章都管用。