4. 在线补偿原理:基于电流矢量观测,利用电压方程反推偏差角

好,咱们进入正题。

前面几章聊了偏差怎么来的,也聊了离线标定。但说实话,离线标定只能解决“出厂那一刻”的问题。电机跑起来之后,温度变了、磁钢退磁了、电流大了,偏差角会跟着漂。这时候就需要在线补偿——让系统自己实时修正。

我个人习惯把在线补偿分成两类:一类是基于信号注入的,另一类就是咱们这章要讲的——基于电流矢量观测。后者不需要额外注入信号,不产生额外噪音和损耗,是我在量产项目里用得最多的方法。

4.1 核心思想:用“算出来的”反推“测出来的”

说白了,就是利用电机的电压方程,把当前电角度偏差给反算出来。

你想想看,如果我们知道电机的电阻、电感、反电动势常数,又知道当前的电压和电流,那理论上我们可以算出转子应该处在什么位置。如果实际观测到的电流矢量和理论计算对不上,那中间差的就是电角度偏差。

核心逻辑链:

实际电流矢量 → 电压方程 → 理论反电动势 → 与真实反电动势对比 → 偏差角

我在项目中遇到过一个问题:有些工程师觉得这个原理太理想,实际噪声大、参数不准,根本算不准。嗯,这里要注意——参数不准确实是个坎,但我们可以用“差分”和“观测器”的思路来绕开它。后面会细说。

4.2 电压方程回顾:dq 坐标系下的稳态模型

先复习一下永磁同步电机在 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 轴电流(由采样和坐标变换得到,已知)
  • Rs:定子电阻(查表或在线辨识)
  • Ld, Lq:d、q 轴电感(查表或在线辨识)
  • ωe:电角速度(由速度传感器或观测器得到)
  • ψf:永磁体磁链(温度补偿后)

如果电角度偏差为 Δθ,那么实际参与坐标变换的角度是 θ实际 = θ估计 + Δθ。这个 Δθ 会导致我们算出来的 Vd、Vq 和真实值之间出现偏差。

我的经验: 稳态下(dId/dt ≈ 0, dIq/dt ≈ 0),方程可以简化。我一般先做稳态判断,再启动补偿算法,避免微分项引入噪声。

4.3 反推偏差角:从“电压误差”到“角度误差”

怎么反推?核心思路是这样的:

  1. 采集实际电流:用当前估计角度 θ估计 做 Park 变换,得到 Idmeas、Iqmeas。
  2. 计算理论电压:把 Idmeas、Iqmeas 代入电压方程,算出理论上的 Vdcalc、Vqcalc。
  3. 对比实际电压:控制器实际输出的电压是 Vdref、Vqref(来自电流环输出)。
  4. 求误差:ΔVd = Vdref - Vdcalc,ΔVq = Vqref - Vqcalc。
  5. 映射到角度:在一定条件下,ΔVq 与 Δθ 近似成正比。通过 PI 调节器或查表,把 ΔVq 收敛到零,此时 Δθ 就是我们要找的偏差角。

注意: 这个方法在低速和零速附近会失效,因为反电动势太小,信噪比太低。我一般设定一个转速阈值,低于阈值时冻结补偿值。

4.4 完整的观测器结构

下面这张图是我在项目里实际用过的结构,画成了 SVG 方便你理解:

基于电压方程的偏差角观测器结构 基于电压方程的偏差角观测器结构 θ_估计 Iα, Iβ (采样) Vα, Vβ (参考) Park 变换 Park 变换 Id_meas, Iq_meas Vd_ref, Vq_ref 电压方程计算 ΔVd, ΔVq 计算 PI 调节器 Δθ 反馈修正 θ_估计 = θ_估计 + Δθ 关键点 • 低速时冻结补偿 • 参数不准时用差分 • PI 输出限幅 ±5°

这个结构看起来复杂,其实就三步:变换 → 计算 → 修正。PI 调节器的输出就是偏差角 Δθ,叠加到原来的估计角度上,形成闭环。

4.5 参数敏感性问题与工程对策

讲到这里,你可能会问:电阻、电感、磁链这些参数都不准,算出来的电压能信吗?

问得好。我在项目里踩过这个坑——第一次上机,补偿值乱跳,根本不能用。后来我总结了几个对策:

参数 影响 工程对策
Rs(电阻) 低速时影响大,高速时可忽略 低速时用查表补偿温度,高速时忽略
Ld, Lq(电感) 影响交叉耦合项 用 Id、Iq 查表,或者用在线辨识
ψf(磁链) 直接影响 Vq 计算 加温度传感器查表,或用磁链观测器

我的一个实用技巧: 如果参数实在不准,可以改用“差分电压法”——只关注 ΔVq 的变化趋势,而不是绝对值。这样参数误差会被抵消掉一部分。我曾经在一个参数完全未知的样机上用这个方法,半小时就把偏差角调出来了。

4.6 实现要点与避坑指南

  • 采样同步:电流采样和电压输出必须在同一个 PWM 周期内对齐,否则相位差会引入额外误差。
  • 滤波:ΔVq 信号噪声很大,我习惯加一个截止频率 20Hz 左右的低通滤波器,再进 PI。
  • 限幅:PI 输出限幅 ±5°,防止误调导致系统发散。
  • 冻结逻辑:转速低于 200rpm 时冻结补偿值,同时把 PI 积分清零。

我曾经犯过的错: 有一次忘了在低速时冻结补偿,结果电机在零速附近抖动,电流波形像锯齿一样。查了两天才发现是补偿值在正负之间来回跳。从那以后,我把冻结逻辑写进了代码的强制检查项里。

4.7 小结

基于电流矢量观测的在线补偿,说白了就是利用电压方程这个“物理模型”来做角度偏差的软测量。它不需要额外的硬件,不产生噪音,适合量产。但前提是——你得处理好参数敏感性和低速失效这两个问题。