第2章:PMSM数学模型:坐标变换基础与d-q轴方程

各位同学,咱们接着聊。上一章我讲了永磁同步电机的基本结构,这一章咱们要啃一块硬骨头——数学模型。说实话,我刚入行那会儿,看到Clark变换、Park变换这些名字就头大。但后来我发现,这些东西说白了就是「换个角度看问题」。你想想看,一个三相交流电机,三个绕组互相差120度,电流电压都在那儿正弦波动,控制起来多麻烦?但如果我换个坐标系,让这些量都变成直流量,那PID调节器就能直接上了。嗯,这就是坐标变换的核心思想。

2.1 为什么需要坐标变换?

先问大家一个问题:你在实际项目中,是直接控制三相电流的瞬时值吗?我猜不是。因为三相电流是交流量,频率还随着转速变化,直接用PID去跟踪正弦波,带宽根本不够。我在做第一个伺服驱动器项目时,就踩过这个坑——直接在三相坐标系下做电流环,结果高频段相位滞后严重,电机嗡嗡响。

所以我们需要一个「降维打击」的思路:

  • Clark变换:把三相静止坐标系(a-b-c)变成两相静止坐标系(α-β)
  • Park变换:再把两相静止坐标系(α-β)变成两相旋转坐标系(d-q)

经过这两步,原来随时间正弦变化的交流量,就变成了不随时间变化的直流量。这时候你再上PI调节器,那叫一个丝滑。

2.2 Clark变换:从三相到两相

Clark变换的物理意义很简单——把三个绕组等效成两个互相垂直的绕组。我习惯用等幅值变换,因为这样变换后的电流幅值跟实际相电流幅值一致,调试时方便观察。

变换公式如下:

// 等幅值Clark变换
i_alpha = i_a
i_beta  = (i_a + 2*i_b) / sqrt(3)

注意,这里我假设三相电流满足 i_a + i_b + i_c = 0(星形连接无中线)。如果你用的是三角形连接,或者有中线的情况,公式会略有不同。我在一个风电项目中遇到过三相电流不平衡的情况,那时候就不能直接用这个简化公式了,得用完整的变换矩阵。

重要提示:Clark变换有两种常用形式——等幅值变换和等功率变换。等幅值变换下,变换后的α-β电流幅值与相电流幅值相同;等功率变换下,变换前后功率守恒。我个人习惯用等幅值变换,因为调试时看波形更直观。但如果你要做功率计算,记得乘以系数√(2/3)。

2.3 Park变换:从静止到旋转

Clark变换做完后,我们得到了α-β坐标系下的两相交流量。但这还不够——它还是交流量。接下来Park变换登场,把α-β坐标系旋转起来,让它跟着转子一起转。

变换公式:

// Park变换
i_d =  i_alpha * cos(theta) + i_beta * sin(theta)
i_q = -i_alpha * sin(theta) + i_beta * cos(theta)

这里的theta是转子电角度,由编码器或霍尔传感器提供。我曾经犯过一个低级错误——把机械角度直接当成电角度用了,结果电流环完全失控,电机像抽风一样乱抖。后来我养成了一个习惯:每次上电先检查角度换算关系,极对数这个系数千万别搞错。

我的小技巧:调试时可以在示波器上同时观察i_alpha和i_beta的波形,如果它们幅值相等且相位差90度,说明Clark变换没问题。然后观察i_d和i_q,如果转速稳定时它们接近直线,说明Park变换和角度信号都正确。

2.4 d-q轴数学模型

好了,经过Clark和Park变换,我们终于来到了d-q旋转坐标系。在这个坐标系下,PMSM的数学模型变得非常简洁。我直接给出最常用的形式:

电压方程

u_d = R_s * i_d + L_d * di_d/dt - ω_e * L_q * i_q
u_q = R_s * i_q + L_q * di_q/dt + ω_e * (L_d * i_d + ψ_f)

其中:

  • R_s:定子电阻
  • L_d、L_q:d轴和q轴电感
  • ω_e:电角速度
  • ψ_f:永磁体磁链

你仔细看这两个方程,会发现一个有趣的现象:d轴和q轴之间是耦合的。u_d方程里有i_q项,u_q方程里有i_d项。这就是所谓的「交叉耦合」。我在做高速电机控制时,转速一高,这个耦合效应就特别明显——调d轴电流时q轴电流跟着抖,反过来也一样。

磁链方程

ψ_d = L_d * i_d + ψ_f
ψ_q = L_q * i_q

磁链方程就简单多了。d轴磁链由两部分组成:电枢反应产生的L_d*i_d,以及永磁体本身的ψ_f。q轴磁链就只有电枢反应部分。这里要注意,对于表贴式PMSM(SPMSM),L_d ≈ L_q;对于内置式PMSM(IPMSM),L_d < L_q。这个差异会直接影响控制策略的选择。

避坑指南:我曾经在调试一台IPMSM时,直接用SPMSM的参数去整定电流环,结果发现q轴电流响应特别慢。后来一查,L_q比L_d大了将近3倍,PI参数完全不对。所以拿到一台新电机,第一件事就是测电感参数,别想当然。

2.5 转矩方程

有了电流和磁链,转矩就呼之欲出了:

T_e = 1.5 * p * (ψ_d * i_q - ψ_q * i_d)
    = 1.5 * p * [ψ_f * i_q + (L_d - L_q) * i_d * i_q]

这个公式太重要了,我建议大家背下来。它告诉我们两件事:

  1. 永磁转矩部分:1.5 * p * ψ_f * i_q,跟q轴电流成正比。这就是为什么我们通常用i_q来控制转矩。
  2. 磁阻转矩部分:1.5 * p * (L_d - L_q) * i_d * i_q,只有在L_d ≠ L_q时才存在。对于IPMSM,我们可以利用负的i_d来产生额外的磁阻转矩,提高效率。

我在做电动汽车驱动系统时,就充分利用了磁阻转矩。在低速大扭矩工况下,给一个负的i_d,让磁阻转矩帮忙出力,同样的电流下能多输出20%的转矩。当然,代价是d轴电流会削弱永磁体磁场,有退磁风险。这个取舍,得根据具体应用来权衡。

2.6 小结与思考

这一章的内容偏理论,但它是后续所有控制算法的基础。我建议大家动手推导一遍Clark和Park变换,不要只看公式。我自己当年就是手推了三遍,才真正理解为什么Park变换后d轴和q轴会解耦。

最后留个思考题:如果编码器角度有5度的偏差,对电流环控制会有什么影响?下一章我们讲电流环参数整定时,会用到这个知识点。

好了,今天就到这儿。记住,数学工具是死的,但应用是活的。多在实践中体会,你才能真正掌握它。