Potencia del dispositivo de medición

Puede determinar el consumo de energía del dispositivo para dispositivos Android que incluyen un indicador de carga de batería, como Summit SMB347 o Maxim MAX17050 (disponible en muchos dispositivos Nexus). Utilice el medidor del sistema cuando el equipo de medición externo no esté disponible o sea inconveniente conectarlo a un dispositivo (como en el uso móvil).

Las mediciones pueden incluir corriente instantánea, carga restante, capacidad de la batería al inicio y al final de la prueba, y más, según las propiedades admitidas del dispositivo (ver a continuación). Para obtener mejores resultados, realice mediciones de potencia del dispositivo durante pruebas A/B de larga duración que utilicen el mismo tipo de dispositivo con el mismo indicador de combustible y la misma resistencia de detección de corriente. Asegúrese de que la carga inicial de la batería sea la misma para cada dispositivo para evitar comportamientos diferentes del indicador de combustible en diferentes puntos de la curva de descarga de la batería.

Incluso en entornos de prueba idénticos, no se garantiza que las mediciones tengan una precisión absoluta y alta. Sin embargo, la mayoría de las imprecisiones específicas del indicador de combustible y la resistencia de detección son consistentes entre las pruebas, lo que hace que las comparaciones entre dispositivos idénticos sean útiles. Recomendamos ejecutar varias pruebas en diferentes configuraciones para identificar diferencias significativas y el consumo de energía relativo entre configuraciones.

Lectura del consumo de energía

Para leer datos de consumo de energía, inserte llamadas a la API en su código de prueba.

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

Propiedades disponibles

Android admite las siguientes propiedades del indicador de combustible de la batería:

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

La mayoría de las propiedades se leen de los atributos del subsistema power_supply del kernel con nombres similares. Sin embargo, las propiedades exactas, la resolución de los valores de propiedad y la frecuencia de actualización disponibles para un dispositivo específico dependen de:

  • Hardware de indicador de combustible, como Summit SMB347 o Maxim MAX17050.
  • Conexión del indicador de combustible al sistema, como el valor de las resistencias de detección de corriente externas.
  • Configuración del software del chip del indicador de combustible, como los valores elegidos para los intervalos de cálculo actuales promedio en el controlador del kernel.

Para obtener más información, consulte las propiedades disponibles para dispositivos Nexus .

Indicador máximo de combustible

Al determinar el estado de carga de la batería durante un largo período de tiempo, el indicador de combustible Maxim (MAX17050, BC15) corrige las mediciones de compensación del contador de culombios. Para mediciones realizadas durante un corto período de tiempo (como pruebas de medición del consumo de energía), el indicador de combustible no realiza correcciones, lo que hace que la compensación sea la principal fuente de error cuando las mediciones actuales son demasiado pequeñas (aunque ninguna cantidad de tiempo puede eliminar la compensación). error completamente).

Para un diseño típico de resistencia de detección de 10 mOhm, la corriente de compensación debe ser mejor que 1,5 mA, lo que significa que cualquier medición es +/-1,5 mA (el diseño de la placa de circuito impreso también puede afectar esta variación). Por ejemplo, al medir una corriente grande (200 mA), puede esperar lo siguiente:

  • 2 mA (error de ganancia del 1 % de 200 mA debido a un error de ganancia del indicador de combustible)
  • +2mA (error de ganancia del 1% de 200mA debido a un error en la resistencia de detección)
  • +1,5 mA (error de compensación de detección de corriente del indicador de combustible)

El error total es de 5,5 mA (2,75 %). Compare esto con una corriente media (50 mA) donde los mismos porcentajes de error dan un error total del 7 % o con una corriente pequeña (15 mA) donde +/-1,5 mA da un error total del 10 %.

Para obtener mejores resultados, recomendamos medir más de 20 mA. Los errores de medición de ganancia son sistemáticos y repetibles, lo que le permite probar un dispositivo en múltiples modos y obtener mediciones relativas limpias (con excepciones para la compensación de 1,5 mA).

Para mediciones relativas de +/-100uA, el tiempo de medición requerido depende de:

  • Ruido de muestreo del ADC . El MAX17050 con su configuración normal de fábrica produce una variación de muestra a muestra de +/-1,5 mA debido al ruido, y cada muestra se entrega a 175,8 ms. Puede esperar un ruido aproximado de +/-100 uA para una ventana de prueba de 1 minuto y un ruido limpio de 3 sigma inferior a 100 uA (o ruido de 1 sigma a 33 uA) para una ventana de prueba de 6 minutos.
  • Alias ​​de muestra debido a variación de carga . La variación exagera los errores, por lo que para muestras con variación inherente a la carga, considere usar una ventana de prueba más larga.

Dispositivos Nexus compatibles

Nexo 5
Modelo Nexo 5
Indicador de combustible Medidor de combustible Maxim MAX17048 (ModelGauge™, sin contador de culombios)
Propiedades BATTERY_PROPERTY_CAPACITY
Mediciones El indicador de combustible no admite ninguna medición que no sea el estado de carga de la batería con una resolución de %/256 (1/256 por ciento de la capacidad total de la batería).
Nexo 6
Modelo Nexo 6
Indicador de combustible Medidor de combustible Maxim MAX17050 (un contador de coulomb con ajustes Maxim ModelGauge™) y una resistencia de detección de corriente de 10 mohm.
Propiedades BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Mediciones Resolución CURRENT_NOW 156,25uA, el período de actualización es 175,8 ms.
Resolución CURRENT_AVERAGE 156,25uA, período de actualización configurable 0,7 s - 6,4 h, valor predeterminado 11,25 s.
La resolución de CHARGE_COUNTER (corriente acumulada, precisión no extendida) es 500uAh (lectura del contador de culombios sin procesar, no ajustada por el indicador de combustible para la compensación del contador de culombios, más entradas del algoritmo ModelGauge m3, incluida la compensación de vacío).
CHARGE_COUNTER_EXT (precisión extendida en el kernel) resolución 8nAh.
ENERGY_COUNTER es CHARGE_COUNTER_EXT a un voltaje nominal de 3,7 V.
Nexo 9
Modelo Nexo 9
Indicador de combustible Medidor de combustible Maxim MAX17050 (un contador de coulomb con ajustes Maxim ModelGauge™) y una resistencia de detección de corriente de 10 mohm.
Propiedades BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Mediciones Resolución CURRENT_NOW 156,25uA, el período de actualización es 175,8 ms.
Resolución CURRENT_AVERAGE 156,25uA, período de actualización configurable 0,7 s - 6,4 h, valor predeterminado 11,25 s.
La resolución de CHARGE_COUNTER (corriente acumulada, precisión no extendida) es 500uAh.
CHARGE_COUNTER_EXT (precisión extendida en el kernel) resolución 8nAh.
ENERGY_COUNTER es CHARGE_COUNTER_EXT a un voltaje nominal de 3,7 V.
Período de actualización actual acumulado 175,8 ms.
ADC muestreó con una cuantificación de 175 ms con un período de muestra de 4 ms. Puede ajustar el ciclo de trabajo.
Nexo 10
Modelo Nexo 10
Indicador de combustible Medidor de combustible Dallas Semiconductor DS2784 (un contador de culombios), con una resistencia de detección de corriente de 10 mohm.
Propiedades BATTERY_PROPERTY_CAPACITY
BATTERY_PROPERTY_CURRENT_NOW
BATTERY_PROPERTY_CURRENT_AVERAGE
BATTERY_PROPERTY_CHARGE_COUNTER
BATTERY_PROPERTY_ENERGY_COUNTER
Mediciones La resolución de medición actual (instantánea y promedio) es de 156,3uA.
El período de actualización actual instantánea CURRENT_NOW es de 3,5 segundos.
El período de actualización CURRENT_AVERAGE es de 28 segundos (no configurable).
La resolución de CHARGE_COUNTER (corriente acumulada, precisión no extendida) es 625uAh.
La resolución CHARGE_COUNTER_EXT (precisión extendida en el kernel) es 144 nAh.
ENERGY_COUNTER es CHARGE_COUNTER_EXT a un voltaje nominal de 3,7 V.
El período de actualización para todos es de 3,5 segundos.