2. 被控对象建模基础

在HIL(硬件在环)系统中,被控对象模型承担着“虚拟实物”的角色:它必须像真实电机、液压缸、电池或传动系统那样,对控制器输出的PWM、电压、电流或力矩指令作出物理上合理的响应。因此,被控对象建模不是简单写几个传递函数,而是从物理机理出发,建立能反映能量转换、惯性、阻尼、弹性和约束的数学描述,再将其转化为实时仿真器可周期执行的代码。本节围绕物理建模方法、微分方程与状态空间表示、模型接口定义以及实时性约束对建模的影响展开。

一、物理建模方法:从机理到方程

物理建模的核心是“守恒律+本构关系”。以直流电机为例,电枢回路遵循基尔霍夫电压定律,机械转子遵循牛顿第二定律,两者通过电磁转矩耦合。设电枢电压为 u,电枢电流为 i,反电动势系数为 Ke,转矩系数为 Kt,电枢电阻为 R,电感为 L,转动惯量为 J,粘性阻尼为 B,负载转矩为 TL,则可得:

L·di/dt = u - R·i - Ke·ω
J·dω/dt = Kt·i - B·ω - TL

这类方程是建模的起点。实际工程中,还需考虑摩擦非线性、齿隙、饱和、温度对电阻的影响等。建模方法通常分为三类:白盒建模(完全依据物理定律)、灰盒建模(机理+参数辨识)、黑盒建模(数据驱动)。HIL被控对象模型多采用白盒或灰盒,因为需要保证在未测试工况下仍具有外推能力。

二、微分方程与状态空间表示

微分方程便于理解物理意义,但不利于数值求解和接口统一。状态空间表示将高阶微分方程化为一阶方程组,形式为:

ẋ = f(x, u, t)
y = g(x, u, t)

其中 x 为状态向量,u 为输入向量,y 为输出向量。对上述直流电机,取状态 x=[i, ω]T,输入 u=[u, TL]T,输出 y=[ω, i]T,则状态方程为:

di/dt = (u - R·i - Ke·ω)/L
dω/dt = (Kt·i - B·ω - TL)/J

状态空间表示的优势在于:便于用数值积分算法(如欧拉法、龙格-库塔法)离散化,便于在Simulink、AMESim、Dymola等工具中统一描述,也便于分析能控性、能观性和稳定性。在HIL中,状态变量通常需要初始值、上下限和单位,这些元数据会直接影响模型初始化与故障注入。

HIL被控对象模型:物理方程 → 状态空间 → 实时接口 物理机理层 电压平衡方程 转矩平衡方程 本构关系与约束 参数:R, L, Ke, Kt, J, B 白盒/灰盒建模 状态空间层 ẋ = f(x, u, t) y = g(x, u, t) x = [i, ω]ᵀ u = [u, TL]ᵀ 离散化:欧拉/龙格-库塔 实时接口层 输入:PWM/电压/力矩 输出:转速/电流/位置 采样周期 Ts 单位、量程、初始值 定步长、确定性执行 实时性约束对建模的影响 • 步长 Ts 决定离散精度:Ts 过大 → 数值不稳定/相位滞后 • 计算负载:状态维数、非线性迭代、查表规模需与CPU余量匹配 • 刚性方程需选隐式/半隐式积分 • 接口延迟与抖动影响闭环稳定性 真实控制器 实时被控对象模型 控制指令 u(t) 反馈信号 y(t)

三、模型接口定义:让模型“接得上”

HIL模型不是孤立运行的,它必须与实时仿真机、I/O板卡、控制器和上位机交互。接口定义包括信号级接口和参数级接口。信号级接口需明确:信号名称、方向(输入/输出)、数据类型(double/float/int)、单位(V、A、rad/s、N·m)、量程、初始值、采样周期。例如,电机模型的输入接口可定义为:

输入:
  u_armature : double, V, [-300, 300], Ts=1ms
  T_load     : double, N·m, [-50, 50], Ts=1ms
输出:
  omega      : double, rad/s, [-500, 500], Ts=1ms
  i_armature : double, A, [-100, 100], Ts=1ms
参数:
  R=0.5Ω, L=0.002H, Ke=0.05V·s/rad, Kt=0.05N·m/A, J=0.001kg·m², B=0.0001N·m·s/rad

接口定义不清是HIL调试中最常见的故障源:单位不一致导致数量级错误,方向定义相反导致正反馈,初始值不匹配导致启动冲击。因此,建议在建模阶段就建立接口字典,并与控制器接口逐项核对。

四、实时性约束对建模的影响

实时仿真要求模型在固定步长内完成全部计算,且计算时间必须小于步长。这带来三个直接约束:第一,步长选择。对于上述电机模型,若采用欧拉法,步长需满足 Ts < 2L/R 和 Ts < 2J/B 的稳定条件。取 L=0.002H、R=0.5Ω,则电气时间常数约4ms,步长通常取0.1~1ms。第二,计算负载。状态维数越高、非线性越强,单步计算量越大。若CPU余量不足,需简化模型或采用分段线性化。第三,接口延迟。输入采样、计算、输出更新之间的延迟会降低闭环相位裕度,建模时需在接口处显式加入延迟环节或采用预测补偿。

实践建议:在模型交付前,用“步长扫描”方法验证数值稳定性:将 Ts 从0.05ms逐步增大到5ms,观察转速阶跃响应是否出现发散或持续振荡。若在目标步长下响应仍平滑且与参考解误差小于5%,则认为离散化可接受。

五、从方程到可执行模型的检查清单

综合以上内容,一个可用于HIL的被控对象模型应满足以下条件:物理方程与守恒律一致;状态变量有明确物理意义和单位;接口信号方向、量程、初始值已定义;离散化步长满足稳定性与精度要求;单步计算时间小于步长的50%;模型在典型工况和边界工况下均能收敛。只有同时满足这些条件,模型才具备“实时可执行”的资格,而不是停留在纸面上的微分方程。