||
電源管理的優劣直接影響設備性能表現。Air8201方案通過穩定性技術構建堅固的電源防線,避免因波動導致的效能衰減;同時以精準性算法深度激發硬件潛能,動態調整能耗策略,最終實現設備性能上限的完全解鎖。
本文針對電源管理文檔的核心文件進行了優化:無需改動硬件,即可提升充電狀態下的電壓測量準確性。
一、 Air8201電源管理優化方案
修改原demo示例batteryMange.lua文件的checkBattery函數:
在讀取ADC電壓前,通過充電IC 2712A的寄存器控制,短暫關閉充電回路,消除充電電流對電壓的影響;測量完成后恢復充電——這是最為準確的方式。
我們之前的demo比較多配置I_CTRL和V_CTRL這兩個寄存器,這次主要配置工作模式寄存器MODE Register。
示例代碼如下所示:
增加移動平均濾波:
在checkBattery函數中,記錄最近幾次電壓值,取平均值以減少瞬時波動影響。
這個方式存在一定誤差,但是也能盡量拿到較準確的電壓值。
示例代碼如下所示:
根據充電狀態調整電壓計算:
在mathBatteryPercent函數中,如果當前處于充電狀態(ischarge == true),則對讀取的電壓值進行補償(例如減去固定偏移量)。
這點更適合標準差異,比如插上USB和未插USB的電壓檢測總是差距某一個數值,且一個測試周期內都維持這種差異。
示例代碼如下所示:
在checkBattery中增加日志輸出,觀察充電/不充電狀態下的原始電壓值和補償后的值。
插入USB時,驗證低電量關機邏輯是否基于補償后的電壓觸發,避免誤關機,因為補償后的電壓會略低(原來的關機條件為電量低于30%且2分鐘內未充電)。
今天的內容就分享到這里了~