"Después del juego es antes del juego"
Sepp Herberger

martes, 23 de julio de 2019

Control del estado de salud de la batería de nuestros portátiles.

El tener muchos portátiles iguales facilita que cuando la batería de uno de ellos se degrada y empieza a funcionar peor podemos comparar entre ellos e identificar las que están degenerando de una forma real.

Como en nuestro caso la garantía de los contratos cubre la batería durante varios años hemos pensado en cómo hacer una revisión de algunos modelos que daban signos de agotamiento, con el objeto de que nos cambien las baterías defectuosas antes de que expire la garantía.

En mi caso son portátiles Inves Helio-1106L, que son remarcados de Clevo W310CZ (y que se vende con otros etiquetados como Stone N120, Zoostorm 7270-9062, ...). Todos son el mismo.

1. Un poco de teoría de baterías.

Las características de una batería se definen por los mAh y el voltaje. Por ejemplo, para nuestros portátiles Inves tenemos baterías de 2800mAh y 14.8V, como se puede apreciar en la pegatina que traen (los Clevo originales traían baterías de 2200mAh, pero seguramente fueron ampliadas por requisitos del contrato, las cuales pedían una duración de 4 horas de uso medio según diversos tests).

Multiplicando ambos valores obtenemos la capacidad de energía acumulada, que sería 2.800*14.8=41.440wh. Eso significa que si el portátil consume de promedio 11w encendido, con 41.4wh tiene para 41.4/11=3.76 horas de funcionamiento. Con el tiempo y los ciclos de carga-descarga esa capacidad va mermando y es ese porcentaje de merma lo que queremos medir.

Para saber en tiempo real los datos de la batería usamos el comando upower. Cojo un portátil Inves cualquiera, lo cargo al 100% y con él enchufado a la corriente hago:
# upower -i /org/freedesktop/UPower/devices/battery_BAT0  
    .....
    energy:              30,0884 Wh
    energy-full:         30,0884 Wh 
    energy-full-design:  41,44 Wh  
    .....
    capacity:            72,6071%
Lo interesante: la capacidad por diseño de batería es 41.44wh. La capacidad real actual con la batería llena es de 30.08wh, por lo que la capacidad real en este momento es un 72% de la original. En nuestro caso la batería se considera averiada a efectos de garantía si está por debajo del 30%, por lo que de momento se libra de ser cambiada. De esta forma chequearemos todos los portátiles que deseemos.

Si nuestra batería tiene una ruta de acceso distinta de /org/freedesktop/UPower/devices/battery_BAT0 la podemos averiguar con:
# upower -e | grep BAT

2. Testeando la batería.

Una vez embarcado en esto, se me ha ocurrido chequear la bateria durante un ciclo de descarga, para hacerme una idea de su estado, duración y comprender el proceso de drenaje. Los datos que tomaré serán:
# upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage|energy"
    state:               fully-charged
    energy:              30,0884 Wh
    energy-empty:        0 Wh
    energy-full:         30,0884 Wh
    energy-full-design:  41,44 Wh
    energy-rate:         0 W
    percentage:          100%
Con los que haré un bucle que cada minuto guarde ese resultado en un log hasta que el portátil se apague por falta de energía. Para conseguir simular un uso continuo y exhaustivo desconectaré el apagado de pantalla (con xset), pondré el brillo al máximo (con xrandr), simularé mover el ratón cada minuto para evitar entradas en modo ahorro de energía (con xte) y mientras tanto reproduciré un vídeo de youtube de varias horas de duración conectado a la red wifi.

Este es el sript check-bateria.sh
#!/bin/bash
xset s off -dpms

while true
do
   xrandr --output eDP-1 --brightness 1.0
   xte   'mousermove 4 4'
   date >>  ~/log-bateria.txt
   upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage|energy" >> ~/log-bateria.txt
   sleep 60
   xte  'mousermove -4 -4'
done
exit 0
Los pasos a seguir son encender el portátil con la batería cargada al 100%, iniciar sesión, conectar la wifi, iniciar el vídeo de Youtube y ejecutar el script anterior, dejando todo en marcha hasta que el portátil se apague.

Un resumen de los datos capturados sería:
lun jul 22 10:04:51 CEST 2019
state:               fully-charged
energy:              30,0884 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         0 W
percentage:          100%
.................................
.................................
lun jul 22 10:06:51 CEST 2019
state:               discharging
energy:              30,0884 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         0 W
percentage:          100%
lun jul 22 10:07:51 CEST 2019
state:               discharging
energy:              29,6 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         0 W
percentage:          98%
.................................
.................................
lun jul 22 10:09:52 CEST 2019
state:               discharging
energy:              29,0968 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         14,9184 W
percentage:          96%
.................................
.................................
lun jul 22 10:14:52 CEST 2019
state:               discharging
energy:              28,1052 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         14,9057 W
percentage:          93%
.................................
.................................
lun jul 22 11:47:59 CEST 2019
state:               discharging
energy:              2,812 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         16,8519 W
percentage:          9%
lun jul 22 11:48:59 CEST 2019
state:               discharging
energy:              2,0276 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         43,2254 W
percentage:          6%
lun jul 22 11:49:59 CEST 2019
state:               discharging
energy:              1,7316 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         29,9519 W
percentage:          5%
lun jul 22 11:51:00 CEST 2019
state:               discharging
energy:              1,4504 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         17,1257 W
percentage:          4%
lun jul 22 11:52:00 CEST 2019
state:               discharging
energy:              1,1544 Wh
energy-empty:        0 Wh
energy-full:         30,0884 Wh
energy-full-design:  41,44 Wh
energy-rate:         17,6331 W
percentage:          3%
Conclusiones:
  • El consumo instantáneo (energy-rate) está entre 15 y 17.5 watios de promedio. Con 30.0884wh de capacidad aguantaría una hora y 48 minutos de uso continuo intensivo = 1.8 horas expresado en valor decimal.
  • Con los 41.44 Wh iniciales nos daría dos horas y media de uso intensivo, 2.5 horas en valor decimal.
  • Según upower la batería está en el 72,6071% de su capacidad inicial de fábrica. Para cotejar con la realidad hallamos la razón de las duraciones con el cociente 1.8/2.5 = 0.72. Correcto, coincide con lo estimado por upower.
Como la batería aún retiene un 72% de su capacidad de carga inicial no podemos reemplazarla usando la garantía. Bueno, otra vez será.


Ayer día 22 la India lanzó la nave Chandrayaan 2 en dirección a la Luna, con la intención de aterrizar un rover y convertirse en el cuarto país en la historia que ha puesto de forma controlada una sonda de exploración en la superficie de nuestro satélite.


Esto lo hace sin asistencia de ningún otro país, con su programa espacial propio y de forma autónoma.

El coste de la misión es de 126 millones de euros. El coste de una repetición de elecciones en 2019 en el Reino de España sería superior a los 140 millones de euros. Como vemos, cada uno hace lo que puede según su capacidad.

2 comentarios: