新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 四輪獨立驅(qū)動電動車高速CAN網(wǎng)絡(luò)數(shù)據(jù)分析系統(tǒng)設(shè)計

四輪獨立驅(qū)動電動車高速CAN網(wǎng)絡(luò)數(shù)據(jù)分析系統(tǒng)設(shè)計

——
作者: 時間:2007-11-23 來源:電子設(shè)計應(yīng)用 收藏

  摘 要:本文基于 Professional系列CAN總線分析工具,設(shè)計了針對高速CAN的數(shù)據(jù)分析系統(tǒng)。文中介紹了的控制策略及其CAN的設(shè)計,并詳細闡述了CAN數(shù)據(jù)分析系統(tǒng)的設(shè)計。

  關(guān)鍵詞 ;;CAN;CAN數(shù)據(jù)分析系統(tǒng)

  伴隨著電動汽車的發(fā)展,CAN總線技術(shù)應(yīng)用越來越廣泛,它可為純電動汽車上四輪獨立驅(qū)動控制,以及剎車防抱死系統(tǒng)(ABS)、電子穩(wěn)定裝置(ESP)等主動安全系統(tǒng)的實現(xiàn)提供便利。

  在設(shè)計CAN總線通信系統(tǒng)時,總要面臨著CAN數(shù)據(jù)的診斷與分析問題,不能解決該問題,便不能完成設(shè)計。本文基于 Professional HS這一USB_CAN工具,借助于Visual Basic環(huán)境,在PC機上開發(fā)出數(shù)據(jù)分析系統(tǒng),并在該分析系統(tǒng)與四輪獨立驅(qū)動電動車電機控制板之間實現(xiàn)了CAN通信。通過對CAN總線數(shù)據(jù)進行診斷分析,能夠更好地完成CAN總線系統(tǒng)的設(shè)計。

  四輪獨立驅(qū)動

  電動車控制策略

  電動車實物模型中使用的分布式四輪電子差速系統(tǒng)由一個中央控制器、四個電動輪控制器及CAN總線網(wǎng)絡(luò)三個部分組成,其在電動車實物模型上的布局如圖1所示。

  

  圖1 分布式四輪電子差速系統(tǒng)在車身上的布局

  在該分布式系統(tǒng)中,基于四輪獨立控制的電子差速算法被分為整車差速算法與轉(zhuǎn)速控制算法兩個部分,其中轉(zhuǎn)速控制算法是針對每個電動輪轉(zhuǎn)速。中央控制器與四個電動輪控制器通過CAN總線連接成一個實時控制網(wǎng)絡(luò)。

  在該系統(tǒng)控制過程中,中央控制器通過A/D采樣獲得來自轉(zhuǎn)向傳感器的車輛轉(zhuǎn)向角度信號和來自手柄轉(zhuǎn)把中的車速設(shè)定信號,經(jīng)過整車差速算法,分別獲得四個車輪當前各自應(yīng)有的轉(zhuǎn)速,并將這一結(jié)果作為當前時刻對應(yīng)車輪的轉(zhuǎn)速控制設(shè)定值,通過CAN總線發(fā)送給相應(yīng)的電動輪控制器。四個車輪控制器以從CAN總線收到的轉(zhuǎn)速設(shè)定值作為控制目標,使用電動轉(zhuǎn)速控制算法對各自的電動輪進行控制,使各個電動輪的實際轉(zhuǎn)速實時滿足整車差速算法的要求,進而實現(xiàn)電動車輛的平順轉(zhuǎn)向。

  四輪獨立驅(qū)動

  電動車CAN控制網(wǎng)絡(luò)

  通過CAN總線,本四輪驅(qū)動電動車中央控制器將車輪的速度等設(shè)定值傳送給每個車輪的控制器,同時,各電機控制器將實際轉(zhuǎn)速等信息通過CAN總線反饋給中央控制器。的拓撲結(jié)構(gòu)如圖2所示。

  

  圖2 CAN控制網(wǎng)絡(luò)拓撲結(jié)構(gòu)

  整個網(wǎng)絡(luò)中共含有五個CAN節(jié)點:四個電動輪電機控制器a、b、c、d,以及一個電動車中央控制器e。

  在設(shè)計應(yīng)用層協(xié)議時,必須根據(jù)實際應(yīng)用為總線消息編排一個合理的總線仲裁優(yōu)先順序,以改善CAN的實時性。在本應(yīng)用場合中,下行數(shù)據(jù)即中央控制器發(fā)給各電動輪電機控制器的控制命令,比上行數(shù)據(jù)即各電動輪電機控制器的反饋信息具有更高的優(yōu)先級。此外,中央控制器發(fā)往四個車輪控制器的指令必須同步,才能為后續(xù)控制提供可靠的前提。

  綜合考慮以上因素,本文設(shè)計了如表1所示的CAN數(shù)據(jù)報文ID體系。

  電機控制器a、b、c、d分別控制電動車左前輪、右前輪、左后輪和右后輪。中央控制器發(fā)出的CAN消息數(shù)據(jù)域結(jié)構(gòu)如圖3所示。

  

  圖3 中央控制器CAN消息數(shù)據(jù)域結(jié)構(gòu)

  中央控制器發(fā)出的ID為0x010和0x020的CAN數(shù)據(jù),表示轉(zhuǎn)速以及轉(zhuǎn)矩的設(shè)定值,對應(yīng)的實際值為模擬量,這里采用了16位長度的有限精度定點數(shù)表示。16位數(shù)據(jù)中高9位表示整數(shù),低7位表示小數(shù),即9Q7格式的定點數(shù)。對于中央控制器發(fā)出的ID為0x00F的CAN數(shù)據(jù),發(fā)給每一個電機控制器的命令也是16位的數(shù)據(jù),低8位表示剎車命令,高8位表示控制模式選擇命令。

  四個電機控制器向中央控制器反饋當前狀態(tài)信息的CAN消息數(shù)據(jù)域結(jié)構(gòu)如圖4所示。

  

  圖4 電機控制反饋狀態(tài)信息結(jié)構(gòu)

  CAN總線消息的觸發(fā)方式有兩種:事件觸發(fā)與時間觸發(fā)。前者適用于發(fā)送時間上離散變化的開關(guān)狀態(tài)量,如剎車命令與控制模式選擇命令;后者適用于發(fā)送時間上連續(xù)變化的模擬量,如轉(zhuǎn)速設(shè)定值與轉(zhuǎn)矩設(shè)定值。由于本控制系統(tǒng)中兼有上述兩類總線信息,故采用事件觸發(fā)與時間觸發(fā)相結(jié)合的方式來進行發(fā)送。

  Kvaser Leaf Professional

  HS簡介

  Kvaser Leaf Professional是用于CAN和LIN的單通道USB接口,該設(shè)備提供了把幾個接口簡單接入PC的可能性,可以方便地實現(xiàn)同一個USB Hub上連接多個Kvaser Leaf設(shè)備,并且無需額外的連接。此外,它還具有很好的EMC(Electro Magnetic Compatibility)性能以及即插即拔的特點。同時,由于一個USB Hub上可以連接多個設(shè)備,因此各個設(shè)備都可以由該Hub進行供電,具有很低的功耗。

  Kvaser提供的庫函數(shù)非常豐富,用戶可以根據(jù)自己的需要調(diào)用相應(yīng)的庫函數(shù),靈活地處理CAN總線數(shù)據(jù)。

  PC機CAN數(shù)據(jù)分析系統(tǒng)設(shè)計

  該數(shù)據(jù)分析系統(tǒng)根據(jù)電輪獨立驅(qū)動車中央控制器與四個電機控制器之間的CAN通信數(shù)據(jù),動態(tài)地顯示中央控制器發(fā)出的命令,以及各個電機的當前運轉(zhuǎn)信息。同時,還可以顯示各個電機轉(zhuǎn)速的變化曲線,并具有數(shù)據(jù)保存功能,便于離線分析。

  該系統(tǒng)基于Visual Basic語言設(shè)計開發(fā),應(yīng)用了Measurement Studio軟件中的CWGraph控件來顯示轉(zhuǎn)速曲線。通過Kvaser Leaf Professional HS,PC機與控制板之間的CAN通信得以實現(xiàn)。電機運轉(zhuǎn)數(shù)據(jù)的保存則通過VB編程連接Microsoft Access數(shù)據(jù)庫完成。這樣,系統(tǒng)就可以由一個主窗體和五個顯示電機轉(zhuǎn)速曲線的子窗體組成,如圖5所示。

  

  圖5 窗體結(jié)構(gòu)圖

  這里,主窗體是啟動窗體,子窗體A、B、C、D、E在主窗體啟動時并不顯示,通過主窗體上的相應(yīng)按鍵可以控制子窗體的啟動以及關(guān)閉,亦即顯示和關(guān)閉各車輪轉(zhuǎn)速曲線。

  系統(tǒng)運行時,最先啟動的是主窗體,通過主窗體上對相應(yīng)按鍵的點擊等操作,可以方便地與各控制板之間建立CAN通信,接收主控板與電機控制板之間的CAN消息,通過界面內(nèi)部數(shù)據(jù)處理函數(shù)處理后,在相應(yīng)顯示區(qū)域加以顯示。

  CAN通信正常后,五個顯示區(qū)域便會根據(jù)CAN總線上的消息動態(tài)更新并顯示相應(yīng)信息。

  當需要進行數(shù)據(jù)保存時,單擊Data_Record按鍵,便會彈出選擇數(shù)據(jù)庫的窗口,選擇已經(jīng)建立好的數(shù)據(jù)庫后,電機的狀態(tài)數(shù)據(jù)便可以保存在被選擇的數(shù)據(jù)庫中,還可以隨時中止數(shù)據(jù)保存。需要注意的是,被保存的電機運轉(zhuǎn)狀態(tài)數(shù)據(jù)是在單擊Data_Record按鍵并選擇好數(shù)據(jù)庫后界面收到的數(shù)據(jù),這之前的數(shù)據(jù)并沒有保存。也就是說,如果想把整個電機運轉(zhuǎn)過程的數(shù)據(jù)都保存下來的話,在電機開始運轉(zhuǎn)之前就要先單擊Data_Record按鍵,并選擇好數(shù)據(jù)庫。

  在退出界面時,首先應(yīng)該斷開CAN總線的連接,單擊Disconnect按鍵斷開。然后單擊Quit按鍵便可以正常退出界面。

  本系統(tǒng)的設(shè)計采用了在VB中使用ADO(ActiveX Data Object)對象模型的方法,連接Microsoft Access數(shù)據(jù)庫,進行數(shù)據(jù)保存。只要在一個數(shù)據(jù)庫中建立一系列的表,便可以將數(shù)據(jù)很方便地保存在相應(yīng)的表中。比如,本設(shè)計中為四個電機分別建立了一個獨立的表,用以存儲其運轉(zhuǎn)的狀態(tài)信息,包括轉(zhuǎn)速、轉(zhuǎn)矩、電池電壓以及控制模式等信息。利用Access數(shù)據(jù)庫的數(shù)據(jù)處理功能可以很方便地進行離線的數(shù)據(jù)分析和處理。

  為了方便不同用戶對系統(tǒng)的使用,在數(shù)據(jù)保存之前,系統(tǒng)提供了一個對話框讓用戶選擇已有的數(shù)據(jù)庫,便于用戶自定義數(shù)據(jù)保存的路徑。

  結(jié)語

  在本設(shè)計的軟件方面,在VB環(huán)境下,MeasurementStudio提供了功能強大的控件;硬件方面,具有Kvaser Leaf Professional HS以及Peak_CAN等工具,使得本系統(tǒng)的實現(xiàn)變得容易,且效果也比常規(guī)的設(shè)計方法更好。經(jīng)過聯(lián)機調(diào)試證明,本系統(tǒng)能有效地對CAN總線的數(shù)據(jù)進行分析處理。■

  參考文獻:

  1.譚浩強. Visual BASIC程序設(shè)計[M]. 清華大學(xué)出版社,2004

  2.宋廣群. VB程序設(shè)計[M]. 科技大學(xué)出版社,2006

  3.Kvaser AB. Kvaser Leaf User Guide [M] 2006

  4.史久根, 張培仁等. CAN現(xiàn)場總線系統(tǒng)設(shè)計技術(shù)[M]. 北京:國防工業(yè)出版社, 2004



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉