摘要
本文簡單介紹庫侖計的工作原理,并對Li電池的特性作了分析,并且分析了電量計如何針對Li電池的特性準確報告電量數據,文章詳述了電量計內部參數寄存器。
關鍵詞
庫侖計 電量計 學習模式
引言
電子產業的飛速發展使得半導體集成電路的集成度越來越高、工作電壓越來越低、器件功耗也越來越低。與之相對應的是,鋰電池產品具有很高的能量密度,而且隨著技術的發展,能量密度會進一步提升,應用前景將更加廣闊,就目前狀況而言,鋰電池產品已經成為我們生活中不可缺少的一部分,從日常生活用的手機、平板電腦到工業應用的各種手持式便攜儀表均采用鋰電池作為電源。
鋰電池儲能隨著設備的使用逐漸釋放,需要監測電池狀態,以便及時了解電池的剩余電量,在電池耗盡之前及時為電池充電,估算當前工作狀態下電池還可以維持工作的時長(鋰電池過充和過放會影響電池的壽命,嚴重情況下還可能導致電池爆炸,因此,通常會采用電池保護板,本文不討論該部分)。電量計就是專門用于監視鋰電池狀態的器件。在討論電量計之前,先要了解一下鋰電池的特性。
鋰電池的特性
鋰電池存儲的能量和能夠釋放出的能量與溫度有關,下圖為不同溫度下鋰電池的狀態圖:
圖1. 電池存儲/釋放能量和溫度關系
從圖1中可以看出,在-20℃時,電池充滿電的電量為大約1150mAh,大電流放電至電池電壓為2.5V時,電池電量為大約1130mAh,釋放出的電量為1150-1130=20mAh,由此可見,電池在-20℃時幾乎無法釋放電。隨著溫度升高,電池能夠釋放出的能量越多,并且電池能夠存儲的能量也隨著溫度升高有所增加。
隨著充放電周期的不斷增加,鋰電池能夠存儲的能量會逐漸減少,稱之為電池老化。
下圖為電池容量與充放電周期的關系圖:

圖2. 電池充放電周期與容量關系圖
從圖2中可以看出,隨著充放電周期的增加,電池的容量逐漸減小,但是,在放電至規定電壓時的剩余電量保持不變。
由于鋰電池的這種非線性特性以及與溫度、充放電次數的相關性,不能簡單地根據電池電壓來預報電池的電量,利用電量計器件可應對電池的非線性,對不同溫度下以及老化程度不同的電池都能正確預報剩余電量。
電量計工作原理
目前電量計主要包括:基于庫侖計計量的電量計和基于開路電壓檢測(OCV)的電量計。
庫侖計電量計是按照電池電流對時間的積分計算電量,電量計類似與一個蓄水池,充電時,相當于對蓄水池注水,放電時相當于對蓄水池放水,蓄水池中剩余的水量就相當于電池中剩余的電量,因此,庫侖計電量計和電池密切相關,通常,庫侖計電量計放置在電池包內,和電池綁定在一起。
1. 庫侖計電量計工作原理
電量計利用外部檢流電阻檢測電池電流,通過內部ADC將測量結果以電壓形式保存在電流寄存器中,然后累計到電流累計寄存器(ACR)中,ACR中保存的結果是以mVh為單位,因此除以檢流電阻,就可以計算出電池的絕對剩余電量,真的這么簡單!!!其實不然,還有很多問題需要解決。
如何確保準確計量?
電量累計是電流對時間的積分,那么時間的精度和測量電流的精度就決定了電量累計的誤差,時基誤差在常溫下小于1%,而且當測量電流為0時,累積電量也為0,因此,必須調整測量電流的精度才能確保電量計量精確,有哪些因素會影響電流的測量精度?外部電阻的精度,測量電流ADC的增益誤差以及失調誤差。器件內部用于調整這些參數的寄存器分別是:
RSNSP (電阻寄存器):用于存放檢流電阻值。
RSTC (電阻溫度系數寄存器):用于對溫漂較高的電阻進行補償。
COB (失調電流偏置寄存器):用于存放ADC測量電流的失調值。當失調電流為正時,該寄存器設置為負值。在電流累積時會將失調電流減去。
RSGAIN (電阻增益寄存器):用于設置電阻的增益。允許使用低成本電阻,然后通過該寄存器調整電阻值,另外,也可以通過調整該寄存器間接相當于調整了測量電流的增益誤差。
另外,還有一些其它的電流,例如器件本身消耗的電流、電池自放電的電流以及一些其它的漏電流,這些電流都不會流經檢流電阻,因此無法通過測量進行累積。電流累積偏移(AB)寄存器則用于補償這些電流損耗。
Maxim網站提供了電量計校準的相關信息,見參考文獻。
如何應對電量隨溫度的變化?
電量計內部帶有溫度傳感器,可測量電池的溫度,如果將電池滿電量與溫度的對應關系寫入器件,根據測量的電池溫度,就能計算出當前的溫度下電池的滿電量,電池在不同溫度、不同的放電電流情況下所能釋放出的電能總量也是不同的,因此,也要將不同電流、不同溫度下電池放空后的剩余電量(該部分電量無法釋放出來)寫入內部寄存器。電池可以以最大允許放電電流范圍內的任意值進行放電,如何存儲這么多的放電曲線?幸運的是,采用電池供電的系統通常有兩種工作模式:正常工作模式和待機模式。因此,只需要將這兩種狀態下的放電曲線(分別稱為有效空電量和待機空電量)保存在內部寄存器中就可以了,這個過程稱之為電池建模。

圖3. 不同溫度下電池的滿電量和空電量曲線
將圖3中各溫度點下對應的空/滿電量值寫入寄存器即可,對于相鄰溫度點之間的溫度,按照線性化進行處理。
根據測量得到的電池溫度以及內部的電池模型,器件可計算出當前溫度下的滿電量和空電量(待機空電量和有效空電量),ACR寄存器內部存儲的是目前電池計量電量,從ACR中減去該溫度下的空電量,就可以得到剩余的絕對電量,用絕對剩余電量與該溫度下的滿電量相比,得到的百分比值稱為相對剩余電量。
該溫度下的滿電量對于未經老化的新電池可以通過模型獲得,對于老化的電池,由于電池容量下降,如何確定滿電量?
如何確定老化電池的滿電量?
器件內部有兩個寄存器:老化容量寄存器(AC)和老化系數寄存器(AS),AC寄存器存儲電池的標稱容量,器件內部的計數器在電池放電時進行加計數,當計數值達到32倍的AC寄存器值后會將AS寄存器中的值減1,這相當于將電池的容量減少了0.78%,通過這種方式可以實現電池老化,在設計時,如果增大AC寄存器的值會降低電池的老化速度,減小AC寄存器的值會加速電池老化。
電量計長時間運行會累積誤差,為消除累積誤差,電量計還提供了“學習”的功能,觸發“學習”功能和完成一個完整的“學習”周期是需要一定條件的:必須檢測到有效空電量點才能觸發“學習”功能,此時,開始充電,必須不間斷充電直到檢測到滿電量點才能完成“學習”過程,當完成一個完整的“學習”周期后,電量計會自動根據當前溫度下的滿電量值以及老化系數進行更新ACR,消除了ACR累積的誤差。
1. OCV電量計工作原理
開路電壓檢測電量計利用電量計上電時測量電池的電壓(通常情況下,電池應該靜止足夠長時間使電池電壓恢復),通過存儲在電池內部的電壓和電量對應關系查找表來估算電池的電量,該電量計和電池的相關性不大,因此可以用在主機側,使用該電量計的系統可任意更換電池(更換電池的型號必須一致)。
電量計設計
通過以上介紹了電量計的具體工作原理,以及電量計針對不同溫度、不同電流狀態作出的修正和老化處理措施,可以對內部寄存器進行配置,使電量計精確預報剩余電量。
電池參數保存在器件內部參數EEPROM寄存器,這些參數分別是:
RSNSP:保存外部檢流電阻阻值
RSGAIN:設置檢流電阻的增益
RSTC:設置電阻的溫度系數
該電阻阻值的精度直接決定了電量累計的精度。
VCHG:電池充滿時對應的電壓值
IMIN:電池充滿電時對應的充電電流值
VAE: 電池有效空電量時對應的電壓點
IAE: 電池有效空電量時對應的電流值
這些參數和電池的“學習”過程相關,只有當電池電壓從大于VAE的電壓降到低于VAE的電壓同時放電電流大于IAE中設定的電流時才能檢測到空電量點,否則就認為沒有檢測到空電量點,當檢測到空電量點時,就會在狀態寄存器中置學習標志位。此時,需要對電池進行不間斷充電直至充滿,電量計檢測充滿要根據VCHG和IMIN中設置的值進行判斷,只有到電池電壓達到VCHG并且充電電流低于IMIN時,電量計才會認為電池充滿,此時,內部會將AS寄存器更新,完成學習過程。這些寄存器要根據實際應用進行設置,如果設置不正確可能無法完成學習過程。
其他的一些存儲器與電池模型相關,在存儲電池模型對應的電量時采用斜率的方式進行存放,這樣可以減少內部存儲單元的數量。關于如何設置、計算這些存儲器的數值,請參考應用筆記:
http://www.maximintegrated.com/cn/app-notes/index.mvp/id/3584
當這些寄存器正確設置后,經過一個完整的放電和充電周期后,電量計就能夠正確報告剩余電量以及百分比。
通常情況下,電池包內部帶有電池保護板,如果電量計位于電池保護板的內側,通常是沒有問題,但是如果電量計位于電池保護板的外側,當保護板啟動保護時,電量計將會掉電,此時,電量計內部的測量數據會丟失(參數數據由于保存在EEPROM中,不會丟失),此時,如果再次上電,ACR以及AS寄存器的值會從內部的備份存儲器恢復,ACR的備份是RARC變化4%備份一次,因此,最大有可能造成電量4%的報告誤差,因此,建議在設計時將電量計放在保護板的內側,這樣,即使保護板發生保護,電量計也不會掉電。
結束語
以上介紹了基于庫侖計的電量計工作原理以及電量計是如何在不同溫度、不同電流下能夠確保正確預報電量,并對內部和計量相關寄存器作了說明,通過控制器對電量計進行控制,可實時監視電量的變化并可報告多種和電池相關參數。 |