叶韬,司乔瑞,申纯浩,杨松,袁寿其*
(1. 江苏大学国家水泵及系统工程技术研究中心,江苏 镇江212013; 2. 中国核动力研究设计院核反应堆系统设计技术重点实验室,四川 成都610213)
离心泵在市政供水、电力、化工以及军事等领域都有广泛应用[1],对离心泵进行早期故障识别不但对离心泵安全稳定运行至关重要,而且可以降低其运行维护成本,延长使用寿命.因此,研究并发展离心泵的故障诊断技术是必要的.空化是离心泵的故障之一,空化过程中形成的气泡不仅影响管道内的速度及压力分布,而且由于空泡破灭产生冲击载荷,会对叶轮等过流部件造成损伤以及引发振动和噪声.振动信号的强弱与离心泵的运行状态有着密切联系,利用振动信号进行故障诊断是目前较为广泛的方法[2-3].
目前,国内外学者对离心泵的故障诊断研究主要集中在轴承、密封、叶轮缺损、空化等方面[4-5].MURALIDHARAN等[6]提出了一种基于决策树算法和连续小波变换分析叶轮缺损以及轴承故障等故障组合技术.FATIMA等[7]利用支持向量机对转子-轴承系统中由于轴承和不平衡引起的故障进行了分类.AZIZI等[8]使用经验模态法和广义神经网络相结合的方式对离心泵空化进行了诊断.周云龙等[9]提出了一种多点噪声分析法研究汽蚀故障下的离心泵噪声,总结其规律并应用到故障诊断中.曹玉良等[10]提出了一种基于深度学习的离心泵空化状态识别方法.
支持向量机是一种常用的机器学习方法,相比于神经网络,支持向量机具有结构风险最小化、样本数量需求较少等优点[11-12].文中主要研究基于支持向量机的离心泵初生空化监测,通过采集离心泵初生空化振动信号进行支持向量机训练的方法对离心泵空化故障进行监测.
支持向量机(SVM)是机器学习的一个分支,常用于医疗检查、手写识别以及故障诊断等领域.该方法的优点在于基于结构风险最小化原则,所需样本量小,可以解决非线性高维度问题,弥补了BP神经网络收敛速度慢、过拟合等缺点,图1为SVM故障诊断流程图.
图1 SVM故障诊断流程图
假设训练样本集为{(x1,y1),(x2,y2),…,(xN,yN)},其中x∈Rn,y∈{-1,1},-1和1表示2类样本,它们能被ω·x+b=0分类面正确分开,建立最优化问题如下:
(1)
式中:ω为法向量;b为常数项;C为惩罚因子;ξi为松弛变量.
找出最优法向量ω和常数项b的解就可以得到最优分类面,为了将式(1)转化为二次规划问题,引入相应Lagrange函数,则分类问题变为
(2)
式中:αi,βi为Lagrange乘子,αi≥0,βi≥0.
根据对偶原理,式(2)可变为
(3)
式中:Φxi×Φxj=K(xi,yj),即为核函数.
对于线性不可分问题,支持向量机需引进核函数把数据从低维空间向高维空间投射,达到线性可分的目的.常用的核函数有线性核函数、多项式核函数、径向基核函数以及感知器核函数,不同核函数得到的支持向量机形式也不同.文中选用径向基核函数(RBF)[13]建立分类模型,其表达式为
K(x,y)=exp(-g‖xi-yi‖2),
(4)
式中:g为核函数参数.
代入核函数后,最终得到的分类决策函数为
(5)
选用某型号的单级单吸离心泵,该泵设计性能参数分别为流量Qd=1.2 m3/h,转速n=4 800 r/min,扬程H=6.85 m.主要几何参数分别为叶轮进口直径Dj=17 mm,叶轮出口直径D2=47 mm,叶片出口宽度b2=3 mm,叶片数Z=5.试验在江苏大学流体机械工程技术研究中心闭式试验台进行,图2为试验装置实物图.试验选用CYG1102F型静压传感器,进口为相对压力传感器,量程为-0.1~0.1 MPa;出口为相对压力传感器,量程为0~0.2 MPa.
图2 试验装置
传感器布置如图3所示,在泵蜗壳隔舌位置处布置单轴加速度传感器,在泵进口管路处布置三轴加速度传感器,其中单轴加速度传感器型号为PCB352A60,三轴加速度传感器型号为PCB356B21.
图3 传感器布置
本次试验采样频率设置为20 kHz,采样时间为0.1 s,分别在转速n=3 900,4 200,4 500,4 800 r/min下,以设计流量Qd=1.2 m3/h进行试验,每种转速采得样本总数600组.为了模拟空化现象,采用在闭式试验台利用真空泵对水罐进行抽真空降低水泵进口压力的方法使水泵逐渐发生空化.
试验步骤:
1) 试验时泵进口阀门保持全开状态,调节泵出口阀门至流量为1.2 m3/h,待泵运行稳定后采集正常运行时刻进出口压力信号和振动信号.
2) 打开真空泵对水罐缓慢进行抽真空,同时调节泵出口阀,使流量保持在1.2 m3/h,记录泵扬程变化,采集泵进出口压力信号和振动信号.
定义空化数为
(6)
式中:pin为离心泵进口处绝对压力;pv为液体所在环境温度下的饱和蒸汽压;ρ为液体密度;u2为叶轮出口处流速圆周分量.
定义扬程系数为
(7)
式中:H为试验泵测得扬程;g为重力加速度.
实际工程中常采用离心泵扬程下降3%作为泵初生空化的判断依据,定义扬程下降3%时的空化数为初生空化数.图4为转速n=4 800 r/min下的离心泵空化性能曲线,图中横坐标为空化数σ,纵坐标为扬程系数ψ.可以看出,随着空化数降低,扬程系数先基本保持不变,然后急速下降.选取扬程下降3%处初生空化振动信号进行分析.
图4 空化性能曲线
图5为转速n=4 800 r/min时离心泵在正常运行和初生空化状态下蜗壳隔舌位置处的时域图,对比可以发现,离心泵在正常运行状态和初生空化状态下,时域信号波形发生了明显变化.
图5 离心泵不同运行状态时的时域图
选用均值、标准偏差、偏度、峭度共4个时域特征进行数据预处理,将2个测点所采得的4个方向特征全部用于支持向量机的训练,研究判断最适合空化诊断的特征或特征组合.
均值
(8)
标准偏差
(9)
偏度
(10)
峭度
(11)
上述式中:n为数据点总数;xi为第i个数据点.
根据最终决策函数式(5)可知,惩罚因子C和核函数中参数g对模型的训练准确率具有非常重要的影响.网格搜索法[14]可以保证在搜索网格范围内是全局最优解,避免重大误差.根据经验,C和g取值范围较广且最优值容易落在区间[0,1].如果网格步长太小,会增加计算量;如果网格步长太大,则容易遗漏最优解.因此文中采用指数函数来划分网格.
同时,参数的组合与训练的数据有关,当训练数据发生改变时,之前的(C,g)训练出来的模型可能会发生改变,特别是在小样本下,样本的随机性对参数选择有较大影响.因此,文中在网格搜索的同时利用K-CV交叉验证[15]对每组(C,g)进行综合评价,即数据被分为K组,将每一组子集数据作为一次验证集,其余K-1组数据作为训练集,最终会训练得到K个模型,将这K个模型的分类准确率的平均值作为交叉验证的评估指标.
文中选用3-CV对数据集进行参数优化,设置C和g的搜索范围为[2-4,24],图6为转速n=4 800 r/min下使用峭度作为特征向量时网格参数寻优准确率三维等高图,图中横坐标为C和g取值,纵坐标T为准确率.
图6 网格参数寻优三维等高图
由图6可以看出,网格寻优可以遍历每一组C和g,不同的C和g组合训练出来的模型准确率有很大不同,最低准确率为55.42%,最高准确率为99.375%(此时C=16,g=16).因此,选取最佳C和g参数组合对于模型训练而言十分重要,而网格参数寻优和K-CV交叉验证结合的方式可以帮助找到最优参数组合.
表1为采用网格参数寻优得到的最佳训练参数值,可以看出,不同转速下不同特征向量对应的参数组合取值各不相同.
表1 网格参数寻优结果
为了使模型具有较好的应用性,除了选取最优参数组合外,还要分析训练样本与测试样本比例R对模型分类准确率的影响.表2为转速n=4 800 r/min下不同比例样本训练的SVM对应的准确率,可以看出,当训练样本数量和测试样本数量比例为80∶20时,训练出来的模型平均分类准确率M最高.因此在后续模型训练中选择80%样本作为训练数据,20%样本作为测试数据.
表2 训练和测试样本最佳百分比选择
图7为一组测试集的实际分类和预测分类,可以看出,实际预测中有3个样本预测错误,被错误分类,该组分类正确率为97.5%.
图7 测试集和预测集分类
表3为选取单一特征训练模型进行预测的具体识别准确率,可以看出,均值作为单一特征值训练出来的平均识别率较低,标准偏差和峭度作为特征训练出来的模型准确率较高.因此,在组合特征训练下,将均值特征剔除,采用标准偏差、偏度、峭度两两结合的组合特征进行模型训练.
表3 单特征故障识别准确率
表4为组合特征训练所得模型进行预测的具体识别准确率,可以看出,在剔除均值特征后,标准偏差、偏度、峭度的组合训练出来的模型识别准确率都很高,平均识别率达到了90.00%以上,其中标准偏差和峭度的组合训练出来的模型识别准确率最高,平均识别率达到96.46%.
表4 组合特征故障识别准确率
表5为将相同组合特征对BP神经网络训练准确率结果,可以看出,在对BP神经网络训练后,标准偏差和偏度的组合准确率最高,其余2组平均准确率均小于90.00%,与表4对比发现SVM平均识别准确率均大于BP神经网络.
表5 BP神经网络识别准确率
通过将SVM分类识别理论用于离心泵的空化诊断,同时为了提高模型的泛化程度,降低模型的预测误差,结合使用网格参数寻优和K-CV交叉验证,研究得到如下结论:
1) 在识别准确率上,基于SVM的离心泵空化监测基本都能实现空化故障诊断.
2) 网格参数寻优和交叉验证能够得到较好的参数组合,该方法不仅能够找到最好的C和g参数,而且可以提高运行效率.
3) 试验结果表明,选取单一特征值下训练模型的情况下,标准偏差的平均识别率最优,在组合特征下,标准偏差和峭度的组合为最优特征组合.
4) 在采用相同特征向量分别对SVM和BP神经网络训练后发现,SVM识别准确率要优于BP神经网络.