3. PMSM数学模型:从坐标变换到运动方程

各位工程师朋友,今天我们来啃一块硬骨头——PMSM的数学模型。说实话,我刚入行那会儿,看到这一堆方程就头大。但后来我发现,搞懂这些模型,就像拿到了电机控制的"地图"。没有它,你连PID参数都调不明白。

咱们一步步来。先从最基础的坐标变换说起。

3.1 为什么要做坐标变换?

你想想看,三相交流电机里,电压、电流都是随时间变化的正弦波。控制起来多麻烦?

我个人的习惯是,先把问题简化。Clark变换和Park变换,说白了就是"降维打击"。

  • Clark变换:把三相静止坐标系(abc)变到两相静止坐标系(αβ)。
  • Park变换:再把两相静止坐标系(αβ)变到两相旋转坐标系(dq)。

为什么要这么折腾?因为到了dq坐标系下,那些正弦波就变成了直流量。直流量的控制,PID就能搞定。嗯,这里要注意,变换的前提是电机三相绕组对称,且没有中线。

核心思想:坐标变换的本质,是把交流量变成直流量,让控制变得简单。

3.2 Clark变换

Clark变换的公式,我建议你直接记住。当年我在做电机参数辨识时,就因为Clark变换的系数搞错,浪费了整整两天。

等幅值变换的Clark变换公式如下:

iα = ia
iβ = (ia + 2*ib) / √3

或者写成矩阵形式:

[iα]   [ 1      -1/2      -1/2 ] [ia]
[iβ] = [ 0      √3/2     -√3/2 ] [ib]
[i0]   [ 1/2     1/2       1/2 ] [ic]

这里有个坑,我踩过。Clark变换有两种形式:等幅值变换和等功率变换。两者的系数不同。如果你在做功率计算,一定要用等功率变换,否则算出来的功率会差1.5倍。

避坑指南:我曾经在项目里混用了两种Clark变换,结果电流环怎么调都稳不住。后来发现是变换系数的问题。建议你在项目一开始就统一用一种变换,并在代码注释里写清楚。

3.3 Park变换

Park变换是在Clark变换的基础上,再旋转一个角度θ。这个θ就是转子位置角。

公式很简单:

id = iα * cosθ + iβ * sinθ
iq = -iα * sinθ + iβ * cosθ

写成矩阵:

[id]   [ cosθ   sinθ ] [iα]
[iq] = [-sinθ   cosθ ] [iβ]

我个人习惯把Park变换理解为"跟着转子转"。你站在转子上看,定子电流就变成了两个直流量:id(励磁分量)和iq(转矩分量)。

为什么这样好?因为你可以独立控制id和iq。id控制磁通,iq控制转矩。这就是矢量控制的精髓。

3.4 电压方程

好了,坐标变换搞定了,咱们来看电压方程。在dq坐标系下,PMSM的电压方程长这样:

ud = Rs * id + Ld * (did/dt) - ωe * Lq * iq
uq = Rs * iq + Lq * (diq/dt) + ωe * (Ld * id + ψf)

其中:

  • ud、uq:d轴和q轴电压
  • Rs:定子电阻
  • Ld、Lq:d轴和q轴电感
  • ωe:电角速度
  • ψf:永磁体磁链

你仔细看,这两个方程里有个交叉耦合项。ωe * Lq * iq 和 ωe * Ld * id。这就是为什么高速时电流环会变难调的原因。

经验之谈:我在做高速电机(12000rpm以上)时,必须做解耦控制。否则ud和uq会互相影响,电流环根本稳不住。解耦的方法很简单,把交叉耦合项前馈补偿掉就行。

3.5 磁链方程

磁链方程相对简单:

ψd = Ld * id + ψf
ψq = Lq * iq

这里ψf是永磁体产生的磁链,是个常数。对于表贴式PMSM(SPMSM),Ld = Lq。对于内置式PMSM(IPMSM),Ld < Lq。

为什么IPMSM的Ld比Lq小?因为d轴磁路中有永磁体,磁阻大,电感就小。这个特性可以用来产生磁阻转矩,提高电机的过载能力。

3.6 转矩方程

转矩方程是PMSM控制的核心。在dq坐标系下:

Te = 1.5 * p * [ψf * iq + (Ld - Lq) * id * iq]

其中p是极对数。

这个方程有两项:

  • 第一项:ψf * iq,永磁转矩。和iq成正比。
  • 第二项:(Ld - Lq) * id * iq,磁阻转矩。对于IPMSM,Ld < Lq,所以这一项是负的。但如果你让id为负(弱磁),这一项就变成正的。

说白了,IPMSM比SPMSM多了一个"磁阻转矩"的武器。我做过一个项目,用IPMSM做电动汽车驱动,通过MTPA(最大转矩电流比)控制,在同样电流下多输出了15%的转矩。

关键点:对于SPMSM(Ld = Lq),转矩只和iq有关。对于IPMSM(Ld ≠ Lq),转矩和id、iq都有关系。这就是为什么IPMSM的控制更复杂,但也更灵活。

3.7 运动方程

最后是运动方程。这个方程描述的是电机的机械动态:

Te - TL = J * (dωm/dt) + B * ωm

其中:

  • Te:电磁转矩
  • TL:负载转矩
  • J:转动惯量
  • ωm:机械角速度(ωm = ωe / p)
  • B:阻尼系数

这个方程告诉我们,电机的加速能力取决于电磁转矩和负载转矩的差值,以及转动惯量。转动惯量越大,加速越慢。

我在做伺服系统时,经常需要辨识转动惯量J。因为J的大小直接影响速度环的PI参数。惯量越大,速度环的积分时间常数就要越大。

3.8 知识体系总览

为了让你更直观地理解这些方程之间的关系,我画了一张图:

PMSM数学模型知识体系 三相电压/电流 Clark变换 Park变换 dq轴分量 电压方程 ud = Rs·id + ... 磁链方程 ψd = Ld·id + ψf 转矩方程 Te = 1.5·p·[...] 运动方程 Te - TL = J·dω/dt 电机转速/位置输出 图例 输入信号 坐标变换 核心方程 机械动态

这张图把整个PMSM数学模型串起来了。从三相输入开始,经过Clark和Park变换得到dq轴分量,然后通过电压、磁链、转矩方程计算出电磁转矩,最后用运动方程得到转速和位置。

我个人建议你把这个流程记在脑子里。做仿真时,每一步都要清楚自己在算什么。我曾经见过有人把Clark变换和Park变换的顺序搞反了,结果仿真结果完全不对。

实用建议:在搭建Simulink模型时,我习惯把每个方程单独封装成一个子系统。这样调试时,可以单独验证每个模块的正确性。先验证Clark变换,再验证Park变换,最后联调。

好了,PMSM的数学模型就讲到这里。这些方程是后续所有控制算法的基础。矢量控制、直接转矩控制、无传感器控制,都离不开它们。搞懂了这些,你就拿到了PMSM控制的"钥匙"。


专注资料整理