4. 电机MPC的数学建模
模型预测控制(MPC)在电机驱动中的核心思想,是用一个可预测的数学模型,在有限时域内滚动求解最优电压矢量。要让MPC真正可用,第一步不是写优化器,而是把电机“翻译”成控制器能计算的状态空间形式。本节围绕四个关键环节展开:连续状态空间建模、离散化、预测方程推导,以及约束条件的数学表达。
一、核心原理:从电机方程到状态空间
以表贴式永磁同步电机(SPMSM)为例,在dq旋转坐标系下,忽略铁损与磁路饱和,电压方程可写为:
ud = Rs·id + Ld·did/dt - ωe·Lq·iq
uq = Rs·iq + Lq·diq/dt + ωe·Ld·id + ωe·ψf
其中 Rs 为定子电阻,Ld、Lq 为dq轴电感,ωe 为电角速度,ψf 为永磁体磁链。若取状态变量 x = [id, iq]ᵀ,输入 u = [ud, uq]ᵀ,扰动项包含 ωe 与 ψf 的耦合,则连续状态空间模型为:
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; -ωe·ψf/Lq]
这个模型是MPC的“心脏”。它把电流动态、反电动势耦合和参数影响全部显式表达出来,使控制器能够预测未来若干步的电流响应。
二、离散化方法:让模型适配数字控制器
实际控制器在固定采样周期 Ts 下运行,因此必须将连续模型离散化。常用方法有三种:
- 前向欧拉法:x(k+1) = x(k) + Ts·(A·x(k) + B·u(k)),计算简单,但 Ts 较大时精度下降。
- 后向欧拉法:x(k+1) = (I - Ts·A)⁻¹·(x(k) + Ts·B·u(k)),稳定性更好,适合刚性系统。
- 零阶保持(ZOH)精确离散:Ad = e^(A·Ts),Bd = ∫₀^Ts e^(A·τ)·B dτ,精度最高,但需矩阵指数运算。
在电机MPC中,若 Ts 为 50~100 μs,前向欧拉法通常已足够;若追求高精度或 Ts 较大,建议采用ZOH离散。离散后的模型统一写为:
x(k+1) = Ad·x(k) + Bd·u(k) + Ed·d(k)
y(k) = C·x(k)
三、预测方程推导:从一步到N步
MPC的核心是“预测未来”。以预测时域 Np、控制时域 Nc(通常 Nc ≤ Np)为例,从当前时刻 k 出发,递推可得:
x(k+1|k) = Ad·x(k) + Bd·u(k) + Ed·d(k)
x(k+2|k) = Ad²·x(k) + Ad·Bd·u(k) + Bd·u(k+1) + ...
...
x(k+Np|k) = Ad^Np·x(k) + Σ Ad^(Np-i)·Bd·u(k+i-1) + ...
将上述递推写成矩阵形式,得到紧凑预测方程:
Y = F·x(k) + Φ·U + Ψ·D
其中 Y 为未来Np步输出序列,U 为待优化电压序列,F、Φ、Ψ 由 Ad、Bd、Ed 构造。目标函数通常取电流跟踪误差与控制量增量的加权平方和:
J = Σ ||y(k+i|k) - y_ref(k+i)||²_Q + Σ ||Δu(k+i)||²_R
该二次型问题可转化为标准QP形式,由在线求解器在每个采样周期内求解。
四、约束条件表达:让控制量“守规矩”
电机MPC必须考虑物理约束,否则求解出的电压可能超出逆变器能力。常见约束包括:
| 约束类型 | 数学表达 | 物理含义 |
|---|---|---|
| 电压幅值约束 | ud² + uq² ≤ Udc²/3 | 受母线电压与SVPWM线性调制区限制 |
| 电流幅值约束 | id² + iq² ≤ Imax² | 保护功率器件与电机绕组 |
| 电压增量约束 | |Δud| ≤ ΔUmax,|Δuq| ≤ ΔUmax | 限制电压变化率,抑制电流冲击 |
| 状态约束 | x_min ≤ x(k+i|k) ≤ x_max | 限制电流、转速等状态变量范围 |
在QP求解器中,这些约束统一写成线性不等式形式:
A_ineq·U ≤ b_ineq
例如电压圆约束可近似为多边形约束,或直接采用二阶锥约束。若采用显式MPC,还可将约束分区离线计算,在线仅做查表与插值。
五、案例与复盘:一个完整的建模流程
以一台额定功率 1.5 kW 的SPMSM为例,参数为 Rs = 0.5 Ω,Ld = Lq = 5 mH,ψf = 0.1 Wb,Udc = 300 V,Ts = 100 μs。建模步骤如下:
- 列写dq电压方程,确定 A、B、E 矩阵。
- 采用前向欧拉法离散,得到 Ad、Bd、Ed。
- 设定 Np = 10,Nc = 3,构造预测矩阵 F、Φ、Ψ。
- 定义目标函数权重 Q = diag(1,1),R = 0.01·I。
- 加入电压圆约束与电流幅值约束,形成QP问题。
- 在MATLAB/Simulink中搭建仿真,对比PI与MPC的电流阶跃响应。
复盘时重点关注:离散化误差是否导致稳态偏差;预测时域是否覆盖电流主要动态;约束是否过紧导致无可行解。若出现无解,可引入松弛变量,将硬约束转为软约束,并在目标函数中加入松弛惩罚项。