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



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

圖8 軟件流程框圖

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

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