《電子技術應用》
您所在的位置:首頁 > 測試測量 > 解決方案 > 電量計在手持設備中的實現(xiàn)

電量計在手持設備中的實現(xiàn)

2010-11-24
作者:閆子波

摘要
  本文結合鋰電池充放電特性,詳細介紹和比較了三種鋰電池電量的計算方法:電壓估算法、模型查表法和電流檢測法,分析了系統(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,這樣就可以按式二計算實際流過的電流值: 

  

  同時,STC3100會把Rcg兩端的電壓值與采樣周期相乘后放入28位的累加器中,其中的高16位會放入REG_CHARGE(02h和03h)寄存器中,其實際的電量可以按式三計算。
  
  STC3100自身的供電管腳Vcc和電池電壓檢測管腳Vin是分開的,如圖7所示,這樣很容易可以在電壓檢測管腳加入R2(1kohm)和C2(47nF~220nF)組成的ESD 保護和濾波電路,而電阻R1(150ohm)和齊納二極管D1(5.6V)組成對Vcc的ESD保護電路,從而不會影響對電池電壓的檢測精度。電池電壓和溫度經(jīng)ADC采樣后分別放于REG_VOLTAGE 和REG_TEMPERATURE寄存器中,按照式三和式四可以分別計算出電池的實際電壓和溫度值。
  
  STC3100的GND管腳要用一個PCB走線連接與電阻的地端,確保所有的電流都是流過該電阻的,避免產生電流的檢測誤差。
 
 
圖7 STC3100的電源管腳和電池電壓監(jiān)控管腳

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

 圖8 軟件流程框圖
 
  電池的容量會隨溫度、充放電次數(shù)和使用時間的長短變化而變化,因此,為得到精確的電池電量,僅僅獲得電池電壓、電流是不夠的,還要考慮溫度、電池老化、電流檢測電阻精度等因素造成的累計誤差,因此,建議在使用中定期一次電池的完全的充放電過程,進行消除累計誤差,不斷保持電量的精度。上述軟件在STC3100的demo板(STEVAL-ISB0011V1)進行了驗證,如圖9所示。該Demo板使用STM32進行軟件處理,其上電池的充電芯片是具有800mA充電能力的STC4054,16*2矩陣的液晶LCD可是實時顯示電池的容量、電壓、電流和溫度等參數(shù),同時支持通過USB接口和PC通訊的功能,能夠把電池的信息上傳給上位機。
 

圖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;
 
 

 
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。