更多...

     更多...
一種基于Matlab的ABS試驗數據實時采集與處理方法|上海麥聚瑞電子儀器有限公司

一種基于Matlab的ABS試驗數據實時采集與處理方法


 

一、引言

目前,ABS實車試驗數據的實時采集和處理一般由插在PC機擴展槽中的數據采集卡來完成,這種方法對汽車環境和車載電源有較嚴格的要求,需要對車輛進行一定的改造才能實施。本文介紹一種簡易的ABS試驗數據采集與處理的方法。

二、ABs數據采集與處理系統設計

ABS的各項測試數據主要有車輪速度和車身速度、瞬時車輪轉速和時間、制動管路壓強、制動力矩和汽車載荷等參數。由于價格和實際安裝難易程度不同,目前,在車輛中一般只安裝有輪速信號傳感器和汽車減速度傳感器。對這兩種傳感器信號的采集方法可見參考文獻。本文主要討論對這兩種傳感器采集得到的數據進行實時傳輸與分析處理的方法。ABS數據采集與處理系統的原理框圖如圖1所示。

系統電控單元ECU不斷從車輪角速度傳感器和汽車減速度傳感器讀入信號,一方面利用這些信號計算出車輪的角加、減速度和參考滑移率,然后與設定的門限值進行比較,從而控制電磁閥的輸出;另一方面則將這些信號通過串口發送到ECU的串口和PC機串口互聯,可以在對原ABS系統和車輛環境不做任何改動的前提下,實時采集與存儲ABS內部運動過程。

三、Matlab對計算機串口的編程

Matlab是數學計算的強大工具,它以矩陣作為數據操作的基本單位,廣泛應用在以矩陣運算為主要工作方式的數理統計、自動控制、數字信號處理、動態系統仿真等領域。Matlab便捷靈活、操作簡單、處理功能強大,因而利用Matlab對采集到的ABS試驗數據進行分析處理是非常合適的,關鍵問題是如何將數據從ECU傳到計算機。Matlab支持面向對象技術,用一個對象將計算機串口封裝起來,只要創建串口對象,對串口對象操作就是對串口操作,非常方便。使用serial函數就可創建串口對象,串口對象有很多屬性[4],通過定義串口對象的屬性,能定義串口的通信模式,從串口對象屬性也能了解串口的狀態。要想通過串口傳輸數據,必須先用fopen函數打開串口;數據傳輸結束后要用fclose。函數關閉串口。表1列出了常用的與串口操作有關的函數。         

1 Matlab串口函數介紹

函數

說明

serial

創建一個串口對象,格式:s = serial('coml' )

fopen

打開串口對象,格式:fope n( s)

fread

讀取串口數據,格式: fread(s)

fclose

關閉串口對象,格式:fclose(s)

free

解除Matlab對串口對象的控制,使serial 其他程序能對該串口進行讀寫操作delete 刪除對象s,格式:delete( s)

clear

從工作空間中刪除對象s,格式:clear(s)

當建立了一個串口對象后,可以利用Matlab對其參數進行設置,包括對波特率、同步或異步讀取方式、讀取或寫數據的等待時間等。本文以波特率的設置為例來說明串口參數的設置方法。波特率的設置,一般有兩種方法:(1)在創建串口對象時設定波特率:sserial(`coml' ,'baudrate','9600'); (2)set命令:set(s'baudrate''9600')

四、ABS系統數據采集與處理實例

1.數據采集格式ECU一次向Matlab傳遞8個變量的實時數據,每個變量占2個字節,其中高位字節在前,低位字節在后,共16個字節。傳遞次序和變量名如表2所列。        

2傳遞的8個變量的順序和變量名

變量名

說明

Acc-high

減速度傳感器信號的高電平時間

Acc-low

減速度傳感器信號的低電平時間

Acc

估計的車身減速度

Vref

參考車速

Zq

左前輪速

Zh

左后輪速

Yq

右前輪速

Yh

右后輪速

2Matlab實時作圖在課題的研究過程中,需要了解ABS各參數信號的實時變化情況,這就需要對數據進行實時的可視化處理。Matlab沒有提供現成的函數來繪制實時的圖形,但是我們可以用以下方法來實現實時的可視化處理。Matlab中有一個drawnow的函數,它可將用戶*后的設置補充到圖形窗口中,所以可以用它來實現實時作圖:①建立一個圖形句柄h:h=plot(4 ,4 , * , Erase mode ,xor);②修改圖形的坐標軸的示數范圍,使其滿足作圖的需要,如將橫坐標設為。一1 000,縱坐標設為一11 :axis([ 0 ,1 000,一1 ,1 ]);③做一個循環體,使得橫坐標和縱坐標所對應的值不斷的得到改變,并用set( h ,xdata ,x ,ydata) 對圖形中的橫坐標和縱坐標的值進行修改,這時再用drawnow命令將*新的設置寫入圖形句柄h所對應圖形中,這樣循環的不間斷的修改兩個坐標的值就可以得到實時的動態圖像了。

3.采集和處理實例

2所示為某車型的ABS實車試驗數據,它是經采集、分析處理后由Matlab軟件實時繪制而成的,限于篇幅只給出了部分曲線。圖2( a)是左前輪速和參考車速曲線,圖2(13)是右后輪速和參考車速曲線,兩個圖中的參考車速是相同的。從圖2中可以看出參考車速的計算是比較準確的,的,左前輪經歷了3ABS循環,而右后輪只有2次。圖2(c)給出了兩個輪子的滑移率隨時間變化的曲線。可以看到左前輪的滑移率波動比較大,右后輪由于是驅動輪,滑移率變化比較小。圖2 ( d)是車身減速度隨時間的變化曲線,大部分時間里汽車減速度約為6.5m/SZ,即0 .66 g左右。從上面的討論可知,由于了解到了ABS內部的動態過程,就容易對ABS系統過程中出現的問題提出有效的解決方法,提高了工作效率。           

五、結束語

本文提出的基于MatlabABS系統實車試驗數據實時采集和分析處理方法成本低、可靠性高、實施容易,對ABS的開發和研究提供了很多方便。

滬公網安備 31010102004802號