陈晓飞,贾 勇,秦健勇
(新疆工程学院 信息工程学院,乌鲁木齐 830023)
引擎的作用是提供汽车所需的动力,其性能的好坏直接影响到汽车是否安全可靠,发生在汽车上的各种大大小小的事故许多都是因为引擎故障[1]。频谱也就是常说的频率信号,是一种特殊的信号,在工业生产中广泛存在,它不仅具备非常强的抗干扰能力,在进行测试的时候也不需要进行A/D转换,且传输方便。现有的测试系统主要是模拟量的采集,尚未出现频率测试系统开发案例。随着人们对汽车动力性能、安全性、经济性和环保性能的要求越来越高,对发动机频率的要求也越来越高,发动机频率的测试项目也越来越多[2-3]。内燃机频率测试是内燃机研制与生产过程中必不可少的一个环节,研制高效的内燃机频率测试系统对内燃机的研制与生产至关重要[4-5]。
数据挖掘目前已成为研究人工智能和数据库的热点领域,主要由人工智能、机器学习、可视化等技术组成[6-7]。数据挖掘主要是对每条数据进行分析,从庞大的数据库资源中寻找具有规律的技术,大致分为数据的准备、规律的发现和规律的表达3个阶段。“数据准备”指从相关数据源中选择有用的数据,并将其整合到用来进行数据挖掘的数据集当中;“规则查找”指通过某种方法找出存在于数据集的规则;“规则表示”指尽最大化可能采用客户能够理解的方式方法中找出规则。其中,关联分析、聚类分析、分类分析、异常分析、特殊群体分析和演化分析是数据挖掘的主要任务。
在此基础上,本文应用数据挖掘技术,设计了一种发动机频率测试系统,该系统能够有效提高测量的精度和便携性。
引擎测试系统的组成为数据采集板、图形界面和相应的数据处理软件。下位机数据采集模块具有对传感器信号进行调整和采集,并将数据从下位机传送到上位机的功能。下层数据采集模块由上位机软件完成不同参数的配置。基础微处理器根据主机驱动模拟开关配置不同类型的传感器,采集通道参数。试验过程中,主机软件根据不同传感器的不同特性,选择合理的数据处理算法,并对监测数据进行误差补偿,绘制并显示出边缘曲线,保存所需数据[8-9]。图1给出了发动机频率测试系统的总体结构。
图1 发动机频率测试系统的总体结构图
如图1所示,发动机频率测试系统总体结构主要由采集模块、CAN总线网络、采集终端、传感器及电源组成。CAN总线网络可实现发动机频率测试系统各节点自由通信,通过采集终端及传感器得到待测数据,通过电源保证系统稳定运行。
发动机频率测试系统硬件模块由数据采集模块、传感器信号调理电路、A/D转换电路及单片机、CAN通讯电路组成。系统硬件由上、下位机两部分组成:下位机负责对调度和采集各模块数据、对数据进行预先处理并做到同步发送;上位机的主要作用是实现发送指令,接收事实数据,并对其进行相应的处理、显示[10-11]。基于数据挖掘的发动机频率测试系统硬件结构如图2所示。
图2 基于数据挖掘的发动机频率测试系统硬件
从图2可以看出,NI9401是一种双向数字输出模块,它共有8条通道。本文利用 FPGA,配置I/O,结合高性能LabIVIEWFPGA开发平台,实现高速计数器的定制化,系统硬件具有1 000 Vrms的瞬时隔离电压,每一个信道都能兼容5 V/TTL信号,在 I/O信道与背板之间有1 000 Vrms的瞬时隔离电压。
主机选用笔记本电脑运算,CRIO数据采集系统的配置通过以太网接口实现,读取测试数据,并做出相应的存储和人机交互,该系统采用 LabVIEFPGA模块配置NI9401高速计数器,完成6个信道的开发[12-13]。
采集模块的主要包括:信号调理电路,A/D转换电路。在发动机测试过程中,信号调理电路会把发动机各传感器的输出信号转换成标准的0~5 V信号,输出到 A/D转换电路,采用C8051F040单片机实现中心控制,实现数据通讯[14]。
本文提出了一种新型的热电偶信号调理电路,它采用高阻运算放大器,将弱信号放大到0~5 V标准信号。Pt100用于测量环境温度,其信号调节电路由0.mA恒流源电路和相应的信号放大电路组成[15]。电压信号调理电路由0~5 V增加驱动能力时所需要的缓冲及滤波电路组成,在0~5 V调理电路的基础上,可以增加一个分压电路,实现模拟信号的隔离。传感器信号调理电路示意图如图3所示。
图3 传感器信号调理电路
本系统选择ads8344为 A/D转换芯片。作为一种16位AD转换器,ads8344具有高速、低功耗的特点。其功率由2.7~5伏特单相电源提供,最大采样率为100 kHz,信噪比为84 dB。可以设置8路模拟量输入通道,实现对终端输入或差分输入的保持和自采样。利用串行接口实现了单片机之间的数据交换。当ads8344进行模数转换时,它的基准电压是+5 V,由基准电压芯片isl21009所提供。图4为模数转换电路示意图。
图4 模数转换电路
在单片机C8051F040中有基于 Bosch规范的 CAN控制器2.0 A与2.0 B,单片机并不包括与之对应的物理层驱动电路,在CAN总线连接时,需要增加 CAN总线收发器来实现与之对应的物理层驱动功能。CTM8251A是一个普遍应用的 CAN收发器芯片,其中包含了CAN隔离和 CAN收发装置,能够把 CAN控制器的逻辑电平变为 CAN总线的差分电平,同时可达到 DC2-500 V的隔离效果。CAN通讯线路如图5所示。
图5 CAN通讯线路
本系统使用LabVIEW作为软件开发平台,LabVIEW在操作界面制作、数据库使用、仪器程序程控等维度具有明显的优势,测试序列管理软件带来了一个模块化的方式,来快速制作测控系统。该测试序列管理软件结构清晰,有很高程度的模块化功能,开发方便、操作简便、维护简单。同时,该软件适用于NI LabVIEW、LabWindows/CVI、MeasurementStudio及微软 VisualBasi等当下主流测试编程环境。Host.vi主要程序由虚拟仪器 LabVIEW开发,运行在主机上,利用以太网实现指令发送,数据接收,数据处理以及数据显示。
基于数据挖掘的发动机频率测试系统选择 TestStand当作测试管理软件,使用 LabVIEW编写测试序列,将 TestStand与 LabVIEW结合起来。基于数据挖掘的发动机频率测试系统软件能够很好地实现测试步骤操作、显示和以及保存测试结果等。基于数据挖掘的发动机频率测试系统软件流程图如图6所示。
图6 基于数据挖掘的发动机频率测试系统软件流程
如图6所示,采用数据挖掘算法对发动机频率进行采集并聚类,将测试的频率数据与发动机额定频率对比,如果采集频率大于额定频率,则通过CAN通信程序从设备中反馈数据传输对象,再通过HT通信将数据传输至系统硬件中,用来准确判断发动机频率是否处于正常范围内。
发动机把输入信号的收集标本存储在对应存储器中,作为查表操作的数据基础,测试系统需要与对应的通讯方法查询存储器中的信号的收集标本,CCP为 CAN总线的 ECU校准协议规范,通过 CAN报文的展现出来,同时兼容11位标准消息帧与29位扩展消息帧,CCP协议的依靠 CAN消息的两个方面来实现:命令接收对象(CRO)及数据传输对象(DTO),从设备接收到主设备发送的 CRO后,必须对 DTO进行反馈。CAN通信组态模块程序如图7所示。
图7 CAN通信组态模块程序
设置CAN网络,分别设置 CAN网络接口名、波特率、数据大小等;接着设置 CAN对象,配置 CAN对象名,发送及接收 ID,通信种类等等;开启 CAN后,以 CCP协议消息传输格式发送及读取数据,退出程序时关闭 CAN。
使用主机的 LabVIEW RT模块开发 RTOS主程序,产生可执行文件并设置在实时控制器上,利用读取显示控件及缓冲区数据,对其进行处理,将处理的数据用以太网总线发送到主机,达到采集数据、预处理及与主机的通信的目的。RT主程序是测试系统的关键,确保主机 Host.vi和及FPGA.vi的通信得以顺利完成,
为了验证本文提出的基于数据挖掘的发动机频率测试系统的可靠性与稳定性,与传统系统进行实验对比,分别检测系统的检测率和虚警率。设定实验参数如表1所示。
表1 实验参数
根据上述参数,选择本文提出的基于数据挖掘的发动机频率测试系统与传统的基于CRIO的发动机频率测试系统、基于虚拟仪器的发动机频率测试系统进行对比实验。
实验步骤如下:
1)统计所有的发动机频率测试数据,将全部数据中的80%提取出来作为正常数据,通过机器学习实现数据训练;
2)提取剩余的20%数据,通过异常检测提取监测数据;
3)使用3种系统对数据集进行测试,测试次数共7次,每次选取的训练数据不同,得到的检测数据也不同。
根据上述实验步骤获得3种系统在五次测试过程中的检测率和虚警概率,得到的数据检测率实验结果如图8所示。
图8 数据检测率实验结果
对图8中的检测结果进行统计,得到平均值,统计结果如表2所示。
表2 数据检测率统计结果
根据实验结果可知,本文提出的基于数据挖掘的发动机频率测试系统对于数据的检测率高于传统系统。虽然设定高级检测处理机制能够提高检测率,但是由于检测过程十分复杂,所以传统的检测系统仅依靠高级检测机制检测能力较差。本文提出的数据挖掘的发动机频率测试系统能够对数据深入分析,确定发动机的检测率,从而提高准确率。
虚警概率实验结果如图9所示。
图9 虚警概率实验结果
统计图9的虚警概率结果,得到的平均值如表3所示。
表3 虚警概率统计结果
根据上述实验结果可知,本文设计的基于数据挖掘的发动机频率测试系统对发动机频率测试时间较短,且产生的虚警率很低,很少出现误报,而传统的系统由于受到测量范围的限制,所以频率测量过程很容易出现误差,在精准度和实时性上都难以满足发动机提出的要求。
本文设计的基于数据挖掘的发动机频率测试系统以底层数据为支撑,系统硬件能够在短时间内实现数据采集、数据显示和输出测试功能,软件通过误差抑制和补偿,有效降低热电偶的数据采集误差,实验结果分析表明,测量误差可以控制在±0.5 ℃以内,在精度上达到设计要求。系统内部的上位机能够有效降低模块化设计的复杂性,确保测试系统的后续改进工作。综上所述,本文设计的基于数据挖掘的发动机频率测试系统测试能力优于目前的发动机频率测试系统测试能力,测试效果更好,实用性更高,值得大力推广与使用。
本文以数据挖掘技术为基础,采用 LabVIEW开发 PFGA单元软件、RT单元软件与主机软件,达到发动机高、低压转子转速的测量。实验结果显示,该频率测试系统能够有效地检测出发动机的高、低压转速,具有体积小、重量轻、测试精度高的特点,达到了发动机测试现场的便携和测试精度要求。