劉凌飛,李藝超,趙帥,郭昊
(1.天津職業技術師范大學 汽車與交通學院,天津 300222;2.天津動核芯科技有限公司,天津 300350)
現階段新能源汽車的安全發展問題受限制于車用動力蓄電池的材料與性能優化。動力蓄電池作為電動汽車的核心部分,其電池狀態直接影響著整個電動汽車的安全與性能。因此,為了保證電動汽車的安全、高性能的使用環境,最大化的利用動力電池整個生命周期的使用價值,采用電池管理系統(Battery Management System,BMS)對動力蓄電池狀態進行實時有效的監控則顯得尤為重要。BMS 主要將電芯的電壓、電流、溫度等物理量作為計算依據,通過算法統計,得出各參數指標。因此,性能優良的電池管理系統需要兼具硬件系統的準確測量及軟件系統的算法優化。
BMS 的功能展示可借助LabVIEW 實現。LabVIEW 是一款圖形化的程序開發環境。與其他常見的編程語言相比,其圖形化的編程語言可將工業測量與控制同計算機完美結合在一起,其簡潔、明了的圖形化顯示界面,可使人機交互界面更加直觀,更便于理解。為使得動力電池管理系統的監控平臺更加可靠、功能更加完善,對程序的結構進行細化與優化顯得尤為重要。
系統由軟件和硬件兩部分組成。硬件主要實現數據的采集與處理,軟件主要實現數據的分析與信息存儲,通過軟件發送指令至硬件,實現零部件的控制。硬件電路利用傳感器檢測電池的實時狀態,并將信息反饋至電池管理系統(BMS)。通過BMS 的控制處理,可實現電池過流判斷、電池過溫保護、電池過充過放保護等功能。在硬件系統中,主從板之間采用CAN 總線的通訊方式,而PC 機采用USB 的對外接口。因此,在通過PC 端的USB 接口實現對CAN 總線網絡的發送和接收數據的傳輸過程中,需要解決接口問題,并實現CAN 總線與USB 的協議轉換,其系統結構圖如圖1所示。

圖1 系統結構圖
硬件系統采用主從結構,由采集板和主控板構成。作為從板的采集板,其MCU 模塊采用MC9S08DZ60 芯片,可以實現對電池組狀態數據的采集。采集板將采集到的信息,通過CAN 總線傳輸給主控板。數據采集模塊采用MAX17830芯片,可將12 節18650 單體電池進行電壓、溫度測量,并將采集數據傳輸至MCU 模塊。MCU 模塊內的隔離IIC 接口電路、EE 存儲器可對數據進行處理,再結合CAN 通信處理單元實現采集板的數據采集與傳輸功能。
主控板采用MC9S12XET256 芯片實現對電芯組及外圍電路的管理,其電壓、電流測量模塊可實現總電壓、總電流的測量。主控板可將采集板采集到的信息進行處理,并將此信息傳輸至上位機進行通訊,并通過上位機讀取、顯示電池實時狀態。在對電流的采集過程中,由于單線電流過小,故而采取將電線繞纏電流傳感器4 圈的方式,并在主控板的程序中,增加了電流偏置和RC 濾波處理,增加其防抖能力,圖2 為其電流測量電路。在對電池總電壓進行采集的過程中,需先檢測采集板的數量再檢測采集板所采集的電芯數量,并對總電壓進行實時采集修正。
此外,系統根據電池實況,按照由LabView 所設計的電池控制策略,進行電池參數顯示與狀態預警,并將指令發送至主控板,通過主控板控制主正、主負、預充及充電接觸器的動作,實現電池充放電狀態。

圖2 電流采集電路
采用NI公司的LabVIEW 2018作為上位機的軟件開發平臺,能十分方便的實現監控平臺的各項功能。軟件開發平臺利用LabVIEW 的多線程技術,通過調用LabVIEW 的動態鏈接庫節,并對VI 的結構進行優化,使得程序界面更加的直觀,可讀性較強。軟件部分,針對BMS 對動力電芯狀態的數據采集、數據分析、參數標定及故障診斷與預警等的功能需求,將電芯電壓、電池總電壓、SOC、電池溫度、電流故障狀態等直觀地顯示在監控界面上,并可進行主正、預充及充電接觸器的控制。

圖3 數據采集流程
在數據解析工具上,采用創芯科技的CAN 分析儀,并選用USBCAN-2E-U 型號,將PC 機與主控板連接起來,實現CAN 總線數據的實時顯示。該型號的分析儀兼容DBC 協議解析功能,可以解析汽車J1939 協議,能有效讀取電池信息。同時,可通過CANTest 軟件接收、顯示CAN2.0A 和 CAN2.0B 協議的所有報文,其包括:標準幀、擴展幀及其對應的數據幀和遠程幀,并將收發到的所有數據按照事件發生的先后順序保存至預留的專用文件中,方便數據的分析與處理。系統在啟用CAN 卡后,首先要進行初始化處理,隨后接收數據并將數據上傳至上位機進行更新顯示。如果出現異常,或需要中斷數據傳輸,可停止CAN 卡。在數據傳輸過程中,將電池組的數據進行打包作為數據幀,并將數據幀根據指令發送至上位機中,此外,還可實現多幀發送。其數據采集流程如圖3 所示。
在數據接收過程中,接收到的數據被打包成簇變量,并進行循環接收,直至收到停止接收的指令。在此過程中,通過調用VCI_Receive 接收函數、VCI_OpenDevice 函數,可自動接收數據并將數據壓入緩沖區,有效避免丟幀現象。
CAN 通訊采用了29 位擴展幀,該報文含有優先級、報文的代碼、目標地址或組擴展及發送此報文的源地址。如圖4 所示。

圖4 CAN 總線網絡報文形式
上位機界面可分別進行電芯電壓、系統的運行電流、電池溫度、電池總電壓以及電池故障狀態的檢查。上位機界面采用動態波形圖、柱狀圖、指示燈等數據與圖形相結合的個性化、友好的界面設計,更方便用戶觀察電池的動態數據。

圖5 電池故障顯示界面

圖6 電池故障程序圖
以電池故障顯示模塊為例,該界面主要實現了遠程控制與狀態顯示兩個功能,如圖5 所示。遠程控制功能中,可通 過點擊對應的撥桿開關,實現對動力電池線路中相應的接觸器的控制,實現上下電、充電操作;狀態顯示模塊中,可進行電流、溫度、電量狀態的故障顯示,其程序圖如6 所示。
在電池故障程序圖中,前面板所對應的控制與顯示功能主要通過事件結構與條件結構來實現。數據流的傳輸過程中,將本VI 中所引用的布爾類型的各電池參數制作成了數組,以方便用于后續的控制。在DAQ 設備中,可獲取指定指針的數據作為輸入信號。在數據傳輸至while 循環結構中時,設置有100ms 的延時,以控制循環的執行速率。在數據流入條件結構時,如果MAIN 中的全局變量等于5 時,方可展開該程序界面,隨后進入判斷為“真”的條件框內。在該框內,DAQ 設備控件所獲取的指定簇數組,在FOR 循環中逐元素解捆綁,之后通過變體至數據轉換 (函數)將變體轉化為特定的數據輸出。當通知器(全局)返回小于零或者返回錯誤時,循環結束。
在事件結構中,當前面板的對應開關觸發時進入該界面。數據通過一串變換制成數組添加至DAQ 設備中,并通過DAQ 輸出給下位機用于控制。
該系統借助LabVIEW 平臺,利用USB-CAN 設備及CAN總線的數據傳輸方式,實現了對12 節單體電芯的數據采集與記錄,并通過上位機系統,實現對系統充、放電控制。該系統能夠監控電池的實時狀態,能夠達到一定的系統標定與故障診斷功能,其上位機操作界面通過圖形化結合的方式,可直觀、方便地展示電池的動態信息,人機交互體驗較好,能為電動汽車動力電池管理系統的開發與優化打下一定的技術基礎。