3. HIL测试基本原理与系统组成
硬件在环(Hardware-in-the-Loop,HIL)测试的核心思想,是把真实飞控硬件放进一个由实时仿真机构造的“虚拟飞行世界”里:仿真机以固定步长实时解算多旋翼的六自由度动力学、电机与螺旋桨模型、传感器模型以及风扰等环境模型,并通过 I/O 板卡与信号调理电路,把这些物理量转换成飞控能“感知”的电压、电流、PWM、串口或 CAN 报文;飞控照常运行自己的姿态解算、控制律与混控逻辑,输出电机指令;这些指令又被采集回仿真机,驱动模型进入下一个仿真步。飞控并不知道自己面对的是真实传感器还是仿真信号,因此 HIL 能在不炸机、不依赖外场的前提下,复现真实飞行中的控制闭环。
理解 HIL,关键是理解“闭环”和“实时”两个词。闭环意味着飞控的输出会立刻影响它下一步的输入:如果姿态控制增益偏大,仿真中的角速率会振荡,飞控采集到的陀螺信号随之振荡,进而继续放大指令,形成真实系统中同样会出现的发散过程。实时意味着仿真步长必须严格小于一个控制周期,通常飞控主控周期为 1 kHz(1 ms),仿真步长常取 0.5 ms 或 0.25 ms,保证在一个控制周期内模型至少推进两次,避免因采样与解算错拍引入虚假相位滞后。
系统组成与协同关系
一套典型的 HIL 系统由五类角色构成,它们之间的信号流与协同关系如下图所示。
从图中可以看出,实时仿真机与上位机之间是“状态上行、激励下行”的双向数据流;仿真机与飞控之间则通过 I/O 板卡和信号调理构成一条完整的物理信号链。上位机通常不直接接触飞控的传感器接口,而是通过仿真机间接注入故障或扰动,例如在某一时刻叠加一个 5° 的滚转角速率偏置,模拟陀螺零偏故障。
各环节的关键参数与常见问题
实时仿真机是整个系统的“心脏”。它的核心指标是实时性与确定性:模型解算必须在步长内完成,且每次解算的抖动要小。以 0.5 ms 步长为例,若某一步因操作系统调度延迟了 0.3 ms,飞控就会在那一周期读到“迟到”的传感器值,闭环中相当于额外插入了一个随机延迟,可能让原本稳定的控制律出现高频抖动。因此仿真机通常运行在实时操作系统上,并关闭非必要中断与节能策略。
I/O 板卡负责“翻译”模型量与电信号。模拟输出通道把姿态角、角速率等模型量转换成飞控 IMU 能接受的模拟电压;PWM 输入捕获通道则测量飞控输出的电机脉宽,典型范围为 1000~2000 μs,对应油门 0~100%。这里有一个容易忽略的细节:PWM 捕获的分辨率与更新率必须高于飞控输出频率。若飞控以 400 Hz 输出 PWM,而捕获通道每 5 ms 才刷新一次,就会丢失部分脉宽变化,导致模型收到的电机指令“阶梯化”,进而影响闭环真实性。
信号调理电路常被当作“接线”而轻视,但它直接决定信号链的精度。以 3.3 V 飞控与 5 V 仿真机 I/O 为例,若不做电平匹配,轻则读数偏移,重则损坏飞控输入引脚。再如陀螺模拟输出,飞控内部通常有 1.65 V 左右的零偏参考,仿真机输出的零角速率必须精确对应这个电压,否则飞控会认为飞机在缓慢旋转,积分后姿态发散。实际调试中,常用“零输入检查”来验证:让模型输出零角速率、零加速度,观察飞控姿态解算是否保持静止,若缓慢漂移,说明零偏或增益标定有误。
被测飞控是 HIL 中的“真实对象”,其固件、参数、传感器配置都应与真实飞行一致。HIL 的价值在于,它允许我们在飞控固件不变的前提下,反复注入极端工况:传感器饱和、信号丢失、电源跌落、GPS 跳变等。例如,把气压计信号在 10 s 处突然拉高 50 m,观察飞控高度控制是否触发保护逻辑,还是盲目下压油门。这类测试在真实飞行中风险极高,在 HIL 中却可以安全复现。
上位机监控与自动化测试软件是“指挥中心”。它负责三件事:一是编排测试用例,按时间轴注入激励;二是实时采集并显示关键变量,如姿态角、角速率、电机指令、模型状态;三是按预设判据自动判定通过或失败。一个实用的判据例子是:在阶跃滚转指令下,滚转角超调量应小于 15%,调节时间应小于 0.8 s,且稳态误差小于 1°。若超调量达到 30%,则判定该组控制参数不满足要求,测试报告自动标记失败并记录波形。
协同关系中的时间基准
五类角色要协同工作,必须共享统一的时间基准。通常由仿真机提供全局时钟,I/O 板卡与仿真机同步采样,上位机通过时间戳对齐记录数据。若上位机与仿真机时钟不同步,注入的激励与采集的响应之间就会出现时间偏移,导致判据误判。例如,实际在 2.000 s 注入的阶跃,上位机记录为 2.050 s,那么计算出的调节时间就会偏大 50 ms,可能把合格结果误判为不合格。