摘要
本文結(jié)合鋰電池充放電特性,,詳細(xì)介紹和比較了三種鋰電池電量的計算方法:電壓估算法、模型查表法和電流檢測法,,分析了系統(tǒng)側(cè)電量計量和電池側(cè)計量的優(yōu)缺點,,并以意法半導(dǎo)體電量計量芯片STC3100為例,,介紹了其使用方法和設(shè)計中的注意事項,,在其Demo板上實現(xiàn)1%精度的電量計量,,同時說明和實現(xiàn)了鋰電池的電量初次預(yù)估和減小電量計量偏差的軟件算法,。實驗證明,,電流檢測法具有更高的精度和穩(wěn)定性,,并且能消除由于電池老化帶來的測量誤差,更適合應(yīng)用在電池組中或手持設(shè)備的主電路板中,。
Accurate Fuel gauge implementation for Li-Ion Battery in portable devices
Abstract
This article presents three methods to implement the fuel gauge for the Li-Ion battery in portable devices: Voltage-Monitoring, Battery-modeling and Current-sensing, and analyze the characters of different gauge IC locations. STC3100 is the battery monitor IC with battery fuel gauge by current-sensing method from STMicroelectronics, one experiment is setup with STC3100 demoboard to implement the battery fuel gauge, and a software is designed to minimize the measuring error. Finally, the results show that current-sensing fuel gauge has better accuracy and stability, can effectively minimize the error due to battery aging, more suitable for hand-held devices.
鋰電池具有高存儲能量,、壽命長、重量輕和無記憶效應(yīng)等優(yōu)點,,已經(jīng)在現(xiàn)行便攜式設(shè)備中得到了廣泛的使用,,尤其是在手機、多媒體播放器,、GPS終端等消費類電子設(shè)備中,。這些設(shè)備不但單純地只是支持單一的通訊功能,還支持流媒體播放和高速的無線發(fā)送和接收等等功能,。隨著越來越多功能的加入且要獲得更長單次充電的使用時間,,便攜式設(shè)備中鋰電池的容量也不斷地增大,以智能手機為例,,主流的電池容量已經(jīng)800mAH增長到現(xiàn)在1500mAH,,并且還有繼續(xù)增長的趨勢。
隨著大容量電池的使用,,如果設(shè)備能夠精確的了解電池的電量,,不僅能夠很好地保護了電池,防止其過放電,,同時也能夠讓用戶精確地知道剩余電量來估算所能使用的時間,,及時地保存重要數(shù)據(jù)。因此,,在PMP和GPS中,,電量計不斷加入到設(shè)備中,并且電量計也在智能手機中得到了應(yīng)用,,尤其是在一些Windows Mobile操作系統(tǒng)的智能手機中,,如圖1所示,電池電量的顯示已由原來的柱狀圖變?yōu)榱藬?shù)字顯示,。
本文介紹和比較三種種不同電量計的實現(xiàn)方法,,并且以意法半導(dǎo)體的STC3100電池監(jiān)控IC為例,,在其Demo實現(xiàn)了1%精度的電池精度計量。
(a)柱狀圖電量顯示 (b)數(shù)字精確電量顯示
圖1 Windows Mobile 手機中電量計量
1,,電量計的實現(xiàn)方法和分類。
據(jù)統(tǒng)計,,現(xiàn)行設(shè)備中有三種電量計,,分別是:
直接電池電壓監(jiān)控方法,也就是說,,電池電量的估計是通過簡單地監(jiān)控電池的電壓得來的,,盡管該方法精度較低和缺乏對電池的有效保護,但其簡單易行,,所以在現(xiàn)行的設(shè)備中得到最廣泛的應(yīng)用,。然而鋰電池本身特有的放電特性,如圖2所示,。不難從中發(fā)現(xiàn),,電池的電量與其電壓不是一個線性的關(guān)系,這種非線性導(dǎo)致電壓直接檢測方法的不準(zhǔn)確性,,電量測量精度超過20%,。電池電量只能用分段式顯示,,,如圖1.a所示,,無法用數(shù)字顯示精確的電池電量。手機用戶經(jīng)常發(fā)現(xiàn),,在手機顯示還有兩格電的時候,,電池的電量下降得非常快,,也就是因為這時候電池已經(jīng)進入Phase3,。
圖2 鋰電池放電曲線
電池建模方法,根據(jù)鋰電池的放電曲線,,建立一個數(shù)據(jù)表,,每測量一個電壓值,根據(jù)該電壓去表中查出所對應(yīng)的電量,。該方法有效地提高電量的測量精度,,可以達到5%,且簡單易用,,無需做電池的初次預(yù)估,,但是該數(shù)據(jù)表的建立是一個復(fù)雜的過程,尤其是考慮到電池的溫度,、自放電,、老化等因素的影響,,并且對不同容量或類型的電池的兼容性也是一個問題。該表需要結(jié)合溫度和電池壽命等因素進行修正,,才能得到較高的測量精度,。
庫侖計,如圖3所示,,在電池的正極或者負(fù)極串入一個電流檢測電阻,,一旦有電流流入或者流出電池時,就會在電阻的兩端產(chǎn)生電壓Vsense,,通過檢測Vsense就可以計算出流過電池的電流,。該電流與時間做積分就是變化的電量,因此其可以精確跟蹤電池的電量變化,,精度可達1%,。盡管庫侖計存在電池初次預(yù)估的問題,且電流電阻的精度直接影響了電量的精度,。但是配合電池電壓和溫度的監(jiān)控,,一些軟件算法可以較好地減小鋰初次電量預(yù)估、電池老化,、電流檢測電阻精度等等因素對測量結(jié)果的影響,。該方法在現(xiàn)行的設(shè)備和電池組中得到最為廣泛的應(yīng)用,下文以意法半導(dǎo)體帶庫侖計的電池監(jiān)控芯片 STC3100為例,,詳細(xì)介紹該方法實現(xiàn)高精度的電量計量,。
(a)充電 (b) 放電
圖3 電池充放電示意
電量計按其位置來分,可以分為兩種:電池側(cè)電量計和系統(tǒng)側(cè)電量計,。電池側(cè)電量計解釋電量計量芯片直接設(shè)計在電池組中,,電量計芯片永遠檢測一個電池,能夠?qū)崟r檢測電池的充放電,、自放電和自身老化等等,,即使電池未被使用時,這些電池參數(shù)在實時地檢測,。該種電量比較精確,,但是成本較高,電池接口復(fù)雜,,系統(tǒng)對電池的兼容性較差,。
而系統(tǒng)側(cè)電量計是指電量計設(shè)計在系統(tǒng)側(cè)而不是在電池組里,這樣可以避免電池組的重新設(shè)計,,減小的電池的管腳,,系統(tǒng)可以兼容更多的電池。并且便攜式設(shè)備要求電池體積越來越小,,而容量越來越大,,在系統(tǒng)側(cè)實現(xiàn)電量計比在電池中實現(xiàn)更為簡單便捷,。但是,系統(tǒng)側(cè)的電量計需要更為復(fù)雜的軟件算法,,解決電池的初次預(yù)估的問題,、兼容不同特性電池的問題等等。
2,,STC3100介紹和設(shè)計注意事項
STC3100是意法半導(dǎo)體帶庫侖計的電池監(jiān)控芯片,,它能夠監(jiān)控電池的電壓、溫度,、和電流,集成一個可編程的12~14位的ADC,,硬件積分器用于庫侖計功能的計算,,所測電流最大可達2.5A,積分器可以用7000mAh的電池,,分辨率可達0.2mAh. 其內(nèi)部框圖如圖4所示,。
圖4 STC3100內(nèi)部框圖
STC3100帶有一個I2C接口與處理器端進行通訊,并且集成了32bytes的RAM,,用于存儲電池的電量或其他特性信息,。GPIO管腳可以用來作為電池低壓報警使用,其應(yīng)用框圖如圖5所示,。
圖5 STC3100電量計量框圖
STC3100中的庫侖計需要一個32.768kHz的時鐘,,用于作為計算電量的時基,其精度直接影響電量的計算精度,。 STC3100支持內(nèi)部和外部的時鐘,,外部時鐘優(yōu)先的原則,并且能夠自動檢測是否存在外部時鐘源,,也可以通過設(shè)置寄存器設(shè)置成強制使用外部時鐘源,。如圖6所示,如果用內(nèi)部時鐘,,一個200kohm 0.1%的電阻連接與Rosc管腳和地之間,,內(nèi)部時鐘精度在其供電電壓和工作溫度范圍內(nèi)為2.5%。為得到更高的精度,,只能采用外部輸入高精度時鐘源的方式,。
圖6 STC3100的兩種時鐘源
電流采樣電阻Rcg是用采集流入或流出電池的電流,由于ADC采樣的限制,,該電阻的壓降不能超過+/-80mV,,所以,該阻值由應(yīng)用中最大的峰值電流決定,,如式一,。如果峰值電流為2A,,那么該阻值可以選擇33mohm。
電流電阻上的電壓經(jīng)ADC采樣后放置于REG_CURRET(06H和07H)寄存器中,,而ADC的LSB是11.7uV,,這樣就可以按式二計算實際流過的電流值:



3,,軟件設(shè)計與驗證
STC3100寄存器中可以直接讀出電量的變化值,、電池電壓、電流,、溫度等數(shù)據(jù),,系統(tǒng)處理器需要在上電時,配置STC3100的寄存器,,啟動其電量計數(shù)功能,,如果是第一次上電,需要通過檢測的電池電壓進行電池容量的初次預(yù)估,。完成初次預(yù)估后就可以進行實時的電池電量的實時計算,,軟件的流程如圖所8示。

圖8 軟件流程框圖

圖9 STC3100 Demo板
該實驗采用1800mAh的電池,,型號是(),,實時監(jiān)控數(shù)據(jù)如圖10所示,其中包括了電池電壓,、溫度,、電流,、剩余電量,、電池容量和STC3100芯片的ID號。并且我們分別對STC3100施加外部和內(nèi)部的32K時鐘,,測試結(jié)果證明,,采用外部時鐘測量結(jié)果更為準(zhǔn)確。

圖10 電池監(jiān)控數(shù)據(jù)
結(jié)論
現(xiàn)在便攜式設(shè)備集成越來越多的功能,,精確的電量計可以用于提示用戶剩余的使用時間,,甚至可以在電池低電量時,可以提示用戶關(guān)閉耗電較大的設(shè)備,,這樣可以給用戶以更好的使用體驗,。意法半導(dǎo)體的STC3100是用在系統(tǒng)側(cè)的電池電量監(jiān)控芯片,可以精確地監(jiān)控電池電壓,、電流,、溫度,并且實時輸出電池電量,,減輕了系統(tǒng)的工作量,,并且它本身具有較小的功耗,比較適合便攜式設(shè)備的應(yīng)用,。
參考文檔
1,,STC3100 數(shù)據(jù)手冊;
2,STC3100應(yīng)用文檔AN3064,;
3,,STEVAL-ISB0011V1使用說明手冊UM0903;