3、转向执行器建模:永磁同步电机(PMSM)数学模型、电机扭矩控制、电流环与速度环设计

转向系统的执行器,说白了就是电机。在咱们这个领域,永磁同步电机(PMSM)是绝对的主流。为什么?因为它功率密度高、响应快、扭矩波动小。你想想看,方向盘上那点细微的路感,如果电机扭矩控制不好,全白搭。

我个人习惯,在开始写代码之前,先把电机的数学模型在脑子里过一遍。这不是学院派作风,而是我在项目里吃过亏——有次直接调电流环,结果高频震荡,查了半天才发现是模型里的反电动势项没补偿干净。

3.1 PMSM 的数学模型

咱们先看最核心的东西。PMSM 在 d-q 旋转坐标系下的电压方程是这样的:

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 轴电流
  • Rs:定子电阻
  • Ld, Lq:d、q 轴电感
  • ωe:电角速度
  • ψf:永磁体磁链

嗯,这里要注意:Ld 和 Lq 不相等,这是凸极电机的特点。对于表贴式 PMSM,Ld ≈ Lq,方程会简化一些。但转向电机大多是内置式的,所以咱们按凸极来处理。

电磁转矩方程更关键:

Te = 1.5 * p * [ψf * Iq + (Ld - Lq) * Id * Iq]

看到没?第一项是永磁转矩,第二项是磁阻转矩。我在做路感模拟时,就靠精确控制 Iq 来生成期望的电机扭矩。至于 Id,通常控制为 0,除非你要用弱磁扩速。

核心要点: 对于转向系统,电机转速不高,一般不需要弱磁。所以 Id = 0 控制 是最常用的策略。此时 Te = 1.5 * p * ψf * Iq,扭矩与 Iq 成正比,线性度非常好。

3.2 电机扭矩控制策略

转向系统的扭矩控制,我把它分成两层:上层是扭矩分配,下层是电流控制。上层根据方向盘转角、车速、路感模型算出目标扭矩 T_ref,然后交给下层去执行。

具体怎么做?

  1. 目标扭矩 → 目标电流:根据 Te = 1.5 * p * ψf * Iq,算出 Iq_ref = T_ref / (1.5 * p * ψf)。Id_ref 设为 0。
  2. 电流限幅:根据电机和逆变器的最大电流,对 Iq_ref 和 Id_ref 做限幅。我一般留 10% 的余量,防止过流。
  3. 电流闭环控制:用 PI 控制器让实际电流跟踪目标电流。
避坑指南: 我曾经在限幅环节吃过亏。只对 Iq 限幅,没考虑 Id。结果在高速时,Id 被反电动势推高,导致总电流超标。后来我改成对 总电流幅值 sqrt(Id² + Iq²) 做限幅,问题就解决了。

3.3 电流环设计

电流环是底层控制,要求带宽高、响应快。转向系统的电流环带宽,我一般设计在 500 Hz ~ 1 kHz。太低了,路感会滞后;太高了,容易引入噪声。

电流环的传递函数可以简化为:

G(s) = 1 / (Ls + Rs)

其中 L 是电感,R 是电阻。用 PI 控制器补偿:

C(s) = Kp + Ki/s

参数整定我推荐 零极点对消法:

  • 令 Ki/Kp = Rs/Ls,对消掉电气时间常数
  • Kp = Ls * ωc,其中 ωc 是期望的闭环带宽

举个例子:L = 0.5 mH,R = 0.1 Ω,期望带宽 800 Hz(约 5000 rad/s)。

  • Kp = 0.0005 * 5000 = 2.5
  • Ki = Kp * R/L = 2.5 * 0.1 / 0.0005 = 500

嗯,这只是理论值。实际调试时,我会在台架上扫频,看电流环的波特图,然后微调。我记得有个项目,电机电感随电流变化很大,理论值根本不能用,最后是靠 增益调度 解决的。

注意: 电流环的采样频率至少是带宽的 10 倍。800 Hz 带宽,采样频率要 8 kHz 以上。我一般用 10 kHz 或 20 kHz。采样频率太低,相位裕度不够,系统容易震荡。

3.4 速度环设计

速度环在电流环外面。转向系统里,速度环主要用于主动回正、阻尼控制、末端限位。带宽比电流环低一个数量级,一般在 10 Hz ~ 50 Hz。

速度环的传递函数:

Gv(s) = 1 / (Js + B)

J 是转动惯量,B 是阻尼系数。PI 控制器参数:

  • Kp_v = J * ωc_v
  • Ki_v = Kp_v * B/J

这里有个坑:转向系统的惯量是变化的。方向盘在中间位置时,惯量小;打到极限位置时,惯量大。我曾经用固定参数,结果低速回正时 overshoot 很大,高速时又回正不足。

后来我用了 自适应速度环:根据方向盘位置和车速,在线调整 Kp 和 Ki。效果立竿见影。

3.5 电流环与速度环的协同

两个环串在一起,顺序不能错:速度环在外,电流环在内。速度环的输出作为电流环的输入(即 Iq_ref)。

我画了一张结构图,帮你理清关系:

PMSM 双闭环控制结构 PMSM 双闭环控制结构(速度环 + 电流环) 目标速度 速度 PI 电流 PI (q) PMSM 实际速度 电流 PI (d) 说明:速度环输出作为 q 轴电流环的输入(Iq_ref)。d 轴电流环独立控制 Id_ref = 0。 虚线为反馈路径,实线为前向路径。

从图里你能看到:

  • 速度环:比较目标速度和实际速度,输出 Iq_ref
  • 电流环(q 轴):跟踪 Iq_ref,输出 Vq
  • 电流环(d 轴):跟踪 Id_ref = 0,输出 Vd
  • PMSM:接收 Vd、Vq,输出实际速度和电流

两个环的采样频率不同。我一般速度环 1 kHz,电流环 10 kHz。这样既能保证速度环的稳定性,又能让电流环有足够的带宽去抑制谐波。

经验之谈: 调试顺序很重要。先调电流环,再调速度环。电流环调不好,速度环怎么调都没用。我见过太多人一上来就调速度环,结果电流环震荡,速度环也跟着抖。

3.6 参数对比与选型建议

最后,我把电流环和速度环的关键参数整理成一张表,方便你对照:

参数 电流环 速度环
带宽 500 Hz ~ 1 kHz 10 Hz ~ 50 Hz
采样频率 10 kHz ~ 20 kHz 1 kHz ~ 2 kHz
控制器 PI(零极点对消) PI(自适应增益)
主要扰动 反电动势、死区效应 惯量变化、摩擦
调试重点 相位裕度 > 60° 无超调、稳态误差 < 1%

嗯,这张表是我多年经验的浓缩。你照着这个框架去设计,基本不会出大问题。当然,具体参数还得根据你的电机和系统来微调。

小技巧: 调试电流环时,先给一个阶跃 Iq_ref,看实际电流的响应。如果 overshoot 超过 5%,说明 Kp 太大;如果上升时间超过 1 ms,说明 Kp 太小。速度环同理,但时间常数放大 10 倍。