CAN和光纖實(shí)現(xiàn)電動(dòng)汽車動(dòng)力電池組采集系統(tǒng)
本系統(tǒng)采用8051 系列的C 語(yǔ)言進(jìn)行軟件編程,按照模塊化設(shè)計(jì)思想進(jìn)行編寫,包括主程序、CAN 初始化程序、CAN發(fā)送數(shù)據(jù)程序、CAN 接收數(shù)據(jù)程序、A /D 轉(zhuǎn)換及定時(shí)中斷程序等。CAN初始化程序用來(lái)實(shí)現(xiàn)CAN 工作時(shí)的參數(shù)設(shè)置,主要包括工作方式的設(shè)置、時(shí)鐘輸出寄存器的設(shè)置、接受屏蔽寄存器和接收代碼寄存器的設(shè)置、總線定時(shí)器的設(shè)置、輸出控制寄存器的設(shè)置、中斷允許寄存器的設(shè)置和總線波特率的設(shè)置。系統(tǒng)主程序流程設(shè)計(jì)如圖4 所示,主要包括初始化和主循環(huán)部分。
圖4 系統(tǒng)主程序流程圖
3 基于USB-CAN的數(shù)據(jù)采集
LabVIEW主要用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析等領(lǐng)域,是一個(gè)功能強(qiáng)大、方便靈活的虛擬儀器開發(fā)環(huán)境,它提供了大量的連接機(jī)制,通過(guò)DLLs、共享庫(kù)、ActiveX等途徑實(shí)現(xiàn)與外部程序代碼或軟件系統(tǒng)的連接。
本系統(tǒng)的上位機(jī)設(shè)計(jì)采用USB-CAN模塊與電池管理系統(tǒng)BMU進(jìn)行數(shù)據(jù)通信,通過(guò)USB-CAN模塊對(duì)CAN總線上的數(shù)據(jù)進(jìn)行實(shí)時(shí)采集。Virtual CAN Interface(VCI)函數(shù)庫(kù)是專門為ZLGCAN設(shè)備在PC上使用而提供的應(yīng)用程序接口。庫(kù)里的函數(shù)從ControlCAN.dll中導(dǎo)出,在LabVIEW中可以通過(guò)調(diào)用動(dòng)態(tài)鏈接庫(kù)的方法直接使用這些庫(kù)函數(shù)實(shí)現(xiàn)對(duì)電池組數(shù)據(jù)的實(shí)時(shí)顯示、存儲(chǔ)與分析,更好的記錄電池組動(dòng)態(tài)的各個(gè)參數(shù)。上位機(jī)主要功能是對(duì)電壓、電流、溫度數(shù)據(jù)實(shí)時(shí)曲線顯示,數(shù)據(jù)記錄與歷史數(shù)據(jù)顯示,并且對(duì)電池組參數(shù)進(jìn)行統(tǒng)計(jì)分析,包括動(dòng)態(tài)運(yùn)行過(guò)程中單節(jié)電池最高電壓、最低電壓、最大輸出電流、最大反向制動(dòng)電流、瞬時(shí)功率、累計(jì)消耗能量等參數(shù)。VCI 函數(shù)的使用流程如圖5 所示。實(shí)踐證明此方法高效可靠,能夠很好地滿足數(shù)據(jù)采集的要求。
圖5 VCI 函數(shù)的使用流程圖
評(píng)論