符合SMBus2.0協(xié)議單節(jié)智能鋰電池系統(tǒng)的設(shè)計(jì)
由于鋰電池具有電壓高、能量密度高、無“記憶效應(yīng)”、放電曲線平緩等優(yōu)點(diǎn),很多便攜式產(chǎn)品采用單節(jié)鋰電池進(jìn)行供電。然而鋰電池也是比較嬌貴的產(chǎn)品,過沖、過放電、短路等都會(huì)對(duì)使用壽命產(chǎn)生影響甚至發(fā)生爆炸危害到人身安全。而且目前很多便攜式產(chǎn)品在電池電量沒有完全用完時(shí)就不允許繼續(xù)工作,降低了電池使用效率和產(chǎn)品的使用時(shí)間。因此,對(duì)單節(jié)鋰電池進(jìn)行相關(guān)的處理措施是非常必要的。
1 智能電池系統(tǒng)規(guī)范概述
電池的智能化是最近才發(fā)展起來的,智能電池的實(shí)現(xiàn)方法多種多樣,但只有一種系統(tǒng)能夠提供包括電池、充電器和其他元件在內(nèi)的完整方案,即基于系統(tǒng)管理總線(SMBus)的標(biāo)準(zhǔn)智能電池系統(tǒng)(SBS)。系統(tǒng)主要由四個(gè)模塊組成:充電、安全保護(hù)、測(cè)量和計(jì)算通信。這種結(jié)構(gòu)以Intel和其他公司開發(fā)的雙線總線為中心,數(shù)據(jù)協(xié)議SBData規(guī)范使其電源管理系統(tǒng)所用的電池?cái)?shù)據(jù)保持一致性,如固定值、測(cè)量值、計(jì)算值和預(yù)測(cè)值以及充電和報(bào)警信息。這些數(shù)據(jù)用在主系統(tǒng)和智能電池系統(tǒng)之間互相傳遞。
數(shù)據(jù)協(xié)議規(guī)范定義的34個(gè)數(shù)值代表了操作條件、計(jì)算而得的預(yù)測(cè)和SBS特性。在功能上具有:測(cè)量(電壓、溫度、電流和平均電流);容量信息(容量值包括相對(duì)充電狀態(tài)、絕對(duì)充電狀態(tài)、剩余容量和完全充電容量);剩余時(shí)間(耗盡時(shí)間、平均耗盡時(shí)間、平均充滿時(shí)間、充放電定值、定值充滿時(shí)間、定值耗盡時(shí)間和定值OK);報(bào)警與廣播(剩余容量報(bào)警、剩余時(shí)間報(bào)警、充電電流和充電電壓);模式、狀態(tài)和錯(cuò)誤(電池模式、容量模式、充電器模式、最大錯(cuò)誤、電池狀態(tài)和制造商訪問);電池身份識(shí)別(周期計(jì)數(shù)、設(shè)計(jì)容量、設(shè)計(jì)電壓、規(guī)范信息、制造日期、編號(hào)、制造商名稱、器件名稱、器件化學(xué)以及制造商數(shù)據(jù))[2]功能。
由于標(biāo)準(zhǔn)是一些便攜式電腦制造商推出的,主要針對(duì)筆記本電腦等耗電偏大、采用多電芯(電池)供電的系統(tǒng)。但在單電池供電的系統(tǒng)中,由于成本及資源問題限制了電池系統(tǒng)的操作,使智能電池系統(tǒng)的發(fā)展復(fù)雜化。因此這里將智能電池系統(tǒng)規(guī)范引入到單節(jié)鋰電池中,需要在軟、硬件方面做出合適的修改。
2 系統(tǒng)的硬件組成
單節(jié)智能鋰電池系統(tǒng)采用Maxim公司的充電管理芯片MAX1555實(shí)現(xiàn)充電管理功能;理光的R5421構(gòu)成單節(jié)鋰電池保護(hù)電路,防止電池過沖、過放電、過流及短路;利用Maxim的DS2438完成電池的各種狀態(tài)的檢測(cè)及電池的標(biāo)識(shí),具有SMBus(與I2C兼容)接口的單片機(jī)C8051F305完成了充電狀態(tài)的測(cè)量控制、電池狀態(tài)的讀取和運(yùn)算、存儲(chǔ)及通信等功能。此外還有為主系統(tǒng)供電的電源處理芯片以及具有二次保護(hù)功能的電源開關(guān)TPS2013。這些都可以根據(jù)實(shí)際需求做出取舍。整體由單片機(jī)構(gòu)成嵌入式系統(tǒng),利用C8051F305標(biāo)準(zhǔn)的SMBus2.0接口與被供電系統(tǒng)進(jìn)行通信,完成相關(guān)信息的讀取和命令發(fā)送等功能。系統(tǒng)框圖如圖1所示。
2.1 充電管理
鋰離子電池的額定電壓為3.6V(有的產(chǎn)品為3.7V),充滿電時(shí)的終止充電電壓根據(jù)陽極材料的不同分為4.1V和4.2V。鋰離子電池的終止放電電壓為2.5V~2.75V(電池廠給出的工作電壓范圍或給出的終止放電電壓,各參數(shù)略有不同)。低于終止放電電壓繼續(xù)放電稱為過放,電池電壓超過4.1V或4.2V時(shí)稱為過充,鋰電池不適合作大電流放電,同時(shí)鋰電池的充放電對(duì)環(huán)境溫度都有一定的要求。以上任何一項(xiàng)超過指標(biāo)都會(huì)對(duì)電池產(chǎn)生不良的影響。其充電管理電路如圖2所示。
本系統(tǒng)采用充電管理芯片MAX1555,它可以通過USB和AC適配器電源為單節(jié)鋰離子電池充電,可以接受最高7V的輸入電壓。通過優(yōu)化充電速率,當(dāng)達(dá)到MAX1555溫度限制時(shí),充電器并不關(guān)斷,而是逐漸降低充電電流使其可以在電池狀況和輸入電壓處于最糟糕的情況下不受散熱問題的制約[3]。
系統(tǒng)采用線性充電方式,當(dāng)電池電壓低于3V時(shí),器件進(jìn)入充電電流為40mA的預(yù)充電模式,直至電壓高于3V進(jìn)入恒流模式。如果連接的是USB口但無直流電源時(shí),充電電流被設(shè)定為100mA(最大值);如果是DC電源充電,充電電流被自動(dòng)設(shè)定為280mA(典型值)。當(dāng)電池電壓超過4V時(shí),芯片以固定4.20V+/-0.04V左右的恒定電壓給電池充電(恒壓模式),如果充電電流小于50mA,則芯片停止充電,結(jié)束一個(gè)充電周期,通過狀態(tài)引腳CHG的高電平傳輸?shù)絾纹瑱C(jī)中。
采用MAX1555芯片成本低、外圍電路簡(jiǎn)單、體積小、發(fā)熱量低、充電策略可靠。當(dāng)采用交流適配器充電時(shí),500mAh的鋰電池只需兩個(gè)小時(shí)即能沖滿,完全能夠滿足充電器設(shè)計(jì)的要求。
2.2 安全保護(hù)
圖3為本系統(tǒng)的電池保護(hù)電路,主要采用理光(RICOH)的R5421N111C和用于電源開關(guān)、低導(dǎo)通電阻的N溝道場(chǎng)效應(yīng)管S-19926構(gòu)成鋰電池保護(hù)電路,實(shí)現(xiàn)過充、過放、過電流和短路保護(hù)等功能。
在正常狀態(tài)下電路中U2的“Cout”與“Dout”腳都輸出高電壓,兩個(gè)MOSFET(Q1、Q2)都處于導(dǎo)通狀態(tài),電池可以自由地進(jìn)行充電和放電。由于MOSFET的導(dǎo)通阻抗也很小(<30mΩ),因此其導(dǎo)通電阻對(duì)電路的性能影響也很小。
當(dāng)電池電壓超過4.28V(過充)、低于2.5V(過放)、場(chǎng)效應(yīng)管兩端的電壓大于0.1V(過流,具體數(shù)值是根據(jù)場(chǎng)效應(yīng)管導(dǎo)通電阻及相關(guān)公式計(jì)算而得)或場(chǎng)效應(yīng)管兩端的電壓大于0.9V(短路時(shí),該值由控制IC決定)時(shí),芯片通過對(duì)兩個(gè)MOSFET的控制,實(shí)現(xiàn)對(duì)電池的保護(hù)[4]。
2.3 測(cè)量部分
為了實(shí)現(xiàn)對(duì)電池當(dāng)前各種狀態(tài)的監(jiān)測(cè),包括當(dāng)前電池的充/放電狀態(tài)、電壓、電流、溫度、剩余電量、消逝時(shí)間等參數(shù)的監(jiān)測(cè),這里采用智能電池檢測(cè)芯片DS2438來完成。
DS2438芯片是DALLAS公司推出的新一代智能電池監(jiān)測(cè)芯片,具有功能強(qiáng)大、體積小、硬件接線簡(jiǎn)單等優(yōu)點(diǎn)(通過一線與單片機(jī)進(jìn)行數(shù)據(jù)指令通信);內(nèi)含數(shù)字溫度傳感器對(duì)電池溫度進(jìn)行測(cè)量;片內(nèi)模數(shù)轉(zhuǎn)換器對(duì)電池電壓進(jìn)行監(jiān)測(cè),從而可判定充電和放電的結(jié)束;片內(nèi)的積分電流累加器可實(shí)時(shí)記錄電池流入、流出電流的總量,便于統(tǒng)計(jì)電量;內(nèi)含記錄相對(duì)于內(nèi)部基準(zhǔn)時(shí)間的電池充電完畢、其脫離系統(tǒng)的精確時(shí)刻消逝時(shí)間表;內(nèi)含40字節(jié)可用于存放電池特殊參數(shù)的掉電保護(hù)的用戶訪問存儲(chǔ)器[5]。
2.4 計(jì)算通信部分
計(jì)算通信部分使用Silabs公司的低成本單片機(jī)C8051F305,它具有采用流水線指令結(jié)構(gòu)的高速8051微控制器內(nèi)核、256B RAM、2KBFlash存儲(chǔ)器、8個(gè)I/O口、標(biāo)準(zhǔn)SMBus串口、采用3V供電、功耗低[5]。
采用單片機(jī)系統(tǒng)對(duì)DS2438的數(shù)據(jù)進(jìn)行讀取、運(yùn)算、存儲(chǔ),通過標(biāo)準(zhǔn)的SMBus接口對(duì)數(shù)據(jù)和指令與主系統(tǒng)傳輸,同時(shí)多余的I/O口用來控制電源的開關(guān)等其他功能。
3 軟件設(shè)計(jì)
軟件編寫主要采用模塊化的方式,編譯環(huán)境Keil 7.50 完成C51的編程。這里主要介紹對(duì)智能電池系統(tǒng)協(xié)議SBData的定制和對(duì)DS2438的讀寫控制。
3.1 智能電池系統(tǒng)通信協(xié)議的定制
SBData1.1協(xié)議規(guī)定了34個(gè)數(shù)值[6]。該系統(tǒng)根據(jù)需要做出修改,只占用22個(gè)數(shù)值,在實(shí)際應(yīng)用中可以根據(jù)所需數(shù)據(jù)進(jìn)行讀取,同時(shí)也可以將沖放電控制策略應(yīng)用于系統(tǒng),對(duì)智能鋰電池系統(tǒng)起到軟保護(hù)的作用。這些數(shù)值都是通過DS2438測(cè)量或預(yù)先定義存放在C8051的Flash存儲(chǔ)器中,主系統(tǒng)通過SMBus或用I/O口模擬I2C時(shí)序,向智能電池系統(tǒng)發(fā)送命令碼,獲取所需的值。智能電池?cái)?shù)據(jù)功能表如表1所示。具體值的定義由于篇幅限制這里不做介紹。
3.2 DS2438的讀寫控制
3.2.1 供電方式的測(cè)量
首先單片機(jī)控制DS2438使其電流A/D轉(zhuǎn)換器使能,而后DS2438對(duì)流入、流出電池塊的電流自動(dòng)進(jìn)行測(cè)量,結(jié)果存放于電流寄存器中。電流寄存器的高字節(jié)的高6位是流入電池電流的符號(hào)位,為1表示電池正在充電;為0表示電池正在放電。單片機(jī)對(duì)電流寄存器的值的高6位進(jìn)行判斷就可獲得供電方式,同時(shí)也獲得電流值。供電方式測(cè)量程序流程圖如圖4所示。
3.2.2 電池電壓、溫度、剩余電流的測(cè)量
要獲得電池的電壓和溫度,只需要由單片機(jī)對(duì)DS2438發(fā)出采集電壓、溫度的控制命令,然后等待其采集完畢并自動(dòng)將電壓、溫度測(cè)量值存入相對(duì)應(yīng)的寄存器后,再由單片機(jī)讀取寄存器的內(nèi)容即可。在讀取寄存器值時(shí),注意只有當(dāng)數(shù)據(jù)線為高電平時(shí),才能正確地讀取。其程序流程與圖4類似。
電池的剩余電量可用電流積分累加(ICA)寄存器的值求得。只需單片機(jī)讀出ICA寄存器的值,然后將讀出的值代入公式:剩余電量=ICA/(2048×RSENS),便可得到電池的剩余電量。
該智能電池系統(tǒng)引入了國(guó)際標(biāo)準(zhǔn),具有筆記本智能電池系統(tǒng)的優(yōu)點(diǎn)。在實(shí)際應(yīng)用中該系統(tǒng)改進(jìn)了便攜式電源的管理;延長(zhǎng)了電池的工作時(shí)間;確保了安全溫度內(nèi)的充放電;縮短了充電時(shí)間;可選用多種商家的電池;易于升級(jí),為便攜式儀器提供了很好的解決方案。
參考文獻(xiàn)
1 Friel D. SBS簡(jiǎn)化便攜式電源系統(tǒng)設(shè)計(jì).電子工程專輯,1999;(6):26~30
2 Fukatsu S, Dunstan R. Smart battery system manager specifi-cation revision 1.0 www.SBSIF.org,1998-12-04~12
3 郭海帆,宣宗強(qiáng).基于DS2438芯片的智能電池監(jiān)測(cè)系統(tǒng).今日電子,2003;(9):32~34
4 The datasheet of R5421NXXX series NO.EA-069-0006.www.dianyuan.com,2002-10
5 童長(zhǎng)飛.C8051系列單片機(jī)開發(fā)與C語言編程.北京:北京航空航天大學(xué)出版社,2005
6 PS501現(xiàn)場(chǎng)可編程單電池管理. Microchip Technology Inc,2004:25~29