基于CAN總線的電動汽車動力電池組采集系統(tǒng)設計
1 基于CAN 總線的系統(tǒng)硬件設計
CAN 總線是目前世界上最流行的汽車控制與測試間的一種串行數據通信協(xié)議,具有實時性強、抗干擾能力強、結構簡單、應用方便、價格低廉等特點[4],通信速率可達1 Mbps,使得CAN 總線在電動汽車應用上成為發(fā)展趨勢。
圖1 為一般電動車CAN 總線網絡框圖。CAN 總線接口電路的核心是使用8 位高性能的片內含CAN 控制器的P87C591 作為CAN 通信控制器,以完成CAN 的通信協(xié)議,而CAN 總線收發(fā)器的主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護總線,降低射頻干擾(RFI)等。
圖1 一般電動車CAN 總線網絡框圖
本系統(tǒng)中共有16 組,每組有10 節(jié)電池串聯(lián),每1 個電池組配置1 個測量單元。每個單元采用一種設計非常簡化的電池測量方法,由一個IC 集成了大部分電池參數的采集任務,結構簡單,精度高,可靠性高。本設計采用電池管理芯片LTC6802,它通過一個1 MHz 串行接口進行通信,并包括溫度傳感器輸入、12 位ADC 和一個精準的電壓基準。每個LTC6802 能測量12 只單獨電池,實現(xiàn)了0.12%(在室溫條件下)和0.22%(在-40 ℃至+85 ℃的溫度范圍內)的準確度,能夠承受60 V 的共模電壓,完全適合在電池組高共模電壓的要求。LTC6802 采用串行外部設備接口(SPI) 進行命令和數據通信, 本論文使用P87C591 的IO 模擬SPI 工作方式與LTC6802 進行數據通信,此方法可以更充分地使用硬件資源(見圖2 所示)。
圖2 基于CAN總線的電池組ECU采集系統(tǒng)的結構
每個測量單元的控制器均采用內部集成了CAN控制器SJA1000和A/D模數轉換模塊的單片機P87C591芯片,其主要功能是提供電池組的電壓和溫度信息,并將采集的信號通過CAN總線發(fā)送給電池管理ECU,其中CAN通訊接口電路如圖3所示。
圖3CAN通訊接口電路
電池組的ECU 與電池管理ECU 組成一個CAN 總線網絡,網絡拓撲結構為總線形,傳輸介質為雙絞線,傳輸協(xié)議為CAN2.0B。電池管理ECU 為雙CAN 控制器結構,一個CAN控制器與電池組ECU 組成電池管理系統(tǒng)內部的CAN 網絡,另一個CAN 控制器與汽車中其他控制系統(tǒng)組成整車光纖CAN 總線網絡,能實現(xiàn)多機通信,并達到上位機控制和電池組狀態(tài)信息的采集。
2 系統(tǒng)軟件設計
本系統(tǒng)采用8051 系列的C 語言進行軟件編程,按照模塊化設計思想進行編寫,包括主程序、CAN 初始化程序、CAN發(fā)送數據程序、CAN 接收數據程序、A /D 轉換及定時中斷程序等。CAN初始化程序用來實現(xiàn)CAN 工作時的參數設置,主要包括工作方式的設置、時鐘輸出寄存器的設置、接受屏蔽寄存器和接收代碼寄存器的設置、總線定時器的設置、輸出控制寄存器的設置、中斷允許寄存器的設置和總線波特率的設置。系統(tǒng)主程序流程設計如圖4 所示,主要包括初始化和主循環(huán)部分。
圖4 系統(tǒng)主程序流程圖[next]
3 基于USB-CAN的數據采集
LabVIEW主要用于儀器控制、數據采集、數據分析等領域,是一個功能強大、方便靈活的虛擬儀器開發(fā)環(huán)境,它提供了大量的連接機制,通過DLLs、共享庫、ActiveX等途徑實現(xiàn)與外部程序代碼或軟件系統(tǒng)的連接。
本系統(tǒng)的上位機設計采用USB-CAN模塊與電池管理系統(tǒng)BMU進行數據通信,通過USB-CAN模塊對CAN總線上的數據進行實時采集。Virtual CAN Interface(VCI)函數庫是專門為ZLGCAN設備在PC上使用而提供的應用程序接口。庫里的函數從ControlCAN.dll中導出,在LabVIEW中可以通過調用動態(tài)鏈接庫的方法直接使用這些庫函數實現(xiàn)對電池組數據的實時顯示、存儲與分析,更好的記錄電池組動態(tài)的各個參數。上位機主要功能是對電壓、電流、溫度數據實時曲線顯示,數據記錄與歷史數據顯示,并且對電池組參數進行統(tǒng)計分析,包括動態(tài)運行過程中單節(jié)電池最高電壓、最低電壓、最大輸出電流、最大反向制動電流、瞬時功率、累計消耗能量等參數。VCI 函數的使用流程如圖5 所示。實踐證明此方法高效可靠,能夠很好地滿足數據采集的要求。
圖5 VCI 函數的使用流程圖
圖6 與圖7 是電池組實時采集的單節(jié)電池電壓與總電流實時曲線,可以看出電池在工作過程中電壓會有一定差別,這也是由于電池特性不一致所引起的。從圖7 中可以看出,電池組在運行過程中最大放電電流可達到300 A,電流負值表示電動車在反向制動時的充電電流,最大可達-200 A。由于電池總是工作在充電放電過程中,所以對于電池動態(tài)數據的采集與分析是必不可少的一個環(huán)節(jié)。通過數據的采集、存儲與分析,可以準確地判斷電池的實際狀態(tài),為建立電池數據庫提供數據資源。
圖6 單節(jié)電池電壓實時曲線
圖7 總電流實時曲線
此外,本系統(tǒng)還有一個自動生成運行報告的功能,通過實際路況的數據采集對數據進行統(tǒng)計分析。運行報告內容包括:電池組動態(tài)一致性、最高電壓、最低電壓、平均電壓、輸出最大電流、最大制動電流、輸出能量、反向制動能量、最高溫度、最低溫度等。
4 結論
根據鋰離子電池車載系統(tǒng)的特殊環(huán)境及對電池參數的測試要求, 本系統(tǒng)采用CAN和光纖通信技術,使用電池管理專用IC,使系統(tǒng)的實時性、可靠性和抗干擾能力大大增強, 而且系統(tǒng)易于擴展,靈活性好,能夠準確采集電池的各個參數,準確地采集數據并預測電池的運行狀態(tài),從而提高了電池組的使用壽命。此外,本文還對系統(tǒng)進行上位機的軟件設計與開發(fā),能夠采集并存儲大量的測試數據,為建立完善的電池組數據庫提供了可靠的數據資源,對電池技術的發(fā)展與完善作出可靠的實驗數據。本系統(tǒng)還可以通過打開保存的數據文件,經分析計算電池組一致性、電池組容量、電池組內阻等重要參數,統(tǒng)計分析電池狀態(tài),打印電池運行報告。
評論