3、电机模型基础:永磁同步电机(PMSM)数学模型、Clark/Park变换、SVPWM原理
各位同学,咱们今天聊聊电机模型。说实话,做HIL测试,电机模型就是你的“虚拟被试对象”。模型建得准不准,直接决定了你的测试有没有意义。我见过不少团队,花大价钱买了HIL台架,结果模型参数随便填,最后测出来的结果跟实车对不上,白忙活一场。
所以这一章,咱们把基础打牢。我会从PMSM的数学模型讲起,然后带你理解Clark和Park变换,最后聊聊SVPWM。嗯,内容不少,但都是干货。
3.1 永磁同步电机(PMSM)的数学模型
先说说PMSM。它跟异步电机最大的区别在哪?转子是永磁体,不需要励磁电流。这就意味着效率更高,功率密度更大。现在新能源车用的基本都是它。
PMSM的数学模型,说白了就是描述电压、电流、磁链、转矩之间关系的方程组。咱们从最常用的dq轴数学模型说起。
3.1.1 dq轴电压方程
在dq旋转坐标系下,电压方程长这样:
ud = Rs * id + d(ψd)/dt - ωe * ψq
uq = Rs * iq + d(ψq)/dt + ωe * ψd
其中:
- ud、uq:d轴和q轴电压
- id、iq:d轴和q轴电流
- Rs:定子电阻
- ψd、ψq:d轴和q轴磁链
- ωe:电角速度
这里有个细节要注意:ωe * ψq 和 ωe * ψd 这两项,是反电动势。电机转得越快,反电动势越大。我在做HIL测试时,曾经遇到过一个问题——模型跑高速时电流波形失真,查了半天,发现是反电动势项的计算精度不够。后来换了更高阶的积分算法,问题才解决。
3.1.2 磁链方程
磁链方程也不复杂:
ψd = Ld * id + ψf
ψq = Lq * iq
这里:
- Ld、Lq:d轴和q轴电感
- ψf:永磁体磁链(转子磁链)
注意,ψf 是个常数,由永磁体决定。但实际中它会随温度变化。我建议你在HIL模型中把这个参数做成可变的,方便模拟不同温度工况。
3.1.3 电磁转矩方程
转矩方程是核心:
Te = 1.5 * p * (ψf * iq + (Ld - Lq) * id * iq)
其中 p 是极对数。
这个公式很有意思。你看,第一项 ψf * iq 是永磁转矩,第二项 (Ld - Lq) * id * iq 是磁阻转矩。对于表贴式PMSM(Ld ≈ Lq),磁阻转矩几乎为零。但对于内置式PMSM(Ld < Lq),磁阻转矩可以贡献不少。
关键点:在HIL测试中,转矩模型的精度直接影响你验证扭矩控制策略的效果。我建议你至少用二阶精度的数值积分方法,别用一阶欧拉法,误差太大。
3.2 Clark变换与Park变换
好,模型有了,但有个问题——电机实际是三相系统,而我们的模型是两相旋转坐标系。怎么把三相电流变成dq轴电流?这就需要坐标变换。
3.2.1 Clark变换(3相→2相静止)
Clark变换把三相电流(ia, ib, ic)变成两相静止坐标系下的电流(iα, iβ)。公式如下:
iα = ia
iβ = (ia + 2*ib) / √3
注意,这里用的是等幅值变换。还有一种等功率变换,系数不同。我个人习惯用等幅值变换,因为物理意义更直观——iα直接等于ia,好理解。
Clark变换的几何意义是什么?说白了,就是把三相绕组等效成两相正交绕组。你想想看,三相绕组在空间上相差120度,两相绕组相差90度,但产生的磁场可以完全等效。
3.2.2 Park变换(2相静止→2相旋转)
Park变换把iα、iβ变成dq轴电流:
id = iα * cos(θe) + iβ * sin(θe)
iq = -iα * sin(θe) + iβ * cos(θe)
其中 θe 是转子电角度。
为什么要做Park变换?因为交流量变成了直流量。你想想看,三相电流是正弦波,控制起来多麻烦。但变成dq轴电流后,id和iq都是直流,用PI控制器就能轻松搞定。
我的经验:在HIL模型中,Park变换的角度θe必须跟电机模型内部的转子位置保持一致。我曾经见过一个案例,因为角度信号延迟了一个采样周期,导致电流环发散。所以,务必检查时序对齐。
3.3 SVPWM原理
最后聊聊SVPWM。这是电机控制中最常用的调制方式。为什么不用SPWM?因为SVPWM的电压利用率更高,能达到直流母线电压的0.577倍,而SPWM只有0.5倍。
3.3.1 基本思想
SVPWM的核心思想是:用八个基本电压矢量(六个非零矢量+两个零矢量)来合成任意期望的电压矢量。
这八个矢量在空间上怎么分布?六个非零矢量把平面分成六个扇区,每个扇区60度。两个零矢量在原点。
| 矢量 | 开关状态 (A, B, C) | 空间位置 |
|---|---|---|
| V1 | (1, 0, 0) | 0° |
| V2 | (1, 1, 0) | 60° |
| V3 | (0, 1, 0) | 120° |
| V4 | (0, 1, 1) | 180° |
| V5 | (0, 0, 1) | 240° |
| V6 | (1, 0, 1) | 300° |
| V0 | (0, 0, 0) | 原点 |
| V7 | (1, 1, 1) | 原点 |
3.3.2 合成原理
假设你想要的电压矢量在扇区I(0°~60°)。那么就用V1和V2来合成。怎么算作用时间?
T1 = Ts * m * sin(60° - θ)
T2 = Ts * m * sin(θ)
T0 = Ts - T1 - T2
其中:
- Ts:开关周期
- m:调制比(0~1)
- θ:电压矢量在扇区内的角度
嗯,这里要注意,T1和T2是相邻矢量的作用时间,T0是零矢量的作用时间。零矢量不产生电压,但用来凑满整个周期。
3.3.3 七段式与五段式
SVPWM有两种常见的实现方式:七段式和五段式。
- 七段式:每个周期内,开关切换6次。谐波小,但开关损耗大。
- 五段式:每个周期内,开关切换4次。开关损耗小,但谐波大一些。
怎么选?看你的应用场景。如果对效率要求高,选五段式。如果对电流谐波要求高,选七段式。我在做HIL测试时,一般两种都建好模型,让用户自己选。
避坑指南:我曾经在HIL测试中遇到过一个问题——SVPWM的载波频率设置得太低,导致电流纹波很大,影响了转矩控制精度。后来把载波频率从5kHz提高到10kHz,问题解决。但注意,频率越高,实时仿真器的计算压力越大。你需要权衡。
3.4 小结
这一章的内容,说白了就是三件事:
- PMSM数学模型——告诉你电机怎么转
- Clark/Park变换——告诉你三相交流怎么变成两相直流
- SVPWM——告诉你电压怎么调出来
这三件事是电机控制的基础,也是HIL测试中必须建模的部分。下一章,我们会把这些模型放到HIL台架上,看看怎么实时运行。
好,今天就到这儿。有问题随时交流。