Pomiar mocy urządzenia

Możesz określić zużycie energii przez urządzenia z Androidem, które mają wskaźnik poziomu baterii takich jak Summit SMB347 lub Maxim MAX17050 (dostępne na wielu urządzeniach Nexus). Korzystanie z systemu i mierzyć, kiedy zewnętrzne urządzenia pomiarowe nie są dostępne lub są niewygodne połączyć się z urządzeniem (np. podczas korzystania z telefonu komórkowego).

Pomiary mogą obejmować chwilowy prąd, pozostały poziom naładowania i pojemność baterii w momencie rozpoczęcia testu i koniec oraz inne w zależności od obsługiwanych właściwości urządzenia (patrz poniżej). Najlepszy wynik pomiaru mocy urządzenia podczas długotrwałych testów A/B na tym samym urządzeniu o takim samym wskaźniku paliwa i takim samym oporniku czujnika. Upewnij się, że początkowa bateria jest naładowana jest taki sam dla każdego urządzenia, aby uniknąć różnic w wskaźniku paliwa w różnych punktach krzywą rozładowywania baterii.

Nawet w przypadku identycznych środowisk testowych nie ma gwarancji, że pomiary będą miały wysoką bezwzględną wartość bezwzględną. dokładności. Jednak większość niedokładności dotyczących wskaźnika paliwa i rezystora czujnika jest spójne co ułatwia porównywanie danych na identycznych urządzeniach. Zalecamy uruchomienie wielu testów w różnych konfiguracjach w celu identyfikacji znaczących różnic i mocy względnej. i konsumpcji informacji między konfiguracjami.

Odczytuj zużycie energii

Aby odczytywać dane o wykorzystaniu energii, wstaw wywołania interfejsu API w kodzie testowym.

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");

Dostępne właściwości

Android obsługuje te właściwości wskaźnika poziomu baterii:

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

Większość właściwości jest odczytywana z atrybutów podsystemu Power_supply o podobnych nazwach. Jednak dokładna treść właściwości, rozdzielczość wartości właściwości i częstotliwość aktualizacji na konkretnym urządzeniu zależą od tych czynników:

  • Urządzenia do pomiaru paliwa, takie jak Summit SMB347 lub Maxim MAX17050.
  • Połączenie wskaźnika paliwa z systemem, np. wartość zewnętrznych rezystorów sprawdzających prąd.
  • Konfiguracja oprogramowania układu poziomu paliwa, np. wartości wybranych do obliczania średniego prądu w sterowniku jądra.

Szczegółowe informacje znajdziesz w sekcji o właściwościach dostępnych na urządzeniach Nexus.

Wskaźnik maksymalnego paliwa

Przy określaniu stanu naładowania akumulatora na długi czas wskaźnik maksimum paliwa (MAX17050, BC15) poprawia pomiary kompensacji za pomocą licznika Culomba. W przypadku pomiarów wykonanych w przez krótki czas (np. w ramach testów pomiaru zużycia energii) wskaźnik paliwa nie przez korektę, dzięki czemu przesunięcie jest podstawowym źródłem błędu, gdy bieżące pomiary są zbyt małe (chociaż żaden czas nie może całkowicie wyeliminować błędu przesunięcia).

Dla typowej konstrukcji opornika 10 mOhm, prąd przesunięcia powinien być niższy niż 1,5 mA, co oznacza, że każdy pomiar wynosi +/-1,5 mA (na to wpływ może mieć również układ PCBoard ). Na przykład przy pomiarze dużego prądu (200 mA) można oczekiwać, :

  • 2 mA (błąd wzmocnienia o 1% wynoszący 200 mA z powodu błędu wzmocnienia wskaźnika paliwa)
  • +2 mA (błąd wzmocnienia o 1% wynoszący 200 mA z powodu błędu rezystora sensownego)
  • +1,5 mA (bieżący błąd przesunięcia czujnika względem wskaźnika paliwa)

Całkowity błąd wynosi 5,5 mA (2,75%). Dla porównania dla średniego natężenia prądu (50 mA), gdzie te same wartości procentowe wskazują łączny błąd wynoszący 7% lub wartość niewielkiego prądu (15 mA), gdzie +/-1,5 mA oznacza łączny błąd 10%.

Aby uzyskać najlepsze wyniki, zalecamy pomiary na poziomie większym niż 20 mA. Błędy pomiaru wzmocnienia: jest systematyczne i powtarzalne, co pozwala na przetestowanie urządzenia w różnych trybach i ocenę czystej (z wyjątkiem kompensacji 1,5 mA).

W przypadku pomiarów względnych +/-100 uA wymagany czas pomiaru zależy od tych czynników:

  • Próbkowanie szumu ARC. W normalnym trybie fabrycznym model MAX17050 generuje +/-1,5 mA z powodu szumu oznacza zmienność między próbkami i próbką, przy czym każda próbka jest dostarczana z czasem 175,8 ms. Przez 1 minutę testową możesz spodziewać się średniego poziomu uniwersalnego środowiska na poziomie +/-100 UA i mniej czystych 3-sigma szumu. poniżej 100 uA (lub 1 sigma przy 33 uA) przez 6-minutowe okno testowe.
  • Przykładowe aliasy z powodu zmienności obciążenia. Odmiana wyolbrzymia błędy, więc w przypadku próbek z nieodłączną zmianą podczas ładowania, rozważ zastosowanie dłuższego okna testowego.

Obsługiwane urządzenia Nexus

Nexus 5
Model Nexus 5
Wskaźnik paliwa Wskaźnik paliwa Maxim MAX17048 (ModelGauge, brak licznika paliwa)
Właściwości BATTERY_PROPERTY_CAPACITY
Pomiary Wskaźnik paliwa nie obsługuje innych pomiarów oprócz stanu naładowania baterii wynosi %/256 (1/256% pełnej pojemności baterii).
Nexus 6
Model Nexus 6
Wskaźnik paliwa wskaźnik paliwa Maxim MAX17050 (licznik żarówek z regulacjami parametrów Maxim ModelGauge), Opornik sensacyjny 10 Mmm.
Właściwości BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Pomiary CURRENT_NOW – rozdzielczość 156,25 UA, okres aktualizacji: 175,8 ms.
Rozwiązanie CURRENT_AVERAGE – 156,25 uA, okres aktualizacji z możliwością konfiguracji 0,7–6,4 godz., domyślnie: 11,25 s.
Aktualna rozdzielczość: CHARGE_COUNTER (bieżący skumulowany, bez precyzji) 500 uAh (odczyt licznika nieprzetworzonego kulomba, niedostosowany za pomocą wskaźnika paliwa pod kątem przesunięcia licznika przewodów sondujących, danych wejściowych z algorytmu ModelGauge m3, w tym pustej kompensacji).
Rozdzielczość CHARGE_COUNTER_EXT (rozszerzona precyzja w jądrze) 8 nAh.
ENERGY_COUNTER to CHARGE_COUNTER_EXT przy napięciu znamionowym 3,7 V.
Nexus 9
Model Nexus 9
Wskaźnik paliwa wskaźnik paliwa Maxim MAX17050 (licznik żarówek z regulacjami parametrów Maxim ModelGauge), Opornik sensacyjny 10 Mmm.
Właściwości BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Pomiary CURRENT_NOW – rozdzielczość 156,25 UA, okres aktualizacji: 175,8 ms.
Rozwiązanie CURRENT_AVERAGE – 156,25 uA, okres aktualizacji z możliwością konfiguracji 0,7–6,4 godz., domyślnie 11,25 s.
Aktualna rozdzielczość CHARGE_COUNTER (kumulowana, bez zwiększonej dokładności) to 500 uAh.
Rozdzielczość CHARGE_COUNTER_EXT (rozszerzona precyzja w jądrze) 8 nAh.
ENERGY_COUNTER to CHARGE_COUNTER_EXT przy napięciu znamionowym 3,7 V.
Łączny bieżący okres aktualizacji to 175,8 ms.
Próbkowanie ADC przy 175 nbsp;ms z okresem próbkowania 4 ms. Można dostosować współczynnik wypełnienia.
Nexus 10
Model Nexus 10
Wskaźnik paliwa Wskaźnik paliwa typu DS2784 typu Półprzewodnik firmy Dallas (licznik kulomba), z czujnikiem prądu o szybkości 10 MM opornika.
Właściwości BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Pomiary Bieżąca rozdzielczość (stała i średnia) wynosi 156,3 UA.
Bieżący okres bieżących aktualizacji funkcji CURRENT_NOW wynosi 3,5 sekundy.
Okres aktualizacji CURRENT_AVERAGE wynosi 28 sekund (nie można go skonfigurować).
Rozdzielczość CHARGE_COUNTER (zakumulowany bieżący, bez precyzji) wynosi 625 uAh.
Rozdzielczość rozszerzenia CHARGE_COUNTER_EXT (rozszerzona precyzja jądra) wynosi 144 nAh.
ENERGY_COUNTER to CHARGE_COUNTER_EXT przy napięciu znamionowym 3,7 V.
Okres aktualizacji wszystkich urządzeń wynosi 3,5 sekundy.