APP下载

汽车基本性能检测数据采集系统的设计与实现

2015-05-06李泽华白云川朱道伟

军事交通学院学报 2015年8期
关键词:消耗量串口车速

李泽华,白云川,朱道伟,王 虎

(军事交通学院军用车辆系,天津300161)

汽车在使用过程中,随着行驶里程增加,出现可靠性降低、经济性变差和故障率增加等现象[1],因此,需要定期对汽车的基本性能进行检测,以免造成交通安全隐患。汽车道路试验是汽车检测中极为重要的方法,是一种非常接近实际情况的试验。它是指在普通道路下,通过采用专用仪器设备对汽车的基本性能进行不解体检测,可以为分析和判断汽车的技术状况提供定量依据。本文在采用Java串口通信技术的基础上,对在道路条件下汽车行驶过程中的实时信号进行采集、分析与处理,开发了基于Java串口通信技术的汽车基本性能检测数据采集系统。

1 数据采集系统的结构设计

数据采集系统主要分为加速性能检测、燃料消耗量检测、制动性能检测、滑行性能检测、标定功能和系统设置6个模块,系统功能如图1所示。

该系统采用的是上、下位机控制结构,上、下位机采用RS232串行通信。系统使用的传感器是由瑞士QUICKLYAG公司研发的非接触式光电速度传感器和我国烟台海晨科技有限公司研发的燃油流量传感器,光电速度传感器采集的信号经过跟踪滤波器和数据采集卡的处理,与燃油流量传感器采集的信号一起通过RS232串行端口发送至上位机。上位机读取下位机发送的各种信号并对数据进行分析和处理,同时将处理后的数据存入数据库。在系统的主面板上将实时显示经过处理后的各种信号,准确提示检测员下一步需要进行的操作,检测员只需按照相关指示即可完成对汽车基本性能的检测。系统结构如图2所示。

图2 系统结构示意

2 串口通信程序的实现

2.1 系统开发平台

系统开发环境为Microsoft Windows 7操作系统,数据库采用Microsoft SQL Server 2005,编程语言为Java,开发工具为Eclipse。Sun公司的 J2SE中没有直接提供串行通信协议的开发包,而是以独立的jar包形式发布在java.sun.com网站上的javacomm 20-win 32.zip,称之为 Java Communications API,Java通过该类库能够极大地简化对串口的操作过程。javacomm 20-win 32.zip主要包含以下 3 个文件:comm.jar、win 32com.dll和 javax.comm.properties。comm.jar提供通信用的 Java API;win 32com.dll提供供comm.jar调用的本地驱动接口;javax.comm.properties是这个驱动的类配置文件,配置路径如下:

<JAVA_HOME>jrelibcomm.jar

<JAVA_HOME > jrelibjavax.comm.properties

<JAVA_HOME>jreinwin 32com.dll

在运行串口包的时候,由于运行的程序是在JRE下的虚拟机启动的,因此,还需将上述3个文件放到所运行JRE相应的目录下。

2.2 串口读写的实现

2.2.1 打开串口

CommPortIdentifier portId=CommPortIdentifier.getPortIdentifier(“portName”);//获得一个想要打开串口的 CommPortIdentifier对象,“portName”为串口名称

SerialPort sPort=(SerialPort)portId.open(“SerialMain”,1 000);//打开串口,“SerialMain”为串口所有者名称,1 000为打开串口超时等待时间

SerialParameters parameters=new SerialParameters();//SerialParameters是自定义的一个为串口提供存储参数的类

sPort. setSerialPortParams(parameters. get-BaudRate(),parameters.getDatabits(),parameters.getStopbits(),parameters.getParity());//设置串口初始化参数,依次是波特率、数据位、停止位、校验方式等

2.2.2 注册监听器

SerialPort的监听器必须继承于SerialPortEventListener接口。当有任何SerialPort的事件发生时,将自动调用监听器中的serialEvent()方法。

sPort.addEventListener(this);

2.2.3 读取串口数据

byte[]b=new byte[100];

InputStream is=sPort.getInputStream();//串口输入流

int all_b=is.read(b);//读取数据

2.2.4 向串口写数据

OutputStream os=sPort.getOutputStream();//串口输出流

os.write(date);//写入数据

3 传感器的工作原理

3.1 非接触式光电速度传感器

非接触式光电速度传感器(如图3所示)是以一副梳状结构的硅电池作为敏感元件,地面反射光经凸透镜成像于该梳状光电器件上,随着汽车的运动,梳状光电器件产生随反射光强度变化的电流,此时会产生窄带随机信号,该信号经一个自动跟踪带通滤波器和数字中心频率检测电路处理后,得到脉冲信号[2],根据脉冲信号与距离的转换系数,经计算机处理,可得到汽车的移动距离、时间和行驶速度等物理量。

图3 非接触式光电速度传感器结构

3.2 燃油流量传感器

燃油流量传感器(如图4所示)串联在汽车的燃油管路中,用来获取汽车的燃料消耗量。

图4 燃油流量传感器结构

该传感器主要由下部的由活塞组成的四连杆机构和上部的转速/脉冲变换器两部分组成,活塞在燃油管路压力的带动下做往复运动,带动四连杆机构的曲轴做旋转运动,转速/脉冲变换器将这个旋转信号转变为标准的电压脉冲信号,通过计量脉冲信号的个数,根据设备规定的转换系数(一个脉冲信号对应的燃料消耗量),计算出汽车在指定距离内的燃料消耗量。

4 数据的采集、分析与处理

光电速度传感器和燃油流量传感器通过RS232串口发送的数据都是标准的脉冲信号,上位机从串口中采集到数据后,根据事先与下位机达成的通信协议,分别将这些脉冲信号转换为汽车的行驶速度、行驶距离、行驶时间和燃料消耗量等参数,通过对这些参数的分析和处理,对汽车的基本性能进行评价。

下面以燃料消耗量检测模块中的“等速行驶燃料消耗量检测”为例进行详细介绍。

4.1 数据的采集

等速行驶燃料消耗量检测是检测汽车在一定条件下的燃料消耗量,用以评价汽车的燃油经济性,主要评价参数是汽车的平均速度和燃料消耗量。要求被检车辆在预热行驶后,采用直接挡或最高挡等速地通过500 m的距离,测量汽车通过该路段的时间及燃料消耗量。检测指定车速从20 km/h(最小稳定车速高于20 km/h时,从30 km/h检测)开始,以10 km/h的整数倍均匀选取车速,直到最高车速的50%,至少测定5个试验车速。

根据GB/T 12545.2—2001《商用车辆燃料消耗量试验方法》[3],对依维柯得意A40汽车进行等速行驶燃料消耗量检测,检测车速为30、40、50、60、70 km/h。首先通过非接触式光电速度传感器和燃油流量传感器进行数据的采集,采集数据见表1。

4.2 数据的分析与处理

使用传感器采集到汽车的行驶距离、行驶时间、行驶速度和燃料消耗量等物理量后,系统分别对采集数据做不同的处理。

根据表1绘制往返的实际车速—百公里燃料消耗量曲线,从而得出检测车速下的往返百公里燃料消耗量(见表2)。

表1 等速行驶燃料消耗量检测数据

表2 检测车速下的百公里燃料消耗量 L/100 km

4.2.1 数据的重复性检验

根据国家标准,检测结果必须经重复性检验,重复性检验应按照第95百分位分布来判断。第95百分位分布的标准差R与重复检测的次数n有关(见表3)。

表3 第95百分位分布的标准差与n的对应关系

计算出标准差R之后,还需计算n次检测结果中燃料消耗量的最大值与最小值之差ΔQmax。当ΔQmax<R时 ,认为检测结果的重复性好,不必增加试验次数;当ΔQmax>R时,认为检测结果的重复性差,应增加试验次数。本次检测重复次数为2次,计算结果见表4。

可以看出:在车速为 30、40、60、70 km/h时,检测结果的重复性好;而在车速为50 km/h时重复性不好,应增加测试次数。

4.2.2 置信区间的计算

由于检测结果受很多因素的影响,所以检测结果是一个在一定范围内变化的随机变量[4]。在一定置信度下(置信度90%),该范围置信区间ΔQv为

将不同工况下的各数据代入式(1),可得被检车辆在不同工况下的ΔQv(见表5)。

表4 R与ΔQmax的计算结果 L/100 km

表5 各工况下被检车辆的置信区间

4.2.3 检测数据的校正

由于燃料消耗量测定值不是在标准的环境下测得的,因此,须将测得的燃料消耗量校正到标准状态的数值。标准状态下各参数值分别为:气温20℃;气压100 kPa;柴油密度0.830 g/mL。校正公式如下:

式中:Q0为校正后的燃料消耗量,L/100 km;C1为环境温度矫正系数;C2为大气压力矫正系数;C3为燃料密度矫正系数。其中

式中:T为检测时的环境温度,℃;p为检测时的大气压力,kPa;Gd为检测用的柴油的平均密度,g/mL。

在测量出检测时的环境温度、大气压力和柴油密度后,分别将式(3)—(5)代入式(2)可得校正后的燃料消耗量(见表6)。

表6 校正后等速行驶百公里燃料消耗量 L/100 km

4.2.4 检测结果

根据等速百公里燃料消耗量的校正值,绘制被检车辆等速百公里燃料消耗量曲线(如图5所示)。

图5 等速行驶百公里燃料消耗量曲线

5 应用验证

为了说明和分析笔者提出的汽车基本性能检测数据采集系统的实用性和可靠性,对系统中的各个功能模块都选用了不同车辆做了大量的测试。以本系统分别对南京依维柯(1号车)和福特全顺汽车(2号车)进行等速行驶燃料消耗量检测为例进行比对。测试显示的汽车等速行驶百公里燃料消耗量校正值见表7。

表7 1、2号车5次等速行驶燃料消耗量检测数据 L/100 km

通过比较可以看出,1号车与2号车校正后的燃油消耗量数值吻合较好,说明系统的可靠性良好,数据分析与处理精准,系统设计较为合理,可以反映实际检测状况。

6 结语

本文对汽车基本性能检测数据采集系统进行了设计与实现,通过利用Java串口通信技术实时采集传感器发送的信号,根据相关国家标准,将这些信号进行分析和处理。实车验证表明,该系统人机交互友好,检测结果准确、直观,具有一定的实用意义。

[1] 高红红,劳奇成,卢春霞.汽车整车性能检测系统的设计[J].现代电子技术,2011(15):194-195.

[2] 余志生.汽车理论[M].5版.北京:机械工业出版社,2012:70-71.

[3] 国家质检总局.商用车辆燃料消耗量试验方法:GB/T12545.2—2001[S].北京:国家质检总局,2001.

[4] 夏均忠.汽车检测技术与设备[M].北京:机械工业出版社,2009:90-91.

猜你喜欢

消耗量串口车速
路基石方爆破降低炸药消耗量研究
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
2012款奔驰R300车修改最高车速限制
跑跑卡丁车
船舶电子设备串口数据的软件共享方法
有机化学反应中试剂最大消耗量问题探析
《轻型商用车辆燃料消耗量限值》强制性国家标准发布
北京现代途胜车车速表不工作