Dispositivo de medición de potencia

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

Las mediciones pueden incluir la corriente instantánea, la carga restante, la capacidad de la batería al inicio y al final de la prueba, y más, según las propiedades compatibles del dispositivo (consulte a continuación). Para obtener los mejores resultados, realice mediciones de potencia del dispositivo durante pruebas A/B de ejecución prolongada 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 un comportamiento diferente del indicador de combustible en diferentes puntos de la curva de descarga de la batería.

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

Consumo de energía de lectura

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 núcleo 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, consulta las propiedades disponibles para los dispositivos Nexus .

Medidor 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 de Maxim (MAX17050, BC15) corrige las mediciones de compensación del contador de culombios. Para las mediciones realizadas durante un período corto de tiempo (como las 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 por completo).

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 de +/-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:

  • 2mA (1% de error de ganancia de 200mA debido a un error de ganancia del indicador de combustible)
  • +2mA (1% de error de ganancia de 200mA debido a un error de 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 (50mA) donde los mismos porcentajes de error dan un error total del 7% o con una corriente pequeña (15mA) donde +/-1.5mA da un error total del 10%.

Para obtener los 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, con cada muestra entregada a 175,8 ms. Puede esperar un valor aproximado de +/-100 uA para una ventana de prueba de 1 minuto y un ruido limpio de 3 sigma de menos de 100 uA (o un ruido de 1 sigma a 33 uA) para una ventana de prueba de 6 minutos.
  • Ejemplo de alias debido a la variación de la 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 Indicador de combustible Maxim MAX17048 (ModelGauge™, sin contador de culombios)
Propiedades CAPACIDAD_PROPIEDAD_BATERÍA
Mediciones El indicador de combustible no admite ninguna otra medida que no sea el estado de carga de la batería con una resolución de %/256 (1/256 de un porcentaje de la capacidad total de la batería).
nexo 6
Modelo nexo 6
Indicador de combustible Indicador de combustible Maxim MAX17050 (un contador de culombios con ajustes Maxim ModelGauge™) y una resistencia de detección de corriente de 10 mohm.
Propiedades CAPACIDAD_PROPIEDAD_BATERÍA
BATERÍA_PROPIEDAD_ACTUAL_AHORA
BATERÍA_PROPIEDAD_ACTUAL_PROMEDIO
BATTERY_PROPERTY_CHARGE_COUNTER
BATERÍA_PROPIEDAD_CONTADOR_ENERGÍA
Mediciones Resolución CURRENT_NOW 156.25uA, el período de actualización es 175.8ms.
Resolución CURRENT_AVERAGE 156.25uA, período de actualización configurable 0.7s - 6.4h, predeterminado 11.25 seg.
La resolución CHARGE_COUNTER (corriente acumulada, precisión no extendida) es de 500 uAh (lectura del contador de coulomb sin procesar, no ajustada por el indicador de combustible para la compensación del contador de coulomb, más entradas del algoritmo ModelGauge m3, incluida la compensación de vacío).
CHARGE_COUNTER_EXT (precisión extendida en 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 Indicador de combustible Maxim MAX17050 (un contador de culombios con ajustes Maxim ModelGauge™) y una resistencia de detección de corriente de 10 mohm.
Propiedades CAPACIDAD_PROPIEDAD_BATERÍA
BATERÍA_PROPIEDAD_ACTUAL_AHORA
BATERÍA_PROPIEDAD_ACTUAL_PROMEDIO
BATTERY_PROPERTY_CHARGE_COUNTER
BATERÍA_PROPIEDAD_CONTADOR_ENERGÍA
Mediciones Resolución CURRENT_NOW 156.25uA, el período de actualización es 175.8ms.
Resolución CURRENT_AVERAGE 156.25uA, período de actualización configurable 0.7s - 6.4h, predeterminado 11.25 seg.
La resolución CHARGE_COUNTER (corriente acumulada, precisión no extendida) es de 500 uAh.
CHARGE_COUNTER_EXT (precisión extendida en 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.8ms.
ADC muestreado a 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 Indicador de combustible Dallas Semiconductor DS2784 (un contador de coulomb), con una resistencia de detección de corriente de 10 mohm.
Propiedades CAPACIDAD_PROPIEDAD_BATERÍA
BATERÍA_PROPIEDAD_ACTUAL_AHORA
BATERÍA_PROPIEDAD_ACTUAL_PROMEDIO
BATTERY_PROPERTY_CHARGE_COUNTER
BATERÍA_PROPIEDAD_CONTADOR_ENERGÍA
Mediciones La resolución de la medida de corriente (instantánea y media) es de 156,3 uA.
CURRENT_NOW el período de actualización actual instantáneo es de 3,5 segundos.
El período de actualización CURRENT_AVERAGE es de 28 segundos (no configurable).
La resolución CHARGE_COUNTER (corriente acumulada, precisión no extendida) es de 625uAh.
La resolución CHARGE_COUNTER_EXT (precisión extendida en el kernel) es de 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.