一、飞控系统硬件架构概述:飞控计算机、传感器、执行机构、通信总线的基本组成与功能
大家好,我是老张。今天咱们聊聊飞控系统的硬件架构。说实话,这玩意儿我摸爬滚打十几年,踩过的坑比走过的路还多。你想想看,一个无人机在天上飞,全靠这套硬件撑着,任何一个环节出问题,结果可能就是“啪”一下摔下来。
飞控系统硬件,说白了就是四大块:飞控计算机(大脑)、传感器(眼睛和耳朵)、执行机构(手脚)、通信总线(神经网络)。缺一不可,环环相扣。
核心观点:飞控系统的可靠性,取决于最薄弱的那个硬件环节。我见过太多设计,CPU选得顶级,结果传感器供电滤波没做好,飞着飞着数据就飘了。
1.1 飞控计算机——系统的“大脑”
飞控计算机,也叫飞行控制计算机(FCC),是整个系统的核心。它负责读取传感器数据,运行控制算法,然后输出指令给执行机构。
我个人习惯把飞控计算机分成三个层次:
- 主控芯片(CPU/MCU): 跑控制律、导航算法、任务管理。常见的有STM32F4/F7、TI的TMS320系列、以及ARM Cortex-M7/M4。我早期用过STM32F405,算力够用但浮点运算差点意思,后来换了F7才舒服。
- 协处理器/FPGA: 处理高速传感器数据、PWM生成、硬件冗余表决。有些高可靠系统(比如军用无人机)会专门用FPGA做硬件表决,三个IMU数据进来,直接硬件投票输出。
- 存储与接口: Flash存固件,RAM跑程序,SD卡存日志。接口方面,至少要有UART、SPI、I²C、CAN、PWM输出。
避坑指南: 我曾经在一个项目中,飞控计算机选型时只关注了主频,忽略了ADC采样精度和DMA通道数。结果传感器数据读取占用了大量CPU时间,控制周期从1kHz掉到了500Hz。嗯,从那以后我选型必看外设资源清单。
1.2 传感器——系统的“感知器官”
传感器负责感知飞行器的状态。没有传感器,飞控就是瞎子。常见的传感器包括:
| 传感器类型 | 测量物理量 | 典型型号 | 常见故障模式 |
|---|---|---|---|
| 加速度计 | 三轴加速度 | MPU6050, ICM-20602 | 零偏漂移、噪声增大 |
| 陀螺仪 | 三轴角速度 | MPU6050, BMI088 | 温漂、输出锁定 |
| 磁力计 | 地磁场强度 | HMC5883L, IST8310 | 硬磁/软磁干扰 |
| 气压计 | 大气压强 | MS5611, BMP280 | 气压突变、数据跳变 |
| GPS | 位置、速度、时间 | u-blox M8N, NEO-M9N | 丢星、多径效应 |
| 空速计 | 空速(相对空气速度) | MS4525DO | 堵塞、零点漂移 |
这里我要多说一句:传感器冗余是飞控系统可靠性的基石。我参与过一个三冗余IMU的设计,三个IMU的数据通过硬件表决电路输出,任何一个IMU故障都不会影响系统。你想想看,如果只有一个IMU,它坏了你连姿态都算不出来,飞机直接失控。
注意: 传感器数据质量比数量更重要。我曾经见过一个团队,堆了五个IMU,结果供电纹波太大,五个IMU的数据都在跳。冗余不是万能的,基础设计必须扎实。
1.3 执行机构——系统的“手脚”
执行机构接收飞控计算机的指令,把电信号转化为机械动作。主要包括:
- 舵机/伺服电机: 控制副翼、升降舵、方向舵、襟翼等气动舵面。常见的有PWM舵机(50Hz)和数字舵机(最高400Hz)。
- 电调(ESC)+ 电机: 控制螺旋桨转速。电调接收PWM或DShot信号,驱动无刷电机旋转。
- 其他执行器: 比如起落架收放机构、伞舱、云台电机等。
执行机构有个特点:它是能量转换的末端。飞控计算机输出的是毫瓦级的信号,执行机构输出的是千瓦级的功率。所以故障检测时,执行机构往往是重灾区——电机堵转、舵机卡死、电调烧毁,我都遇到过。
关键点: 执行机构的故障检测,不能只看有没有PWM信号。我建议同时监测电流反馈和位置反馈。比如舵机,如果PWM指令是打到30度,但位置反馈只有5度,那肯定卡死了。
1.4 通信总线——系统的“神经网络”
通信总线把飞控计算机、传感器、执行机构连接起来。没有总线,各个模块就是信息孤岛。
常用的总线有:
- SPI: 高速、全双工,常用于IMU、气压计等传感器。速率可达10Mbps以上。但缺点是线多(至少4根),距离短。
- I²C: 两线制,简单便宜,但速率慢(标准模式100kHz,快速模式400kHz),抗干扰差。我一般只在板内短距离用。
- UART: 异步串口,常用于GPS、数传模块。速率115200bps到921600bps。简单可靠,但点对点通信。
- CAN: 差分信号,抗干扰强,距离远(几十米),多主通信。我特别喜欢CAN总线,在无人机上挂多个舵机、电调,一条CAN线搞定。速率1Mbps。
- Ethernet: 高速、大带宽,用于任务计算机和飞控计算机之间的数据交换。但功耗高、接口复杂,小型无人机用得少。
| 总线类型 | 最大速率 | 通信距离 | 抗干扰能力 | 典型用途 |
|---|---|---|---|---|
| SPI | 10-50 Mbps | <1m | 一般 | 板内传感器 |
| I²C | 100-400 kbps | <1m | 较差 | 板内低速传感器 |
| UART | 115.2k-921.6k bps | <5m | 一般 | GPS、数传 |
| CAN | 1 Mbps | <40m | 强 | 舵机、电控、分布式系统 |
| Ethernet | 100-1000 Mbps | <100m | 强 | 任务计算机、地面站 |
个人经验: 我建议在飞控系统中至少使用两种不同的总线。比如传感器用SPI,执行机构用CAN。这样如果一种总线出问题,另一种还能工作。我曾经遇到过CAN总线被大功率电机干扰导致通信中断,还好SPI传感器链路是独立的,飞控还能维持基本姿态控制。
1.5 硬件架构的可靠性设计原则
讲完四大块,我想聊聊硬件架构设计的一些原则。这些是我多年总结出来的,不一定全对,但至少没让我摔过飞机。
- 冗余设计: 关键传感器至少双冗余,最好三冗余。飞控计算机也可以做双机热备份。
- 隔离设计: 功率地和信号地要分开,用光耦或磁耦隔离。我见过太多因为地线串扰导致传感器数据异常的例子。
- 看门狗: 硬件看门狗必须有,而且不能放在飞控芯片内部。用外部独立看门狗芯片,防止飞控死机后连看门狗都失效。
- 电源管理: 飞控系统对电源质量要求极高。建议用独立的LDO给传感器供电,开关电源只给电机和舵机供电。
- 故障检测点: 在每个关键节点设置检测点。比如传感器数据有效性检查、执行机构电流监测、总线通信超时检测。
警告: 不要为了省钱省面积而砍掉隔离和滤波。我早期做过一个低成本飞控,省掉了传感器供电的LC滤波,结果每次电机加速时IMU数据就跳变。嗯,后来老老实实加上了。
好了,这一章的内容就到这里。飞控系统的硬件架构,说白了就是这四大块:飞控计算机、传感器、执行机构、通信总线。每一块都有它的脾气,摸透了才能做出可靠的系统。
下一章我们会深入讲传感器故障检测的具体方法,包括怎么判断IMU数据是否可信、怎么检测GPS欺骗攻击。到时候我会拿实际项目中的案例来讲,保证干货满满。
公众号:蓝海资料掘金营,微信deep3321