5 votos

¿Cómo funciona la calibración de la batería?

Hay varios posts sobre cómo calibrar las baterías de Android, pero ninguno describe cómo funciona. ¿Cómo es que el sistema puede determinar a qué voltaje se considera que la batería está cargada al 100% (por ejemplo, 4200 mV) y a qué voltaje se considera que está descargada al 0% (por ejemplo, 3400 mV)?

"Android detiene la carga de la batería al llegar al 100%", pero si está calibrado incorrectamente, ¿cómo es que no dejará de cargar en otro voltaje (por ejemplo, 4100 mV) o incluso continuará descargándose a un voltaje por debajo de su operación normal (por ejemplo, 3200 mV)?"

Respuesta esperada:

  • La verdadera información técnica sobre cómo Android determina el nivel actual de la batería

Edición 1: Estoy enfatizando que mi pregunta no tiene nada que ver con las estadísticas de la batería y cuánta batería han utilizado las aplicaciones, sino únicamente con el procedimiento involucrado en la determinación del % de la batería

Esta es mi primera pregunta, por favor disculpe cualquier convención que podría haber omitido

0 votos

No estoy seguro si esto responde tu pregunta, pero ¿no obtiene Android información sobre el voltaje y nivel de la batería del kernel?

0 votos

@aureljared sería genial si pudieras afirmarlo definitivamente junto con una referencia. Y si es así, sería estupendo si pudieras indicarme el proceso real para determinar el nivel de porcentaje de la batería a partir de las lecturas reales del hardware. ¡Gracias de antemano!

1 votos

Esta es una pregunta muy interesante. Para el nexus 5 (que es mío), se proporciona un algoritmo para calibrar las lecturas de la batería aquí: androidpit.com/… Lo que me desconcierta, sin embargo, es que esto definitivamente parece ser un hackeo del código del firmware del OS/administrador de la batería. ¿Alguien tiene referencias específicas en el código de Android (o tal vez un fragmento de firmware) que identifique por qué esto funciona? (Idealmente, el algoritmo para determinar cuándo activar el "reset" de las estadísticas de la batería).

1voto

aspman Puntos 26

Recientemente, mirando a través del código fuente de Android (soy nuevo en la construcción de Android y todavía me estoy acostumbrando a lo que hace que Android funcione), me encontré con un archivo en algún lugar que tenía todo tipo de estadísticas y cifras de calibración.

Todas las cifras son establecidas por el proveedor del dispositivo. Desde cuántos mAhs tiene la batería, hasta qué valores afectan a la batería diferentes características del dispositivo (como la exploración WiFi, el brillo de la pantalla, etc).

Supondría que son estas cifras (del proveedor), las que el kernel utiliza para ayudarse a calcular el nivel de la batería.

Además, las baterías vienen con chips incorporados en estos días, para proporcionar protección contra la sobrecarga, etc. El chip posiblemente informa sobre su estado de salud al dispositivo. Pero esto es simplemente una suposición personal basada en el hecho de que no uso una batería de fábrica (uso una Zero Lemon en mi i9300 que triplica mi duración entre cargas), y mi teléfono nota la diferencia (no disminuye el mismo porcentaje en un tiempo dado en comparación con una batería de fábrica).

¡Espero que esto ayude!

0 votos

¡Muy convincente y elegante! Pero solo para confirmar, técnicamente estás diciendo que el sistema operativo combina su lectura de hardware de voltaje con valores preestablecidos por el proveedor (o leídos desde el chip de la batería) para determinar el porcentaje actual de la batería utilizando algún tipo de fórmula? ¡Esto definitivamente requiere referencias o para empezar donde encontraste dicho archivo!

0voto

Aftab Khan Puntos 51

No afecta a la vida de la batería, pero simplemente restablece las estadísticas de consumo de la batería, es decir, registra los cambios de batería entre diferentes actividades...

Pero esto es lo que el ingeniero de Google, Diane Hackborn, publicó en su G+

"Este archivo [batterystats.bin] se utiliza para mantener, a través de reinicios, datos de bajo nivel sobre los tipos de operaciones que el dispositivo y sus aplicaciones realizan entre cambios de batería. Es decir, se utiliza únicamente para calcular la responsabilidad del uso de la batería que se muestra en la interfaz de "Uso de la batería" en la configuración. Es decir, tiene cosas profundamente significativas como "la aplicación X mantuvo un bloqueo de actividad durante 2 minutos" y "la pantalla estuvo encendida al 60% de su brillo durante 10 minutos". No tiene impacto en el nivel actual de la batería mostrado para ti. No tiene impacto en la vida de tu batería."

1 votos

Entendido (He leído su post anteriormente) batterystats.bin no es responsable de determinar el % de batería actual pero qué lo es y cómo funciona? -(aclaración: mi pregunta no tiene nada que ver con cómo se producen las estadísticas de batería por aplicación)

0 votos

La calibración de la batería elimina este archivo, obligando al sistema operativo Android a obtener estas estadísticas nuevamente. Recuerda que se te pedirá calibrar una vez que alcance el 100 por ciento, y se te pedirá que lo descargues al 0 por ciento. Las estadísticas se recopilan desde cero. De esta manera tendrás una indicación adecuada de la batería (piensa que las aplicaciones actualizadas pueden consumir menos batería).

0 votos

No entiendo! Si las estadísticas son eliminadas, entonces ¿cómo puedo confiar en que si lo cargo al 100% sea realmente el límite superior de mi batería (ya que las estadísticas se han eliminado, ¡Android está mostrando una indicación falsa de mi batería!) Además, ¡aún no has dicho dónde se está almacenando la nueva información! ¡Solo que no es en el archivo batterystats.bin! ¡Esperaba una explicación detallada de cómo funciona! ¡Por favor, sé más técnico!

0voto

jay Puntos 11

Almacenado en el kernel. Compilado usando valores conocidos para hardware específico. Flasheado a ROM. Lee el valor actual. Lo convierte en porcentaje.

1 votos

¡Brillante @jay! Tiene mucho sentido. ¡Esta era la respuesta que estaba esperando! Sin embargo, nuevamente le faltan referencias de respaldo y tiene una ambigüedad general en su redacción. Por favor edita, esta podría ser la respuesta aceptada gracias de antemano

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X