4. 电机MPC的数学建模

模型预测控制(MPC)在电机驱动中的性能上限,首先由数学模型决定。若模型不能准确描述电流、转速与电压之间的动态关系,再快的求解器也无法给出正确的电压矢量。本节围绕四个关键环节展开:连续域状态空间建模、离散化方法选择、预测方程推导,以及约束条件的数学表达。它们共同构成MPC控制器的“数学底座”。

一、核心原理:从电机方程到状态空间模型

以永磁同步电机(PMSM)为例,在dq旋转坐标系下,忽略铁损与磁路饱和,电压方程可写为:

ud = Rs·id + Ld·(did/dt) - ωe·Lq·iq
uq = Rs·iq + Lq·(diq/dt) + ωe·Ld·id + ωe·ψf

其中 Rs 为定子电阻,Ld、Lq 为直交轴电感,ωe 为电角速度,ψf 为永磁体磁链。选取状态变量 x = [id, iq]ᵀ,输入变量 u = [ud, uq]ᵀ,扰动项包含 ωe 相关耦合项,则连续状态空间模型为:

dx/dt = A·x + B·u + E·d
A = [[-Rs/Ld,  ωe·Lq/Ld],
     [-ωe·Ld/Lq, -Rs/Lq]]
B = [[1/Ld, 0],
     [0, 1/Lq]]
E = [[0, -Lq·iq/Ld],
     [0, -Ld·id/Lq - ψf/Lq]]

这里 A 矩阵含转速耦合项,说明电机模型本质上是时变的。若转速变化远慢于电流环,可在每个控制周期内将 ωe 视为常数,把模型线性化为线性时变(LTV)系统,这是实时实现中常用的工程近似。

建模要点:状态变量选择决定预测方程形式。电流预测常用 id、iq;若需同时控制转速,可扩展为 x = [id, iq, ωm]ᵀ,但会显著增加计算量。

二、离散化方法:前向欧拉、后向欧拉与精确离散

数字控制器只能在离散时刻计算,因此必须将连续模型转换为离散形式 x(k+1) = Ad·x(k) + Bd·u(k)。常用方法有三类:

  • 前向欧拉法:Ad = I + A·Ts,Bd = B·Ts。计算最简单,但 Ts 较大时精度下降,甚至可能不稳定。
  • 后向欧拉法:Ad = (I - A·Ts)⁻¹,Bd = (I - A·Ts)⁻¹·B·Ts。稳定性较好,但需矩阵求逆。
  • 精确离散化:Ad = e^(A·Ts),Bd = ∫₀^Ts e^(A·τ)dτ·B。精度最高,适合对模型精度要求高的场合,但指数矩阵计算开销大。

在电机MPC中,电流环控制周期通常为 50~200 μs,前向欧拉法已能满足精度要求,且计算量最小,因此成为实时实现的首选。若控制周期接近电机电气时间常数,则应改用后向欧拉或精确离散化。

三、预测方程推导:从单步到多步

设离散模型为 x(k+1) = Ad·x(k) + Bd·u(k),则未来 N 步状态可由当前状态和输入序列递推得到:

x(k+1) = Ad·x(k) + Bd·u(k)
x(k+2) = Ad²·x(k) + Ad·Bd·u(k) + Bd·u(k+1)
...
x(k+N) = Ad^N·x(k) + Σ Ad^(N-1-i)·Bd·u(k+i)

将上式写成矩阵形式,即得到预测方程:

X = F·x(k) + Φ·U
X = [x(k+1), x(k+2), ..., x(k+N)]ᵀ
U = [u(k), u(k+1), ..., u(k+N-1)]ᵀ
F = [Ad, Ad², ..., Ad^N]ᵀ
Φ 为下三角块矩阵,元素为 Ad^(i-j)·Bd

预测方程是MPC的核心:它把“未来状态”表达为“当前状态 + 未来输入”的线性函数。控制器只需优化 U,即可同时影响未来 N 步的电流轨迹。对于电机电流环,N 通常取 1~3,因为电流动态快,过长的预测窗口收益有限,反而增加计算负担。

实时实现中,F 和 Φ 可在每个控制周期根据当前转速重新计算,也可预先离线计算若干转速点的矩阵并在线插值,以降低在线计算量。

四、约束条件表达:电压、电流与开关频率

MPC 相比 PI 控制的最大优势,是能显式处理约束。电机驱动中的约束主要包括:

约束类型数学表达物理含义
电压圆约束ud² + uq² ≤ Udc²/3受母线电压限制,SVPWM线性调制区
电流圆约束id² + iq² ≤ Imax²受功率器件与绕组热限制
电流变化率|i(k+1) - i(k)| ≤ Δimax限制电流冲击,保护器件
开关频率Σ|S(k+1)-S(k)| ≤ Nsw限制逆变器开关次数,降低损耗

在优化问题中,约束通常写成线性不等式组:

min  J = Σ (x(k+i) - xref)ᵀQ(x(k+i) - xref) + u(k+i)ᵀRu(k+i)
s.t. x(k+i+1) = Ad·x(k+i) + Bd·u(k+i)
     G·u(k+i) ≤ h
     x(k+i) ∈ Xset, u(k+i) ∈ Uset

其中 Q、R 为权重矩阵,G·u ≤ h 表示电压、电流等约束的线性化形式。对于电压圆约束,由于是二次约束,实际实现中常采用多边形内近似,将其转化为线性不等式,便于实时求解。

五、案例与误区复盘

以一台 1 kW PMSM 为例,参数为 Rs = 0.5 Ω,Ld = 5 mH,Lq = 8 mH,ψf = 0.1 Wb,Ts = 100 μs。采用前向欧拉离散化,得到 Ad = I + A·Ts,Bd = B·Ts。在转速 1000 rpm 时,ωe ≈ 104.7 rad/s,耦合项 ωe·Lq/Ld ≈ 167.5,说明耦合不可忽略。若忽略耦合项,电流预测误差可达 10% 以上,导致稳态电流纹波增大。

常见误区:一是离散化时忽略转速耦合项,导致高速区预测失准;二是预测步长 N 取得过大,计算量剧增但电流环带宽并未提升;三是约束条件只考虑电压圆,忽略电流圆和开关频率,导致器件过热或开关损耗超标。

复盘建议:建模阶段先用精确离散化验证前向欧拉法的误差,确认 Ts 足够小;预测方程推导后,用仿真对比预测电流与实际电流的偏差;约束表达时,优先将二次约束线性化,并检查约束是否可行域非空。只有模型、离散化、预测方程和约束四者一致,MPC 才能在实时平台上稳定运行。