2. 电机控制器HIL系统架构
电机控制器HIL(Hardware-in-the-Loop)验证系统并不是一台设备,而是一条从“模型计算”到“被测控制器”再回到“模型反馈”的闭环信号链。理解这条链路上每一级的功能边界与接口定义,是后续搭建测试用例、定位异常和评估验证覆盖率的前提。本节按信号从仿真机流向被测控制器、再返回仿真机的顺序,逐级拆解系统架构,并给出接口定义的关键约定。
一、实时仿真机:闭环的“大脑”
实时仿真机承担电机模型、逆变器模型、车辆动力学模型以及各类传感器模型的定步长求解。它的核心指标不是CPU主频,而是确定性:每个仿真步长必须在规定时间内完成计算并输出,否则闭环时序失真,HIL结果不可信。工程上常用步长分为两档:电气模型(电机、逆变器)采用10~50 μs,机械与整车模型采用100 μs~1 ms。以某永磁同步电机HIL平台为例,电气部分步长设为20 μs,机械部分设为200 μs,两者通过共享内存交换转矩与转速。
仿真机对外提供两类接口:一类是实时总线(如反射内存、EtherCAT)用于多机箱同步;另一类是IO板卡插槽,用于与被测控制器进行物理信号交互。模型中的电压、电流、温度、位置等变量,必须通过IO板卡映射为真实电平,才能被控制器采集。
二、IO板卡:模型变量与物理电平的翻译层
IO板卡是仿真机与外部世界之间的电气接口,常见类型包括模拟输出(AO)、模拟输入(AI)、数字输出(DO)、数字输入(DI)、PWM输出/捕获、旋变/编码器仿真板卡等。每一类板卡都有明确的量程、分辨率、更新率和精度指标。例如,模拟输出板卡量程±10 V、16位分辨率,对应电流传感器模型输出时,需将模型中的电流值按传感器增益和偏置换算为电压:
V_out = I_model × G_sensor + V_offset
示例:I_model = 150 A,G_sensor = 20 mV/A,V_offset = 2.5 V
V_out = 150 × 0.02 + 2.5 = 5.5 V
这个换算关系必须在IO板卡配置中与控制器端的传感器特性一致,否则控制器解算出的电流值会出现系统性偏差。数字IO则用于点火开关、继电器状态、故障标志等离散信号,需注意高有效/低有效逻辑与控制器端定义一致。
三、功率级仿真:从信号级到功率级的跨越
当被测对象是电机控制器总成(含功率模块)时,仅靠小信号IO无法模拟真实功率回路。功率级仿真通过功率放大器或电子负载,在控制器输出端重建三相电压/电流环境。常见方案有两种:一是功率硬件在环(PHIL),用实时仿真机驱动功率放大器,将模型计算出的三相电压施加到控制器功率输入端;二是电机模拟器,用电力电子变换器模拟电机绕组的反电动势与阻抗特性,直接与控制器输出相连。
功率级仿真的关键参数包括:电压范围(如0~800 V)、电流能力(如±300 A峰值)、带宽(如5 kHz)和开关频率。若带宽不足,控制器输出的PWM边沿会被平滑,导致电流环响应失真。因此,功率级仿真的带宽应至少为控制器电流环带宽的5~10倍。
四、信号调理:让电平“匹配”且“干净”
信号调理位于IO板卡与被测控制器之间,完成电平转换、隔离、滤波和驱动增强。典型场景包括:将仿真机0~5 V的模拟输出转换为控制器需要的0~10 V或4~20 mA;将控制器输出的PWM信号隔离后送入仿真机捕获通道;对旋变信号进行缓冲和幅值调整。调理电路的设计必须保证不引入额外相移,否则会影响位置解码精度。例如,旋变激励信号通常为10 kHz正弦,调理电路的截止频率应远高于10 kHz,同时避免在信号链中引入可观的群延迟。
五、故障注入单元:把“异常”变成可控变量
故障注入单元(FIU)是HIL系统区别于普通台架的核心能力。它通过继电器矩阵、模拟开关或半导体开关,在信号链或功率链中人为制造开路、短路、对地/对电源短路、信号偏移、信号丢失等故障。以旋变信号为例,FIU可以断开某一相正弦绕组,模拟旋变断线;也可以在正弦信号上叠加直流偏置,模拟传感器零漂。故障注入的触发方式通常有三种:手动触发、定时触发和条件触发(如当转速超过3000 rpm时注入)。条件触发更接近真实故障场景,但需要仿真机与FIU之间的同步机制,触发延迟应控制在仿真步长的1~2倍以内。
六、被测控制器接口定义:一切连接的“契约”
接口定义是系统集成的依据,必须明确每个针脚的功能、电气特性、方向、量程和故障注入点。以下是一份典型的电机控制器HIL接口定义表示例(参数为教学示例,非实测值):
| 信号名称 | 方向 | 类型 | 量程/逻辑 | 对应模型变量 | 故障注入点 |
|---|---|---|---|---|---|
| U相电流反馈 | 控制器←仿真机 | 模拟 | 0~5 V,2.5 V零电流 | I_u | 开路/偏置 |
| V相电流反馈 | 控制器←仿真机 | 模拟 | 0~5 V,2.5 V零电流 | I_v | 开路/偏置 |
| 旋变正弦 | 控制器←仿真机 | 模拟差分 | ±2 V,10 kHz | sin(θ) | 断线/短路 |
| 旋变余弦 | 控制器←仿真机 | 模拟差分 | ±2 V,10 kHz | cos(θ) | 断线/短路 |
| PWM使能 | 控制器→仿真机 | 数字 | 高有效,5 V | Enable | 对地短路 |
| 故障反馈 | 控制器→仿真机 | 数字 | 低有效,0 V | Fault | 开路 |
接口定义表一旦确定,仿真机模型、IO板卡配置、信号调理板和FIU接线都应以此为准。任何一侧的改动都必须同步更新,否则会出现“模型算得对、控制器读不对”的典型问题。
从这张架构图可以看出,HIL系统的每一级都有明确的职责:仿真机负责“算得准”,IO板卡负责“转得对”,信号调理负责“传得净”,FIU负责“坏得可控”,接口定义负责“接得一致”。实际搭建时,建议先冻结接口定义表,再依次配置IO板卡量程、调理板增益和FIU注入点,最后用已知信号逐级回环验证。例如,在仿真机中强制输出I_u = 100 A,经IO板卡和调理电路后,用万用表在控制器针脚处测量应为4.5 V(按前文换算),若偏差超过±1%,则需检查调理增益或IO板卡校准系数。只有每一级都经过独立验证,闭环后的测试结果才具备可信度。