解淑英
(烟台汽车工程职业学院 机电工程系,山东 烟台 265500)
汽车已经成为人们日常生活中的必需品,为了降低事故发生概率,精准的汽车故障诊断势在必行,发动机作为动力输出结构,其运行状态直接影响整个系统的运行可靠性,发动机的故障诊断由于结构复杂、手段局限、结果精确度不高等因素影响具有很大的不确定性,本文深入剖析这一难题,从故障状态识别与故障分类定位2个方面进行深入研究,力求提升诊断效率以及预判结果的准确性。
发动机是将热能转化为机械能的复杂装置,在结构上主要以曲柄连杆机构为主,配合其他辅助性构造,协同完成能量转换,确保整个动能系统持续平稳工作。基本构造包括实现发动机的循环与能量转化的曲柄连杆、实现换气过程的配气机构、实现燃烧过程的燃料提供体系、润滑体系、冷却体系、点火系统、启动系统等。
汽车发动机的故障原因有很多,有的是自身设计的结构或技术原因引起的,有的是操作不合理或者维修保养不当引起的,典型故障包括排气管冒烟、温度过高、启动困难、加速动力不足、机油压力指示异常、气孔堵塞、怠速低、出现异响等[1]。
汽车发动机故障诊断包括故障识别和故障定位2个步骤。首先通过线性判别函数,基于LMS算法构建识别模型,根据样本特征向量进行两分类求解,快速识别出发动机状态为正常还是故障,然后剔除正常状态样本,针对故障状态的发动机继续利用分类模型进行故障类别定位,鉴于BP神经网络可以实现各类复杂的输入到输出的映射,且具有大规模并行、分布式处理、自组织、自学习等特性常适合求解模式识别问题,因此本文选用BP神经网络构建故障定位分类模型。整体设计思路如图1所示。
图1 发动机故障诊断整体思路示意图
2.1.1 采集原理
汽车发动机原始数据的采集通过传感器、数据采集卡、信号调理器、工控机等组件完成。通过加速度传感器采集发动机的原始振动信号,联合程控放大器的增益参数转化为电压信号,然后利用数据采集卡对输出的连续信号进行离散时间序列信号转换,输出离散电压值。
2.1.2 硬件设备
信号采集过程中涉及使用到的硬件设备如下。
(1)加速度传感器:朗斯LC401压电加速度传感器,电荷灵敏度20 pc/g,谐振频率40 kHz,频率范围1-12 000 Hz,典型声灵敏度0.01 g/130 db。
(2)信号调理器:CM3504。
(3)数据采集卡:DAQ1602。
(4)发动机:SantanaJV/1.8L/四冲程顶置凸轮轴化油器式发动机。
采集到的发动机振动信号包括8类:气门、连杆、小瓦、气缸套、曲轴、齿轮、活塞以及正常信号。由此构成原始的观测样本矩阵,经过时频转换之后形成初始样本数据集。设Q为观测矩阵,如式(1)。
(1)
其中,N为样本数;M为每个样本的特征数。
由于原始的特征空间经常是高维的,不但计算效率低下,也容易因太过复杂导致误判。这些特征需要互相独立、与误判的概率呈现单调关系且加入新指标后判据的值不会减弱[2]。本文选用几何距离作为类别分类判据。样本间的相似性采用欧氏距离进行描述,设QI和QJ为特征向量,则欧氏距离D为式(2)。
(2)
其中,M为维数;D为欧氏距离。不同类距离大,则可分性好,以此为依据最终选择33个特征。
发动机故障状态识别模型主要功能是根据特征参数判断是否有故障发生,作为故障定位的准备工作,剔除正常情况,加快故障诊断效率。
由于发动机故障状态识别模型属于结果为正常(ω1)或故障(ω2)的两类问题,因此利用线性判别函数进行构建,设特征空间为n维,则判别函数可记作g(x)=wTx+w0=0,x=[x1,x2,…,xn],w为权重w=[w1,w2,…,wn],w0为阈值。
(1)在超平面上,则g(x)=w1x1+w2x2+w0=0。
(2)不在超平面上,则g(x)=wTx+w0>0∀x∈ω1、g(x)=wTx+w0<0∀x∈ω2。
iw(t+1)=iw(t)+2αei(t)p(t)
(3)
bi(t+1)=bi(t)+2αei(t)
(4)
其中,α为学习速率。基于此,构建最终决策方程为式(5)。
g(x)=0.686x1+0.534x2-0.679 7=0
(5)
故障定位的建模过程属于非线性可分的分类问题求解,本文采用BP神经网络进行模型构建[3]。
BP(Back-Propagation)神经网络的主要原理是将输入信息传递至隐含层节点应该映射函数运算,最终将输出信息传递至输出层。各层参数定义如下。
(1)输入层:X=(x1,x2,…xn)T为输入向量;n为输入层单元数量;
(2)隐含层:Y=[y1,y2,…yp]T为隐含层激活向量;p为神经元数量;θ=[θ1,θ2,…θP]T为隐含层单元阈值向量;
(4)权值:wj=[wj1,wj2,…,wjn]T(j=1,2,…p)为输入层与隐含层连接权值;
Vk=[vk1,vk2,…,vkp]T(k=1,2,…,q)为隐含层与输出层连接权值。
整体算法流程如图2所示。
图2 BP神经网络算法流程
4.2.1 网络层数
BP神经网络的处理能力虽然与层数相关,但也并非越多越好,隐含层过多反而由于计算量增大导致收敛时间延长、计算误差增大、容易陷入局部最小[4-5]。因此本文为了提高精度同时简化网络将网络层数选为3层。
4.2.2 数据预处理
4.2.3 权值初始化
4.2.4 神经元数量
为了提升模型的判断精度,在隐含层与输出层的神经元数量选取上,本文采用如下规则。
(1)隐含层神经元:经过多次实验取误判率小且时间短的层数,最终确定个数取63。
(2)输出层神经元:上文总结信号为8类,8类信号名称及期望值如表1所示。每个神经元可用二值数(1或-1)表示,所以八类信号仅选用三个神经元表示即可,即log28。
表1 八类信号期望输出表
基于以上网络及算法流程,构建故障定位分类模型,如式(6)。
(6)
其中,参数含义同上,将隐含层与输出层计算展开为矩阵,如式(7)、式(8)。
(7)
(8)
其中,W为33×63隐含层权值系统矩阵;V为3×63输出层权值系数矩阵[6-7]。
为验证本文构建故障状态识别模型的精确度,代入训练样本集进行数据实测,验证结果如表2所示。
表2 训练样本集
得到测试样本集如表3所示。
表3 测试样本集
由测试结果可知,误判率小于4%,精确度较高。
为验证本文构建故障定位分类模型的精确度,选取8类不同样本集进行多次学习验证,每一类采用100个样本,代入本文设计模型,得到实测结果如表4所示。
表4 判别结果表
由此可以看出,在识别的800个样本中,共计763个样本识别判断准确,37个判断失误。准确率达到95.375%,符合预期[8-9]。由于BP网络算法从数学角度看属于局部搜索的优化方法,容易陷入局部极值导致训练失败,网络规模以及数据预处理方法均对识别效果存在影响,因此虽然准确率较高,但针对算法还需在样本数量、归一化方法、神经元数量等方面进一步寻优。
本文通过构建发动机状态识别模型以及故障定位分类模型,为汽车发动机故障诊断提供了智能化的技术手段,实测数据验证判别准确率较高。但训练样本集选取的完整性还有所欠缺,且未考虑实际场景中发动机自身参数以及不同类型的影响因子,在算法寻优过程中的误差计算方面也还需要进一步学习与训练。