一、冗余设计概述:什么是冗余、为什么需要冗余、冗余的级别
各位同学,咱们今天聊聊飞控系统里最核心的一个话题——冗余设计。
说实话,我做了十几年飞控系统,见过太多因为单点故障导致坠机的案例。每次看到事故报告,心里都不是滋味。冗余设计,说白了就是给系统多准备几套“备胎”。但这里的“备胎”可不是随便挂上去的,它有一套严谨的方法论。
1.1 什么是冗余?
冗余,英文叫Redundancy。简单说,就是在系统中故意增加额外的资源或通道,确保当某个部件失效时,系统还能继续工作。
我习惯用一个比喻来解释:你开车上班,一条路堵了,还有另一条路可以绕过去。冗余就是给信号或功能多准备几条“路”。
核心定义:冗余是指系统中存在多于完成规定功能所需的资源,这些资源在正常情况下可能处于“热备份”或“冷备份”状态,一旦主用资源失效,备用资源立即接管。
举个例子,一架典型的四轴无人机,如果只用一套IMU(惯性测量单元),万一这个IMU坏了,飞机就失控了。但如果装了两套IMU,一套坏了,另一套还能顶上。这就是冗余。
1.2 为什么需要冗余?
这个问题其实很直接——因为任何电子元器件都会坏。你想想看,一个飞控系统里有几十上百个元器件,每个都有一定的失效率。把这些失效率乘起来,整个系统的可靠性其实并不高。
我遇到过最典型的一个案例:某款工业无人机,在飞行中陀螺仪突然输出异常数据,导致飞机翻滚坠毁。事后分析发现,就是一颗电容老化导致供电纹波增大,干扰了陀螺仪的正常工作。如果当时有冗余设计,另一套独立的IMU大概率能扛住这个故障。
具体来说,需要冗余的原因有这几个:
- 单点故障不可接受:飞控系统一旦失效,飞机就失控了。人命关天,不能赌运气。
- 元器件失效率客观存在:哪怕你用的是宇航级器件,也有失效概率。更别说工业级、商业级了。
- 环境因素不可控:振动、温度、湿度、电磁干扰……这些都会加速器件老化或引发瞬时故障。
- 维护成本考虑:有些无人机飞在偏远地区,飞一次不容易。冗余设计能保证即使出点小问题,也能安全飞回来,不用频繁维修。
注意:冗余不是万能的。它解决的是“随机硬件故障”,但解决不了“设计缺陷”。如果算法本身有bug,冗余再多也没用。我曾经见过一个项目,三余度飞控系统,三个通道的软件是从同一份代码编译出来的,结果一个bug导致三个通道同时崩溃——这就是典型的“共因故障”。
1.3 冗余的级别
冗余不是只有一种玩法。根据系统的复杂度和安全需求,冗余可以在不同层级上实现。我一般把它分成三个级别:
1.3.1 系统级冗余
这是最高级别的冗余。说白了,就是整个飞控系统做两套甚至三套。每套系统都是独立的,有自己的传感器、处理器、执行机构。
典型的例子是大型客机,比如波音777,它有三套独立的飞控计算机,每套都有自己的电源、自己的总线、自己的舵机驱动。三套系统同时工作,通过“投票”机制决定最终输出。
我参与过一个项目,给某型货运无人机做系统级冗余设计。我们用了两套完全独立的飞控系统,一套主飞控,一套备份飞控。主飞控出问题时,备份飞控通过心跳信号检测到故障,自动接管控制权。切换时间控制在50毫秒以内,飞行员几乎感觉不到。
| 冗余级别 | 典型实现 | 适用场景 | 成本 |
|---|---|---|---|
| 系统级 | 双飞控、三飞控 | 载人飞行器、高价值无人机 | 极高 |
| 子系统级 | 双IMU、双GPS | 工业无人机、中型无人机 | 中等 |
| 器件级 | 双电源、双晶振 | 消费级无人机、低成本系统 | 较低 |
1.3.2 子系统级冗余
这个级别更常见。我们不对整个飞控系统做冗余,而是对关键子系统做冗余。比如IMU、GPS、气压计、空速管这些传感器,每个都配两套或三套。
我习惯的做法是:
- IMU做三余度:三套IMU同时工作,通过中值滤波或投票机制输出。这样即使一套坏了,另外两套还能正常工作。
- GPS做双余度:两套GPS接收机,天线分开布置。万一一个天线被遮挡,另一个还能用。
- 空速管做双余度:左右两侧各装一个,防止结冰或堵塞。
这里有个坑,我提醒一下大家:子系统级冗余最怕的是“共模故障”。比如两套IMU用的是同一款芯片、同一批采购、甚至同一个供电模块。那一个浪涌打过来,两套一起坏。所以,真正的冗余必须做到“异构”——不同型号、不同批次、不同供电。
1.3.3 器件级冗余
这是最底层的冗余。在单个电路板或单个模块内部,对关键器件做冗余。
举个例子:
- 电源冗余:飞控板上用两路独立的DC-DC转换器,一路坏了,另一路还能供电。
- 晶振冗余:主晶振和备用晶振,主晶振停振时自动切换。
- 存储冗余:关键参数存两份,一份在主Flash,一份在备份EEPROM。
我记得有一次调试一个飞控板,发现系统偶尔会死机。查了三天,最后发现是晶振在低温下停振了。后来我们在设计上加了双晶振冗余,一个坏了自动切到另一个,问题就解决了。嗯,这种小细节,往往就是系统可靠性的关键。
我的经验:器件级冗余虽然成本低,但设计难度不小。因为要在有限的空间和功耗预算内,把两套器件塞进去,还要保证切换逻辑可靠。我建议初学者先从子系统级冗余入手,等经验丰富了再挑战器件级。
1.4 小结
冗余设计,说白了就是用资源换可靠性。你多花一份钱,多占一点空间,多费一点电,换来的是系统在故障面前“不死”的能力。
但冗余不是越多越好。我见过有人给一个消费级无人机做了四余度IMU,结果重量超标、成本翻倍、续航减半,最后产品根本卖不出去。冗余设计要根据安全等级、成本预算、重量限制来权衡。
下一章,我会详细讲讲冗余设计的几种架构模式——双余度、三余度、非相似余度,以及它们各自的优缺点。到时候我会拿我实际做过的项目来举例,大家敬请期待。