楊思敏 申彩英
(遼寧工業(yè)大學(xué))
動(dòng)力電池作為動(dòng)力源是電動(dòng)汽車(chē)的核心組成部分之一,其性能關(guān)系到整車(chē)的行駛里程以及安全性,因此對(duì)電動(dòng)汽車(chē)動(dòng)力電池組的分析和管理至關(guān)重要[1]。實(shí)時(shí)采集和監(jiān)控電池的參數(shù)變化能夠較好地發(fā)揮電池組的性能。其中電池參數(shù)的閾值對(duì)保證電池以及整車(chē)的安全性起到了很大的作用[2]。在電池管理系統(tǒng)的設(shè)計(jì)中,電池的控制策略會(huì)根據(jù)預(yù)先設(shè)定好的閾值對(duì)電池進(jìn)行管理,例如溫度過(guò)高,電池管理系統(tǒng)打開(kāi)風(fēng)機(jī)并將溫度過(guò)高的信息顯示給駕駛員。所以將電池管理系統(tǒng)中的電池參數(shù)閾值讀取并顯示到上位機(jī),可以令設(shè)計(jì)人員更加清晰地了解到電池的各種特性,并進(jìn)行設(shè)計(jì)。
電池管理系統(tǒng)(BMS)分為主控制器(BCU)和從控制器(MCU)。BCU是BMS的核心,負(fù)責(zé)采集單體電池電壓及溫度等信息,通過(guò)CAN網(wǎng)絡(luò)將信息發(fā)送給上位機(jī)[3]。上位機(jī)根據(jù)不同的CANID,對(duì)接收到的數(shù)據(jù)進(jìn)行解包,然后將系統(tǒng)狀態(tài)顯示出來(lái)。為了方便和標(biāo)準(zhǔn)調(diào)試電動(dòng)車(chē)電池路跑性能以及便于排查問(wèn)題,將所接收到的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)里,同時(shí),將電池報(bào)警、電池SOC、單體溫度及單體電壓等閾值信息展現(xiàn)在顯示設(shè)備上。
根據(jù)BMS的主要功效,BMS中的上位機(jī)系統(tǒng)包含功能的定義如下:
1)CAN接收模塊:接收MCU發(fā)送過(guò)來(lái)的報(bào)文,并顯示、存儲(chǔ)及解析報(bào)文。
2)BMS運(yùn)行狀態(tài)顯示:電池單體最高最低電壓;電池單體溫度、最高溫度、最低溫度及平均溫度;電池充放電電流;電池報(bào)警信息等。
3)BMS中的上位機(jī)管理系統(tǒng):系統(tǒng)底層是通訊層,按照CAN協(xié)議接收數(shù)據(jù),存儲(chǔ)到緩沖區(qū),協(xié)議層按照內(nèi)部協(xié)議進(jìn)行解包,發(fā)送到顯示隊(duì)列里面,準(zhǔn)備顯示和存儲(chǔ)。
協(xié)議報(bào)文,如表1~表4所示。
表1 電池管理系統(tǒng)溫度報(bào)文
表2 電池管理系統(tǒng)電流報(bào)文
表3 電池管理系統(tǒng)配置報(bào)文
表4 電池管理系統(tǒng)單箱單體電池的參數(shù)報(bào)文
上位機(jī)軟件以LabVIEW為開(kāi)發(fā)環(huán)境,實(shí)現(xiàn)對(duì)BCU數(shù)據(jù)請(qǐng)求指令和控制指令的發(fā)送、數(shù)據(jù)顯示及數(shù)據(jù)存儲(chǔ)等功能[4]。軟件界面前面板包含多個(gè)自定義控件樣式。
前面板設(shè)計(jì)主要利用儀表控件進(jìn)行顯示,如圖1所示,各種儀表控件可以直觀地將電池參數(shù)顯示出來(lái)。在配置部分,本設(shè)計(jì)可以根據(jù)情況選擇CAN報(bào)文的傳輸通道和傳輸速率,本上位機(jī)設(shè)計(jì)了8個(gè)通道和125,250,500,800 Baud 4種波特率。在報(bào)文顯示部分,上位機(jī)顯示了當(dāng)前運(yùn)行的時(shí)間、電池的各項(xiàng)參數(shù)及電池各項(xiàng)閾值的信息。在報(bào)警部分的設(shè)計(jì)中,當(dāng)電池的參數(shù)超過(guò)預(yù)先設(shè)定好的閾值時(shí),上位機(jī)會(huì)出現(xiàn)報(bào)警信息。
圖1 上位機(jī)前面板顯示界面
設(shè)計(jì)主要采用了“順序結(jié)構(gòu)”“while結(jié)構(gòu)”“條件結(jié)構(gòu)”,主要采用調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)的方法來(lái)實(shí)現(xiàn)軟件和硬件的結(jié)合。
4.3.1 數(shù)據(jù)解析流程
首先要將CAN數(shù)據(jù)從底層提取出來(lái),這時(shí)就要進(jìn)行配置設(shè)置(要對(duì)PCAN進(jìn)行初始化,對(duì)PCAN的通道和波特率進(jìn)行配置);然后利用已經(jīng)寫(xiě)好的底層庫(kù)讀取CAN數(shù)據(jù),將接收到的CAN數(shù)據(jù)以ID進(jìn)行解綁,根據(jù)事先擬好的通訊協(xié)議進(jìn)行解析。
4.3.2 底層庫(kù)的設(shè)計(jì)
1)數(shù)據(jù)采集子程序。數(shù)據(jù)從PCAN輸入類(lèi)中輸出給寫(xiě)入模板,而寫(xiě)入模板的PCANstatues則由動(dòng)態(tài)鏈接庫(kù)來(lái)設(shè)置,其中有參數(shù)、緩沖寄存器和字節(jié)的設(shè)置,如圖2所示,所有滿(mǎn)足這些要求的數(shù)據(jù)進(jìn)入到寫(xiě)入模板中,往下傳遞。2)PCAN初始化。初始化就是把變量賦為默認(rèn)值,把控件設(shè)為默認(rèn)狀態(tài),把沒(méi)準(zhǔn)備的準(zhǔn)備好[5-6]。如圖3所示,設(shè)計(jì)主要對(duì)PCAN進(jìn)行初始化設(shè)置,當(dāng)一次采集數(shù)據(jù)任務(wù)完成之后,軟件要對(duì)通道、波特率、緩沖寄存器、錯(cuò)誤幀及IO口等進(jìn)行初始化,以便完成下一次的數(shù)據(jù)采集工作。
圖2 寫(xiě)入數(shù)據(jù)子程序的后面板圖
圖3 PCAN初始化子程序的后面板圖
4.3.3 數(shù)據(jù)保存
當(dāng)程序運(yùn)行完畢之后,用戶(hù)可以單擊數(shù)據(jù)保存控件將數(shù)據(jù)保存到Excel表格中,以便日后分析數(shù)據(jù)使用。
為了驗(yàn)證仿真軟件的穩(wěn)定性和正確性,利用PCAN-Explorer軟件,對(duì)設(shè)計(jì)的仿真軟件的正確性和穩(wěn)定性進(jìn)行了監(jiān)控。如圖4所示,上位機(jī)接收PCAN軟件發(fā)送來(lái)的CAN報(bào)文并進(jìn)行解析顯示,報(bào)文部分和儀表部分的數(shù)值是相同的,而且兩部分的數(shù)據(jù)均正常顯示。
圖4 上位機(jī)前面板測(cè)試結(jié)果圖
隨著電動(dòng)汽車(chē)的發(fā)展,對(duì)車(chē)用電池管理系統(tǒng)性能的要求也逐漸提高。本BMS上位機(jī)實(shí)現(xiàn)了鋰離子電池閾值的讀取及鋰離子電池故障自診斷與報(bào)警功能。該上位機(jī)的特點(diǎn)是:監(jiān)測(cè)參數(shù)多(電壓、電流及溫度等閾值),監(jiān)測(cè)對(duì)象可以具體到每箱電池組,采用CAN通信傳輸速率高且穩(wěn)定性好,提高了電池管理系統(tǒng)的可靠性。