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