第1章:传感器故障模式分析

各位工程师,大家好。我是老张,干了十几年飞控系统,踩过的坑比走过的路还多。今天咱们聊聊传感器故障——这玩意儿要是出问题,飞机在天上可不会跟你商量。

传感器是飞控系统的眼睛和耳朵。眼睛花了,耳朵聋了,飞机就成了无头苍蝇。我个人习惯把传感器故障分成四类:加速度计、陀螺仪、磁力计、气压计。每种都有自己独特的"死法"。

核心观点:传感器故障诊断不是事后诸葛亮,而是事前预防。你想想看,等飞机开始乱抖再排查,黄花菜都凉了。

4.1 加速度计故障

加速度计测量的是比力,说白了就是物体受到的惯性力与重力的合力。我见过最典型的故障有三种:偏置、漂移、卡死。

4.1.1 偏置故障

偏置就是输出值始终偏离真实值一个固定量。比如你平放着加速度计,理论上Z轴应该输出1g,结果它给你0.8g。嗯,这就是偏置。

我在项目中遇到过一架四旋翼,起飞后总是往左偏。排查了半天,发现是加速度计X轴偏置了0.05g。别看数值小,积累起来姿态角就歪了。

故障类型 典型表现 诊断方法
偏置 静态输出偏离理论值 静止时采集均值,与理论值对比
漂移 输出随时间缓慢变化 长时间静止观测,计算斜率
卡死 输出值恒定不变 方差检测,连续N个采样点方差接近0

避坑指南:我曾经在无人机试飞前没做静态偏置校准,结果飞了3分钟就炸机了。后来我养成了习惯:每次上电后先静止5秒,采集100个样本取均值,作为偏置补偿值。

4.1.2 漂移故障

漂移比偏置更隐蔽。偏置是固定的,漂移是变化的。温度变化、电源波动、器件老化,都可能导致漂移。

我记得有一次做高海拔测试,加速度计输出随着温度升高慢慢偏移。刚开始没在意,后来发现姿态解算越来越不准。说白了,温度补偿没做好。

4.1.3 卡死故障

卡死最简单粗暴——输出值一动不动。你想想看,飞机在颠簸,加速度计读数却纹丝不动,这肯定有问题。

诊断方法也很简单:计算滑动窗口内的方差。如果连续50个采样点的方差小于阈值,基本可以判定卡死了。

// 卡死检测伪代码
float variance = 0;
for (int i = 0; i < WINDOW_SIZE; i++) {
    variance += pow(buffer[i] - mean, 2);
}
variance /= WINDOW_SIZE;
if (variance < THRESHOLD) {
    // 卡死故障报警
}

4.2 陀螺仪故障

陀螺仪测量角速度,是姿态控制的关键。常见的故障有噪声增大和数据丢失。

4.2.1 噪声增大

正常陀螺仪的噪声在0.01°/s左右。如果噪声突然增大到0.1°/s甚至更高,姿态解算就会剧烈抖动。

我遇到过一架无人机,悬停时疯狂点头。查了IMU数据,发现陀螺仪Y轴噪声是正常值的10倍。原因?电源纹波太大,干扰了MEMS传感器。

注意:噪声增大不一定都是传感器坏了。有时候是电源问题,有时候是振动耦合。我曾经被一个松动的螺丝坑了三天,排查到最后才发现是机械共振。

4.2.2 数据丢失

数据丢失更致命。陀螺仪突然不输出数据了,或者输出全是0。这时候飞控会瞬间失去角速度反馈,姿态控制直接崩溃。

诊断方法:检查数据更新率。如果连续多个周期没有新数据,或者数据帧的校验位错误,就要触发故障处理。

4.3 磁力计故障

磁力计用来测量地磁场,辅助航向解算。但它特别娇气,容易受干扰。

4.3.1 硬铁干扰

硬铁干扰来自永磁体或带磁性的金属。比如电机、扬声器、甚至螺丝刀。这种干扰是固定的,不会随姿态变化。

我有个朋友做无人机,航向总是偏30度。查了半天,发现是机架上有一颗带磁性的螺丝。换掉之后,航向就准了。

4.3.2 软铁干扰

软铁干扰来自可磁化的材料,比如铁、镍。这种干扰会随姿态变化,更难处理。

说白了,硬铁干扰是加性误差,软铁干扰是乘性误差。校准方法也不同:硬铁用椭球拟合,软铁需要更复杂的模型。

个人经验:磁力计校准最好在室外空旷处进行。我曾经在室内校准,结果飞出去后航向全乱——因为室内有钢筋和电线,地磁场已经被扭曲了。

4.4 气压计故障

气压计测量大气压力,用于高度估计。常见故障有气压突变和堵塞。

4.4.1 气压突变

气压突变通常由气流扰动引起。比如无人机快速下降时,气压计读数会突然跳变。这不是故障,是物理现象。

但如果是传感器本身故障导致的气压突变,那就危险了。我见过一个案例:气压计内部漏气,导致高度估计值忽高忽低,无人机差点撞树。

4.4.2 堵塞

气压计的进气口如果被灰尘、水滴或胶水堵住,读数就会卡死。嗯,这跟加速度计卡死有点像。

诊断方法:检查气压变化率。如果连续一段时间内气压变化率接近0,而其他传感器(比如GPS高度)显示飞机在运动,那基本可以判定堵塞了。

// 气压计堵塞检测
float pressure_rate = (pressure - last_pressure) / dt;
if (fabs(pressure_rate) < PRESSURE_RATE_THRESHOLD) {
    // 可能堵塞,结合其他传感器判断
}

知识体系总览

下面这张图是我自己画的,把四种传感器的故障模式串起来了。你想想看,诊断故障就像破案,得先知道嫌疑人长什么样。

传感器故障模式知识体系 传感器故障诊断 加速度计 偏置 | 漂移 | 卡死 陀螺仪 噪声增大 | 数据丢失 磁力计 硬铁干扰 | 软铁干扰 气压计 气压突变 | 堵塞 诊断方法:静态检测 | 方差分析 | 变化率检测 | 多传感器融合

这张图把四种传感器的故障模式都列出来了。你想想看,每种故障都有对应的诊断方法。静态检测适合偏置和卡死,方差分析适合噪声增大,变化率检测适合漂移和堵塞。

总结一下:传感器故障诊断的核心是"多维度交叉验证"。别指望单一方法能搞定所有故障。我习惯用加速度计和陀螺仪互相校验,用GPS和气压计互相备份。说白了,冗余设计才是王道。

好了,这一章就到这里。记住:传感器是飞控的命根子,出了问题别慌,按部就班排查就行。

专注资料整理