2. 电机数学模型回顾:永磁同步电机(PMSM)的dq轴数学模型、电压方程与转矩方程

做FOC弱磁控制,绕不开dq轴数学模型。说白了,这个模型就是我们控制算法的基础。我个人习惯先把电机从三相静止坐标系变换到两相旋转坐标系,这样很多耦合项就解开了,控制起来直观得多。

你想想看,如果直接在abc三相上做控制,电流、电压都是时变的正弦量,控制器设计会非常麻烦。但转到dq轴后,稳态下这些量都变成了直流量,用PI调节器就能轻松搞定。嗯,这里要注意,这个变换的前提是电机反电动势是正弦的,而且我们忽略了一些高次谐波。

2.1 坐标变换:从abc到dq

先做Clark变换,把三相静止坐标系变换到两相静止坐标系(αβ)。再做Park变换,把αβ坐标系旋转到与转子磁极同步的dq坐标系。

变换矩阵长这样:

// Clark变换 (等幅值变换)
[i_α]   [1      -1/2    -1/2  ] [i_a]
[i_β] = [0      √3/2   -√3/2 ] [i_b]
[i_0]   [1/2    1/2     1/2   ] [i_c]

// Park变换
[i_d]   [cosθ   sinθ] [i_α]
[i_q] = [-sinθ  cosθ] [i_β]
小提示:我刚开始做FOC时,经常搞混等幅值变换和等功率变换的系数。等幅值变换的Clark矩阵前面有个2/3系数,而等功率变换是√(2/3)。我个人习惯用等幅值变换,因为电流采样值直接对应物理值,调试时更直观。

2.2 dq轴电压方程

在dq旋转坐标系下,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)

这里每个符号都有物理意义:

  • u_d, u_q — d轴和q轴电压分量
  • i_d, i_q — d轴和q轴电流分量
  • R_s — 定子相电阻
  • L_d, L_q — d轴和q轴电感
  • ω_e — 电角速度 (ω_e = p * ω_m,p是极对数)
  • ψ_f — 永磁体磁链

注意看,d轴方程里有个-ω_e * L_q * i_q,q轴方程里有个+ω_e * L_d * i_d。这两个就是交叉耦合项。转速越高,耦合越强。我在项目中遇到过,如果不做解耦补偿,高速时电流环会振荡甚至发散。

关键点:弱磁控制的核心就是利用d轴电流i_d的负向去抵消永磁体磁链ψ_f,从而降低反电动势。从电压方程看,当转速ω_e升高时,ω_e * ψ_f项会逼近母线电压极限,此时必须注入负的i_d来维持电压平衡。

2.3 转矩方程

PMSM的电磁转矩表达式:

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

这个公式包含两部分:

项 含义 说明
ψ_f * i_q 永磁转矩 由永磁体与q轴电流相互作用产生,是主要转矩分量
(L_d - L_q) * i_d * i_q 磁阻转矩 由d/q轴电感差异产生,只有凸极电机(L_d ≠ L_q)才有

对于表贴式PMSM(SPMSM),L_d ≈ L_q,磁阻转矩几乎为零,转矩只靠i_q控制。对于内置式PMSM(IPMSM),L_d < L_q,磁阻转矩可以利用起来。我曾经在一个IPMSM项目里,通过合理分配i_d和i_q,把同样电流下的转矩提升了15%左右。

注意:弱磁控制时,i_d是负值。如果电机是IPMSM,负的i_d乘以(L_d - L_q)再乘以i_q,得到的磁阻转矩是正的。也就是说,弱磁不仅不会降低转矩,反而可能利用磁阻转矩补偿一部分永磁转矩的损失。这个特性在高速区非常有用。

2.4 稳态方程与电压极限

忽略电阻压降(高速时电阻压降占比很小),稳态电压方程简化为:

u_d ≈ -ω_e * L_q * i_q
u_q ≈ ω_e * (L_d * i_d + ψ_f)

定子电压幅值:

u_s = √(u_d² + u_q²) ≈ ω_e * √[(L_q * i_q)² + (L_d * i_d + ψ_f)²]

这个公式揭示了弱磁的本质:当转速ω_e升高,u_s会增大。但逆变器能输出的最大电压受限于母线电压U_dc:

u_s ≤ U_max = U_dc / √3  (SVPWM调制)

一旦u_s达到U_max,就必须通过调整i_d和i_q来让电压幅值不超过这个边界。这就是弱磁控制的约束条件。

2.5 知识体系总览

下面这张图把本章的核心逻辑串起来了:

PMSM dq轴数学模型知识体系 三相静止坐标系 (abc) Clark变换 两相静止坐标系 (αβ) Park变换 两相旋转坐标系 (dq) 电压方程 u_d = R·i_d + L_d·di_d/dt - ω·L_q·i_q u_q = R·i_q + L_q·di_q/dt + ω·(L_d·i_d+ψ_f) 转矩方程 T_e = 1.5·p·[ψ_f·i_q + (L_d-L_q)·i_d·i_q] 电压极限 u_s = √(u_d²+u_q²) u_s ≤ U_dc/√3 弱磁控制:负i_d注入 → 降低反电动势 在电压极限圆内最大化转矩输出 💡 核心思路 从abc→dq,化交流为直流

2.6 几个容易踩的坑

聊几个我实际调试中遇到的问题:

  • 电感参数不准:L_d和L_q会随电流变化,尤其是重载时。我曾经因为用了空载测的电感值,结果弱磁深度一上去,电流环就开始抖。后来加了查表补偿才稳住。
  • 磁链ψ_f的温度漂移:永磁体温度升高,ψ_f会下降。这意味着同样的i_d,弱磁效果在冷机和热机时不一样。我建议在软件里留一个温度补偿系数。
  • 电阻压降不能忽略:低速大扭矩时,R_s * i的压降占比很大。如果直接用简化方程算电压极限,会低估实际需要的电压,导致电流环饱和。
总结一下:dq轴数学模型是FOC弱磁控制的基石。电压方程告诉我们什么时候需要弱磁,转矩方程告诉我们弱磁后还能出多少力。把这两个方程吃透了,后面的电流轨迹规划就是在这个框架下做优化。