2. 故障诊断基础:故障模式与影响分析(FMEA)、诊断覆盖率、故障等级划分

各位工程师朋友,咱们今天聊聊故障诊断的底层逻辑。说白了,就是回答三个问题:会坏在哪?能不能测出来?坏了有多严重?

我在转向系统项目里摸爬滚打这些年,发现很多新手一上来就埋头写代码、调参数,结果出了问题根本不知道从哪查起。嗯,这就是典型的「诊断意识」没建立起来。今天咱们就把这块地基打牢。

2.1 故障模式与影响分析(FMEA)—— 先想清楚「怎么死」

FMEA 这玩意儿,听起来高大上,其实就是个「事前诸葛亮」的工具。我个人习惯在项目立项阶段就拉上硬件、软件、测试的兄弟,关起门来开个 FMEA 会。

核心思路: 针对每个可能的故障模式,分析它会产生什么后果,然后决定要不要管、怎么管。

拿转向系统的电机来说,常见的故障模式有这些:

故障模式 故障原因 影响后果 严重度(S)
电机绕组短路 绝缘老化、制造缺陷 电机过热、输出扭矩异常 9(极高)
霍尔传感器失效 焊接虚焊、芯片损坏 转子位置丢失,电机无法换向 8(高)
电机轴承卡滞 异物进入、润滑失效 转向沉重、异响 7(较高)
线束接触不良 振动导致端子松动 间歇性无助力 6(中等)
温度传感器漂移 老化、环境干扰 过温保护误触发或失效 5(较低)
我的经验: 严重度打分别太保守。我见过一个项目,把「电机堵转」打了4分(低),结果路试时堵转导致方向盘瞬间锁死,差点出事。从那以后,凡是跟「安全」沾边的故障,我至少给7分起步。

2.2 诊断覆盖率 —— 你到底能测出多少「鬼」?

诊断覆盖率,这个词听着专业,其实意思很简单:所有可能发生的故障里,你的诊断逻辑能抓到多少?

举个例子。电机绕组短路,你靠检测相电流异常来发现,这叫「覆盖」了。但如果是绕组匝间轻微短路,电流变化只有5%,你的阈值设得不够灵敏,那就漏掉了。这就是覆盖率不够。

诊断覆盖率的计算公式:

诊断覆盖率 = (可检测的故障模式数量 / 总故障模式数量) × 100%

但注意,这里有个坑。我曾经在项目里吃过亏——只数了「数量」,没考虑「权重」。比如你覆盖了10个低风险故障,漏了1个高风险故障,覆盖率算出来90%,但实际风险依然很高。

避坑指南: 我建议用「加权覆盖率」来评估。把每个故障模式的严重度(S)作为权重,算加权后的覆盖率。公式如下:
加权覆盖率 = Σ(可检测故障的严重度) / Σ(所有故障的严重度) × 100%
这样更贴近实际风险。

常见的诊断覆盖手段包括:

  • 电气检测: 电压、电流、电阻、绝缘阻抗
  • 信号检测: 传感器输出范围、频率、占空比
  • 逻辑检测: 状态机跳转是否合法、时序是否超时
  • 模型检测: 基于物理模型的残差分析(比如估算扭矩 vs 实际扭矩的差值)

你想想看,如果只靠电气检测,霍尔传感器失效你可能根本抓不到——因为它的输出可能还在正常电压范围内,只是相位不对。这时候就需要逻辑检测来补位。

2.3 故障等级划分 —— 出了事,该「抖」还是该「停」?

故障等级划分,决定了系统在检测到故障后的行为。是继续运行但降级?还是立刻停机?还是只记录日志?

我一般把故障分为四个等级:

等级 名称 系统响应 举例
L1 信息故障 仅记录日志,不改变控制策略 温度传感器轻微漂移(仍在合理范围)
L2 降级故障 切换到备用策略,限制性能 主霍尔传感器失效,切换到备用的
L3 严重故障 立即停止助力,但保留基础转向 电机过温,触发降功率保护
L4 致命故障 立即切断电源,发出报警 电机绕组短路、控制器硬件过流
关键原则: 等级划分不是拍脑袋定的。我习惯用 FMEA 里的「严重度(S)」和「可检测性(D)」两个维度来综合判断。严重度高且容易检测的,直接给 L4;严重度低且检测困难的,给 L1 先观察。

这里有个容易犯的错误:过度诊断。我曾经遇到一个项目,把「电机电流纹波偏大」这种偶发现象直接定为 L3 故障,结果车辆在高速上频繁降级,客户投诉不断。后来我们改成 L1,先记录数据,等连续出现 5 次以上再升级到 L2。这叫「去抖」处理。

去抖的代码逻辑很简单:

// 伪代码:故障去抖计数器
if (故障条件成立) {
    去抖计数器++;
    if (去抖计数器 >= 阈值) {
        触发故障等级响应;
    }
} else {
    去抖计数器 = 0;  // 故障消失,立即清零
}

阈值怎么设?我一般根据故障的危害程度来定。L4 故障阈值设为 1(立即触发),L3 设为 3(连续 3 次检测到才触发),L2 和 L1 可以设到 5 甚至 10。

2.4 本章知识体系总览

下面这张图,是我自己画的一个框架,把今天讲的三个核心概念串起来了。你仔细看看,就能明白它们之间的逻辑关系。

故障诊断基础:三大核心概念 故障模式与影响分析 诊断覆盖率 故障等级划分 FMEA 输出 • 故障模式清单 • 严重度(S)评分 • 发生度(O)评分 • 可检测度(D)评分 • 风险优先级数(RPN) → 确定「哪些故障需要诊断」 诊断覆盖率评估 • 电气检测覆盖 • 信号检测覆盖 • 逻辑检测覆盖 • 模型检测覆盖 • 加权覆盖率计算 → 确定「能测出多少故障」 故障等级划分 • L1:信息故障(记录) • L2:降级故障(切换) • L3:严重故障(停机) • L4:致命故障(切断) • 去抖计数器设计 → 确定「故障后怎么做」 FMEA 定义问题 → 覆盖率评估能力 → 等级划分决定行动

这张图的核心逻辑就是:先通过 FMEA 知道「会出什么问题」,再用诊断覆盖率评估「能不能测出来」,最后用故障等级决定「测出来怎么办」。三个环节环环相扣,缺一不可。

好了,这一章的内容就到这里。记住,诊断不是事后诸葛亮,而是事前、事中的「守护神」。下一章咱们会深入具体的诊断算法实现,到时候见。


专注资料整理