一,、前言
使用便攜式電子產品,,希望能夠隨時知道電池的所剩電量,,所能持續(xù)的工作時間,,并且據此調節(jié)相關應用,,這無疑將是一個非常方便的事情,,尤其適合使用智能手機的商務人士,。電池電量檢測技術在筆記本電腦中已經屢見不鮮,多數筆記本電腦都有電源管理的選項,,提供不同的電源工作模式以及電池報警功能,。但是在更加小型化的便攜產品市場,這一技術卻還不多見,。
便攜式產品提供的功能越來越紛繁,,用戶日益需要準確地監(jiān)測電池電量,以便靈活管理可用電源,,明確顯示剩余工作時間,,盡可能延長系統(tǒng)運行的時間。現在大多數手機采用的電量測量方法還比較簡單,,缺乏精確度,。目前主流的檢測方法是簡單測量電池電壓,估算相對應的電池剩余電量,??傠娏砍?或5,也就是通常能在手機屏幕上看見的4格或者5格的電量Bar,,所以每格的精確度即是25%或者20%,,這樣的精度顯然無法滿足高精度要求的應用。
這種電壓估測電量的方法通常如下:一塊電池在放電的時候,,電池的電壓會隨著電池電量的流失逐漸地下降,。這樣就可以得到一個比較簡單而有效的對應關系,,就是電壓對應容量。通過電池正常使用(比如100mA放電)的放電曲線,,對時間進行4等分,,以充電限制電壓為4.2V的鋰電池為例,可以列出這樣一個對應關系,,4.20V—100%,,3.85V—75%,3.75V—50%,,3.60V—25%,,3.40V—5%(因為手機不可能完全用光電池的電量,一般低于3.40V 時就可能自動關機了),。很顯然,,這種精度最高只有25%。另外,,電池電壓會隨著RFPA的功率發(fā)射發(fā)生突變,,通常會變小0.2V-0.3V。如果一味的使用電壓模擬電量方法,,就會誤差更大,。為了解決電池電壓突然變小的測量問題,當前工程師們的普遍方法是利用軟件算法進行均值濾波,,對一段時間內的電池電壓進行均值化,,如果該時間段的平均電池電壓確實下降了,則預估電量確實變少了,,否則即認為電量并未變化,。
電池電壓模擬剩余電量的方法確實存在著缺陷,而通過庫侖計實時監(jiān)測電池消耗電量而計算剩余電量的方法則非常準確,。Fairchild的 FAN4010是這種應用的典型器件,。它是一顆電流檢測傳感器,專門用于檢測便攜式設備電池的充電/耗電電流,,能將通過精密檢測電阻的電流信號轉換為 ADC可以檢測到的電壓信號,,從而計算一段時間內消耗的真實電量。
二,、硬件電路的典型設計
為了滿足高精度的電池電量監(jiān)測需求,,FAN4010外加合適的應用電路并加上特定的軟件控制算法,就能夠很好的達到要求,。如圖1是FAN4010 的典型應用框圖,。外圍只需要兩個電阻Rsense、Rout即構成高精度的放大電路,。如圖2是內部結構原理示意圖,,所以存在Vsense = I_load * Rsense, Vout = 0.01 * Vsense * Rout,,由此兩關系式可以等到I_load=100*Vout/(Rout*Rsense),所以只要用ADC監(jiān)測Vout上的電壓,,再除以已知的電阻值Rout和Rsense,,就可以得到準確的負載消耗電流,而電流對時間進行積分,,MCCC_formula01,,即可以達到所消耗的電量準確值。用總電量減去準確的電量消耗值,,即可得到準確的剩余電量,。充電電路,則同理,。
圖1 FAN4010的應用框圖
圖2 FAN4010的內部結構原理示意圖
FAN4010的典型應用圖以及Rsense、Rout的選值要求如下,。其中圖3為電池的充電電路,,圖4為電池的放電電路。
圖3 充電部分的參考原理圖
圖4 放電部分的參考原理圖
Rsense(R_sense1/R_sense2)
這兩個電阻串聯(lián)在充電和放電的路徑上,。因此,,我們需要一個低阻值的電流采樣電阻。矛盾的是,,如果Rsense太低,,精度都將丟失。若Rsense 選擇的過大,,則此電阻上的壓降和功耗都很大,。因此,Rsense的選擇應該是理想的高精確度和所能允許電壓損失的綜合平衡,。雖然FAN4010在 Vsense值較低時采樣電阻上的功耗最小,,但是一個更大的Rsense值能提供更多的準確性。然而較大的Rsense會產生一個比較大的電壓降,,減少了可提供給負載的有效電壓,,這在低電壓尤其電池供電的應用中會很有麻煩。正因為如此,,設計中要很好地了解預期的最大允許負載電流和負載供電電壓,。為了獲得最大化的精度,建議Rsense的選擇應符合以下條件:10mV
Rout(R_out1/R_out2)
接到GND上的Rout這個電阻,,是用來產生一個可供ADC檢測到的電壓信號。它的選擇主要取決于兩個參數:I_out(即 I_load*Rsense/100)以及ADC的電壓采樣范圍,。最大的I_load產生的最大Vout不能超過ADC的最大采樣電壓,。為了保證精度最大化,,同時又希望最大的Vout能盡量接近ADC的最大采樣量程。
另外,,為了保證FAN4010的最大線性化,,Rout的選擇應滿足關系式:MCCC_formula02
Table.1 Iout_FS的選值表
Layout設計圖例如圖5,,走線的基本原則是:FAN4010盡量靠近充電/放電路徑,。
圖5 layout實例
三、典型的軟件設計
電量計算的算法如圖6,,相關說明如下:
假設前提:現有兩塊電池,,A (總容量1000mAh左右,不確定),,B(總容量1500mAh左右,,不確定),此2電池均可能使用在手機P上,。
插入電池(開機)→→是否電池校準(默認否)→→否→→調用電池容量曲線a(默認)(若使用電池B,,則修改為使用電池容量曲線b)→→通過電池端電池Vcc以及監(jiān)測耗電量聯(lián)合評估剩余電量百分比。
圖6 軟件流程圖
其中Vin為輸入電壓,Iout_fs的值則是表1中的對應值,,在不同的最大Vsense時,,其值不一樣。例如,,若最大的Vsense為500mV時,,則Iout_fs=5mA。
→→是→→若要校準,,請保證該電池已經充滿電→→選擇校準曲線,,a 還是 b? →→記錄最高端電池Vcc-h,默認此時電池電量百分比100%→→按每一可計算時間段,,分別監(jiān)測耗電量 MCCC_formula03,,以及電池端電壓→→一直使用到電池沒電,自動關機,,記錄此狀態(tài)電壓Vcc- l以及默認此時電池百分比0%,,計算總的電量損耗Q,此Q即為以后容量曲線的total Q,。