電量計(jì)在手持設(shè)備中的實(shí)現(xiàn)
摘要: 本文結(jié)合鋰電池充放電特性,,詳細(xì)介紹和比較了三種鋰電池電量的計(jì)算方法:電壓估算法、模型查表法和電流檢測法,,分析了系統(tǒng)側(cè)電量計(jì)量和電池側(cè)計(jì)量的優(yōu)缺點(diǎn)
Abstract:
Key words :
鋰電池具有高存儲(chǔ)能量,、壽命長,、重量輕和無記憶效應(yīng)等優(yōu)點(diǎn),已經(jīng)在現(xiàn)行便攜式設(shè)備中得到了廣泛的使用,,尤其是在手機(jī),、多媒體播放器、GPS終端等消費(fèi)類電子設(shè)備中,。這些設(shè)備不但單純地只是支持單一的通訊功能,,還支持流媒體播放和高速的無線發(fā)送和接收等等功能,。隨著越來越多功能的加入且要獲得更長單次充電的使用時(shí)間,便攜式設(shè)備中鋰電池的容量也不斷地增大,,以智能手機(jī)為例,主流的電池容量已經(jīng)800mAH增長到現(xiàn)在1500mAH,,并且還有繼續(xù)增長的趨勢,。
隨著大容量電池的使用,如果設(shè)備能夠精確的了解電池的電量,,不僅能夠很好地保護(hù)了電池,,防止其過放電,同時(shí)也能夠讓用戶精確地知道剩余電量來估算所能使用的時(shí)間,,及時(shí)地保存重要數(shù)據(jù),。因此,在PMP和GPS中,,電量計(jì)不斷加入到設(shè)備中,,并且電量計(jì)也在智能手機(jī)中得到了應(yīng)用,尤其是在一些Windows Mobile操作系統(tǒng)的智能手機(jī)中,,如圖1所示,,電池電量的顯示已由原來的柱狀圖變?yōu)榱藬?shù)字顯示。
本文介紹和比較三種種不同電量計(jì)的實(shí)現(xiàn)方法,,并且以意法半導(dǎo)體的STC3100電池監(jiān)控IC為例,,在其Demo實(shí)現(xiàn)了1%精度的電池精度計(jì)量。
(a)柱狀圖電量顯示 |
(b)數(shù)字精確電量顯示 |
圖1 Windows Mobile 手機(jī)中電量計(jì)量
1,,電量計(jì)的實(shí)現(xiàn)方法和分類,。
據(jù)統(tǒng)計(jì),現(xiàn)行設(shè)備中有三種電量計(jì),,分別是:
直接電池電壓監(jiān)控方法,,也就是說,電池電量的估計(jì)是通過簡單地監(jiān)控電池的電壓得來的,,盡管該方法精度較低和缺乏對(duì)電池的有效保護(hù),,但其簡單易行,所以在現(xiàn)行的設(shè)備中得到最廣泛的應(yīng)用,。然而鋰電池本身特有的放電特性,,如圖2所示。不難從中發(fā)現(xiàn),,電池的電量與其電壓不是一個(gè)線性的關(guān)系,,這種非線性導(dǎo)致電壓直接檢測方法的不準(zhǔn)確性,電量測量精度超過20%,。電池電量只能用分段式顯示,,,,如圖1.a所示,無法用數(shù)字顯示精確的電池電量,。手機(jī)用戶經(jīng)常發(fā)現(xiàn),,在手機(jī)顯示還有兩格電的時(shí)候,電池的電量下降得非???,也就是因?yàn)檫@時(shí)候電池已經(jīng)進(jìn)入Phase3。
圖2 鋰電池放電曲線
電池建模方法,,根據(jù)鋰電池的放電曲線,,建立一個(gè)數(shù)據(jù)表,每測量一個(gè)電壓值,,根據(jù)該電壓去表中查出所對(duì)應(yīng)的電量,。該方法有效地提高電量的測量精度,可以達(dá)到5%,,且簡單易用,,無需做電池的初次預(yù)估,但是該數(shù)據(jù)表的建立是一個(gè)復(fù)雜的過程,,尤其是考慮到電池的溫度,、自放電、老化等因素的影響,,并且對(duì)不同容量或類型的電池的兼容性也是一個(gè)問題,。該表需要結(jié)合溫度和電池壽命等因素進(jìn)行修正,才能得到較高的測量精度,。
庫侖計(jì),,如圖3所示,在電池的正極或者負(fù)極串入一個(gè)電流檢測電阻,,一旦有電流流入或者流出電池時(shí),,就會(huì)在電阻的兩端產(chǎn)生電壓Vsense,通過檢測Vsense就可以計(jì)算出流過電池的電流,。該電流與時(shí)間做積分就是變化的電量,,因此其可以精確跟蹤電池的電量變化,精度可達(dá)1%,。盡管庫侖計(jì)存在電池初次預(yù)估的問題,,且電流電阻的精度直接影響了電量的精度。但是配合電池電壓和溫度的監(jiān)控,,一些軟件算法可以較好地減小鋰初次電量預(yù)估,、電池老化、電流檢測電阻精度等等因素對(duì)測量結(jié)果的影響。該方法在現(xiàn)行的設(shè)備和電池組中得到最為廣泛的應(yīng)用,,下文以意法半導(dǎo)體帶庫侖計(jì)的電池監(jiān)控芯片 STC3100為例,,詳細(xì)介紹該方法實(shí)現(xiàn)高精度的電量計(jì)量。
(a)充電 |
(b) 放電 |
圖3 電池充放電示意
電量計(jì)按其位置來分,,可以分為兩種:電池側(cè)電量計(jì)和系統(tǒng)側(cè)電量計(jì),。電池側(cè)電量計(jì)解釋電量計(jì)量芯片直接設(shè)計(jì)在電池組中,電量計(jì)芯片永遠(yuǎn)檢測一個(gè)電池,,能夠?qū)崟r(shí)檢測電池的充放電,、自放電和自身老化等等,即使電池未被使用時(shí),,這些電池參數(shù)在實(shí)時(shí)地檢測。該種電量比較精確,,但是成本較高,,電池接口復(fù)雜,系統(tǒng)對(duì)電池的兼容性較差,。
而系統(tǒng)側(cè)電量計(jì)是指電量計(jì)設(shè)計(jì)在系統(tǒng)側(cè)而不是在電池組里,,這樣可以避免電池組的重新設(shè)計(jì),減小的電池的管腳,,系統(tǒng)可以兼容更多的電池,。并且便攜式設(shè)備要求電池體積越來越小,而容量越來越大,,在系統(tǒng)側(cè)實(shí)現(xiàn)電量計(jì)比在電池中實(shí)現(xiàn)更為簡單便捷,。但是,系統(tǒng)側(cè)的電量計(jì)需要更為復(fù)雜的軟件算法,,解決電池的初次預(yù)估的問題,、兼容不同特性電池的問題等等。
2,,STC3100介紹和設(shè)計(jì)注意事項(xiàng)
STC3100是意法半導(dǎo)體帶庫侖計(jì)的電池監(jiān)控芯片,,它能夠監(jiān)控電池的電壓、溫度,、和電流,,集成一個(gè)可編程的12~14位的ADC,硬件積分器用于庫侖計(jì)功能的計(jì)算,,所測電流最大可達(dá)2.5A,,積分器可以用7000mAh的電池,分辨率可達(dá)0.2mAh. 其內(nèi)部框圖如圖4所示,。
圖4 STC3100內(nèi)部框圖
STC3100帶有一個(gè)I2C接口與處理器端進(jìn)行通訊,,并且集成了32bytes的RAM,用于存儲(chǔ)電池的電量或其他特性信息,。GPIO管腳可以用來作為電池低壓報(bào)警使用,,其應(yīng)用框圖如圖5所示,。
圖5 STC3100電量計(jì)量框圖
STC3100中的庫侖計(jì)需要一個(gè)32.768kHz的時(shí)鐘,用于作為計(jì)算電量的時(shí)基,,其精度直接影響電量的計(jì)算精度,。 STC3100支持內(nèi)部和外部的時(shí)鐘,外部時(shí)鐘優(yōu)先的原則,,并且能夠自動(dòng)檢測是否存在外部時(shí)鐘源,,也可以通過設(shè)置寄存器設(shè)置成強(qiáng)制使用外部時(shí)鐘源。如圖6所示,,如果用內(nèi)部時(shí)鐘,,一個(gè)200kohm 0.1%的電阻連接與Rosc管腳和地之間,內(nèi)部時(shí)鐘精度在其供電電壓和工作溫度范圍內(nèi)為2.5%,。為得到更高的精度,,只能采用外部輸入高精度時(shí)鐘源的方式。
圖6 STC3100的兩種時(shí)鐘源
電流采樣電阻Rcg是用采集流入或流出電池的電流,,由于ADC采樣的限制,,該電阻的壓降不能超過+/-80mV,所以,,該阻值由應(yīng)用中最大的峰值電流決定,,如式一。如果峰值電流為2A,,那么該阻值可以選擇33mohm,。
(1)
電流電阻上的電壓經(jīng)ADC采樣后放置于REG_CURRET(06H和07H)寄存器中,而ADC的LSB是11.7uV,,這樣就可以按式二計(jì)算實(shí)際流過的電流值:
(2)
同時(shí),,STC3100會(huì)把Rcg兩端的電壓值與采樣周期相乘后放入28位的累加器中,其中的高16位會(huì)放入REG_CHARGE(02h和03h)寄存器中,其實(shí)際的電量可以按式三計(jì)算,。
(3)
STC3100自身的供電管腳Vcc和電池電壓檢測管腳Vin是分開的,,如圖7所示,這樣很容易可以在電壓檢測管腳加入R2(1kohm)和C2(47nF~220nF)組成的ESD 保護(hù)和濾波電路,,而電阻R1(150ohm)和齊納二極管D1(5.6V)組成對(duì)Vcc的ESD保護(hù)電路,,從而不會(huì)影響對(duì)電池電壓的檢測精度。電池電壓和溫度經(jīng)ADC采樣后分別放于REG_VOLTAGE 和REG_TEMPERATURE寄存器中,,按照式三和式四可以分別計(jì)算出電池的實(shí)際電壓和溫度值,。
(4)
(5)
STC3100的GND管腳要用一個(gè)PCB走線連接與電阻的地端,確保所有的電流都是流過該電阻的,,避免產(chǎn)生電流的檢測誤差,。
圖7 STC3100的電源管腳和電池電壓監(jiān)控管腳
3,軟件設(shè)計(jì)與驗(yàn)證
STC3100寄存器中可以直接讀出電量的變化值、電池電壓,、電流,、溫度等數(shù)據(jù),系統(tǒng)處理器需要在上電時(shí),,配置STC3100的寄存器,,啟動(dòng)其電量計(jì)數(shù)功能,如果是第一次上電,,需要通過檢測的電池電壓進(jìn)行電池容量的初次預(yù)估,。完成初次預(yù)估后就可以進(jìn)行實(shí)時(shí)的電池電量的實(shí)時(shí)計(jì)算,軟件的流程如圖所8示,。
圖8 軟件流程框圖
電池的容量會(huì)隨溫度,、充放電次數(shù)和使用時(shí)間的長短變化而變化,因此,,為得到精確的電池電量,,僅僅獲得電池電壓、電流是不夠的,,還要考慮溫度,、電池老化,、電流檢測電阻精度等因素造成的累計(jì)誤差,,因此,建議在使用中定期一次電池的完全的充放電過程,,進(jìn)行消除累計(jì)誤差,,不斷保持電量的精度。上述軟件在STC3100的demo板(STEVAL-ISB0011V1)進(jìn)行了驗(yàn)證,,如圖9所示,。該Demo板使用STM32進(jìn)行軟件處理,其上電池的充電芯片是具有800mA充電能力的STC4054,,16*2矩陣的液晶LCD可是實(shí)時(shí)顯示電池的容量,、電壓、電流和溫度等參數(shù),,同時(shí)支持通過USB接口和PC通訊的功能,,能夠把電池的信息上傳給上位機(jī)。
圖9 STC3100 Demo板
該實(shí)驗(yàn)采用1800mAh的電池,,型號(hào)是(),,實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)如圖10所示,其中包括了電池電壓,、溫度,、電流、剩余電量、電池容量和STC3100芯片的ID號(hào),。并且我們分別對(duì)STC3100施加外部和內(nèi)部的32K時(shí)鐘,,測試結(jié)果證明,采用外部時(shí)鐘測量結(jié)果更為準(zhǔn)確,。
圖10 電池監(jiān)控?cái)?shù)據(jù)
結(jié)論
現(xiàn)在便攜式設(shè)備集成越來越多的功能,,精確的電量計(jì)可以用于提示用戶剩余的使用時(shí)間,甚至可以在電池低電量時(shí),,可以提示用戶關(guān)閉耗電較大的設(shè)備,,這樣可以給用戶以更好的使用體驗(yàn)。意法半導(dǎo)體的STC3100是用在系統(tǒng)側(cè)的電池電量監(jiān)控芯片,,可以精確地監(jiān)控電池電壓,、電流、溫度,,并且實(shí)時(shí)輸出電池電量,,減輕了系統(tǒng)的工作量,并且它本身具有較小的功耗,,比較適合便攜式設(shè)備的應(yīng)用,。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。