飞控系统核心架构:传感器、执行机构、飞控计算机与RTOS
做HIL测试,首先得把飞控系统本身摸透。说白了,你得知道被测对象长什么样,才能搭好测试台架。这一章咱们就拆开看看,一套完整的飞控系统到底由哪些部分组成。
我个人习惯把飞控系统分成四大块:感知(传感器)、决策(飞控计算机)、执行(舵机/电机)、调度(RTOS)。缺一个,这飞机都飞不起来。
2.1 传感器:飞控的“眼睛”和“耳朵”
传感器负责告诉飞控计算机“我现在在哪、姿态怎么样、飞得多快”。没有传感器数据,飞控就是瞎子。
2.1.1 IMU(惯性测量单元)
IMU是飞控最核心的传感器,它包含三轴加速度计和三轴陀螺仪。加速度计测比力,陀螺仪测角速度。两者融合,才能算出姿态角(横滚、俯仰、偏航)。
我在项目中遇到过一个问题:某款IMU在高温下零偏漂移严重,导致悬停时飞机慢慢往一边偏。后来我们加了温度补偿模型,才把问题压下去。嗯,选型时一定要看温漂系数。
2.1.2 GPS(全球定位系统)
GPS提供位置和速度信息,更新率通常5Hz-10Hz。它和IMU是天生一对——IMU短时精度高但会漂移,GPS长期稳定但更新慢。两者通过卡尔曼滤波融合,才能得到可靠的导航解。
| 传感器 | 优点 | 缺点 | 典型更新率 |
|---|---|---|---|
| IMU | 高频、不受外界干扰 | 随时间漂移 | 200-1000 Hz |
| GPS | 绝对位置、无漂移 | 更新慢、易受遮挡 | 5-10 Hz |
| 气压计 | 低成本测高 | 受气流/温度影响大 | 25-100 Hz |
2.1.3 气压计
气压计通过测量大气压强来推算高度。每上升100米,气压大约下降12hPa。但气压计对气流非常敏感——无人机旋翼下洗气流会直接吹偏读数。
你想想看,如果飞控只用气压计定高,飞机稍微一抖,高度就跳来跳去。所以实际中气压计数据要经过低通滤波,并且和IMU的垂直加速度融合。
2.2 执行机构:飞控的“手脚”
传感器告诉飞控“发生了什么”,执行机构负责“去做什么”。在HIL测试中,执行机构通常被模拟,但你必须理解它们的特性。
2.2.1 舵机(Servo)
舵机用于控制固定翼的舵面(副翼、升降舵、方向舵)或旋翼机的倾斜盘。它接收PWM信号(通常50Hz,脉宽1ms-2ms对应0°-90°)。
- 关键指标: 响应速度(0.1s/60°)、扭矩(kg·cm)、死区(通常1-2μs)。
- HIL模拟要点: 需要模拟PWM信号采集,并加入舵面响应延迟和限位。
我记得有一次测试,舵机模型没加死区,结果飞控输出微小修正时,仿真里的舵面立刻响应,但实际舵机根本不动。这导致HIL测试通过,真机试飞却震荡。后来我在模型里加了±1.5μs的死区,才对齐。
2.2.2 电机(Motor)
电机配合螺旋桨产生推力。飞控通过ESC(电子调速器)控制电机转速,ESC同样接收PWM信号(通常50Hz-400Hz)。
电机模型在HIL中很关键——你要模拟电机响应延迟(从PWM指令到实际转速变化,通常几十毫秒)和推力-转速曲线(通常不是线性的)。
2.3 飞控计算机:Pixhawk与Cube Orange
飞控计算机是决策中心。它读取传感器数据,运行控制算法,输出PWM指令。目前最主流的是Pixhawk系列和Cube Orange。
2.3.1 Pixhawk
Pixhawk是开源飞控硬件的标杆。它基于STM32F4/F7系列MCU,主频168MHz-216MHz,内置IMU、气压计,支持多路PWM输出和UART/CAN/I2C接口。
- 典型型号: Pixhawk 4(STM32F765,216MHz),Pixhawk 6C(STM32H743,480MHz)。
- HIL连接: 通常通过USB虚拟串口或UART与仿真机通信,接收MAVLink协议的数据。
2.3.2 Cube Orange
Cube Orange是Hex/ProfiCNC推出的高端飞控,基于STM32H7系列,主频400MHz+,带冗余IMU(三套)和冗余气压计。适合工业级或科研用途。
| 特性 | Pixhawk 4 | Cube Orange |
|---|---|---|
| MCU | STM32F765 | STM32H753 |
| 主频 | 216 MHz | 400 MHz |
| IMU冗余 | 双套 | 三套 |
| 典型用途 | 教育/科研/轻量无人机 | 工业/测绘/重载无人机 |
2.4 实时操作系统(RTOS)
飞控必须运行在RTOS上,因为控制任务有严格的截止时间。你想想看,如果姿态控制循环延迟了10ms,飞机可能已经翻了。
常用的飞控RTOS有:
- NuttX: PX4飞控栈的默认RTOS,POSIX兼容,支持多任务、文件系统、网络协议栈。
- ChibiOS: 轻量级RTOS,ArduPilot早期使用,现在部分版本仍支持。
- FreeRTOS: 通用RTOS,一些定制飞控会使用。
RTOS的核心机制是任务调度和中断管理。飞控中典型的任务优先级如下:
- 传感器采集(最高优先级): 通过SPI/I2C读取IMU数据,通常1kHz。
- 姿态估计: 运行卡尔曼滤波,更新姿态和位置。
- 控制律计算: PID控制器输出。
- PWM输出: 将控制量转为PWM脉宽。
- 日志/通信(最低优先级): 记录数据、发送MAVLink。
2.5 飞控系统核心架构总览
下面这张图把整个飞控系统的数据流和模块关系画清楚了。你可以看到,传感器数据经过飞控计算机处理后,输出给执行机构,而RTOS负责调度所有任务。
这张图把四大模块的关系理清了。传感器数据通过SPI/I2C总线送入飞控计算机,飞控运行控制算法后输出PWM给执行机构,而RTOS在底层负责所有任务的实时调度。箭头上的文字标明了通信协议和数据流向。