李澤華,白云川,朱道偉,王 虎
(軍事交通學(xué)院軍用車輛系,天津300161)
汽車在使用過(guò)程中,隨著行駛里程增加,出現(xiàn)可靠性降低、經(jīng)濟(jì)性變差和故障率增加等現(xiàn)象[1],因此,需要定期對(duì)汽車的基本性能進(jìn)行檢測(cè),以免造成交通安全隱患。汽車道路試驗(yàn)是汽車檢測(cè)中極為重要的方法,是一種非常接近實(shí)際情況的試驗(yàn)。它是指在普通道路下,通過(guò)采用專用儀器設(shè)備對(duì)汽車的基本性能進(jìn)行不解體檢測(cè),可以為分析和判斷汽車的技術(shù)狀況提供定量依據(jù)。本文在采用Java串口通信技術(shù)的基礎(chǔ)上,對(duì)在道路條件下汽車行駛過(guò)程中的實(shí)時(shí)信號(hào)進(jìn)行采集、分析與處理,開(kāi)發(fā)了基于Java串口通信技術(shù)的汽車基本性能檢測(cè)數(shù)據(jù)采集系統(tǒng)。
數(shù)據(jù)采集系統(tǒng)主要分為加速性能檢測(cè)、燃料消耗量檢測(cè)、制動(dòng)性能檢測(cè)、滑行性能檢測(cè)、標(biāo)定功能和系統(tǒng)設(shè)置6個(gè)模塊,系統(tǒng)功能如圖1所示。
該系統(tǒng)采用的是上、下位機(jī)控制結(jié)構(gòu),上、下位機(jī)采用RS232串行通信。系統(tǒng)使用的傳感器是由瑞士QUICKLYAG公司研發(fā)的非接觸式光電速度傳感器和我國(guó)煙臺(tái)海晨科技有限公司研發(fā)的燃油流量傳感器,光電速度傳感器采集的信號(hào)經(jīng)過(guò)跟蹤濾波器和數(shù)據(jù)采集卡的處理,與燃油流量傳感器采集的信號(hào)一起通過(guò)RS232串行端口發(fā)送至上位機(jī)。上位機(jī)讀取下位機(jī)發(fā)送的各種信號(hào)并對(duì)數(shù)據(jù)進(jìn)行分析和處理,同時(shí)將處理后的數(shù)據(jù)存入數(shù)據(jù)庫(kù)。在系統(tǒng)的主面板上將實(shí)時(shí)顯示經(jīng)過(guò)處理后的各種信號(hào),準(zhǔn)確提示檢測(cè)員下一步需要進(jìn)行的操作,檢測(cè)員只需按照相關(guān)指示即可完成對(duì)汽車基本性能的檢測(cè)。系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)示意
系統(tǒng)開(kāi)發(fā)環(huán)境為Microsoft Windows 7操作系統(tǒng),數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2005,編程語(yǔ)言為Java,開(kāi)發(fā)工具為Eclipse。Sun公司的 J2SE中沒(méi)有直接提供串行通信協(xié)議的開(kāi)發(fā)包,而是以獨(dú)立的jar包形式發(fā)布在java.sun.com網(wǎng)站上的javacomm 20-win 32.zip,稱之為 Java Communications API,Java通過(guò)該類庫(kù)能夠極大地簡(jiǎn)化對(duì)串口的操作過(guò)程。javacomm 20-win 32.zip主要包含以下 3 個(gè)文件:comm.jar、win 32com.dll和 javax.comm.properties。comm.jar提供通信用的 Java API;win 32com.dll提供供comm.jar調(diào)用的本地驅(qū)動(dòng)接口;javax.comm.properties是這個(gè)驅(qū)動(dòng)的類配置文件,配置路徑如下:
<JAVA_HOME>jrelibcomm.jar
<JAVA_HOME > jrelibjavax.comm.properties
<JAVA_HOME>jreinwin 32com.dll
在運(yùn)行串口包的時(shí)候,由于運(yùn)行的程序是在JRE下的虛擬機(jī)啟動(dòng)的,因此,還需將上述3個(gè)文件放到所運(yùn)行JRE相應(yīng)的目錄下。
2.2.1 打開(kāi)串口
CommPortIdentifier portId=CommPortIdentifier.getPortIdentifier(“portName”);//獲得一個(gè)想要打開(kāi)串口的 CommPortIdentifier對(duì)象,“portName”為串口名稱
SerialPort sPort=(SerialPort)portId.open(“SerialMain”,1 000);//打開(kāi)串口,“SerialMain”為串口所有者名稱,1 000為打開(kāi)串口超時(shí)等待時(shí)間
SerialParameters parameters=new SerialParameters();//SerialParameters是自定義的一個(gè)為串口提供存儲(chǔ)參數(shù)的類
sPort. setSerialPortParams(parameters. get-BaudRate(),parameters.getDatabits(),parameters.getStopbits(),parameters.getParity());//設(shè)置串口初始化參數(shù),依次是波特率、數(shù)據(jù)位、停止位、校驗(yàn)方式等
2.2.2 注冊(cè)監(jiān)聽(tīng)器
SerialPort的監(jiān)聽(tīng)器必須繼承于SerialPortEventListener接口。當(dāng)有任何SerialPort的事件發(fā)生時(shí),將自動(dòng)調(diào)用監(jiān)聽(tīng)器中的serialEvent()方法。
sPort.addEventListener(this);
2.2.3 讀取串口數(shù)據(jù)
byte[]b=new byte[100];
InputStream is=sPort.getInputStream();//串口輸入流
int all_b=is.read(b);//讀取數(shù)據(jù)
2.2.4 向串口寫數(shù)據(jù)
OutputStream os=sPort.getOutputStream();//串口輸出流
os.write(date);//寫入數(shù)據(jù)
非接觸式光電速度傳感器(如圖3所示)是以一副梳狀結(jié)構(gòu)的硅電池作為敏感元件,地面反射光經(jīng)凸透鏡成像于該梳狀光電器件上,隨著汽車的運(yùn)動(dòng),梳狀光電器件產(chǎn)生隨反射光強(qiáng)度變化的電流,此時(shí)會(huì)產(chǎn)生窄帶隨機(jī)信號(hào),該信號(hào)經(jīng)一個(gè)自動(dòng)跟蹤帶通濾波器和數(shù)字中心頻率檢測(cè)電路處理后,得到脈沖信號(hào)[2],根據(jù)脈沖信號(hào)與距離的轉(zhuǎn)換系數(shù),經(jīng)計(jì)算機(jī)處理,可得到汽車的移動(dòng)距離、時(shí)間和行駛速度等物理量。
圖3 非接觸式光電速度傳感器結(jié)構(gòu)
燃油流量傳感器(如圖4所示)串聯(lián)在汽車的燃油管路中,用來(lái)獲取汽車的燃料消耗量。
圖4 燃油流量傳感器結(jié)構(gòu)
該傳感器主要由下部的由活塞組成的四連桿機(jī)構(gòu)和上部的轉(zhuǎn)速/脈沖變換器兩部分組成,活塞在燃油管路壓力的帶動(dòng)下做往復(fù)運(yùn)動(dòng),帶動(dòng)四連桿機(jī)構(gòu)的曲軸做旋轉(zhuǎn)運(yùn)動(dòng),轉(zhuǎn)速/脈沖變換器將這個(gè)旋轉(zhuǎn)信號(hào)轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)的電壓脈沖信號(hào),通過(guò)計(jì)量脈沖信號(hào)的個(gè)數(shù),根據(jù)設(shè)備規(guī)定的轉(zhuǎn)換系數(shù)(一個(gè)脈沖信號(hào)對(duì)應(yīng)的燃料消耗量),計(jì)算出汽車在指定距離內(nèi)的燃料消耗量。
光電速度傳感器和燃油流量傳感器通過(guò)RS232串口發(fā)送的數(shù)據(jù)都是標(biāo)準(zhǔn)的脈沖信號(hào),上位機(jī)從串口中采集到數(shù)據(jù)后,根據(jù)事先與下位機(jī)達(dá)成的通信協(xié)議,分別將這些脈沖信號(hào)轉(zhuǎn)換為汽車的行駛速度、行駛距離、行駛時(shí)間和燃料消耗量等參數(shù),通過(guò)對(duì)這些參數(shù)的分析和處理,對(duì)汽車的基本性能進(jìn)行評(píng)價(jià)。
下面以燃料消耗量檢測(cè)模塊中的“等速行駛?cè)剂舷牧繖z測(cè)”為例進(jìn)行詳細(xì)介紹。
等速行駛?cè)剂舷牧繖z測(cè)是檢測(cè)汽車在一定條件下的燃料消耗量,用以評(píng)價(jià)汽車的燃油經(jīng)濟(jì)性,主要評(píng)價(jià)參數(shù)是汽車的平均速度和燃料消耗量。要求被檢車輛在預(yù)熱行駛后,采用直接擋或最高擋等速地通過(guò)500 m的距離,測(cè)量汽車通過(guò)該路段的時(shí)間及燃料消耗量。檢測(cè)指定車速?gòu)?0 km/h(最小穩(wěn)定車速高于20 km/h時(shí),從30 km/h檢測(cè))開(kāi)始,以10 km/h的整數(shù)倍均勻選取車速,直到最高車速的50%,至少測(cè)定5個(gè)試驗(yàn)車速。
根據(jù)GB/T 12545.2—2001《商用車輛燃料消耗量試驗(yàn)方法》[3],對(duì)依維柯得意A40汽車進(jìn)行等速行駛?cè)剂舷牧繖z測(cè),檢測(cè)車速為30、40、50、60、70 km/h。首先通過(guò)非接觸式光電速度傳感器和燃油流量傳感器進(jìn)行數(shù)據(jù)的采集,采集數(shù)據(jù)見(jiàn)表1。
使用傳感器采集到汽車的行駛距離、行駛時(shí)間、行駛速度和燃料消耗量等物理量后,系統(tǒng)分別對(duì)采集數(shù)據(jù)做不同的處理。
根據(jù)表1繪制往返的實(shí)際車速—百公里燃料消耗量曲線,從而得出檢測(cè)車速下的往返百公里燃料消耗量(見(jiàn)表2)。
表1 等速行駛?cè)剂舷牧繖z測(cè)數(shù)據(jù)
表2 檢測(cè)車速下的百公里燃料消耗量 L/100 km
4.2.1 數(shù)據(jù)的重復(fù)性檢驗(yàn)
根據(jù)國(guó)家標(biāo)準(zhǔn),檢測(cè)結(jié)果必須經(jīng)重復(fù)性檢驗(yàn),重復(fù)性檢驗(yàn)應(yīng)按照第95百分位分布來(lái)判斷。第95百分位分布的標(biāo)準(zhǔn)差R與重復(fù)檢測(cè)的次數(shù)n有關(guān)(見(jiàn)表3)。
表3 第95百分位分布的標(biāo)準(zhǔn)差與n的對(duì)應(yīng)關(guān)系
計(jì)算出標(biāo)準(zhǔn)差R之后,還需計(jì)算n次檢測(cè)結(jié)果中燃料消耗量的最大值與最小值之差ΔQmax。當(dāng)ΔQmax<R時(shí) ,認(rèn)為檢測(cè)結(jié)果的重復(fù)性好,不必增加試驗(yàn)次數(shù);當(dāng)ΔQmax>R時(shí),認(rèn)為檢測(cè)結(jié)果的重復(fù)性差,應(yīng)增加試驗(yàn)次數(shù)。本次檢測(cè)重復(fù)次數(shù)為2次,計(jì)算結(jié)果見(jiàn)表4。
可以看出:在車速為 30、40、60、70 km/h時(shí),檢測(cè)結(jié)果的重復(fù)性好;而在車速為50 km/h時(shí)重復(fù)性不好,應(yīng)增加測(cè)試次數(shù)。
4.2.2 置信區(qū)間的計(jì)算
由于檢測(cè)結(jié)果受很多因素的影響,所以檢測(cè)結(jié)果是一個(gè)在一定范圍內(nèi)變化的隨機(jī)變量[4]。在一定置信度下(置信度90%),該范圍置信區(qū)間ΔQv為
將不同工況下的各數(shù)據(jù)代入式(1),可得被檢車輛在不同工況下的ΔQv(見(jiàn)表5)。
表4 R與ΔQmax的計(jì)算結(jié)果 L/100 km
表5 各工況下被檢車輛的置信區(qū)間
4.2.3 檢測(cè)數(shù)據(jù)的校正
由于燃料消耗量測(cè)定值不是在標(biāo)準(zhǔn)的環(huán)境下測(cè)得的,因此,須將測(cè)得的燃料消耗量校正到標(biāo)準(zhǔn)狀態(tài)的數(shù)值。標(biāo)準(zhǔn)狀態(tài)下各參數(shù)值分別為:氣溫20℃;氣壓100 kPa;柴油密度0.830 g/mL。校正公式如下:
式中:Q0為校正后的燃料消耗量,L/100 km;C1為環(huán)境溫度矯正系數(shù);C2為大氣壓力矯正系數(shù);C3為燃料密度矯正系數(shù)。其中
式中:T為檢測(cè)時(shí)的環(huán)境溫度,℃;p為檢測(cè)時(shí)的大氣壓力,kPa;Gd為檢測(cè)用的柴油的平均密度,g/mL。
在測(cè)量出檢測(cè)時(shí)的環(huán)境溫度、大氣壓力和柴油密度后,分別將式(3)—(5)代入式(2)可得校正后的燃料消耗量(見(jiàn)表6)。
表6 校正后等速行駛百公里燃料消耗量 L/100 km
4.2.4 檢測(cè)結(jié)果
根據(jù)等速百公里燃料消耗量的校正值,繪制被檢車輛等速百公里燃料消耗量曲線(如圖5所示)。
圖5 等速行駛百公里燃料消耗量曲線
為了說(shuō)明和分析筆者提出的汽車基本性能檢測(cè)數(shù)據(jù)采集系統(tǒng)的實(shí)用性和可靠性,對(duì)系統(tǒng)中的各個(gè)功能模塊都選用了不同車輛做了大量的測(cè)試。以本系統(tǒng)分別對(duì)南京依維柯(1號(hào)車)和福特全順汽車(2號(hào)車)進(jìn)行等速行駛?cè)剂舷牧繖z測(cè)為例進(jìn)行比對(duì)。測(cè)試顯示的汽車等速行駛百公里燃料消耗量校正值見(jiàn)表7。
表7 1、2號(hào)車5次等速行駛?cè)剂舷牧繖z測(cè)數(shù)據(jù) L/100 km
通過(guò)比較可以看出,1號(hào)車與2號(hào)車校正后的燃油消耗量數(shù)值吻合較好,說(shuō)明系統(tǒng)的可靠性良好,數(shù)據(jù)分析與處理精準(zhǔn),系統(tǒng)設(shè)計(jì)較為合理,可以反映實(shí)際檢測(cè)狀況。
本文對(duì)汽車基本性能檢測(cè)數(shù)據(jù)采集系統(tǒng)進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn),通過(guò)利用Java串口通信技術(shù)實(shí)時(shí)采集傳感器發(fā)送的信號(hào),根據(jù)相關(guān)國(guó)家標(biāo)準(zhǔn),將這些信號(hào)進(jìn)行分析和處理。實(shí)車驗(yàn)證表明,該系統(tǒng)人機(jī)交互友好,檢測(cè)結(jié)果準(zhǔn)確、直觀,具有一定的實(shí)用意義。
[1] 高紅紅,勞奇成,盧春霞.汽車整車性能檢測(cè)系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011(15):194-195.
[2] 余志生.汽車?yán)碚摚跰].5版.北京:機(jī)械工業(yè)出版社,2012:70-71.
[3] 國(guó)家質(zhì)檢總局.商用車輛燃料消耗量試驗(yàn)方法:GB/T12545.2—2001[S].北京:國(guó)家質(zhì)檢總局,2001.
[4] 夏均忠.汽車檢測(cè)技術(shù)與設(shè)備[M].北京:機(jī)械工業(yè)出版社,2009:90-91.