基于OZ890的電池管理模塊的研制
摘 要:介紹了一種基于OZ890的混合動(dòng)力汽車(chē)電池管理模塊的研制方案,模塊包含硬件系統(tǒng)和軟件系統(tǒng)兩部分,硬件系統(tǒng)包括電源電路、數(shù)據(jù)采集電路、I2C通信電路、RS 232通信電路、CAN通信電路、通信隔離電路;軟件系統(tǒng)包括:數(shù)據(jù)采集處理程序、CAN發(fā)送/接收程序、串口發(fā)送/接收程序、SoC估算程序、故障診斷程序、周期中斷服務(wù)程序、下溢中斷服務(wù)程序。模塊實(shí)現(xiàn)了對(duì)動(dòng)力電池的監(jiān)控和保護(hù)。
關(guān)鍵詞:電池管理模塊;CAN通信;周期中斷;下溢中斷
0 引 言
電池管理模塊(Battery Management Module)是電動(dòng)汽車(chē)必不可少的核心部件。它能夠?qū)π铍姵亟M進(jìn)行安全監(jiān)控和有效管理,提高蓄電池的使用效率和可靠性,延長(zhǎng)電池的使用壽命。電池管理模塊可以檢測(cè)混合動(dòng)力電動(dòng)汽車(chē)電池的充放電電流、總電壓、單體電壓,估算電池荷電狀態(tài)(State of Charge)在汽車(chē)啟動(dòng)和加速時(shí)提供能量,剎車(chē)時(shí)電池組能回收能量。電池管理技術(shù)是電動(dòng)汽車(chē)發(fā)展的關(guān)鍵技術(shù)之一。
l 電池管理模塊的功能
電池管理模塊具有數(shù)據(jù)采集、電池荷電狀態(tài)和可用功率估算、電池組均衡控制、熱管理、各種通信以及故障診斷功能。
1.1 數(shù)據(jù)采集
單體電壓的采集使用凹凸科技公司的電池專(zhuān)用采集轉(zhuǎn)換芯片OZ890,它具有13位模/數(shù)轉(zhuǎn)換(ADC)模塊,可以完成前端單體電壓的數(shù)據(jù)采集任務(wù),1片OZ890最多能夠采集13節(jié)鋰離子電池單體電壓或3個(gè)模塊的鎳氫電池模塊電壓??傠妷?、電流和溫度由TI公司的DSP芯片TMS320LF2407 A來(lái)完成,它具有16通道的10位模/數(shù)轉(zhuǎn)換(ADC)模塊。
1.2 電池SoC估算
SoC是反映電池性能的重要參數(shù),也是車(chē)輛控制系統(tǒng)進(jìn)行能量輸入/輸出的判斷依據(jù)。SoC的準(zhǔn)確估算可以保護(hù)電池,防止電池的過(guò)充過(guò)放,同時(shí)使整車(chē)做出合理的控制策略,達(dá)到節(jié)能的目的。由于SoC與電池的多個(gè)參數(shù)有關(guān),且具有較強(qiáng)的非線性,因此SoC的準(zhǔn)確估算是目前國(guó)內(nèi)外研究的一個(gè)難題。該模塊利用卡爾曼濾波法估計(jì)SoC,卡爾曼濾波把被估計(jì)量作為系統(tǒng)的狀態(tài),用系統(tǒng)狀態(tài)方程來(lái)描述狀態(tài)的轉(zhuǎn)移過(guò)程,各時(shí)刻之間的狀態(tài)相關(guān)函數(shù),可以根據(jù)狀態(tài)方程的轉(zhuǎn)移特性來(lái)描述,解決非平穩(wěn)隨機(jī)過(guò)程估計(jì)的困難。通過(guò)實(shí)際測(cè)量的電池電壓與預(yù)估SoC建立的觀測(cè)方程所得到的電壓之差,對(duì)預(yù)估SoC進(jìn)行修正得到優(yōu)化估計(jì)值,作為當(dāng)前SoC值。
1.3 電池組均衡控制
單體電池的容量、內(nèi)阻等電池參數(shù)存在差異,并隨時(shí)間、溫度和放電電流呈現(xiàn)非線性變化,導(dǎo)致電池組的使用壽命比單體平均壽命短很多,通過(guò)對(duì)電池進(jìn)行均衡控制可以解決此問(wèn)題。在充電過(guò)程中后期,均衡電路開(kāi)始工作,對(duì)于電池電壓過(guò)高的單體進(jìn)行放電,限制單體電池電壓不高于充電截止電壓,實(shí)現(xiàn)了電池組中單體電池荷電狀態(tài)的平衡,保持相近的荷電程度。
1.4 熱管理
電池在大功率放電和高溫條件下使用時(shí),溫度會(huì)不斷上升,當(dāng)電池溫度高于35℃時(shí),電池管理模塊控制風(fēng)扇開(kāi)啟,使電池的溫度降低或保持在允許的工作溫度范圍內(nèi)。
1.5 通信功能
通信功能包括:
(1)I2C通信。DSP可以通過(guò)I2C總線來(lái)讀取OZ890采集轉(zhuǎn)換好的數(shù)據(jù)和OZ890的狀態(tài)信息,還可以可通過(guò)I2C總線向OZ890寫(xiě)入配置OZ890的工作狀態(tài);
(2)串口通信。DSP通過(guò)串口將電池當(dāng)前的電壓、電流、溫度等狀態(tài)參數(shù)發(fā)送到PC機(jī)界面上,還可以通過(guò)串口向DSP發(fā)送修改電池的相關(guān)參數(shù);
(3)CAN通信。DSP將電池狀態(tài)參數(shù)、故障標(biāo)志等發(fā)給整車(chē)控制器HCU,并從HCU接收與電池相關(guān)的信息。
1.6 故障診斷
故障診斷主要是對(duì)采集到的電池電壓、電流、溫度、SoC、絕緣電阻等參數(shù)進(jìn)行分析,判斷這些參數(shù)是否超出故障閾值,當(dāng)超過(guò)故障閾值達(dá)到一定計(jì)數(shù)時(shí),報(bào)警標(biāo)志置位。DSP通過(guò)報(bào)警標(biāo)志可以判斷電池發(fā)生故障的等級(jí)和類(lèi)型,然后做出保護(hù)措施。這是保證動(dòng)力電池系統(tǒng)可靠工作、車(chē)輛行駛安全、滿足用戶(hù)駕車(chē)需求的重要技術(shù)手段。
2 電池管理模塊硬件組成
電池管理模塊硬件由系統(tǒng)供電電路、TMS320LF2407A主控制電路、OZ890單體電壓采集電路、I2C通信電路、SCI通信電路、CAN通信電路組成。系統(tǒng)硬件框圖如圖1所示。
[!--empirenews.page--]
2.1 電源模塊
整車(chē)提供的電源為+12 V,管理模塊需要的電壓包括:DSP用的+3.3 V,總線驅(qū)動(dòng)等芯片用的+5 V,電流傳感器、OZ890等芯片用的±15 V,通過(guò)DC-DC轉(zhuǎn)換可以得到各個(gè)芯片的供電電壓并能起到隔離抗干擾的作用。如圖2中所示的整車(chē)12 V電源通過(guò)12 V轉(zhuǎn)5 V的DC/DC模塊轉(zhuǎn)為+5 V。
2.2 OZ890單體電壓采集電路
OZ890芯片內(nèi)部集成了多路電池單體電壓巡檢電路,它可以通過(guò)I2C總線將轉(zhuǎn)換好的數(shù)據(jù)發(fā)給DSP。OZ890具有自動(dòng)均衡功能,電路如圖3所示。
圖3中BATn和BATn+1為OZ890入口端,RF為限流電阻??梢钥闯霎?dāng)此節(jié)電池單體電壓過(guò)高時(shí),OZ890的內(nèi)部控制邏輯就會(huì)將控制輸出端CBn+1置為高電平,MOSFET導(dǎo)通后利用Rb放電避免電池過(guò)充。
DSP通過(guò)兩個(gè)I/O口可以根據(jù)I2C協(xié)議模擬I2C通信。I2C總線由SCL和SDA兩根線組成。為了防止電磁干擾的影響,I2C總線上的數(shù)據(jù)傳輸,需對(duì)總線信號(hào)進(jìn)行隔離。利用6N137進(jìn)行隔離時(shí),SCL為單向傳輸,DSP作為主設(shè)備提供總線時(shí)鐘,圖4為SCL信號(hào)光耦隔離電路。
SDA是雙向傳輸信號(hào),用1個(gè)光耦不能達(dá)到雙向隔離的目的,設(shè)計(jì)了如圖5所示的雙向隔離電路。圖5中,sDADI作為I2C總線SDA信號(hào)的方向控制信號(hào),SDADI高電平時(shí)DSP發(fā)送數(shù)據(jù),低電平時(shí)DSP接收數(shù)據(jù)。
2.3 串口通信電路
電池管理模塊將采集處理后的數(shù)據(jù)通過(guò)串口發(fā)送到PC機(jī)界面上,從而實(shí)現(xiàn)了人機(jī)交互。串口界面可以顯示電池的總電壓、單體電壓、電流、SoC、故障狀態(tài)、充放電功率等參數(shù)。在串口界面上通過(guò)串口發(fā)送指令實(shí)現(xiàn)管理系統(tǒng)的在線標(biāo)定。其硬件電路主要由類(lèi)似于圖4的光耦隔離電路和基于MAX232電平轉(zhuǎn)換電路組成,如圖6所示。
MAX232是+5 V電源的收發(fā)器,與計(jì)算機(jī)串口連接,實(shí)現(xiàn)Rs 232接口信號(hào)和TTL信號(hào)的電平轉(zhuǎn)換,使DSP和PC機(jī)能夠進(jìn)行異步串行通訊。
2.4 CAN通信電路
控制器的局域網(wǎng)(ControlIer Area Network,CAN)是主要用于各種設(shè)備監(jiān)測(cè)及控制的一種網(wǎng)絡(luò)。CAN最初是由德國(guó)Bosch公司為汽車(chē)的監(jiān)測(cè)、控制系統(tǒng)而設(shè)計(jì)的。CAN具有獨(dú)特的設(shè)計(jì)思想,良好功能特性和極高的可靠性,現(xiàn)場(chǎng)抗干擾能力強(qiáng)。其硬件方面主要是通過(guò)PCA82C250通用CAN收發(fā)器來(lái)提供對(duì)總線數(shù)據(jù)的差動(dòng)發(fā)送能力和對(duì)通信總線數(shù)據(jù)的差動(dòng)接收能力。通過(guò)類(lèi)似圖4的光耦隔離電路來(lái)加強(qiáng)CAN總線上的抗干擾能力,其硬件電路如圖7所示。
[!--empirenews.page--]
在電路中可根據(jù)整車(chē)要求決定加或不加120Ω的終端電阻。當(dāng)JP201跳線接1腳和2腳時(shí),不加電阻;當(dāng)接2腳和3腳時(shí),電阻接入。
3 電池管理模塊的軟件設(shè)計(jì)
電池管理模塊的軟件包括6個(gè)應(yīng)用子程序和3個(gè)中斷服務(wù)程序。6個(gè)應(yīng)用子程序被封裝在2個(gè)任務(wù)中,其中A/D轉(zhuǎn)換處理子程序和I2C讀取OZ890中的數(shù)據(jù)子程序被封裝在任務(wù)1中;CAN接收子程序、CAN發(fā)送子程序、SoC估算子程序、故障診斷子程序、串口發(fā)送子程序被封裝在任務(wù)2中。3個(gè)中斷服務(wù)子程序包括Timerl周期中斷服務(wù)子程序、Timer1下溢中斷子程序、串口接收中斷子程序。軟件流程圖如圖8所示。
根據(jù)整車(chē)控制策略,CAN上電池狀態(tài)數(shù)據(jù)每幀的刷新周期為10 ms,設(shè)置周期中斷的時(shí)鐘節(jié)拍為10ms;相應(yīng)地設(shè)置以上所有應(yīng)用子程序的執(zhí)行周期均為10 ms。如圖9所示。
系統(tǒng)初始化完成以后,Timel開(kāi)始計(jì)時(shí),進(jìn)入系統(tǒng)主循環(huán),判斷任務(wù)1開(kāi)始信號(hào)是否為1。由于任務(wù)1和任務(wù)2的開(kāi)始信號(hào)初始化值均為0,系統(tǒng)等待中斷發(fā)生,如圖9中所示。當(dāng)5 ms時(shí),在A點(diǎn)發(fā)生周期中斷,然后進(jìn)入周期中斷子程序,將任務(wù)1開(kāi)始信號(hào)置1,開(kāi)始執(zhí)行任務(wù)1中的所有程序,執(zhí)行完畢后將任務(wù)1開(kāi)始信號(hào)清0。系統(tǒng)進(jìn)入等待狀態(tài),在10 ms時(shí)發(fā)生下溢中斷,進(jìn)入下溢中斷服務(wù)子程序,將任務(wù)2的開(kāi)始信號(hào)置1,任務(wù)2開(kāi)始執(zhí)行,任務(wù)2所有子程序執(zhí)行完畢后,任務(wù)2開(kāi)始信號(hào)清0,系統(tǒng)進(jìn)入等待狀態(tài),等待下一次中斷的發(fā)生。利用周期中斷和下溢中斷來(lái)劃分任務(wù)執(zhí)行時(shí)間區(qū)域能夠確定關(guān)鍵時(shí)間點(diǎn)上執(zhí)行所需要的程序,保證了每一個(gè)子程序在10 ms內(nèi)都被執(zhí)行1次,每一個(gè)程序時(shí)間也都能通過(guò)計(jì)數(shù)器和標(biāo)志位的狀態(tài)來(lái)計(jì)算任務(wù)的執(zhí)行時(shí)間,可以更好地分配任務(wù)的執(zhí)行時(shí)間段。
4 結(jié) 語(yǔ)
基于OZ890的電池管理模塊,在單體電壓的采集精度、采集速度、硬件成本等方面都有很大優(yōu)勢(shì)。OZ890自帶的均衡控制功能還解決了電池單體電壓不均衡造成的過(guò)充問(wèn)題,DSP強(qiáng)大的數(shù)據(jù)處理能力和高效的軟件系統(tǒng)可以滿足混合動(dòng)力汽車(chē)電池管理的要求,在實(shí)際應(yīng)用中取得了良好的效果。