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模型不是孤立运行的,它必须与实时仿真机、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余量不足,需简化模型或采用分段线性化。第三,接口延迟。输入采样、计算、输出更新之间的延迟会降低闭环相位裕度,建模时需在接口处显式加入延迟环节或采用预测补偿。
五、从方程到可执行模型的检查清单
综合以上内容,一个可用于HIL的被控对象模型应满足以下条件:物理方程与守恒律一致;状态变量有明确物理意义和单位;接口信号方向、量程、初始值已定义;离散化步长满足稳定性与精度要求;单步计算时间小于步长的50%;模型在典型工况和边界工况下均能收敛。只有同时满足这些条件,模型才具备“实时可执行”的资格,而不是停留在纸面上的微分方程。