2. 电机模型概述:永磁同步电机(PMSM)数学模型、dq坐标系变换、电压与转矩方程
做电机控制这些年,我最大的体会是:模型是控制的天花板。你算法写得再花哨,如果对电机本身的数学模型理解不到位,调试起来就是两眼一抹黑。这一章,咱们就把永磁同步电机(PMSM)的数学底子彻底捋一遍。
说白了,PMSM 的控制核心就三件事:坐标变换、电压方程、转矩方程。这三件事搞明白了,后面编码器数据怎么融进去,你自然就有思路了。
2.1 为什么非要用 dq 坐标系?
三相电机的原始模型长什么样?Ua、Ub、Uc 三相互差 120°,转子还在那里转。你要是直接在 abc 三相上写方程,那电感参数全是转子角度的函数——时变、耦合、非线性,看着就头疼。
我刚开始做 PMSM 控制时,就试图在 abc 坐标系下直接搭仿真。结果调了三天,电流波形还是抖得跟心电图似的。后来老工程师跟我说:“你先做 Clarke 和 Park 变换,把模型变到 dq 系下再说话。”
为什么要变?因为 dq 坐标系是跟着转子走的。你站在转子上看定子电流,那些时变的电感就全变成了常数。这就是所谓的“去耦合”——把交流电机等效成直流电机来控。
核心思想: dq 变换的本质是把三相静止坐标系下的时变系统,映射到两相旋转坐标系下的定常系统。这样一来,PI 控制器就能直接上场了。
2.2 坐标变换:从 abc 到 dq
变换分两步走:Clarke 变换(abc → αβ)和 Park 变换(αβ → dq)。
2.2.1 Clarke 变换
把三相投影到两相静止坐标系上。等幅值变换的公式长这样:
// Clarke 变换(等幅值)
Iα = Ia
Iβ = (Ia + 2*Ib) / √3
嗯,这里要注意:等幅值变换和等功率变换的系数不一样。我个人习惯用等幅值,因为后面算转矩时系数更直观。你在项目里最好统一用一种,别混着用,否则标定数据全得重来。
2.2.2 Park 变换
这一步把静止的 αβ 坐标系旋转到转子位置上。旋转角就是转子电角度 θe:
// Park 变换
Id = Iα * cos(θe) + Iβ * sin(θe)
Iq = -Iα * sin(θe) + Iβ * cos(θe)
你看,这里出现了 θe——这就是编码器要提供的关键数据。没有准确的转子位置,Park 变换就是错的,整个控制环都会乱套。我在一个项目中遇到过编码器安装偏差 2°,结果 Iq 和 Id 之间串扰严重,电流环带宽怎么提都提不上去。
避坑指南: 我曾经在调试时发现 dq 轴电流有固定偏置,查了两天才发现是 Park 变换里的角度补偿没做。编码器安装的零位偏移,必须在软件里做一次初始角标定。
2.3 PMSM 的电压方程
变换到 dq 坐标系后,电压方程就清爽多了:
Vd = Rs * Id + Ld * dId/dt - ωe * Lq * Iq
Vq = Rs * Iq + Lq * dIq/dt + ωe * (Ld * Id + ψf)
这里:
- Vd、Vq:d、q 轴电压
- Id、Iq:d、q 轴电流
- Ld、Lq:d、q 轴电感(表贴式 PMSM 中 Ld = Lq,内嵌式则不同)
- Rs:定子电阻
- ωe:电角速度(ωe = P * ωm,P 是极对数)
- ψf:永磁体磁链
你仔细看这两个方程,会发现一个有意思的事:d 轴和 q 轴之间有耦合项(-ωeLqIq 和 +ωeLdId)。转速越高,耦合越强。这就是为什么高速时要加前馈解耦——不然你调 d 轴电流,q 轴跟着抖。
注意: 电压方程中的 ωe 来自编码器测速。如果编码器分辨率不够或者采样延迟大,高速时电压前馈会严重失真。我见过一个案例,编码器脉冲数不够,3000rpm 时速度反馈滞后了 3 个控制周期,结果 Vq 前馈直接算反了,电流环振荡。
2.4 转矩方程
PMSM 的电磁转矩方程是:
Te = 1.5 * P * [ ψf * Iq + (Ld - Lq) * Id * Iq ]
这个公式分两部分:
- ψf * Iq:永磁转矩,主分量
- (Ld - Lq) * Id * Iq:磁阻转矩,只有内嵌式 PMSM(IPMSM)才有
你想想看,对于表贴式 PMSM(Ld = Lq),磁阻转矩项为零,转矩只和 Iq 成正比。这时候控制策略就是 Id = 0,简单粗暴。
但对于 IPMSM,你可以利用磁阻转矩来提升效率。这就是 MTPA(最大转矩电流比) 控制的基础。我做过一个项目,在 IPMSM 上用了 MTPA,同样转矩下电流有效值降了 12%,温升明显改善。
关键点: 转矩方程中的 ψf 和 Ld、Lq 都不是固定值。ψf 随温度变化(永磁体高温退磁),Ld、Lq 随电流大小变化(磁饱和)。编码器数据虽然不直接参与转矩计算,但 准确的转子位置和速度 是保证转矩估算精度的前提。
2.5 知识体系总览
下面这张图把这一章的核心逻辑串起来了。你对照着看,应该能更清楚每个模块之间的关系:
2.6 小结:模型与编码器的关系
这一章的内容,说白了就是为编码器数据“铺路”。你想想看:
- Park 变换需要 θe——来自编码器
- 电压方程中的反电动势项需要 ωe——来自编码器
- 转矩估算需要准确的 Iq——而 Iq 的准确性依赖 Park 变换的角度精度
所以,编码器不仅仅是“测个转速”那么简单。它是整个 dq 坐标系变换的基准参考。后面几章我们会深入讲编码器数据怎么采集、怎么滤波、怎么和模型融合,但前提是——你得先把这一章的数学模型吃透。
个人建议: 如果你刚开始接触 PMSM 控制,建议在仿真环境里手动实现一遍 Clarke + Park 变换,然后用示波器看 Id 和 Iq 的波形。当你转动编码器角度时,看着 Id 从交流变成直流,那种感觉——嗯,比看任何公式都直观。