符合SMBus2.0協(xié)議單節(jié)智能鋰電池系統(tǒng)的設(shè)計(jì)
2.2 安全保護(hù)
本文引用地址:http://www.ex-cimer.com/article/84989.htm圖3為本系統(tǒng)的電池保護(hù)電路,主要采用理光(RICOH)的R5421N111C和用于電源開(kāi)關(guān)、低導(dǎo)通電阻的N溝道場(chǎng)效應(yīng)管S-19926構(gòu)成鋰電池保護(hù)電路,實(shí)現(xiàn)過(guò)充、過(guò)放、過(guò)電流和短路保護(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)電池電壓超過(guò)4.28V(過(guò)充)、低于2.5V(過(guò)放)、場(chǎng)效應(yīng)管兩端的電壓大于0.1V(過(guò)流,具體數(shù)值是根據(jù)場(chǎng)效應(yīng)管導(dǎo)通電阻及相關(guān)公式計(jì)算而得)或場(chǎng)效應(yīng)管兩端的電壓大于0.9V(短路時(shí),該值由控制IC決定)時(shí),芯片通過(guò)對(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來(lái)完成。
DS2438芯片是DALLAS公司推出的新一代智能電池監(jiān)測(cè)芯片,具有功能強(qiáng)大、體積小、硬件接線(xiàn)簡(jiǎn)單等優(yōu)點(diǎn)(通過(guò)一線(xià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ù)的用戶(hù)訪(fǎng)問(wèn)存儲(chǔ)器[5]。
2.4 計(jì)算通信部分
計(jì)算通信部分使用Silabs公司的低成本單片機(jī)C8051F305,它具有采用流水線(xiàn)指令結(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ǔ),通過(guò)標(biāo)準(zhǔn)的SMBus接口對(duì)數(shù)據(jù)和指令與主系統(tǒng)傳輸,同時(shí)多余的I/O口用來(lái)控制電源的開(kāi)關(guān)等其他功能。
3 軟件設(shè)計(jì)
軟件編寫(xiě)主要采用模塊化的方式,編譯環(huán)境Keil 7.50 完成C51的編程。這里主要介紹對(duì)智能電池系統(tǒng)協(xié)議SBData的定制和對(duì)DS2438的讀寫(xiě)控制。
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ù)值都是通過(guò)DS2438測(cè)量或預(yù)先定義存放在C8051的Flash存儲(chǔ)器中,主系統(tǒng)通過(guò)SMBus或用I/O口模擬I2C時(shí)序,向智能電池系統(tǒng)發(fā)送命令碼,獲取所需的值。智能電池?cái)?shù)據(jù)功能表如表1所示。具體值的定義由于篇幅限制這里不做介紹。
3.2 DS2438的讀寫(xiě)控制
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ù)線(xiàn)為高電平時(shí),才能正確地讀取。其程序流程與圖4類(lèi)似。
電池的剩余電量可用電流積分累加(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ì).電子工程專(zhuān)輯,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ī)開(kāi)發(fā)與C語(yǔ)言編程.北京:北京航空航天大學(xué)出版社,2005
6 PS501現(xiàn)場(chǎng)可編程單電池管理. Microchip Technology Inc,2004:25~29
評(píng)論