姚航1,任曉明1,那偉1,王晴2,曹輝2
(1.上海電機學院 電氣學院,上海 200240; 2.上海航天電源技術有限責任公司,上海 201615)
摘要:電池管理系統(BMS)是電動汽車上的核心部件之一,其安全性、穩定性尤為重要。介紹了BMS的整體結構和軟件流程圖,從軟件設計上介紹了V開發流程,并提出了一種基于CANalyzer的BMS軟件虛擬平臺技術;將采集到的實際運行數據導入到虛擬平臺中,從而能夠模擬真實情況下的軟件運行環境,能夠更可靠地對已編寫好的軟件代碼進行測試和功能驗證,縮短軟件開發周期。最后通過試驗,驗證了該技術的有效性。
關鍵詞:BMS;V開發流程;軟件開發;虛擬平臺技術
中圖分類號:TP311文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.06.024
引用格式:姚航,任曉明,那偉,等. 基于CANalyzer的BMS軟件設計虛擬平臺技術的研究[J].微型機與應用,2017,36(6):80-83.
0引言
*基金項目:上海市閔行產學研合作項目(2016MH320);上海電機學院研究生科創項目隨著“十三五”規劃的制定和發布,新能源汽車行業再度被提及,新能源汽車的發展將進一步向前推進。電動汽車作為其中的主力軍,其技術的發展和創新也是重中之重[1]。
電池管理系統(BMS)作為電動汽車上的主要核心部分之一,管理著電動汽車的動力來源,其安全性、穩定性、可靠性顯得尤為重要。近年來,隨著電動汽車行業市場的崛起,BMS技術也得到了一定程度的發展和進步,但是也存在一些不足。文獻[2]對新能源汽車技術及其產業化進行了總結,并展望了未來5年新能源汽車科技研發的重點。文獻[3]從軟件的系統架構、軟件設計和研發過程管理3個方面對BMS的軟件工程做了具體闡述。文獻[4]介紹了基于AUTOSAR標準的BMS軟件開發流程,采用dSPACE公司的SystemDesk和TargetLink軟件為工具完成軟件開發。
本文研究了BMS的結構、功能,并介紹了軟件V開發流程和BMS軟件流程架構,設計了一種基于CANalyzer的軟件開發虛擬平臺技術。在BMS軟件開發以及后期功能升級維護的時候,使用該虛擬平臺技術,能夠結合實際工況采集的數據,模擬出BMS系統在真實環境中的運行,從而檢測軟件程序的正確性和可靠性。
1BMS介紹
本文介紹的BMS中電芯采用的是標稱容量為60 Ah的磷酸鐵鋰電芯。磷酸鐵鋰電芯使用壽命長,循環壽命達2 000次以上,能量密度比較高,可達122 Wh/kg,同時制造原材料來源廣泛,成本較低,使用安全性較高。該BMS采用分布式的結構方式[5],其整體結構示意圖如圖1所示。系統控制部分主要由一個電池管理系統主控模塊BMU和若干個電池模塊從控單元LECU所組成。
BMU作為主控單元,主要管理整個電池組系統,包括電池組總電壓、總電流的監測、電池組的荷電狀態(SOC)計算、均衡策略的控制、絕緣檢測以及故障診斷等。從控單元LECU采集各個電池組模塊的信息,如單體電壓、溫度等;同時也通過接收BMU的指令,進行熱管理處理、均衡控制,通過CAN總線與BMU之間進行數據交互。霍爾傳感器主要是用來監測動力電池組母線分別在充電、放電時候的電流;絕緣監測儀主要監測高壓母線的正極、負圖1BMS整體結構示意圖極對車身地之間的絕緣阻值,確保電池組系統的絕緣狀態良好,不至于對車輛、人員造成安全隱患。這種分布式的結構方式使得動力電池組管理系統適用于動力電池組布局較為分散的系統中,并且可以通過增減電池組模塊的數量來改變整體布局,大大提高了系統的兼容性,從而使其適應于不同車型的動力電池組系統,實際操作靈活度非常高[6]。
2BMS的軟件開發設計
軟件算法是BMS的核心技術之一,因此開發設計一套具有極高安全性、穩定性的軟件系統,能夠最大程度地滿足新能源行業發展對BMS系統的需求。隨著行業的發展,BMS軟件算法層面的研究將是未來BMS廠商爭相競爭的核心領域。早期的BMS軟件架構設計采用面向過程的應用執行體系,導致代碼復用度低、函數相互間耦合度高、代碼移植性差等諸多問題,無法滿足功能需求不斷擴展、算法更加復雜的BMS軟件設計需求[7]。
2.1V型軟件開發模式
圖2V型開發流程圖隨著BMS系統的復雜性和功能性的不斷增加,為了確保產品的最終質量,在軟件開發的過程中,需要通過一系列的自動化測試手段來減少從定義、分析、設計到實現不同產品開發周期的人為失誤。V型開發模式符合國際汽車行業標準(ASAM/ASAP),目前已在汽車電子開發領域得到了廣泛的應用。V型開發模式強調在產品開發早期引入設計缺陷和錯誤驗證,降低了設計風險,避免了傳統開發流程中易存在的設計盲目性[89]。圖2為針對BMS而設計的V型開發流程圖。
首先根據整車對電池組系統以及BMS系統的技術要求完成算法設計、功能分析;然后在MATLAB/Simulink中搭建功能模型,并進行仿真分析;再進行軟件在環測試,對相關功能、算法的實現進行測試,之后便通過計算機自動生成C代碼,將生成的代碼下載至相應的硬件系統中進行硬件在環仿真測試;隨后將BMS軟件程序加載到真實的電池組系統中,進行系統相關參數的標定與測試;最后和需求進行對比測試驗證,直到滿足最初的設計需求為止。
2.2軟件控制流程設計
圖4LECU軟件流程圖電池組系統中BMS軟件流程圖如圖3、圖4所示。其中圖3為主控部分BMU的流程圖,首先進行初始化,初始化系統包括系統自檢,自檢通過以后再執行下一步;之后是系統參數檢測,包括總壓、電流、絕緣值的檢測以及SOC計量;電池組系統相關參數檢測完成以后,便進行數據處理和故障判斷,有故障就進入故障處理機制,沒有故障就進入下一步,把相關參數進行存儲,如SOC、單體最大、最小電壓,最大、最小溫度等參數。數據處理完成以后,便通過三路CAN總線進行報文數據通信。CAN0主要擔當電池組系統內部通信,包括與從控單元LECU、分流器、絕緣儀之間的通信;CAN1主要是和整車控制器進行通信;CAN2是和充電機以及外置監控終端進行通信。
圖4為從控部分LECU的軟件流程圖。類似于BMU的流程,首先進行初始化,也包括系統自檢;之后是單體電壓檢測、溫度檢測;將檢測的數據通過CAN總線上報給BMU,BMU通過數據進行判斷是否進行均衡控制和熱管理,再下發指令至LECU進行執行。同時,LECU也通過采集到的數據進行數據計算處理和故障判斷,一旦觸發故障便進入故障處理機制。最后是數據存儲和CAN通信,LECU是通過CAN總線與BMU進行通信的。
3BMS的軟件開發設計
在BMS軟件設計開發過程中,需要不斷地進行測試以及功能驗證,很多時候都僅僅依賴于所搭建的仿真模型或者硬件平臺來進行的,與軟件在真實環境中的運行的實際情況有很大的區別。CANalyzer是由德國Vector公司生產的一種網絡和分布式系統的通用分析工具,不僅能方便地觀察、分析和支持擴展多路CAN通道的數據傳輸,還能用于LIN、MOST、FlexRay總線通道。CANalyzer具有極其強大的圖形可視化功能,能夠通過圖形化界面來搭建控制流程圖,能夠自適應繪制統計圖表等;同時還能存儲和回放記錄的總線數據傳輸情況。CANalyzer能夠覆蓋所有的總線應用,從簡單的演示培訓到復雜系統的分析和仿真模擬。
軟件虛擬平臺技術是通過CANalyzer軟件導入實際行車過程中所采集的數據,通過回放采集的數據來建立一個真實的運行環境,再配合主控BMU控制板來運行軟件程序;通過CANalyzer軟件可以讀出CAN總線中上傳的報文,配合數據庫進行報文解析得到相關參數,從而便可以進行BMS軟件開發的測試和功能驗證。圖5為軟件虛擬平臺技術示意圖。
軟件設計虛擬平臺技術是利用真實行車過程中采集的實況數據來搭建一個真實的軟件運行環境。實況數據利用CANalyzer軟件將數據經過CAN總線上報給BMU,BMU接收到的數據是完全真實的運行數據,從而能夠模擬出真實的運行環境。在進行軟件測試驗證之前,需要將CAN總線上的網絡節點進行修改和調整。例如需要驗證SOC算法,需要將CAN總線中的SOC發送節點去掉,同時將計算SOC所需要的參數從發送節點修改為接收節點,并送到BMU主控板節點中。基于此,在所建立的模型當中也需要進行相應的修改,修改完成以后,通過代碼自動生成軟件生成軟件代碼。
在進行軟件程序的測試過程中,首先將需要進行測試驗證的軟件代碼通過燒錄器寫入BMU控制板中,再通過CAN總線分析儀連接BMU控制板搭建一個CAN網絡,利用CAN總線分析儀的USB接口接入計算機中;CANalyzer軟件需要加載相對應的數據庫,用于解析報文中的信息。再導入實況數據,運行CANalyzer軟件,通過軟件本身強大的可視化界面來對軟件運行過程進行檢測和分析。
4BMS軟件虛擬平臺的應用
在BMS中,SOC的精度對于電動汽車的安全性和經濟性具有非常重要的意義,各大高校、科研院所以及BMS廠家也在探尋不同的方法來估算SOC值,使之更加接近真實值。本文中介紹的BMS系統中SOC的算法是結合安時積分法和開路電壓法來估算的,同時配合一些邊界修正條件來對SOC進行校正。
通過長時間對電動汽車的行車數據進行采集和分析可知,一般情況下,由于電池單體的制造工藝的差異,導致在放電末期會出現某一顆或者某幾顆單體電壓偏低,從而使得SOC被拉低,即SOC大幅度跳變的情況。然后通過下電靜置電池組處理以后,再重新上電,單體電壓又恢復正常,從而出現SOC上電反彈的情況,使得SOC估算精度大大減小。因此本文針對BMS軟件虛擬平臺技術的應用,來測試驗證SOC估算軟件代碼。
通過對原來SOC算法進行修改,對邊界校正的控制策略進行完善以后,生成軟件代碼。利用軟件虛擬平臺進行測試,直到達到軟件開發的要求。再將改進后的SOC軟件代碼放在整車運行中進行試驗分析。
本次試驗采用的是同一輛營運的純電動公交車,在電池組系統裝車之前,將系統內每顆電池單體進行電壓、容量調平處理,確保電池單體的一致性處于最佳狀態。圖6為運行開始時,SOC估算安時積分法和通過校正以后上報CAN總線的情況,可以看出,起始時兩種估算值保持高度一致,偏差也很小。連續進行每天接近8小時、近40天的營運試驗,圖7為試驗后期采集的一段時間的SOC值變化情況,經過300多小時的運行試驗以后,安時積分法和校正以后的SOC值出現了一些偏差,兩者間的偏差大約在5%上下波動。根據SOC安時積分值和校正上報CAN總線的值可以初步估計經過300多小時的運行以后,SOC估算偏差能有效地控制在5%以內了,符合國標QC/T 8972011中對SOC值精度的要求[1011]。通過BMS軟件虛擬平臺技術對編寫的軟件程序進行測試和功能驗證,能夠大大縮減軟件代碼開發周期,提高軟件代碼的穩定性和可靠性。
5結論
本文簡單介紹了電池組系統的整體結構、BMS軟件開發流程和軟件運行流程。介紹了一種基于CANalyzer的軟件虛擬平臺技術,利用該技術能夠模擬出軟件程序運行的真實環境,從而使軟件的測試和功能驗證更加可靠、可信,更加接近真實工況。同時,也極大地加快了軟件開發設計的進程,縮短了開發周期,簡化了軟件測試方案和流程。以修改SOC算法為例,通過實際試驗表明,BMS軟件開發虛擬平臺技術對于實際工程有重大意義。
參考文獻
[1] 萬鋼. 構建電動汽車發展新生態[J].汽車縱橫, 2015(2):17-21.
[2] 歐陽明高. 中國新能源汽車的研發及展望[J].科技導報, 2016, 34(6):13-20.
[3] 涂成姣. 基于Targetlink的自動代碼生成及其在電池管理系統開發中的應用[J].汽車零部件, 2014(4):40-43.
[4] 韋琳. 純電動汽車鋰離子電池管理系統的研究 [D]. 哈爾濱: 哈爾濱理工大學, 2015.
[5] 吳海東,任曉明,高俊麗,等. 軌交應急牽引電池組管理系統研究[J].電源技術, 2015,139(11):23912394.[6] Zhou Meilan, Wei Lin, Wen Jiabin. The parameters matching and cimulation of pure supply based on CRUISE [C]. Applied Mechanics and Materials (ICPMIMT2014), 2014, 602605: 2836-2839.
[7] 李睿,余國偉,孫瓊. 電池管理系統的軟件工程介紹[J].上海汽車, 2014(5):7-11.
[8] 丁勇. 基于AUTOSAR規范的BMS控制算法軟件組件開發[D]. 長春:吉林大學, 2014.
[9] 位正. 新一代硬件在環仿真平臺的研究和開發 [D]. 北京:清華大學,2009.
[10] 中華人民共和國工業和信息化部.QC/T 8972011電動汽車用電池管理系統技術條件[S]. 2011.
[11] Zheng Kun, Chen Dong, Liu Yufeng. A study on battery management system for blade electric vehicle[C]. 2011 International Conference on Mechatronic Science, Electric Engineering and Computer (MEC),2011:2312-2315.