4、端侧设备状态识别:常见设备状态(正常、退化、故障)、传感器数据采集(振动、温度、电流等)与特征

端侧设备状态识别是TinyML异常检测最典型的落地场景之一。其核心逻辑是:通过部署在设备本体或近端的低成本传感器(振动、温度、电流、声学等),持续采集反映设备运行状态的物理量信号,再借助轻量级机器学习模型在MCU或边缘SoC上完成状态判别。与云端方案相比,端侧识别具备低延迟、数据不出厂、断网可用等优势,但同时也面临算力受限、存储有限、信号易受噪声干扰等约束。本章将围绕“设备状态的定义与划分”“传感器选型与数据采集”“特征提取与状态映射”三个核心环节展开,帮助读者建立从物理信号到状态标签的完整认知链路。

物理信号采集层 特征提取与降维层 状态识别与决策层 振动传感器(加速度计) IEPE/压电/MEMS 温度传感器(热电偶/RTD) 表面温度/轴承温度 电流传感器(霍尔/CT) 电机驱动电流/功率 声学传感器(麦克风) 超声波/可听声 信号调理与采样 放大→滤波→ADC→帧缓存 时域特征 RMS、峰值、峰峰值、峭度 频域特征 FFT谱、频谱质心、边频带 统计特征 均值、方差、偏度、波形因子 特征选择/降维 PCA、互信息、LDA 正常状态 基线模型/阈值范围 退化状态 趋势漂移/早期异常 故障状态 明显异常/需停机检修 端侧决策输出 告警/维护建议/参数调整 模型更新与阈值自适应反馈

4.1 设备状态的本质定义与划分逻辑

在TinyML异常检测项目中,设备状态并非简单的“好”与“坏”二元判断,而是一个连续退化谱系上的离散化映射。工程实践中通常将设备运行状态划分为三个层次:正常状态(Normal)、退化状态(Degradation)和故障状态(Fault)。正常状态指设备各项指标在统计控制范围内波动,性能满足设计规格;退化状态是设备性能开始偏离基线但尚未丧失功能,表现为特征量的缓慢趋势性变化;故障状态则是设备已无法完成预期功能,或存在安全风险,必须停机处理。

这种三态划分的工程意义在于:退化状态是TinyML模型最值得关注的“黄金窗口”。如果能在退化早期发出预警,维护团队可以安排计划性检修,避免非计划停机带来的生产损失。例如,某工厂的离心泵轴承从正常到完全失效通常经历数周时间,振动信号的高频能量会先于RMS值出现可检测的上升趋势。端侧模型若能捕捉到这一趋势,就能将“事后维修”转变为“预测性维护”。

状态类别 物理特征表现 可检测性 维护策略
正常状态 特征值在基线±3σ内波动,频谱结构稳定 容易,建立基线即可 按计划维护
退化状态 特征值出现趋势性漂移,频谱出现新边频带 较难,需趋势分析或异常检测 预测性维护,安排检修窗口
故障状态 特征值严重超限,频谱能量剧变,伴随异响/高温 容易,阈值触发即可 立即停机,紧急维修
经验提醒:在项目启动阶段,不要急于训练分类模型。先用1-2周时间采集设备正常运行的基线数据,计算各特征指标的均值和标准差。退化检测的本质是“偏离基线”的度量,没有可靠的基线,后续所有判断都是空中楼阁。

4.2 传感器选型与数据采集工程

传感器是端侧状态识别的“触角”,选型直接决定了信号质量和后续模型的上限。针对旋转机械、电机、泵阀等常见工业设备,最常用的三类传感器是:振动传感器、温度传感器和电流传感器。振动传感器通常采用MEMS加速度计(如ADXL345、LSM6DSOX)或IEPE压电式传感器,前者适合端侧集成,后者精度更高但需要电荷放大电路。温度测量常用热电偶或RTD,响应速度较慢但稳定性好。电流传感器则通过霍尔效应或电流互感器获取电机驱动电流,用于检测负载变化、转子断条等电气故障。

数据采集工程中需要重点关注三个参数:采样率、分辨率和帧长度。根据奈奎斯特采样定理,采样率至少为最高关注频率的2倍。对于轴承故障检测,振动信号通常需要关注到10kHz以上,因此采样率建议不低于25.6kHz;而对于温度或电流的慢变特征,1kHz采样率已足够。ADC分辨率建议12位以上,以捕捉振动信号中的微弱冲击成分。帧长度决定了FFT的频率分辨率,例如采样率25.6kHz、帧长1024点时,频率分辨率约为25Hz,足以分辨轴承故障特征频率。

// 端侧振动数据采集配置示例(伪代码)
#define SAMPLE_RATE  25600  // 25.6 kHz
#define FRAME_SIZE   1024   // FFT帧长
#define ADC_BITS     12     // 12位ADC

void setup_sensor() {
  adc_config(sample_rate=SAMPLE_RATE, bits=ADC_BITS);
  accelerometer_config(range=±16g, bandwidth=10kHz);
  dma_configure(buffer_size=FRAME_SIZE, circular=true);
}

void on_frame_ready() {
  // 每采集完一帧,触发特征提取
  extract_features(adc_buffer, FRAME_SIZE);
}
风险提示:传感器安装位置对信号质量影响极大。振动传感器应尽量靠近轴承座或设备壳体刚性部位,避免安装在薄板或塑料外壳上,否则会引入共振干扰。温度传感器需确保与被测面良好热接触,必要时使用导热硅脂。电流传感器则要注意量程匹配,避免小电流信号被量化噪声淹没。

4.3 特征提取:从原始信号到状态指纹

原始传感器信号无法直接输入TinyML模型——一方面维度太高,另一方面包含大量冗余信息。特征提取的目标是将一帧原始数据压缩为低维但高判别力的特征向量。根据信号域的不同,特征分为三大类:时域特征、频域特征和统计特征。

时域特征直接对时间序列计算,包括均方根值(RMS)、峰值、峰峰值、峭度(Kurtosis)和波形因子等。其中峭度对冲击性故障非常敏感——正常轴承振动近似高斯分布,峭度约为3;当出现剥落或裂纹时,冲击成分使峭度显著升高。频域特征通过对帧数据做FFT获得,包括频谱质心、主频幅值、边频带能量比等。例如,齿轮断齿会在啮合频率两侧产生边频带,边频带能量占比是齿轮退化的重要指标。统计特征则包括均值、方差、偏度等,常用于温度、电流等缓变信号。

特征类别 典型特征 适用传感器 故障敏感性
时域 RMS、峰值、峭度、波形因子 振动、声学 冲击、磨损、不平衡
频域 频谱质心、边频带能量、谐波幅值 振动、电流 齿轮故障、轴承特征频率
统计 均值、方差、偏度、变化率 温度、电流 缓慢退化、负载变化

在TinyML场景下,特征维度不宜过高。一般建议每帧提取5-15个特征,总特征向量维度控制在20以内。过多的特征不仅增加MCU计算负担,还可能导致过拟合。常用的降维方法包括主成分分析(PCA)和基于互信息的特征选择。PCA将高维特征投影到主成分空间,保留方差最大的前几个分量;而互信息法直接评估每个特征与状态标签的相关性,剔除无关特征。

4.4 实战案例:电机轴承退化检测的端侧实现

下面通过一个完整的案例,展示从传感器选型到状态识别的全流程。某工厂一台额定功率7.5kW的异步电机驱动风机,轴承型号为6205-2RS。工厂希望在不增加云端依赖的前提下,实现轴承早期退化预警。

项目约束与目标:使用现有MCU平台(Cortex-M4,主频80MHz,RAM 64KB),要求模型推理时间小于50ms,检测准确率不低于90%,且需在轴承完全失效前至少提前7天发出预警。

传感器部署:在电机驱动端轴承座垂直方向安装一颗MEMS加速度计(ADXL345,量程±16g),采样率设为25.6kHz,每帧1024点。同时在电机外壳贴装一颗NTC热敏电阻,采样率1Hz。电流信号通过电机驱动器内置的霍尔传感器获取,采样率1kHz。

特征提取与模型训练:对振动信号每帧提取6个时域特征(RMS、峰值、峭度、波形因子、峰值因子、脉冲因子)和4个频域特征(频谱质心、主频幅值、1kHz-5kHz频带能量比、5kHz-10kHz频带能量比)。温度提取均值与变化率,电流提取RMS与三相不平衡度。共12维特征向量。使用正常状态数据训练一个单类高斯模型(或简单的自编码器),设定马氏距离阈值作为退化判定边界。

部署与验证:将模型以C语言实现部署到MCU,每采集完一帧振动数据(约40ms),执行特征提取和异常评分。实测推理时间约28ms,满足实时性要求。在轴承寿命试验台上进行加速退化测试,模型在第9天检测到峭度特征持续超过阈值(正常值3.0,退化期升至4.5以上),同时5kHz-10kHz频带能量比上升了约35%。最终轴承在第16天完全失效,模型提前7天发出预警,验证了方案的可行性。

案例复盘:本案例成功的关键在于:①选择了对早期退化最敏感的峭度和高频带能量特征;②建立了基于正常数据的统计基线,而非依赖人工标注的故障样本;③在MCU上实现了轻量级推理,避免了数据传输延迟。但也要注意,单类高斯模型对多工况变化敏感,若设备转速或负载经常变化,需要引入工况归一化或建立多模态基线。

4.5 常见误区与工程复盘

在端侧设备状态识别的实际落地中,工程师常陷入几个典型误区。第一个误区是“特征越多越好”。实际上,高维特征不仅增加MCU计算负担,还容易引入噪声相关维度,导致模型泛化能力下降。建议采用“先宽后窄”策略:初期提取20-30个候选特征,通过互信息或PCA筛选出最重要的8-12个。

第二个误区是忽视工况变化。设备在不同转速、负载下的振动特征差异巨大,如果只用单一基线模型,很容易将正常工况变化误判为异常。解决方案包括:建立多工况基线库,或使用时域归一化(如将特征除以当前转速下的基线值)。

第三个误区是阈值设置过于。固定阈值无法适应设备老化、环境温度变化等慢变因素。建议采用自适应阈值——例如使用指数加权移动平均(EWMA)动态更新基线均值和标准差,使模型具备一定的自适应性。

总结提醒:端侧状态识别不是“一锤子买卖”。模型部署后需要持续监控其误报率和漏报率,定期用新采集的数据更新基线。建议建立“数据-特征-模型-阈值”的闭环迭代机制,每季度回顾一次模型表现,根据实际维护记录调整阈值或重新训练。TinyML的优势在于可以快速OTA更新模型参数,让系统越用越准。