2、失速警告系统:失速警告器的类型与触发逻辑

各位同学,今天我们来聊聊失速警告系统。说实话,这个系统是我在飞行控制领域里觉得最「有脾气」的一个子系统。为什么这么说?因为它的设计哲学就是——宁可误报,不可漏报。我在波音737NG的项目中调试过这套系统,那感觉就像跟一个过度敏感的安全员共事,虽然烦人,但关键时刻真能救命。

2.1 失速警告器的三种「表达方式」

失速警告器说白了就是飞机在接近失速时,用各种方式「吼」你。我把它分成三类:听觉、视觉、触觉。这三种方式不是随便选的,它们对应着飞行员在不同阶段的信息接收能力。

2.1.1 听觉警告

这是最直接的警告方式。你想想看,飞行员在紧急情况下,眼睛可能盯着仪表,手在操作杆上,但耳朵永远是空闲的。所以听觉警告是「第一道防线」。

  • 语音警告:典型的如「STALL!STALL!」或「PULL UP!」,我习惯用女性合成语音,因为研究表明女性声音在嘈杂环境中辨识度更高。
  • 音调警告:比如连续的「嘟——嘟——」声,或者像空客的「cricket」声(一种类似蟋蟀叫的断续音)。
  • 组合警告:语音+音调同时触发,比如先来一声「叮」,紧接着语音播报。

重要原则:听觉警告的音量必须高于驾驶舱环境噪音至少15dB。我在某次试飞中发现,如果发动机处于高推力状态,标准音量根本听不见。后来我们加了一个自动音量补偿逻辑——根据发动机N1转速动态调整警告音量。

2.1.2 视觉警告

视觉警告是「第二道防线」。当飞行员没听到或者没注意听觉警告时,眼睛会扫到仪表板上的红色或琥珀色灯光。

类型 典型表现 颜色 闪烁频率
主警告灯 「MASTER WARNING」红色灯 红色 2-4 Hz
失速专用灯 「STALL」红色灯 红色 常亮或慢闪
PFD显示 速度带上出现红色条纹或「STALL」文字 红色/琥珀色 动态变化

嗯,这里要注意:视觉警告不能单独使用。为什么?因为飞行员可能在扫视外部环境,或者仪表板被阳光直射导致看不清。所以视觉警告永远是和听觉警告配合使用的。

2.1.3 触觉警告

触觉警告是「最后一道防线」。说白了就是让飞行员「手感」到飞机不对劲。我个人认为这是最有效的警告方式,因为它绕过了所有认知过程,直接触发肌肉反应。

  • 抖杆器(Stick Shaker):这是最常见的触觉警告。操纵杆会剧烈震动,模拟失速前的抖振。频率通常在15-25 Hz,振幅约±3mm。
  • 推杆器(Stick Pusher):更激进的方式。如果飞行员在抖杆后还不改出,系统会直接推杆让机头下沉。我在空客A320的模拟器上体验过,那感觉就像有人突然抢你的方向盘。
  • 踏板震动:部分机型在方向舵踏板上加装震动器,用于提示不对称失速或尾旋风险。

避坑指南:我曾经遇到过一起案例——抖杆器在正常飞行中误触发。排查后发现是迎角传感器结冰导致数据异常。从那以后,我坚持在失速警告逻辑中加入「传感器交叉验证」机制,至少两个独立的迎角传感器数据一致才触发抖杆。

2.2 失速警告的触发逻辑

触发逻辑是失速警告系统的「大脑」。它决定了什么时候该叫,什么时候不该叫。我把它拆解成三个核心维度:迎角、空速、以及变化率。

2.2.1 基于迎角(AoA)的触发

这是最主流的触发方式。说白了就是:当机翼迎角超过某个阈值,系统就认为飞机即将失速。

// 伪代码:失速警告触发逻辑
if (AoA >= AoA_stall_warning) {
    // 触发听觉警告
    play_sound("STALL_WARNING");
    // 触发视觉警告
    set_light("STALL", RED, BLINK);
    // 触发触觉警告
    activate_stick_shaker();
}

这个 AoA_stall_warning 阈值不是固定的。它受很多因素影响:

  • 襟翼位置:襟翼放下时,失速迎角会增大。比如光洁形态下失速迎角可能是16°,全襟翼时可能到22°。
  • 马赫数:高速时失速迎角会降低。我在超音速项目中遇到过,马赫数0.8以上时,失速迎角比低速时低了将近4°。
  • 重心位置:重心靠后,失速迎角会减小。这个在配平计算时要特别注意。

2.2.2 基于空速的触发

有些老式飞机或者简化系统,会直接用空速来判断。比如:当空速低于1.3倍失速速度(Vs)时触发警告。

但说实话,这种方法我不太推荐。为什么?因为空速受大气密度影响,同样的指示空速在不同高度对应的实际升力不同。我在高原机场试飞时就发现,用空速触发经常出现「该叫的时候不叫,不该叫的时候乱叫」的情况。

2.2.3 综合触发逻辑(推荐)

现代飞机都采用综合逻辑。我参与设计的某款支线客机,用的是这样的逻辑:

// 综合失速警告触发逻辑
if ( (AoA >= AoA_threshold) AND (IAS <= 1.2 * Vs) ) {
    // 触发一级警告(听觉+视觉)
    trigger_level1_warning();
} else if ( (AoA >= AoA_threshold + 2°) OR (IAS <= 1.1 * Vs) ) {
    // 触发二级警告(听觉+视觉+触觉)
    trigger_level2_warning();
} else if ( (AoA >= AoA_stall) AND (IAS <= Vs) ) {
    // 触发三级警告(所有警告+推杆器)
    trigger_level3_warning();
}

我的小技巧:在实际工程中,我会给每个阈值加一个「迟滞带」。比如触发阈值是16°,但解除阈值设在14°。这样可以防止在阈值附近反复触发/解除警告,避免飞行员被「闪瞎眼」。

2.3 失速警告系统的架构图

下面我用一张SVG图来展示整个失速警告系统的核心逻辑。这张图是我在项目评审时常用的,它把传感器、计算逻辑、输出执行器串在了一起。

失速警告系统架构图 迎角传感器 (AoA) ×2 冗余配置 空速传感器 (IAS) 皮托管/静压孔 襟翼位置传感器 离散量输入 失速警告计算机 输入处理 阈值查表 交叉验证 迟滞逻辑 分级触发 自检(BIT) 听觉警告 扬声器/耳机 视觉警告 警告灯/PFD 触觉警告 抖杆器/推杆器 自检反馈 / 故障指示 传感器输入 计算处理 执行输出 反馈回路

2.4 实际工程中的几个坑

最后,我分享几个在项目中踩过的坑,希望能帮你们少走弯路:

  1. 传感器延迟问题:迎角传感器通常安装在机头或机翼前缘,但气流扰动会导致数据抖动。我建议在软件中加入10-20ms的低通滤波,否则抖杆器会像「癫痫发作」一样乱抖。
  2. 地面测试模式:飞机在地面时,失速警告不应该触发。但有些系统在起飞滑跑阶段,如果迎角传感器被风吹到某个角度,会误触发。我习惯加一个「空地逻辑」——只有起落架压缩信号为「空中」时,才启用失速警告。
  3. 故障降级:如果一个迎角传感器故障,系统应该自动切换到另一个传感器,并给出「失速警告降级」的提示。我曾经见过一个设计,传感器故障后直接禁用整个失速警告系统——这绝对不行。

总结一句话:失速警告系统不是越灵敏越好,也不是越迟钝越好。它的核心是「在正确的时间,用正确的方式,告诉飞行员正确的信息」。这个「正确」二字,需要我们用工程智慧和大量试飞数据来打磨。


公众号:蓝海资料掘金营,微信deep3321