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