電池管理及監(jiān)控設(shè)計
圖5 電池電壓和電量的關(guān)系圖
在驅(qū)動程序中創(chuàng)建了一個為16個字長度的環(huán)形緩沖區(qū),采樣點數(shù)增加為16個,這樣可以增加對采樣結(jié)果的可靠性。電池電壓采樣值even_samp為16個采樣值的和去掉一個最大值和一個最小值后再取平均值。
在我們的移動終端設(shè)備中,電池的最大電壓為559(4.10V),最小電壓為455(3.30V),以圖5中的兩條虛線作為區(qū)間的分界線,可分為4.10V~3.80V,3.80V~3.60V,3.60V~3.30V這三個區(qū)間,對電池電壓值進行分區(qū)間的處理,三個區(qū)間上的曲線斜率近似為:
4.1V~3.80V:Kl=(100-70)/(4.10-3.80)
3.80V~3.60V:K2=(70-20)/(3.80―3.60)
3.60V~3.30V:K3=20/(3.60-3.30)
4.10V~3.30V:K=100/(4.10-3.30)
在進行電池電量百分比的轉(zhuǎn)換時,當(dāng)我們獲得在559~455區(qū)間內(nèi)的采樣值后,首先獲得原來的百分比值voltage_percent= (even_samp-455) * l00/(559-455)。然后針對不同的區(qū)間進行相應(yīng)的調(diào)整,得到的電量百分比分別為:
4.10V~3.80V:voltage_ercent+=(4.10-even_samp * 7.5/1024)×(K-K1)
3.80V~3.60V:voltage_percent+=(3.80-even_samp * 7.5/1024)×(K-K2)
3.60V~3.30V:voltage_percent-=(even_samp-3.30V * 7.5/1024)×(K-K3)
通過對以上三個區(qū)間的分別處理,這樣就獲得了相對正確的電池電量[4]。
7. 小結(jié)
本文介紹了在WindowsCE系統(tǒng)中,基于電池充電管理芯片bq24032A和電池監(jiān)控芯片bq26220芯片的電池驅(qū)動的實現(xiàn)。主要介紹了電池電壓的獲取和電池電量的計算方法。對電池管理提供了很好的借鑒。
評論