一種精確檢測(cè)鋰電池電量的方案
1 傳統(tǒng)鋰電池電量檢測(cè)方案
傳統(tǒng)的鋰電池檢測(cè)方案采用ADC 采集鋰電池兩端電壓,然后根據(jù)廠家提供的電池的放電曲線,通過算法估算出來(lái)的一個(gè)大概的電量數(shù)值。如圖1 所示,此圖是一個(gè)容量為2 000 mAh 的鋰電池放電曲線,放電電流為2 000 mA。
圖1 鋰電池放電曲線
X 軸代表剩余電量,Y 軸代表電池兩端電壓。根據(jù)實(shí)際需要顯示的電池電量要求,把Y軸分成相應(yīng)的段數(shù),然后對(duì)照X 軸坐標(biāo)值,可大致估算出電池電量。
例如圖2 所示,當(dāng)電池電壓下降到3.5 V 左右時(shí),電池電量大概在50% 左右。但這種方式最大的弊端是沒有考慮到電池的內(nèi)阻,從而導(dǎo)致計(jì)算出來(lái)的電池容量誤差很大。電池兩端電壓計(jì)算公式如下:
V=Voc-I×Rbat
圖2 傳統(tǒng)估算電池電量的方法
其中:Voc 指的是電池兩端的開路電壓,I 表示電池放電電流,Rbat 表示電池內(nèi)阻,不同廠家的電池內(nèi)阻通常在幾十毫歐到幾百毫歐不等,而且電池內(nèi)阻會(huì)隨著電池的老化而增加,通常在100 個(gè)周期之后電阻內(nèi)阻會(huì)增加1 倍,這種內(nèi)阻的變壓會(huì)導(dǎo)致計(jì)算出來(lái)的誤差非常大。
從圖1 中的放電曲線上也可以看到,電池滿電量時(shí),電壓約為4.2 V,當(dāng)電池用2 000 mA 電流開始放電時(shí),電池電壓瞬間就降低到3.9 V 左右,其中的壓降正是電池內(nèi)阻在作怪。當(dāng)遇到需要突發(fā)電流的情形,就會(huì)發(fā)生電池電量格數(shù)跳變的現(xiàn)象。
李躍勇(1986—),男,鄭州雅晨生物科技有限公司研發(fā)總監(jiān),研究方向:醫(yī)療器械。
系統(tǒng)框圖
MAX17055采用Maxim ModelGauge?m5 EZ算法。ModelGauge m5 EZ 不需要對(duì)特定電池特征進(jìn)行建模,很容易實(shí)現(xiàn)電量計(jì)設(shè)計(jì),并簡(jiǎn)化主機(jī)軟件開發(fā)。
ModelGauge m5 EZ 提供可靠算法,對(duì)于絕大多數(shù)鋰電池提供高精度測(cè)量。MAX17055 自動(dòng)補(bǔ)償老化、溫度和放電率,并提供精確的電量狀態(tài)(SOC,%) 和剩余電量(mAh)。當(dāng)電池達(dá)到接近空電量的臨界區(qū)域時(shí),ModelGauge m5 算法激活特殊的誤差修正算法,進(jìn)一步消除誤差。系統(tǒng)設(shè)計(jì)師不再需要執(zhí)行特征分析,這部分工作實(shí)際上已經(jīng)由電量計(jì)廠商完成了[1]。該方案系統(tǒng)框圖如圖3 所示,其中鋰電池負(fù)端通過檢流電阻連接到系統(tǒng)地,MAX17055 相關(guān)檢測(cè)管腳連接到檢流電阻的兩端,充電管理芯片連接到鋰電池正極以及系統(tǒng)地。
檢流電阻用于檢測(cè)通過鋰電池的放電電流和充電電流,該電流送給MAX17055 芯片用于計(jì)算電池電量, 充電管理芯片用于給鋰電池充電,其中充電管理芯片可采用通用的TP5400 或BQ24075 等。
MAX17055 實(shí)現(xiàn)了行業(yè)較低的靜態(tài)電流—低功耗模式下僅消耗7 μA 電流。對(duì)于空間受限的應(yīng)用,它可以支持1.4mm×1.5mm WLP 封裝[2],非常適合智能手表、手機(jī)、無(wú)人機(jī)等便攜式產(chǎn)品。
3 系統(tǒng)電路圖
充電管理芯片采用TP5400,它是一款專用的單節(jié)鋰電池充電器和恒定5 V 升壓控制器,充電部分集高精度電壓和充電電流調(diào)節(jié)器、預(yù)充、充電狀態(tài)指示和充電截止等功能于一體,可以輸出最大1 A 充電電流[3]。充電電路圖如圖4 所示。
圖4 TP5400充電電路
IN_5V 連接外部充電器的5 V 輸出,OUT_5V 是TP5400 升壓后的5 V 輸出。VBAT 連接鋰電池正極,GND 連接鋰電池負(fù)極。CHRG 管腳為漏極開路輸出,當(dāng)充電器向電池充電時(shí),此管腳被內(nèi)部開關(guān)拉到低電平,表示充電正在進(jìn)行;否則此管腳處于高阻狀態(tài)。
STDBY 管腳也為漏極開路輸出,當(dāng)電池充電完成時(shí),此管腳被內(nèi)部開關(guān)拉到低電平,表示充電完成,否則為高阻狀態(tài)。PROG 管腳用于設(shè)定充電電流大小??筛鶕?jù)下面公式設(shè)定充電電流:
其中IBAT 表示充電電流,RPROG 為1.1 kΩ, 故設(shè)置的充電電流為1 A。根據(jù)芯片數(shù)據(jù)手冊(cè)可知,芯片的終止充電電流在C/5,大約是200 mA。MAX17055 硬件電路如圖5 所示。
圖5 MAX17055電路圖
BATT 腳連接鋰電池正極,MAXGND 連接鋰電池負(fù)極,R5 為檢流電阻,此處為5 mΩ,CSP 腳連接檢流電阻正端,CSN 連接檢流電阻負(fù)端,SCL 和SDA 腳用于與單片機(jī)進(jìn)行IIC 通信,ALRT 腳用于輸出報(bào)警信息。
THRM 腳可用于連接帶有溫度檢測(cè)的鋰電池,如果鋰電池沒有溫度檢測(cè)管腳,可按上圖處理即可。
MAX17055 需進(jìn)行正確的初始化才能工作,其初始化流程如圖6 所示。
官方提供了MAX17055 初始化代碼例程,例程中的部分寄存器必須根據(jù)自己的實(shí)際情況來(lái)正確配置才能獲得精確的電量指示,這些寄存器分別如下。
DesignCap Register(18h):電池容量寄存器,這個(gè)值與計(jì)算得到的當(dāng)前的電池容量做對(duì)比,用來(lái)計(jì)算電池的使用壽命和健康狀況。多少毫安時(shí)的電池就填寫實(shí)際的數(shù)值進(jìn)去,這里以2 000 mAh 的電池為例,此處可直接填寫0x07D0。
RSense Register(D0h):檢流電阻大小寄存器,此寄存器例程中并沒有給出,但我們?cè)趯?shí)際配置過程中必須根據(jù)硬件電路配置此寄存器,否則得不出準(zhǔn)確的結(jié)果。
根據(jù)數(shù)據(jù)手冊(cè)官方推薦的數(shù)值,硬件電路采用5 mΩ 的檢流電阻,此處值我們填寫0x01F4。
IChgTerm Register(1Eh):充電終止電流寄存器,前面我們?cè)O(shè)置的充電管理芯片TP5400 的充電終止電流為200 mA,一般我們將此值設(shè)置得比實(shí)際終止電流稍微大一些。在這里我們?cè)O(shè)置此寄存器的值為260 mA。
VEmpty Register(3Ah):空電壓寄存器,鋰電池一般設(shè)置為3 V 即可。
初始化代碼(部分)如下:
I2C_Read(0x00, &statusPOR);// 讀取Status 寄存器
if((statusPOR&0x0002) == 0)// 上電復(fù)位事件未發(fā)生
{
return SUCCESS;
}
else// 上電復(fù)位事件發(fā)生
{
I2C_Read(0x00,®_tempValue);// 讀FSTAT
寄存器的值
while(reg_tempValue&0x01)// 判斷FSTAT.DNR
狀態(tài)
{
I2C_Read(MAX17055_REG_FStat,®_
tempValue);
I2C_Delay(10);// 延時(shí) 10ms
}
Read(0xBA,&HibCFG);
WriteAndVerifyRegister(0x60,0x0090);
WriteAndVerifyRegister(0xBA,0x0000);
WriteAndVerifyRegister(0x60,0x0000);
WriteAndVerifyRegister(0x18,0x07D0);// 設(shè)
置電池容量為2000mAH
WriteAndVerifyRegister(0x45,0x003E);// 設(shè)
置dQAcc
WriteAndVerifyRegister(0x1E,0x0340);// 設(shè)
置充電終止電流為260mA, 計(jì)算方法0x0340*1.5625/5
WriteAndVerifyRegister(0x3A,0x9661);// 設(shè)
置空電壓,計(jì)算方法:0x9661*1.25mV/16
WriteAndVerifyRegister(0xD0,0x01F4);// 設(shè)
置檢流電阻大小,500=0x01F4
WriteAndVerifyRegister(0x46,0x0640);// 設(shè)
置dPAcc
WriteAndVerifyRegister(0xDB,0x8000);// 設(shè)
置ModelCFG
WriteAndVerifyRegister(0x13,0x4600);// 設(shè)
置FullSocThr 寄存器
Read(0xDB,®_tempValue);
while(reg_tempValue&0x8000)
{
I2C_Read(0xDB,®_tempValue);
I2C_Delay(10);// 延時(shí)10ms
}
WriteAndVerifyRegister(0xBA,HibCFG);
Read(0x00,®_tempValue);// 讀取Status
寄存器
WriteAndVerifyRegister(0x00,0xFFFD);// 清
除POR 位
Read(0x00,&statusPOR);// 讀取POR 位
if((statusPOR&0x0002) == 0)
{
return SUCCESS;// 初始化成功
}
else
{
return FAULT;// 初始化失敗
}
}
4 結(jié)語(yǔ)
隨著生活水平的提高,人們對(duì)便捷式產(chǎn)品的要求越來(lái)越高,傳統(tǒng)的依靠電池電壓來(lái)推算電量的方式因?yàn)轱@示不精細(xì)、不準(zhǔn)確而飽受詬病,特別是針對(duì)便捷式的醫(yī)療器械產(chǎn)品來(lái)說(shuō),往往可能因?yàn)殡娏恐甘镜牟粶?zhǔn)確從而誤導(dǎo)用戶沒有及時(shí)地對(duì)儀器進(jìn)行充電,從而影響到儀器的再次使用。此方案可提供準(zhǔn)確的電量指示,解決單節(jié)鋰電池供電儀器的電量指示問題。
參考文獻(xiàn):
[1] 選擇合適的電池電量計(jì)幫助產(chǎn)品實(shí)現(xiàn)最快上市和最長(zhǎng)使用時(shí)間[Z].Maxim 公司,2017.
[2] Maxim推出高精度、低靜態(tài)電流電量計(jì),大幅延長(zhǎng)電池運(yùn)行時(shí)間 MAX17055 ModelGaugeTM m5通過消除電池依賴性,加速產(chǎn)品上市時(shí)間[Z].電子測(cè)試,2017.
[3] TP5400數(shù)據(jù)手冊(cè)[Z].南京拓品微電子有限公司.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2021年3月期)
評(píng)論