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