岳強+尉慶國+任曉樂
摘 要: 針對FSAE賽車在整車調(diào)校、車手訓(xùn)練過程中需要記錄賽車運行數(shù)據(jù),通過對FSAE賽車電氣系統(tǒng)的研究,利用proteus軟件對電路進行仿真,設(shè)計了一套用于方程式賽車的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)需采集發(fā)動機轉(zhuǎn)速、進氣壓力、氧傳感器電壓、賽車車速、轉(zhuǎn)向角度、油門踏板行程深度等數(shù)據(jù)。數(shù)據(jù)通過CAN總線傳輸,最后通過2.4 GHz無線模塊將數(shù)據(jù)發(fā)送到上位機接收端,上位機對數(shù)據(jù)進行圖形化處理并實時記錄和顯示。數(shù)據(jù)采集系統(tǒng)在仿真和實物測試中都實現(xiàn)了預(yù)期的功能,對方程式賽車或特殊車輛數(shù)據(jù)采集系統(tǒng)的設(shè)計具有參考意義。
關(guān)鍵詞: 數(shù)據(jù)采集; CAN總線; proteus仿真; 無線收發(fā); 上位機; 圖形化處理
中圖分類號: TN919?34; U463.6 文獻標識碼: A 文章編號: 1004?373X(2018)05?0069?05
Abstract: Since it is necessary to record the running data of FSAE racing car in the process of vehicle adjustment and driver training, the electrical system of FSAE racing car is studied to simulate its circuit with proteus software, and a data acquisition system for FSAE racing car is designed. The system needs to acquire the data of engine speed, intake pressure, voltage of oxygen sensor, speed of racing car, steering angle and accelerator pedal travel. The data is transmitted via CAN bus, and sent to the receiving end of host computer through 2.4 GHz wireless module. The host computer can conduct the graphical processing for the data, and record and display the data in real time. The data acquisition system can realize the expected functions in the aspects of simulation and physical test, and has a reference value for the design of the data acquisition system of the FSAE racing car and special vehicles.
Keywords: data acquisition; CAN bus; proteus simulation; wireless transceiving; host computer; graphical processing
0 引 言
FSAE(Formula SAE)是由國際汽車工程學(xué)會(SAE International)于1978年開辦,其概念源于一家虛擬制作工廠,向所有大學(xué)生設(shè)計團隊征集設(shè)計制造一輛小型的類似于標準方程式的賽車[1],要求賽車在操控性、加速、制動等方面都有優(yōu)異的表現(xiàn),并且足夠穩(wěn)定耐久。在方程式賽車調(diào)校和車手訓(xùn)練中,需要賽車的各項數(shù)據(jù)為整車調(diào)校和賽車手的訓(xùn)練提供數(shù)據(jù)支持,因此開發(fā)一套穩(wěn)定可靠的方程式賽車專用數(shù)據(jù)采集系統(tǒng),對提升方程式賽車的性能和提高車手的操作水平是十分重要的。目前國內(nèi)外的FSAE賽車多使用購買的數(shù)據(jù)采集系統(tǒng),但FSAE賽事本身的目的是訓(xùn)練參與者的汽車設(shè)計能力,同時購買的數(shù)據(jù)采集系統(tǒng)主要針對汽車改裝,不能完全適應(yīng)方程式賽車的數(shù)據(jù)需求。
基于上述原因,根據(jù)方程式賽車實際的數(shù)據(jù)需求,通過對賽車電氣系統(tǒng)的研究,以FSAE賽車為平臺, 設(shè)計一款符合FSAE賽車數(shù)據(jù)采集需要的系統(tǒng)。方程式賽車需要采集的數(shù)據(jù)主要包括發(fā)動機運行的數(shù)據(jù)和整車運行數(shù)據(jù)。發(fā)動機數(shù)據(jù)包括發(fā)動機轉(zhuǎn)速、進氣壓力、氧傳感器電壓、冷卻液溫度這幾個典型的參數(shù)。整車運動數(shù)據(jù)需要采集轉(zhuǎn)向角度、車速、油門深度、制動信號、懸架形變量、橫向、縱向加速度這幾個參數(shù)。通過對方程式賽車電氣系統(tǒng)的研究,發(fā)現(xiàn)需要檢測的傳感器較多,如果每個傳感器單獨走線,會產(chǎn)生大量的線束,使賽車的電氣系統(tǒng)復(fù)雜度增加,也不利于賽車設(shè)計的輕量化要求。為解決這一問題,使用CAN總線進行數(shù)據(jù)傳輸,對傳感器的數(shù)據(jù)處理后通過網(wǎng)關(guān)掛載到CAN總線上,采集器直接讀取總線數(shù)據(jù),即可采集到上述全部數(shù)據(jù)。由于賽車儀表需要顯示轉(zhuǎn)速、檔位等信息。設(shè)計時將儀表集成到數(shù)據(jù)采集系統(tǒng)上,儀表作為CAN總線上的一個節(jié)點,讀取總線上的數(shù)據(jù)并顯示。設(shè)計上位機系統(tǒng)時考慮到要采集的數(shù)據(jù)量巨大,實時顯示數(shù)字不便于反映數(shù)據(jù)的變化。為提高數(shù)據(jù)的可讀性,在使用VB設(shè)計上位機時,將數(shù)據(jù)進行圖形化處理,以圖像的形式表達數(shù)據(jù)的變化。同時上位機將數(shù)據(jù)存儲在計算機硬盤中,通過上位機可以查看歷史數(shù)據(jù)記錄。
FSAE賽車數(shù)據(jù)采集系統(tǒng)對于賽車的調(diào)校和賽車手的訓(xùn)練來說是一個反饋系統(tǒng),數(shù)據(jù)采集系統(tǒng)在FSAE賽車上的運用使賽車的調(diào)校和賽車手的訓(xùn)練成為一個閉環(huán)系統(tǒng),實時反饋的數(shù)據(jù)可以反映出賽車的工況和賽車手的操作習(xí)慣,便于進一步改進賽車的缺陷和賽車手操作的不足。數(shù)據(jù)采集系統(tǒng)還可以用于對其他機器設(shè)備的監(jiān)測,只需在被監(jiān)測的機器設(shè)備上安裝相應(yīng)的傳感器就可以實現(xiàn)對機器設(shè)備的監(jiān)控和數(shù)據(jù)記錄,具有較強的可移植性。endprint
1 數(shù)據(jù)采集系統(tǒng)的工作原理
設(shè)計的數(shù)據(jù)采集系統(tǒng)分為硬件和軟件兩部分:硬件部分包括CAN采集器和賽車儀表兩部分,位于賽車的快拆方向盤內(nèi)部,具有數(shù)據(jù)采集、儀表顯示、無線傳輸功能;軟件部分包括單片機程序和VB環(huán)境下開發(fā)的FSAE賽車數(shù)據(jù)顯示上位機。單片機程序?qū)鞲衅鞯哪M信號進行A/D轉(zhuǎn)換,通過CAN控制器掛載到CAN總線上;上位機能夠?qū)⒔邮盏降臄?shù)據(jù)進行圖形化顯示,并存儲在計算機中,供數(shù)據(jù)分析時使用。
1.1 硬件系統(tǒng)組成
FSAE賽車空間有限,在保證數(shù)據(jù)傳輸穩(wěn)定可靠的前提下應(yīng)盡可能減少線束的數(shù)量。因此,在設(shè)計時運用CAN總線傳輸數(shù)據(jù),CAN采集器和儀表作為網(wǎng)絡(luò)節(jié)點掛載在CAN總線上。儀表將讀取到的發(fā)動機轉(zhuǎn)速、檔位等信息進行顯示[2],CAN采集器讀取發(fā)動機轉(zhuǎn)速、進氣壓力、油門深度、氧傳感器電壓、賽車的橫向、縱向加速度等數(shù)據(jù)。
硬件系統(tǒng)組成如圖1所示。上半部分是經(jīng)過A/D轉(zhuǎn)換得到的數(shù)字信號,單片機將這些數(shù)據(jù)按一定規(guī)則進行編碼后,送入CAN控制器掛載到CAN網(wǎng)絡(luò)上,經(jīng)過一個網(wǎng)關(guān)節(jié)點發(fā)送出來。CAN采集器讀取數(shù)據(jù)后,通過2.4 GHz無線模塊進行發(fā)送,上位機的接收端接收數(shù)據(jù)并送上位機處理。儀表讀取CAN總線的數(shù)據(jù)[3],將發(fā)動機轉(zhuǎn)速、當(dāng)前檔位、冷卻液溫度等信息顯示在方程式賽車快拆方向盤的儀表上。
1.2 軟件系統(tǒng)組成
軟件系統(tǒng)包括單片機處理程序和上位機程序兩部分。傳感器的模擬信號經(jīng)過A/D轉(zhuǎn)換后,單片機程序?qū)?shù)據(jù)進行編碼,送入CAN控制器掛載到CAN總線上發(fā)出。上位機程序?qū)⒔邮盏臄?shù)據(jù)分類進行存儲,將數(shù)據(jù)圖形化后顯示在對應(yīng)的區(qū)域。
上位機是軟件系統(tǒng)的核心,主要由接收模塊、處理模塊、顯示模塊三部分組成。上位機的數(shù)據(jù)接收模塊將接收到的數(shù)據(jù)存儲在計算機的硬盤中,數(shù)據(jù)處理模塊將接收到的數(shù)據(jù)進行處理后,并借助VB的圖形化工具在上位機的顯示模塊中呈現(xiàn)出來,從而實現(xiàn)在遠端上位機處監(jiān)測賽車的各項實時數(shù)據(jù)。
軟件系統(tǒng)的原理框圖如圖2所示。上位機接收數(shù)據(jù)后,按照設(shè)計的程序規(guī)則進行處理,上位機將數(shù)據(jù)以圖形化的形式呈現(xiàn)到窗口界面中,同時將數(shù)據(jù)存儲到計算機的硬盤內(nèi)。當(dāng)需要讀取歷史數(shù)據(jù)時,通過上位機的接口調(diào)出歷史數(shù)據(jù),實現(xiàn)歷史數(shù)據(jù)重現(xiàn)。
2 硬件系統(tǒng)設(shè)計
方程式賽車數(shù)據(jù)采集系統(tǒng)需要檢測的傳感器明細如表1所示。
從表1可知,需要采集的傳感器數(shù)據(jù)類型包括脈沖、電壓、開關(guān)量三種,脈沖和開關(guān)量信號通過單片機直接采集,電壓信號經(jīng)過A/D轉(zhuǎn)換芯片得到數(shù)字信號,單片機通過巡檢的方式定時檢測上述數(shù)據(jù),編碼后送入CAN控制器發(fā)送到CAN總線上[4]。
硬件設(shè)計的重點是CAN模塊的設(shè)計,CAN控制芯片使用SJA1000,在Altium Designer環(huán)境下對硬件系統(tǒng)的電路原理圖和PCB進行設(shè)計,并編譯原理圖生成BOM表。設(shè)計PCB時將電路板形狀做成儀表的形狀,便于安裝在賽車的方向盤內(nèi)部。
2.1 CAN采集器設(shè)計
控制芯片采用普遍用于移動目標和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制芯片SJA1000,支持CAN 2.0協(xié)議[5]。為提高采集器的數(shù)據(jù)收發(fā)能力,使用TJA1050作為控制器區(qū)域網(wǎng)絡(luò)(CAN)協(xié)議控制器和物理總線之間的接口,TJA1050最多可以連接110個節(jié)點,被廣泛應(yīng)用于汽車的CAN網(wǎng)絡(luò)數(shù)據(jù)收發(fā)。CAN采集器收發(fā)模塊原理圖如圖3所示。
2.2 數(shù)據(jù)采集系統(tǒng)PCB設(shè)計
考慮到本系統(tǒng)集成于儀表并安裝在賽車方向盤內(nèi)部,因此在PCB設(shè)計時使用貼片封裝的元器件,將賽車儀表和采集器集成到一塊PCB上,兼?zhèn)鋬x表和數(shù)據(jù)采集功能。系統(tǒng)的PCB在Altium Designer的3D模型如圖4所示。
圖4a)是采集系統(tǒng)的PCB三維圖,圖4b)是儀表的PCB三維圖。兩塊電路板安裝在方程式賽車的快拆方向盤內(nèi)部,實現(xiàn)數(shù)據(jù)采集和儀表顯示的功能。
3 軟件系統(tǒng)設(shè)計
FSAE賽車行駛中的各項參數(shù)反映了賽車性能的優(yōu)劣,同時表現(xiàn)了不同車手的駕駛風(fēng)格和習(xí)慣。這些參數(shù)為車手駕駛行為的分析以及賽車的調(diào)校提供了重要的數(shù)據(jù)支持。數(shù)據(jù)采集系統(tǒng)上位機軟件采用Visual Basic語言編寫,該語言的最大特點是具有可視化編程功能,因此,Visual Basic在工業(yè)自動化控制領(lǐng)域有著廣泛的應(yīng)用[6]。此外,其自帶的MSComm控件可以便捷地實現(xiàn)與下位機的通信。
3.1 數(shù)據(jù)傳輸規(guī)則
由于通過無線串口傳來的數(shù)據(jù)包含賽車的多項參數(shù),在上位機中需要對數(shù)據(jù)進行“分揀”。因此傳輸?shù)臄?shù)據(jù)需要進行編碼,即在發(fā)送端和接收端同時規(guī)定一個相同的格式,便于上位機接收端區(qū)分不同數(shù)據(jù)[7]。此系統(tǒng)規(guī)定每一幀2 B發(fā)送數(shù)據(jù),其中第一字節(jié)為地址位,用于指明該數(shù)據(jù)表示賽車的某一項參數(shù);第二字節(jié)為數(shù)據(jù)位,用于表示該項參數(shù)數(shù)值是多少。使用0xF4~0xFF分別表示車速、轉(zhuǎn)速、油門深度、轉(zhuǎn)向角度、橫向加速度、縱向加速度、懸架位移量、檔位、氧傳感器電壓、進氣壓力、冷卻液溫度、制動信號;而0x00~0xF3表示某項參數(shù)的具體數(shù)值大小。例如,0xF4表示車速,則數(shù)據(jù)0xF4,0x08表示“當(dāng)前車速為8 km/h”。上位機接收到數(shù)據(jù)后,按照圖5所示的流程進行數(shù)據(jù)處理和存儲。
3.2 數(shù)據(jù)接收流程
下位機將賽車的各項數(shù)據(jù)依次循環(huán)發(fā)送至無線模塊的發(fā)送緩沖區(qū),每一幀2 B,第一個字節(jié)表示該數(shù)據(jù)的類型,第二個字節(jié)表示該數(shù)據(jù)的具體數(shù)值。數(shù)據(jù)類型和具體數(shù)值交替發(fā)送。
上位機端通過查詢MSComm控件中CommEvent屬性的值,來判斷是否收到單片機的數(shù)據(jù)。當(dāng)收到數(shù)據(jù)時,CommEvent屬性值自動置為comEvReceive。由于下位機的發(fā)送與上位機的接收在時間上是不同步的,在上位機接收到數(shù)據(jù)后需要進行判斷加以識別。當(dāng)上位機接收到一個字節(jié)數(shù)據(jù)時,判斷該字節(jié)是否屬于0x00~0xF3區(qū)間,若處于則表示只收到某一幀數(shù)據(jù)的第二個字節(jié),所以該幀數(shù)據(jù)需要作廢,重新等待下一字節(jié)數(shù)據(jù)。若不處于該區(qū)間(即數(shù)據(jù)處于0xF4~0xFF),則表示該字節(jié)為某幀數(shù)據(jù)的第一字節(jié),此時將該幀數(shù)據(jù)存入相應(yīng)變量并指向相應(yīng)的賽車參數(shù),繼續(xù)等待第二字節(jié)數(shù)據(jù)。待第二字節(jié)數(shù)據(jù)發(fā)來后,將該數(shù)據(jù)的數(shù)值存入第一字節(jié)數(shù)據(jù)指向的賽車參數(shù),完成一幀數(shù)據(jù)的傳輸。第二字節(jié)賦于該項數(shù)據(jù)具體的數(shù)值,并存入相應(yīng)的變量。endprint
3.3 數(shù)據(jù)處理流程
如圖5所示流程,對收到的數(shù)據(jù)進行進制變換,得到數(shù)據(jù)的真實值,通過TextBOX控件顯示在屏幕上。與此同時,將它們的值賦予矩形條shape控件的width屬性,可以通過矩形槽的長度實時反應(yīng)該項數(shù)值的大小。將timer控件的Interval屬性值設(shè)為記錄數(shù)據(jù)的間隔,并在timer控件中寫入調(diào)用記事本文件的程序,可將數(shù)據(jù)按所需的時間間隔記錄在記事本文件中,實現(xiàn)數(shù)據(jù)記錄周期可調(diào)。
4 仿真與測試
4.1 硬件仿真
數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計完成后,在準備制作PCB印制電路板之前,需要進行電路仿真驗證[8],以證明電路設(shè)計的可行性。選取儀表的檔位顯示電路進行硬件電路仿真。在proteus環(huán)境下搭建仿真電路如圖6所示。
模擬檔位信號從CAN總線被CAN控制器讀取,通過CAN控制芯片處理后傳輸?shù)絾纹瑱C,單片機讀取當(dāng)前檔位信息后顯示在數(shù)碼管上[9]。從仿真結(jié)果來看,設(shè)計的數(shù)據(jù)采集系統(tǒng)硬件電路能夠?qū)崿F(xiàn)方程式賽車的數(shù)據(jù)采集功能,可以進行PCB印制電路板的制作,實現(xiàn)預(yù)期的功能。
4.2 上位機測試
上位機設(shè)計完成后,在Windows 7系統(tǒng)上的運行效果如圖7所示。打開上位機界面后,先設(shè)置接收數(shù)據(jù)的串口為串口4,波特率為9 600 b/s,設(shè)置數(shù)據(jù)存儲周期為2 000 ms。賽車手啟動方程式賽車后系統(tǒng)上電,數(shù)據(jù)采集系統(tǒng)開始工作,圖7為上位機接收數(shù)據(jù)時的截圖。上位機將數(shù)據(jù)通過圖形表達出來,同時將數(shù)據(jù)存儲到計算機硬盤中[10]。數(shù)據(jù)采集系統(tǒng)在多次實測過程中傳輸數(shù)據(jù)穩(wěn)定可靠,方程式賽車的各項數(shù)據(jù)實時顯示在上位機界面中,實現(xiàn)了預(yù)期的功能和效果。
在賽車動力系統(tǒng)調(diào)校時使用上位機進行數(shù)據(jù)記錄,讀取每次測試時縱向加速度的最大值,通過與理論值進行比較來對動力系統(tǒng)進行修正,科學(xué)地對賽車進行優(yōu)化。如圖8所示是我校大學(xué)生方程式賽車項目成果。
5 結(jié) 語
數(shù)據(jù)采集系統(tǒng)作為一種試驗測試工具和行車數(shù)據(jù)監(jiān)視工具,為FSAE賽車的調(diào)校提供了重要的數(shù)據(jù)支持。
賽車數(shù)據(jù)采集系統(tǒng)的應(yīng)用使賽車設(shè)計和車手訓(xùn)練從一個開環(huán)系統(tǒng)變成了以數(shù)據(jù)采集系統(tǒng)為反饋媒介的閉環(huán)系統(tǒng),更加有利于方程式賽車設(shè)計的優(yōu)化和賽車手訓(xùn)練的科學(xué)化。
參考文獻
[1] 李強,黃富平,吳堅.車輛工程專業(yè)學(xué)生創(chuàng)新實踐能力培養(yǎng):基于大學(xué)生方程式汽車大賽[J].浙江科技學(xué)院學(xué)報,2015,27(3):236?240.
LI Qiang, HUANG Fuping, WU Jian. Improvement in innovation and practice ability for automotive engineering specialty: based on formula student China [J]. Journal of Zhejiang University of Science and Technology, 2015, 27(3): 236?240.
[2] 李明陽,彭憶強.基于LabVIEW的汽車數(shù)據(jù)采集系統(tǒng)設(shè)計[C]//四川省汽車工程學(xué)會2013年學(xué)術(shù)年會論文集.成都:四川省汽車工程學(xué)會,2013:407?412.
LI Mingyang, PENG Yiqiang. Design of auto data acquisition system based on LabVIEW [C]// Proceedings of 2013 Memoir Sichuan of Society of Automotive Engineers of Sichuan. Chengdu, China: Society of Automotive Engineers of Sichuan, 2013: 407?412.
[3] 曹曉琳,王登峰,車曉鐳,等.汽車CAN總線數(shù)字組合儀表設(shè)計[J].汽車工程,2010,32(1):86?89.
CAO Xiaolin, WANG Dengfeng, CHE Xiaolei, et al. Design of CAN bus?based automotive digital cluster instrument [J]. Automotive engineering, 2010, 32(1): 86?89.
[4] 莊彥霞,孫運強,姚愛琴.基于CAN總線的實時數(shù)據(jù)傳輸系統(tǒng)[J].數(shù)據(jù)采集與處理,2006,21(2):222?226.
ZHUANG Yanxia, SUN Yunqiang, YAO Aiqin. Real?time data transmission system based on CAN?bus [J]. Journal of data acquisition & processing, 2006, 21(2): 222?226.
[5] 陳光建,劉國權(quán),徐濤,等.基于C8051F060單片機的CAN2.0B數(shù)據(jù)采集系統(tǒng)[J].數(shù)據(jù)采集與處理,2009,24(z1):290?293.
CHEN Guangjian, LIU Guoquan, XU Tao, et al. Development of data acquisition system CAN2.0B based on C8051F060 single?chip [J]. Journal of data acquisition & processing, 2009, 24(S1): 290?293.
[6] 高斌,湯楚宙.UG和VB為基的汽車發(fā)動機虛擬實驗室建立[J].現(xiàn)代制造工程,2008,8(2):84?87.endprint
GAO Bin, TANG Chuzhou. On the dummy experiment construction of UG and VB motor engine [J]. Modern manufactu?ring engineering, 2008, 8(2): 84?87.
[7] 朱淑強,徐曉羽,郝麗娜.基于VB語言的NVH?CAE后處理程序的開發(fā)與應(yīng)用[J].汽車工程師,2016,12(3):22?24.
ZHU Shuqiang, XU Xiaoyu, HAO Lina. Development and application of NVH?CAE post?processing program based on VB language [J]. Auto engineer, 2016, 12(3): 22?24.
[8] 孫凌燕,黃允千.Proteus與Keil軟件的整合在單片機實驗開發(fā)中的應(yīng)用[J].實驗室研究與探索,2008,27(4):59?69.
SUN Lingyan, HUANG Yunqian. Application of the union of Proteus and Keil to developing of SCM experiment [J]. Research and exploration in laboratory, 2008, 27(4): 59?69.
[9] 顏伏伍,曹愷,胡杰,等.基于Internet和3G的汽車遠程診斷數(shù)據(jù)采集技術(shù)的研究[J].汽車工程,2013,35(5):468?471.
YAN Fuwu, CAO Kai, HU Jie, et al. A study on the data acquisition technology for remote vehicle diagnosis based on Internet and 3G [J]. Automotive engineering, 2013, 35(5): 468?471.
[10] 王建,林海英.大學(xué)生方程式賽車設(shè)計[M].北京:北京理工大學(xué)出版社,2016:281?285.
WANG Jian, LIN Haiying. The design of the formula racing car for college students [M]. Beijing: Beijing Institute of Technology Press, 2016: 281?285.endprint