新聞中心

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

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

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

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

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

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

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

  四輪獨(dú)立驅(qū)動

  電動車控制策略

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

  

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

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

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

  四輪獨(dú)立驅(qū)動

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

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

  

  圖2 CAN控制網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

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

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

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

  電機(jī)控制器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)的實(shí)際值為模擬量,這里采用了16位長度的有限精度定點(diǎn)數(shù)表示。16位數(shù)據(jù)中高9位表示整數(shù),低7位表示小數(shù),即9Q7格式的定點(diǎn)數(shù)。對于中央控制器發(fā)出的ID為0x00F的CAN數(shù)據(jù),發(fā)給每一個(gè)電機(jī)控制器的命令也是16位的數(shù)據(jù),低8位表示剎車命令,高8位表示控制模式選擇命令。

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

  

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

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

  Kvaser Leaf Professional

  HS簡介

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

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

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

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

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

  

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

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

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

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

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

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

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

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

  結(jié)語

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

  參考文獻(xiàn):

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

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

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

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



評論


相關(guān)推薦

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

關(guān)閉