測量裝置功率

你可以判斷含電池燃料量表的 Android 裝置耗電量 例如高峰會 SMB347 或 Maxim MAX17050 (適用於許多 Nexus 裝置)。使用系統內建功能 需估算外部測量設備無法使用或不便 連線至裝置 (例如行動裝置使用)。

測量結果包括即時電流、剩餘電量、測試開始時的電池容量 等等,取決於裝置支援的屬性 (詳見下文)。最佳 在使用同一部裝置的長期執行 A/B 版本測試期間,執行裝置電源測量 類型相同,兩者採用相同的燃油量表和電感電阻。確認電池一開始充電 因為每部裝置都相同,以避免在 電池放電曲線。

即使採用相同的測試環境,評估作業也不保證不會達到高絕對 準確度。然而,大多數關於燃油量表和感測電阻的誤差大多是一致的 因此,比較相同裝置之間的資料即可派上用場。建議您執行 進行多項測試,找出顯著差異和相對功率 提供資源用量

讀取耗電量

如要讀取耗電量資料,請在測試程式碼中插入對 API 的呼叫。

import android.os.BatteryManager;
import android.content.Context;
BatteryManager mBatteryManager =
(BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE);
Long energy =
mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);
Slog.i(TAG, "Remaining energy = " + energy + "nWh");

可用的房源

Android 支援下列電池燃料測量屬性:

BATTERY_PROPERTY_CHARGE_COUNTER   Remaining battery capacity in microampere-hours
BATTERY_PROPERTY_CURRENT_NOW      Instantaneous battery current in microamperes
BATTERY_PROPERTY_CURRENT_AVERAGE  Average battery current in microamperes
BATTERY_PROPERTY_CAPACITY         Remaining battery capacity as an integer percentage
BATTERY_PROPERTY_ENERGY_COUNTER   Remaining energy in nanowatt-hours

大多數屬性都是從名稱類似的核心 power_supply 子系統屬性中讀取。 不過,確切的屬性、屬性值的解析度和更新頻率。 是否適用於特定裝置,取決於:

  • 燃料測量硬體,例如高峰會 SMB347 或 Maxim MAX17050。
  • 燃料測量系統與系統之間的連接,例如:外部電流電阻器的價值。
  • 燃料測量晶片軟體設定,例如為平均目前計算而選擇的值 核心驅動程式中的多個間隔。

詳情請參閱 Nexus 裝置適用的屬性。

最大燃油量表

在判斷長時間的電池狀態時,最大燃油量表 (MAX17050、BC15) 會更正 Coulomb-counter 偏移量。針對 在短時間內 (例如耗電量計量測試) 時,燃油量並未 修正,在目前測量結果太小時,補償主要的錯誤來源 (儘管沒有時間會完全消除偏移錯誤)。

一般的 10 mOhm 感測電阻設計,偏移量應優於 1.5 mA,也就是說任何測量結果皆為 +/-1.5 mA (PCBoard 配置,也可能會影響這一點) 變化版本)。以大型目前 (200 mA) 測量時,您可以預期 包括:

  • 2 mA (因燃油量測差錯誤,導致 200 mA 增重 1%)
  • +2 mA (因感測器錯誤導致 200 mA 發生 1% 誤差)
  • +1.5 mA (目前與燃料量測定的感差誤差)

總誤差為 5.5 mA (2.75%)。比較此數據與中等電流 (50 mA),其中 相同的錯誤百分比會產生 7% 或 15 mA 的極小型現有誤差,其中 +/-1.5 mA 的誤差總量為 10%。

為獲得最佳結果,建議您測量超過 20 mA 的測量單位。發生評估錯誤的情況如下 具有系統性和可重複性,讓您能在多個模式下測試裝置,取得簡潔的相對 測量值 (1.5 mA 偏移除外)。

如果是 +/-100 uA 相對測量,所需的測量時間取決於:

  • ADC 取樣雜訊。採用一般工廠設定的 MAX17050 會產生 由於雜訊而產生了 +/-1.5 mA 樣本變化版本,每個樣本以 175.8 毫秒傳送。 您將會在 1 分鐘的測試期內看到粗略以上 +/-100 的 uA,以及降低 3 度乾淨雜訊 超過 100 uA (或 33 uA 處出現 1 Sigma 噪音) 的 6 分鐘測試期。
  • 由於載入變化造成的別名範例。變化版本會誇大錯誤,因此樣本 變數與載入中的變數相同,請考慮使用較長的測試期。

支援的 Nexus 裝置

Nexus 5
型號 Nexus 5
燃料量表 最大 MAX17048 燃料量表 (ModelGauge,無 Coulomb 計數器)
屬性 BATTERY_PROPERTY_CAPACITY
測量數據 除了電池狀態到 解析度。
Nexus 6
型號 Nexus 6
燃料量表 最大 MAX17050 燃油量表 (帶有 Maxim ModelGauge 調整的排卵子計算機),以及 電阻 10 毫米的電阻器。
屬性 BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
測量數據 CURRENT_NOW解析度為 156.25 uA,更新期間為 175.8 毫秒。
CURRENT_AVERAGE 解析度 156.25 uA,可設定更新週期 0.7 秒至 6.4 小時,預設為 11.25 秒。
CHARGE_COUNTER (累計目前非延伸精確度) 的解析度為 500 uAh (原始 Coulomb 計數器讀數,未根據庫侖元位移的燃油量計而調整; 以及 ModelGauge m3 演算法的輸入資料,包括空的薪酬)。
CHARGE_COUNTER_EXT (核心中的延伸精確度) 解析度為 8 nAh。
ENERGY_COUNTER 的名牌電壓為 CHARGE_COUNTER_EXT.7 伏特,
Nexus 9
型號 Nexus 9
燃料量表 最大 MAX17050 燃油量表 (帶有 Maxim ModelGauge 調整的排卵子計算機),以及 電阻 10 毫米的電阻器。
屬性 BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
測量數據 CURRENT_NOW解析度為 156.25 uA,更新期間為 175.8 毫秒。
CURRENT_AVERAGE 解析度 156.25 uA,可設定更新週期 0.7 秒至 6.4 小時,預設為 11.25 秒。
CHARGE_COUNTER (累計目前非延伸精確度) 的解析度為 500 uAh。
CHARGE_COUNTER_EXT (核心中的延伸精確度) 解析度為 8 nAh。
ENERGY_COUNTER 的名目電壓為 CHARGE_COUNTER_EXT,電壓為 3.7 伏特
此為目前的更新週期 175.8 毫秒。
ADC 取樣率為 175nbsp;取樣期間為 4 毫秒。可調整職責週期。
Nexus 10
型號 Nexus 10
燃料量表 達拉斯半導體 DS2784 燃料量表 (即 10 毫米的當前感官) 電阻。
屬性 BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
測量數據 目前的測量 (即時和平均) 解析度為 156.3 uA。
CURRENT_NOW 目前的即時更新週期為 3.5 秒。
CURRENT_AVERAGE 更新週期為 28 秒 (無法設定)。
CHARGE_COUNTER (累計目前非延伸精確度) 的解析度為 625 uAh。
CHARGE_COUNTER_EXT (核心中的延伸精確度) 解析度為 144 nAh。
ENERGY_COUNTER 的名目電壓為 CHARGE_COUNTER_EXT,電壓為 3.7 伏特
所有更新週期為 3.5 秒。