第3章:硬件架构设计:传感器余度配置与计算单元余度
各位同学,今天我们聊点硬核的——硬件架构设计里的余度配置。说白了,就是怎么让飞控系统在某个部件挂了之后,还能继续干活。我做了这么多年飞控,见过太多因为余度设计不到位,导致试飞时直接“炸机”的案例。嗯,今天就把我踩过的坑和积累的经验,一次性讲清楚。
3.1 传感器余度配置:IMU、GPS、空速计
传感器是飞控的“眼睛”。眼睛瞎了,飞机就是无头苍蝇。所以,余度配置的第一步,就是给传感器做备份。
3.1.1 IMU(惯性测量单元)余度
IMU包含加速度计和陀螺仪。我个人习惯,至少用三余度。为什么是三?因为两余度只能检测故障,不能隔离故障。三余度才能通过“投票机制”把坏的那个踢出去。
核心原则:三余度IMU,两两比对,多数表决。如果三个数据不一致,取两个最接近的。
我在项目中遇到过,某次试飞时一个IMU的陀螺仪温漂过大,导致姿态解算偏差。幸好另外两个IMU数据一致,系统自动屏蔽了那个故障IMU,飞机安全返航。你想想看,如果只有双余度,那会儿就得手动切换,风险就大了。
具体配置时,我建议:
- 物理隔离:三个IMU不要放在同一块PCB上,避免共因失效(比如一块板子烧了,三个全完蛋)。
- 供电独立:每个IMU用独立的LDO供电,防止电源纹波串扰。
- 数据同步:用硬件触发信号同步采样,避免时间戳不一致导致投票出错。
3.1.2 GPS余度
GPS的余度配置,和IMU不太一样。GPS信号容易受遮挡、多径效应影响。我一般配置双GPS接收机,再加一个惯性导航系统(INS)做备份。
为什么不是三GPS?因为GPS的故障模式主要是信号丢失或精度下降,而不是硬件完全失效。双GPS加上INS,已经能覆盖绝大多数场景。
避坑指南:我曾经遇到过双GPS天线安装距离太近,导致两个接收机同时受到同一干扰源影响。后来我规定,两个天线至少间隔30厘米,并且一个朝上、一个斜45度安装。
GPS余度管理的逻辑:
- 两个GPS数据都在正常范围内,取平均值。
- 一个GPS数据异常(比如HDOP过大),自动切换到另一个。
- 两个GPS都失效,切换到INS纯惯性导航模式,维持30秒飞行。
3.1.3 空速计余度
空速计,说白了就是测飞机速度的。这东西容易堵,尤其是飞沙尘环境。我建议至少双余度,最好三余度。
空速计的故障模式很典型:皮托管堵塞、加热丝断路、膜片破裂。我在项目中遇到过,某次飞行中一个空速计读数突然跳变到0,系统立刻切换到另一个空速计,同时发出告警。落地检查发现,是皮托管被昆虫筑巢堵住了。
配置要点:
- 安装位置:两个空速管不要并排安装,一个在机头左侧,一个在右侧,避免同时被异物遮挡。
- 加热功能:每个空速管必须有独立的加热除冰电路,防止结冰导致失效。
- 数据融合:空速计数据与GPS地速、IMU加速度进行卡尔曼滤波融合,提高可靠性。
3.2 计算单元余度:三核/三机架构
计算单元是飞控的“大脑”。大脑坏了,飞机就失控了。所以,计算单元的余度设计,是整个系统的核心。
3.2.1 三核架构(单芯片多核)
三核架构,就是在同一颗芯片上集成三个CPU核心。优点是体积小、功耗低、通信延迟小。缺点是共因失效风险高——芯片本身坏了,三个核一起完蛋。
我个人的经验,三核架构适合对体积和功耗要求极高的场景,比如小型无人机。但必须配合硬件看门狗和独立电源域。
关键设计:三个核心运行完全相同的控制算法,但输入数据来自不同的传感器。每个核心独立计算,然后通过片内总线交换结果,进行三取二表决。
代码示例(伪代码,展示表决逻辑):
// 三核表决函数
int vote(int core1, int core2, int core3) {
if (abs(core1 - core2) < THRESHOLD) {
return (core1 + core2) / 2; // 取两个接近的
} else if (abs(core1 - core3) < THRESHOLD) {
return (core1 + core3) / 2;
} else if (abs(core2 - core3) < THRESHOLD) {
return (core2 + core3) / 2;
} else {
return ERROR; // 三个都不一致,触发安全模式
}
}
3.2.2 三机架构(多芯片独立)
三机架构,就是三块独立的飞控板,每块板有自己的CPU、电源、传感器。这是最可靠的方案,也是大型无人机和载人飞行器的标配。
为什么三机比三核更可靠?因为三机之间完全电气隔离,一块板子被雷劈了,另外两块还能正常工作。我在项目中遇到过,某次电磁兼容测试时,一块飞控板被强电磁脉冲干扰复位,但另外两块板完全不受影响,系统无缝切换。
三机架构的通信方式:
| 通信方式 | 优点 | 缺点 | 我推荐 |
|---|---|---|---|
| CAN总线 | 抗干扰强,实时性好 | 带宽有限 | ✅ 首选 |
| 以太网 | 带宽高,扩展性好 | 延迟不确定 | ❌ 不推荐 |
| 串口(RS-422) | 简单可靠 | 点对点,布线复杂 | ✅ 可做备份 |
注意:三机之间必须使用独立的通信链路,不能共用同一根总线。否则一根总线断了,三机之间就失联了。我见过有人用一根CAN总线连三块板,结果总线被短路,三块板全部失联——这就是典型的“单点故障”。
3.3 执行机构余度:舵机、电机
执行机构是飞控的“手脚”。手脚不灵了,飞机就控制不住了。执行机构的余度设计,往往被忽视,但恰恰是事故高发区。
3.3.1 舵机余度
舵机负责控制飞机的舵面(副翼、升降舵、方向舵)。我建议每个舵面至少配两个舵机,一主一备。或者采用“双舵机并联”方案,两个舵机同时驱动同一个舵面。
双舵机并联的关键:
- 机械耦合:两个舵机通过连杆或齿轮箱耦合到同一个舵面。一个舵机失效时,另一个舵机有足够的力矩带动失效舵机。
- 电气隔离:两个舵机的供电和信号线完全独立,避免一个短路影响另一个。
- 故障检测:通过电流检测和位置反馈,判断舵机是否卡死或堵转。
我曾经遇到过,一个舵机在飞行中齿轮打滑,导致舵面偏转不到位。幸好另一个舵机正常工作,系统自动增加了另一个舵机的输出,补偿了失效舵机的不足。落地后检查,那个打滑的舵机齿轮已经磨平了。
3.3.2 电机余度
电机余度,主要针对多旋翼无人机。四旋翼如果坏一个电机,基本就失控了。所以,六旋翼、八旋翼才是安全的选择。
我个人的建议:
- 六旋翼:坏一个电机,还能安全降落。坏两个电机,看运气。
- 八旋翼:坏两个电机,还能继续飞行。坏三个电机,还能勉强降落。
电机余度的核心是“动力冗余”。每个电机要有独立的电调(ESC),电调要有独立的供电。我曾经见过有人把两个电调共用一个电源线,结果一个电调短路,另一个也跟着断电——这就是典型的“共因失效”。
总结一下:硬件余度设计,不是简单堆硬件。核心是“故障隔离”和“故障容错”。每个余度通道必须独立,包括电源、通信、物理位置。否则,余度就是摆设。
3.4 本章知识体系图
下面我用一张SVG图,把本章的核心逻辑串起来。你一看就明白:传感器、计算单元、执行机构,三个层面的余度如何协同工作。
这张图把三层余度架构串起来了。从上到下,传感器采集数据,计算单元处理数据并表决,执行机构执行指令。每一层都有余度,每一层都能独立容错。这就是三余度飞控的硬件基础。
最后说一句:硬件架构设计,没有银弹。三余度不是万能的,但它是目前工程实践中,性价比最高的方案。你想想看,载人航空都用三余度,咱们做无人机,至少也得跟上这个标准。
公众号:蓝海资料掘金营,微信deep3321