4. 被控对象建模基础
在dSPACE动力控制器HIL验证中,被控对象模型不是“越精细越好”,而是要在模型边界、接口定义、采样周期与实时性约束四者之间取得平衡。HIL的本质是让真实控制器(VCU、MCU、BMS等)运行在虚拟被控对象上,因此模型必须满足两个条件:一是物理行为足够真实,能触发控制器的正常与异常响应;二是计算负载足够轻,能在实时步长内完成解算。本节围绕动力总成对象,说明如何建立面向HIL的模型边界、接口、周期与实时性约束。
一、模型边界:先定义“控制器看到什么”
模型边界决定了哪些物理量由模型计算、哪些由真实硬件提供、哪些由信号发生器模拟。以纯电动力总成HIL为例,典型边界划分如下:
- 控制器侧(真实硬件):VCU、MCU控制器、BMS从控/主控、油门/制动踏板、档位开关。
- 模型侧(虚拟对象):驱动电机及其逆变器、减速器、车轮与整车纵向动力学、动力电池等效电路、热管理回路。
- 信号接口侧:旋转变压器/编码器信号、CAN报文、模拟量传感器、PWM驱动信号、故障注入开关。
边界划分的核心原则是:控制器输出什么,模型就接收什么;控制器需要什么反馈,模型就产生什么。例如VCU输出扭矩请求,模型接收后计算电机实际扭矩与转速;MCU输出PWM,模型接收后计算相电流与母线电流。边界一旦确定,接口清单即可固化,避免后期反复修改。
二、接口定义:信号类型、方向与量纲
接口定义是HIL模型与真实控制器之间的“契约”。每个信号必须明确:名称、方向(控制器→模型或模型→控制器)、物理量纲、电气形式、更新速率、有效范围与故障默认值。下表给出一个纯电动力总成HIL的典型接口示例(示例参数,非实测):
| 信号名 | 方向 | 物理量 | 电气形式 | 更新率 | 范围/默认值 |
|---|---|---|---|---|---|
| TrqReq | VCU→模型 | 扭矩请求 | CAN | 10 ms | -300~300 N·m / 0 |
| MotSpd | 模型→MCU | 电机转速 | Sin/Cos | 1 ms | 0~12000 rpm |
| MotTrq | 模型→VCU | 实际扭矩 | CAN | 10 ms | -300~300 N·m |
| Idc | 模型→BMS | 母线电流 | 模拟量 | 1 ms | -400~400 A / 0 |
| Vdc | 模型→MCU | 母线电压 | 模拟量 | 1 ms | 250~450 V / 350 V |
| TempMot | 模型→VCU | 电机温度 | CAN | 100 ms | -40~150 ℃ / 25 ℃ |
接口定义中必须注意量纲一致性:模型内部常用SI单位(rad/s、N·m、A、V),而控制器接口可能使用rpm、0.1 N·m、0.01 A等缩放因子。建议在模型边界处统一做一次量纲转换,并在接口文档中记录缩放系数,避免“模型算对了、控制器读错了”的典型问题。
三、采样周期:快慢分层与实时步长
HIL模型的采样周期不是单一值,而是按物理过程的时间尺度分层。动力总成中,电磁过程(电流环)时间常数约0.1~1 ms,机械过程(转速、扭矩)约10~100 ms,热过程约1~10 s。因此典型分层为:
- 电流环/逆变器模型:步长 50~100 μs,用于复现PWM与相电流动态。
- 电机机械与整车动力学:步长 1 ms,计算转速、扭矩、车速。
- 电池等效电路:步长 1 ms,计算端电压与SOC变化。
- 热管理模型:步长 100 ms~1 s,计算温度变化。
实时性约束要求:所有模型在单个步长内的计算时间必须小于步长的60%~70%,留出余量给I/O与调度。例如1 ms步长下,模型计算应控制在600~700 μs以内。若超时,dSPACE实时系统会报“overrun”,导致仿真时间与真实时间脱节,控制器可能误判故障。
四、实时性约束:从模型复杂度到硬件资源
实时性约束最终落在处理器负载、I/O吞吐与内存带宽上。以dSPACE SCALEXIO或MicroAutoBox为例,若模型包含开关频率10 kHz的逆变器详细模型,则50 μs步长下每个PWM周期只有5个计算点,必须使用平均模型或小步长解算器。实际工程中常采用以下策略:
- 电磁暂态用平均模型:用受控电压源/电流源替代开关器件,保留基波与低次谐波,计算量降低一个数量级。
- 机械与热模型解耦:热模型不参与快速环路,用100 ms步长单独解算,通过接口传递平均损耗。
- 查表替代实时积分:电机效率MAP、电池OCV-SOC曲线用查表实现,避免迭代求解。
- 固定步长解算器:HIL必须使用定步长(如Euler、RK2),禁用变步长,保证每个周期计算时间可预测。
下面用一张信号链与周期分层图,把模型边界、接口方向、采样周期和实时性约束放在同一视图中,便于对照理解。
五、从边界到实时性的工程检查清单
在模型交付HIL之前,建议按以下清单逐项确认,避免后期返工:
- 边界清单:每个控制器引脚/报文是否都有明确的模型侧对应?是否存在“悬空”信号?
- 接口量纲:缩放系数是否记录?默认值是否安全(如扭矩默认0、电压默认350 V)?
- 步长分配:快慢模型是否解耦?跨步长信号是否做了零阶保持或平均处理?
- 实时余量:最坏情况下单步计算时间是否小于步长的70%?是否留有I/O与调度余量?
- 故障注入:开路、短路、信号漂移、CAN丢帧是否可在接口层注入而不修改模型?
总结来说,动力总成HIL建模的核心不是追求最精细的物理方程,而是建立清晰的边界、严格的接口、分层的采样周期和可验证的实时性余量。边界决定模型“管什么”,接口决定模型“怎么连”,采样周期决定模型“算多快”,实时性约束决定模型“能不能跑”。四者相互制约,需要在设计初期就统一规划,并在模型迭代中持续验证。