3. 电机与执行器建模:PMSM 数学模型、逆变器模型、扭矩响应特性

各位工程师朋友,咱们进入第三章。这一章要啃的,是整个辅助力矩控制仿真中最核心的物理基础——电机和执行器怎么建模。

说实话,我见过不少项目,控制算法写得花里胡哨,结果一上硬件,扭矩抖得像筛子。为什么?因为模型没建对。你想想看,你连被控对象长什么样都不知道,怎么设计控制器?

所以这一章,咱们把永磁同步电机(PMSM)、逆变器、还有扭矩响应特性,一个一个拆开揉碎了讲清楚。

3.1 永磁同步电机(PMSM)的数学模型

PMSM 的数学模型,说白了就是两套方程:电压方程和转矩方程。但这两套方程,在不同的坐标系下长得完全不一样。

3.1.1 三相静止坐标系(ABC)下的模型

这是最原始的模型,直接对应电机三相绕组的物理量。电压方程长这样:

u_a = R_s * i_a + d(ψ_a)/dt
u_b = R_s * i_b + d(ψ_b)/dt
u_c = R_s * i_c + d(ψ_c)/dt

其中 ψ_a、ψ_b、ψ_c 是各相磁链,包含自感和互感,还有永磁体产生的反电动势。

注意: 这个模型虽然物理意义清晰,但变量多、耦合强,直接用它做控制,计算量太大。我早期做项目时试过,仿真步长稍微设小一点,模型就跑不动了。

3.1.2 两相旋转坐标系(dq)下的模型

这才是工程上最常用的模型。通过 Clark 变换和 Park 变换,把三相交流量变成两相直流量。为什么这么做?因为控制起来简单——你只需要控制 d 轴和 q 轴的电流,就能独立控制磁链和转矩。

dq 坐标系下的电压方程:

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)

转矩方程(这是重点):

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

这里 p 是极对数,ψ_f 是永磁体磁链。

关键理解: 转矩由两部分组成——永磁转矩(ψ_f * i_q)和磁阻转矩((L_d - L_q) * i_d * i_q)。对于表贴式 PMSM(L_d ≈ L_q),磁阻转矩几乎为零;对于内置式 PMSM(L_d < L_q),磁阻转矩可以充分利用,提高效率。

3.1.3 我个人的建模习惯

我在 Simulink 里建 PMSM 模型时,从来不用自带的 PMSM 模块。为什么?因为那个模块封装得太死,我想看中间变量、想加非线性特性(比如饱和、温度影响)都不方便。

我的做法是:用 Simscape 的基础电气元件,自己搭 dq 模型。虽然麻烦一点,但调试起来心里有底。

3.2 逆变器模型

电机模型建好了,但谁给它供电?逆变器。逆变器把电池的直流电变成三相交流电,驱动电机旋转。

3.2.1 理想逆变器 vs 非理想逆变器

仿真中,逆变器模型通常分两个层次:

模型类型 特点 适用场景
理想逆变器 忽略管压降、死区时间、开关损耗 算法验证、早期仿真
非理想逆变器 包含 IGBT 导通压降、死区效应、开关延迟 硬件在环、标定验证

我建议,前期做控制算法开发时,先用理想逆变器。等算法跑通了,再换成非理想模型,看看死区时间会不会导致电流畸变、扭矩波动。

3.2.2 逆变器的平均模型

如果你不想仿真每个开关周期(那太慢了),可以用平均模型。平均模型把逆变器等效成一个增益环节:

u_phase = V_dc * m_phase

其中 m_phase 是调制波(归一化到 [-1, 1])。这个模型简单、速度快,适合做系统级仿真。

小技巧: 在 Simulink 里,平均模型可以用一个受控电压源 + 一个增益模块实现。我一般会在输出端加一个一阶低通滤波器,模拟逆变器的输出阻抗和电流纹波。

3.2.3 逆变器的开关模型

如果你需要分析谐波、开关损耗或者 EMI,那就得上开关模型。开关模型用 PWM 发生器驱动 IGBT 模块,每个开关周期都模拟导通和关断过程。

嗯,这里要注意:开关模型的仿真步长必须足够小(通常 1 μs 以下),否则会丢失开关事件。我曾经因为步长设得太大,仿真结果看起来挺漂亮,结果一上硬件,电流波形完全不对。

3.3 扭矩响应特性

模型建好了,最终要看什么?扭矩响应。说白了,就是你给一个扭矩请求,电机实际输出扭矩跟不跟得上、跟得多快、有没有超调。

3.3.1 扭矩响应的时域指标

我们通常用这几个指标来评价扭矩响应:

  • 响应时间(t_r):从指令发出到扭矩达到目标值的 90% 所需时间。
  • 超调量(M_p):扭矩峰值超过目标值的百分比。
  • 稳态误差(e_ss):稳定后扭矩与目标值的偏差。
  • 带宽(f_bw):系统能有效跟踪的最高频率。

对于辅助力矩控制,响应时间一般要求在 10-20 ms 以内,超调量不超过 5%。

3.3.2 影响扭矩响应的关键因素

我总结了一下,影响扭矩响应的因素主要有三个:

  1. 电流环带宽:电流环是扭矩控制的内环,带宽越高,扭矩响应越快。但带宽受限于 PWM 开关频率和采样延迟。
  2. 电机参数:电感 L_q 越大,电流变化越慢;电阻 R_s 越大,稳态误差越大。
  3. 逆变器非线性:死区时间会导致电流过零点畸变,产生 6 次谐波扭矩脉动。
实战经验: 我在做某个 EPS(电动助力转向)项目时,发现扭矩响应总是慢半拍。查了半天,发现是电流环的 PI 参数没调好。后来把 q 轴电流环的带宽从 200 Hz 提到 500 Hz,响应时间从 25 ms 降到了 12 ms。所以,调参真的很重要。

3.3.3 扭矩响应仿真验证

在 Simulink 里验证扭矩响应,我一般这样做:

  • 给一个阶跃扭矩指令(比如从 0 Nm 到 10 Nm)
  • 观察实际扭矩的上升曲线
  • 记录响应时间、超调量、稳态误差
  • 如果响应太慢,调大电流环比例增益;如果超调太大,调大积分增益或加前馈

下面这张图,是我自己总结的 PMSM 扭矩控制仿真流程,你可以参考一下:

PMSM 扭矩控制仿真流程 扭矩指令输入 电流环 PI 控制 逆变器模型 PMSM 电机模型 扭矩输出与评估 电流反馈 说明:虚线为电流反馈回路,用于闭环控制;实线为前向通路。

3.4 本章小结

这一章,咱们把 PMSM 的数学模型、逆变器模型、扭矩响应特性都过了一遍。说白了,电机建模就是两件事:把物理规律用数学方程写出来,再在仿真工具里搭出来。

我个人觉得,建模这件事,没有的对错,只有合不合适。前期算法验证,用简单模型;后期硬件在环,用精细模型。关键是你得知道自己要什么,以及模型在哪些地方做了简化。