電量計在手持設備中的實(shí)現
本文引用地址:http://dyxdggzs.com/article/114990.htm
電流采樣電阻Rcg是用采集流入或流出電池的電流,由于A(yíng)DC采樣的限制,該電阻的壓降不能超過(guò)+/-80mV,所以,該阻值由應用中最大的峰值電流決定,如式一。如果峰值電流為2A,那么該阻值可以選擇33mohm。
電流電阻上的電壓經(jīng)ADC采樣后放置于REG_CURRET(06H和07H)寄存器中,而ADC的LSB是11.7uV,這樣就可以按式二計算實(shí)際流過(guò)的電流值:
同時(shí),STC3100會(huì )把Rcg兩端的電壓值與采樣周期相乘后放入28位的累加器中,其中的高16位會(huì )放入REG_CHARGE(02h和03h)寄存器中,其實(shí)際的電量可以按式三計算。
STC3100自身的供電管腳Vcc和電池電壓檢測管腳Vin是分開(kāi)的,如圖7所示,這樣很容易可以在電壓檢測管腳加入R2(1kohm)和C2(47nF~220nF)組成的ESD 保護和濾波電路,而電阻R1(150ohm)和齊納二極管D1(5.6V)組成對Vcc的ESD保護電路,從而不會(huì )影響對電池電壓的檢測精度。電池電壓和溫度經(jīng)ADC采樣后分別放于REG_VOLTAGE 和REG_TEMPERATURE寄存器中,按照式三和式四可以分別計算出電池的實(shí)際電壓和溫度值。
STC3100的GND管腳要用一個(gè)PCB走線(xiàn)連接與電阻的地端,確保所有的電流都是流過(guò)該電阻的,避免產(chǎn)生電流的檢測誤差。
3,軟件設計與驗證
STC3100寄存器中可以直接讀出電量的變化值、電池電壓、電流、溫度等數據,系統處理器需要在上電時(shí),配置STC3100的寄存器,啟動(dòng)其電量計數功能,如果是第一次上電,需要通過(guò)檢測的電池電壓進(jìn)行電池容量的初次預估。完成初次預估后就可以進(jìn)行實(shí)時(shí)的電池電量的實(shí)時(shí)計算,軟件的流程如圖所8示。
電池的容量會(huì )隨溫度、充放電次數和使用時(shí)間的長(cháng)短變化而變化,因此,為得到精確的電池電量,僅僅獲得電池電壓、電流是不夠的,還要考慮溫度、電池老化、電流檢測電阻精度等因素造成的累計誤差,因此,建議在使用中定期一次電池的完全的充放電過(guò)程,進(jìn)行消除累計誤差,不斷保持電量的精度。上述軟件在STC3100的demo板(STEVAL-ISB0011V1)進(jìn)行了驗證,如圖9所示。該Demo板使用STM32進(jìn)行軟件處理,其上電池的充電芯片是具有800mA充電能力的STC4054,16*2矩陣的液晶LCD可是實(shí)時(shí)顯示電池的容量、電壓、電流和溫度等參數,同時(shí)支持通過(guò)USB接口和PC通訊的功能,能夠把電池的信息上傳給上位機。
該實(shí)驗采用1800mAh的電池,型號是(),實(shí)時(shí)監控數據如圖10所示,其中包括了電池電壓、溫度、電流、剩余電量、電池容量和STC3100芯片的ID號。并且我們分別對STC3100施加外部和內部的32K時(shí)鐘,測試結果證明,采用外部時(shí)鐘測量結果更為準確。
結論
現在便攜式設備集成越來(lái)越多的功能,精確的電量計可以用于提示用戶(hù)剩余的使用時(shí)間,甚至可以在電池低電量時(shí),可以提示用戶(hù)關(guān)閉耗電較大的設備,這樣可以給用戶(hù)以更好的使用體驗。意法半導體的STC3100是用在系統側的電池電量監控芯片,可以精確地監控電池電壓、電流、溫度,并且實(shí)時(shí)輸出電池電量,減輕了系統的工作量,并且它本身具有較小的功耗,比較適合便攜式設備的應用。
參考文檔
1, STC3100 數據手冊;
2, STC3100應用文檔AN3064;
3, STEVAL-ISB0011V1使用說(shuō)明手冊UM0903;
評論