作者:
本文刊登於新通訊元件雜誌2003年10月號
前言
新一代的無線裝置、PDA、網際網路播放器以及其他應用產品都必須具有精確的電池容量監控功能.由於這些產品的架構日趨複雜,產品提供的功能也多有改善,這些因素均會對所使用的電池以及電池管理技術造成影響.由於使用者需要知道實際的剩餘可用容量,因此傳統上單純使用電壓作為基礎的容量偵測架構將不再適用於這些新式產品.舉例來說,使用者想要知道在電池的容量徹底耗竭前,他們還能下載多少個聲音檔案,還能進行多少次股票的下單交易,或是還能打久的電話.因此,不準確的剩餘容量偵測會造成使用者的困擾以及無力感.
簡單的說,以電壓為基礎的容量監控架構缺乏今日無線應用產品所需的精確度.舉例而言,鋰離子電池或鋰聚合物電池在充電以及放電時的電壓曲線相當平坦.更具體的來說,在一個典型的充電過程中,這類電池充電時超過70%的時間是處於定電壓充電的模式下;而定電壓模式則會充入超過40%的電池容量.同樣的,在放電的過程中大部分的容量是在相當窄的電壓範圍(3.7伏特到3伏特之間)內釋放出來的.
除了上述的問題外,剩餘可用容量也與電池的自放電率(self-discharge) 、電池老化、溫度以及放電曲線或放電率有關,並且為這些參數的函數.尤其對無線應用產品來說,放電曲線或放電率的影響更形重要.例如,GSM手持式話機的放電曲線為大於1安培的脈衝電流,其責任週期約為25%.在待機模式下時,此一電流則降低為10毫安培.
為了解決精準的容量追蹤與監控的挑戰,德州儀器已經針對此一需求開發了一系列的精確電池監控元件.這些元件使用庫侖計算法(coulomb counting)作為基礎以提供使用者有關電池剩餘容量精確且可靠的資訊.本應用報告之主要目標在於提供如何使用這些元件建立精確電池電量偵測電路的方法.
產品比較
下表提供現有之電池監控IC的比較:
功能 bq2018 bq2019 bq2023 bq26200 bq26220
記憶體 ‧115位元組的一般用途記憶體 ‧13個硬體暫存器 ‧提供暫存器備份 (Register Backup) 輸入以避免資料流失 ‧32位元組的一般用途記憶體 ‧96位元組的快閃記憶體 ‧8位元組的ID唯讀記憶體 ‧18個硬體暫存器 ‧32位元組的一般用途記憶體 ‧224位元組的快閃記憶體 ‧8位元組的ID唯讀記憶體 ‧32位元組的一般用途記憶體 ‧96位元組的快閃記憶體 ‧8位元組的ID唯讀記憶體 ‧18個硬體暫存器 ‧32位元組的一般用途記憶體 ‧224位元組的快閃記憶體 ‧8位元組的ID唯讀記憶體 ‧18個硬體暫存器
電流感測方式 ‧差動式電流感測輸入 ‧單端式電流感測輸入 ‧差動式電流感測輸入 ‧差動式電流感測輸入 ‧差動式電流感測輸入
充電/放電計算率 ‧12.5 mVH ‧3.05 mVH ‧3.05 mVH ‧3.05 mVH ‧3.05 mVH
準位偏移校準 ‧由主機端 (Host) 啟動,需時一個小時 ‧可在電池組暫態時作為最後一次測試的最後一個步驟啟始 ‧由主機端 (Host) 啟動,需時42.6分鐘 ‧可在電池組暫態時作為最後一次測試的最後一個步驟啟始 ‧持續進行自動校準與補償 ‧持續進行自動校準與補償 ‧持續進行自動校準與補償
準位偏移補償 ‧準位偏移結果儲存在內部暫存器中 ‧主機端進行準位偏移補償 可使用下列兩種方法: 1. 主機端進行準位偏移補償 2. 自動補償準位偏移 ‧持續進行自動校準與補償 ‧持續進行自動校準與補償 ‧持續進行自動校準與補償
溫度回報解析度 ‧10℃ ‧1℃ ‧0.25℃ ‧1℃ ‧1℃
電壓量測 ‧無 ‧無 ‧無 ‧無 ‧有
可規劃輸出腳位 ‧無 ‧開汲極狀態輸出 ‧開汲極狀態輸出 ‧開汲極狀態輸出 ‧輸入或開汲極輸出
電流消耗 ‧60 mA ‧80 mA ‧32 mA ‧78 mA ‧30 mA
封裝 ‧8支腳SOIC或是TSSOP ‧8支腳TSSOP ‧8支腳TSSOP ‧8支腳TSSOP ‧8支腳TSSOP
系統組成部分
為了要量測電池的充電與放電電流,同時將電池的剩餘電量報告給使用者,電池監控系統需要下列的組成部分(參見圖1).這些組成部分包括:
一個諸如bq2018,bq2019或bq2023之類的電池監控IC:電池監控IC包括了一個精準的庫侖計算器,溫度監控器,通訊介面以及其他功能.
一個精確的電流感測電阻:低阻值(其典型值介於10到20毫歐姆之間)的感測電阻可提供量測流入或流出電池之電流大小的方法.電池監控系統會量測電流感測電阻兩端的電壓差.
一個具一組通用輸出入腳位以供通訊的主控制器:主控制器用來提供電池監控系統的智慧型功能.主控制器也會處理電池監控IC的所有通訊功能.由於HDQ與SDQ均為單線式非同步之通訊協定,使用一個通用的輸出入腳位即可處理此一通訊流程.主控制器同時必須對由電池監控IC讀取到的資料進行處理,以判斷電池的剩餘電量狀態.
圖1:系統組成元件
什麼是庫侖計算法?
庫侖計算法簡單來說便是量測輸入電池或由電池流出的總電荷量.為了要達到此一目的,首先必須在電池組的負端以及電池組的接地接點間加上一個低阻值的串聯感測電阻以量測充電及放電的電流.再將此一感測電阻上的電壓降依時間積分,便可獲得精確的電池電量資訊.德州儀器公司所推出的電池監控元件均使用一個高精確度、低位移電壓的電壓對頻率轉換器(voltage to frequency converter, VFC)來量測感測電阻上的電壓降.電壓對頻率轉換器的輸出則被累加到充電或放電的暫存器以代表流入或流出電池的總電荷量.此一架構如圖2所示.
圖2 庫侖計算法的簡化功能方塊圖
電壓對頻率轉換器被接成當電流流入電池時(即充電過程)時,感測電阻上所產生的電壓降為正值.相對的,當電流流出電池時(即放電過程)時,感測電阻上所產生的電壓降則為負值.充電以及放電的過程被累加在兩個獨立的暫存器中,這兩個暫存器分別為充電計量暫存器(Charge Count Registers, CCR)以及放電計量暫存器(Discharge Count Registers, DCR).
電壓對頻率轉換器被設計成以一個基本的速率進行計數.此一速率通常被稱為VFC增益(在應用手冊中則被稱為GVFC).一般來說,VFC增益值主要用來提供電壓對頻率轉換器之輸出對輸入電壓的轉換比率.在電池監控元件的資料手冊中,VFC增益的單位是Hz/伏特.此一單位代表特定的輸入電壓在固定的週期中產生的計數值比例.舉例來說,bq2018的VFC增益為22.2 Hz/伏特而bq2019的VFC增益為90.51 Hz/伏特.這代表當bq2018的CCR暫存器每秒鐘累加一次時,其輸入電壓應該為45毫伏特(1秒鐘除以22.2 Hz/伏特 ).而當bq2019的CCR暫存器每秒鐘累加一次時,其輸入電壓應該為11.05毫伏特(1秒鐘除以91.1 Hz/伏特 ).
除了充電/放電計量暫存器之外,電池監控元件還包含了兩個時間暫存器,這兩個暫存器分別為充電時間計數器(Charge Time Counter, CTC)以及放電時間計數器(Discharge Time Counter, DTC).當電池進行充電時,充電時間計數器會累加.當電池進行放電時,放電時間計數器會累加.同一時刻內只有一個時間計數器會動作,且在暫存器尚未溢位(rollover)前,其累加速率為每小時4096個計數.
感測電阻的選擇
感測電阻的大小必須謹慎選擇,如此方能在不超過電池監控元件限制的情況下量測產品全範圍的充電以及放電電流.所需考量的項目包括:
元件的資料手冊中所列出之SR輸入端的最高電位值.舉例來說,bq2019的限制值為-100毫伏特到+100毫伏特.因此,流經感測電阻的充電/放電電流所產生的壓降就必須低於±100 毫伏特.
元件的資料手冊中所列出之VFC增益值.舉例來說,bq2019的計計算充電與放電之速率為每小時12.5微伏特.因此,當訊號低於12.5微伏特時,元件需要一個小時以上的時間才能讀取到改變.當選擇感測電阻值時,設計人員必須考慮解析度對時間的關係.
感測電阻必須能承受充電以及放電時的功率消耗.
計算充電以及放電的時間
主控制系統可藉由讀取時間零點時的CTC/DTC值(標示為CTC0/DTC0),並在一段時間後再次進行讀取CTC/DTC值(標示為CTC1/DTC1)以計算經過的時間.
所經過的時間可由下列公式求得(單位為秒):
Δt (s)= [(CTC1 – CTC0) + (DTC1 – DTC0)]*3600/4096 (1)
在計算出Δt之後主控制系統可將CTC1/DTC1儲存到CTC0/DTC0以計算下一次的週期與時間.
前述的討論主要用來提供計算電池剩餘容量所需的基本資訊.充電/放電計量暫存器、VFC增益值以及時間改變量乃是用來計算剩餘容量以及剩餘可用時間的三個重要數值.
計算平均電流
主控制系統無法以連續的方式與電池監控元件進行通訊,因為微控制器必須把大部分的時間花在進行其他系統元件的控制上.但是在進行電池監控的過程中,主微控制器必須針對前一個週期的平均電流進行計算.本段說明假設主控制器已經與電池監控元件完成通訊,並已將初始數值儲存起來或已經進行過CCR/DCR以及 CTC/DTC 暫存器的維護動作.初始的讀值在此被標示為CCR0/DCR0 以及 CTC0/DTC0.一段時間後主控制器再次讀取CCR/DCR 以及CTC/DTC 暫存器的數值,並將其標示為CCR1/DCR1 以及 CTC1/DTC1.
前一段時間內的平均電流值:
IAVG (A) = [(CCR1-CCR0) – (DCR1-DCR0)] / (Δt * GVFC * RSR) (2)
Δt (s)是由(1)式或是由主控制器的內部計時器計算而得的,GVFC為VFC增益(Hz/伏特),RSR(歐姆)為感測電阻值.當IAVG為負值時,代表電池放電.當IAVG為正值時,代表對電池充電.
此一數值可以用來計算固定的放電率電池剩餘的可用時間.
計算累積電流
累積電流用來計算電池的絕對剩餘容量,要計算此一數值必須知道某些時刻的電池容量.在第一次電池由充滿電放電到電池全空的過程中,通常會使用電池的額定容量作為此一數值.在此之後,可利用下列的簡單演算法則更新實際的電池容量.前一段時間累積的電流量為:
IACC (As) = IAVG * Δt = [(CCR1-CCR0) – (DCR1-DCR0)] / (GVFC * RSR) (3)
在計算出IAVG或IACC之後,主控制系統必須將CCR1/DCR1儲存到CCR0/DCR0以供下一段時間的計算.
計算剩餘容量
計算剩餘容量為電池電量偵測的主要目的.此一數值可以用數種方法加以處理以提供使用者有用的資訊.此一數值可以總容量(為電池之額定容量或推算而得的容量)的百分比來表示,或是用來計算電池尚餘的可用時間.計算剩餘可用時間的公式如下所示:
剩餘容量之計算:
RM1 (As) = RM0 + IACC (4)
IACC (As) 是由式(3)計算而得的,RM0 (As)是最近一次計算出的剩餘容量.
在計算出剩餘容量後,主控制系統必須將RM1儲存到RM0以供下一段時間的計算.
計算使用定放電速率的剩餘可用時間
此類計算的先決條件為使用者希望知道當平均電流量等於某固定值時,電池剩餘的容量可持續提供此一電流多久的時間才會耗竭.此一計算需要以較計算IACC更長的時間間隔計算IAVG數值(由第(2)式計算而得).平均電流的計算值越準,剩餘可用時間的估計也越精確.
使用IAVG放電率計算剩餘可用時間:
TTE@RATE (s) = RM1 / IAVG (5)
其中IAVG (A)可由第(2)式計算而得,RM1(As)為根據第(4)式計算而得的剩餘容量.
其他電池相關參數
其他與電池相關的參數包括溫度以及電壓.所有TI公司的電池監控IC均具備了量測並回報晶片(die)溫度至主控制器的功能.請參考表1以獲得更詳盡的資訊.
大部分的主控制器使用ADC通道來監控電池電壓.藉由量測電池的電壓,主控制器可以在電池放電到放電結束電壓時通知使用者.放電結束電壓會依電池之設計以及電池的種類而有所不同,此一電壓代表了不損及電池的使用壽命之前提下電池得以維持正常操作的最小電壓值.
總結
本應用文章說明使用TI的電池監控元件對電池組進行電量偵測所需的系統組成部分並進行系統功能概述.本報告提出了一個相當簡單的系統以及數個基本的方程式,這些均有助於建立一個基本的電池電量偵測應用電路.此一應用報告並未針對其他建立更複雜的電量偵測演算法則的步驟進行討論.這些步驟包括容量的學習曲線、充電效率校準、自放電校準、因溫度與電壓造成的VFC增益誤差、VFC準位偏移以及元件溫度回報等.適當的處理這些因素將有助於在整個系統的溫度與電壓操作範圍內進行更精確的剩餘容量計算.這些主題將在其他的應用文章中進行討論.