← Índice del curso

Sistemas Embebidos · Tema 33 · Bloque 7

Cómo se consume la energía

Un dispositivo a batería promete «dos años de autonomía» y a los cuatro meses hay que cambiarle la pila. Casi siempre, la causa no es un chip defectuoso sino una cuenta que nunca se hizo: dónde se va cada microamperio, durante cuánto tiempo, y cuánta energía entrega de verdad la batería. Este tema construye esa cuenta desde cero: las magnitudes básicas, de dónde sale el consumo de un chip y de lo que lo rodea, cómo se promedia un perfil de consumo que pasa de microamperios a decenas de miliamperios, y cómo se convierte en una autonomía creíble.

01 · El cuarto recurso

Por qué importa la energía

En el tema 2 vimos que la energía es uno de los recursos que limitan un sistema embebido, junto con la memoria y el tiempo de CPU. A diferencia de ellos, se acaba de forma literal: un dispositivo a batería tiene una cantidad finita de energía almacenada, y todo lo que hace (cada instrucción, cada pulso de radio, cada LED encendido) la gasta. Un firmware que cumple todos los requisitos funcionales pero agota la batería en un mes no cumple el producto.

Cuatro motivos hacen que la energía importe incluso cuando el equipo se enchufa a la pared:

  • Autonomía. En un equipo a pila o batería, define cada cuánto hay que cambiarla o recargarla: la diferencia entre un sensor que se instala y se olvida y uno que obliga a visitar el campo cada trimestre.
  • Tamaño y costo. Una batería más chica o más barata es posible si el consumo es menor. Reducir el consumo a la mitad permite una pila de la mitad de tamaño, o el doble de autonomía con la misma.
  • Calor. Toda la energía eléctrica que entra se convierte en calor. Un equipo cerrado, sin ventilación, que consume de más se calienta, y la temperatura reduce la vida de los componentes y de la batería.
  • Fuente de alimentación. Cada miliamperio extra exige un regulador, un cable y un cargador más grandes, y en equipos alimentados por un bus (USB, Power over Ethernet) hay límites estrictos de corriente.

Pero antes de reducir el consumo, hay que saber de dónde viene. Un microcontrolador moderno puede consumir desde unos pocos nanoamperios (dormido, con solo un reloj de tiempo real) hasta decenas de miliamperios (a máxima velocidad, con un periférico de radio transmitiendo): un rango de cinco o seis órdenes de magnitud. Por eso lo importante no es una cifra, sino el perfil a lo largo del tiempo.

Unidades de corriente y energía, con órdenes de magnitud típicos (varían mucho según el chip y la condición).
CantidadEquivale aEjemplo típico
1 A1000 mAUn motor pequeño, un LED de potencia; una carga rápida de teléfono es de varios A
1 mA1000 µAUn LED indicador; un microcontrolador activo a baja velocidad
1 µA1000 nAUn microcontrolador dormido con el reloj de tiempo real; un divisor resistivo de 3,3 MΩ
1 nA0,001 µAEl límite de los modos de apagado más profundos
1 mAh3,6 coulombs (C)La capacidad se mide en mAh: una corriente de 1 mA sostenida durante 1 hora
1 mWh3,6 joules (J)La energía: 1 mW sostenido durante 1 hora

02 · El vocabulario

Las magnitudes: V, I, P, E y Q

Cinco magnitudes alcanzan para todo el bloque, y conviene tenerlas claras porque se confunden fácilmente:

Magnitudes eléctricas básicas del consumo.
MagnitudSímbolo y unidadRelaciónQué representa
TensiónV (voltio)—La «presión» eléctrica de la alimentación: 1,8 V, 3,3 V, 5 V
CorrienteI (amperio)—El flujo de carga en cada instante: cuánto «circula» ahora
PotenciaP (vatio)P = V · ICon qué rapidez se gasta energía en cada instante
EnergíaE (julio, o Wh)E = P · tCuánto se gastó en total en un intervalo
CargaQ (coulomb, o mAh)Q = I · tCuánta carga circuló; es lo que se mide y se compara con la capacidad de una batería

Un ejemplo con cifras. Un microcontrolador alimentado a 3,3 V que consume 12 mA tiene una potencia de 3,3 V × 12 mA = 39,6 mW. Si trabaja una hora a ese ritmo, gasta 39,6 mWh de energía y ha consumido 12 mAh de carga. La energía depende de la tensión y la carga no, y esa diferencia importa:

  • La corriente es la cifra que se mide (con un amperímetro o un analizador, tema 36) y la que las hojas de datos de los microcontroladores especifican. Por eso en el bloque se trabaja casi siempre con corriente y carga.
  • La capacidad de una batería se da en mAh, una cantidad de carga. Dividir esa capacidad por la corriente media da las horas de funcionamiento: una pila de 2500 mAh alimentando 50 µA (0,05 mA) dura 2500 / 0,05 = 50 000 horas, unos 5,7 años (si no hubiera otras pérdidas, y las hay).
  • La energía importa cuando cambia la tensión: un regulador que baja de 5 V a 3,3 V (apartado 6) entrega la misma corriente que consume pero toma de la fuente energía a 5 V; la diferencia se disipa como calor. Y entre baterías de química diferente, la comparación justa es en energía (mWh), no en mAh.

Dos cuentas que se usan constantemente y que conviene dominar:

Las dos cuentas fundamentales.
CuentaFórmulaEjemplo
Corriente media de un cicloImedia = (I1·t1 + I2·t2 + …) / T15 mA durante 6 ms y 2 µA el resto de un ciclo de 10 s: (15 · 0,006 + 0,002 · 9,994) / 10 ≈ 0,011 mA = 11 µA
Autonomíahoras = capacidad útil (mAh) / Imedia (mA)1875 mAh / 0,014 mA ≈ 134 000 horas ≈ 15 años (antes de la autodescarga)

Y una trampa de unidades que cuesta caro: dos pilas en serie suman tensión, no capacidad. Dos pilas AA de 1,5 V y 2500 mAh en serie dan 3 V y 2500 mAh, no 5000. Solo conectadas en paralelo se suma la capacidad (y la tensión se queda en 1,5 V). Confundirlo duplica la autonomía calculada.

03 · Adentro del silicio

Dónde se va la energía en un chip

Un microcontrolador está hecho de miles o millones de transistores en tecnología CMOS. Su consumo tiene dos orígenes de naturaleza muy distinta, y entenderlos explica casi todas las técnicas de ahorro de los temas siguientes:

Consumo dinámico y consumo estático de un circuito CMOS.
TipoDe dónde vieneDe qué dependeCómo se reduce
DinámicoCada vez que un transistor conmuta, carga y descarga unas capacidades parásitasP ≈ α · C · V2 · f: la actividad, la capacitancia, el cuadrado de la tensión y la frecuenciaBajar la frecuencia; bajar la tensión; apagar el reloj de lo que no se usa (clock gating)
Estático (fugas)Los transistores nunca cortan del todo: siempre pasa una pequeña corriente, aunque nada conmuteDe la tensión, de la tecnología (los procesos más finos fugan más) y mucho de la temperaturaApagar los bloques que no se usan; dormir; bajar la tensión; evitar el calor

Lo que importa de esta tabla para quien programa:

  • El consumo activo crece con la frecuencia. Las hojas de datos lo expresan como una cifra en µA por MHz: un núcleo de 80 µA/MHz a 48 MHz consume unos 3,8 mA solo en el núcleo. Duplicar la frecuencia duplica aproximadamente la parte dinámica.
  • Pero ir más despacio no siempre ahorra energía. A mitad de frecuencia, la corriente dinámica baja a la mitad, pero la tarea tarda el doble, de modo que la energía dinámica por tarea es la misma (la tarea requiere un número fijo de conmutaciones). En cambio, el consumo fijo (fugas, regulador, flash, reloj) se paga durante el doble de tiempo. Por eso, cuando hay un consumo fijo apreciable, suele convenir terminar rápido y volver a dormir (race to sleep). La Parte 5 del programa de Python lo calcula: una tarea de un millón de ciclos por segundo gasta 393,5 µJ a 8 MHz, 332,1 µJ a 16 MHz y 291,1 µJ a 48 MHz, es decir, cuanto más rápido, menos energía, porque el consumo fijo pesa menos. Esto no es una regla universal: depende de las cifras del chip, y lo definen las mediciones.
  • La tensión pesa al cuadrado. Bajar de 3,3 V a 1,8 V reduce la potencia dinámica a (1,8 / 3,3)2 ≈ 30 %. Por eso muchos chips funcionan en un rango amplio (1,8 a 3,6 V) y rinden más con la tensión más baja que permite el sistema, siempre que alcance para la frecuencia elegida.
  • La temperatura agranda las fugas. La corriente de reposo de un chip a 85 °C puede ser varias veces la que tiene a 25 °C. Un equipo que se mide en la mesa y se instala al sol consume más de lo medido.

Dentro del chip, el consumo se reparte entre bloques que el firmware puede controlar:

Los consumidores dentro de un microcontrolador y qué los controla.
BloqueCuándo consumeCómo lo maneja el firmware
Núcleo (CPU)Cada ciclo en que ejecuta instruccionesMenos instrucciones, menos tiempo despierto; WFI para detenerlo (tema 34)
FlashCada lectura de instrucción; las esperas a frecuencias altasUna frecuencia que no requiera esperas, cachés; ejecutar desde RAM en casos puntuales
Árbol de reloj y PLLSiempre que el reloj está activoApagar el PLL si no hace falta; elegir el oscilador más lento que alcance
Periféricos (temporizadores, UART, SPI, ADC)Mientras su reloj está habilitado, trabajen o noHabilitar el reloj solo mientras se usa (tema 9); apagar el ADC entre mediciones
RadioAl transmitir y al recibir (decenas de mA)Transmitir lo menos posible y de la forma más breve; es casi siempre el mayor consumidor
Pines (GPIO)Cuando excitan una carga o hay una resistencia que conduceConfigurarlos en un estado que no consuma; evitar entradas flotantes (tema 35)

04 · Lo que rodea al chip

Los consumidores fuera del núcleo

Un error común es optimizar el firmware al máximo, medir el consumo y descubrir que el microcontrolador es la menor parte. Alrededor de él hay componentes que consumen sin que ninguna línea de código los controle, y muchos consumen siempre:

Consumidores externos al microcontrolador, con cuentas de ejemplo (3,3 V).
ComponenteCuentaConsumoQué hacer
Resistencia de pull-up de 10 kΩ con el pulsador apretado3,3 V / 10 kΩ330 µA, constantes mientras se mantiene apretadoPull-ups internos o de valor mayor; muestrear la entrada solo cuando hace falta
Divisor resistivo de 100 kΩ + 100 kΩ (para medir una tensión)3,3 V / 200 kΩ16,5 µA, siempreValores mayores (MΩ) si el ADC lo tolera, o conectar el divisor solo durante la medición con un pin
LED indicador con resistencia de 1 kΩ (caída de 2 V)(3,3 − 2) V / 1 kΩ1,3 mA mientras está encendidoPulsos cortos (algunos ms cada segundo); corriente menor; LED de alto rendimiento
Sensor analógico o digitalHoja de datosDesde nA (dormido) hasta mA (midiendo)Modos de bajo consumo del sensor; alimentarlo desde un pin solo para medir
Memoria flash externa o tarjeta SDHoja de datosPico de decenas de mA al escribir; unos µA dormidaApagarla (o ponerla en el modo de bajo consumo) entre accesos
Pantalla con retroiluminaciónHoja de datosDe mA a decenas de mAApagar la retroiluminación; pantallas de papel electrónico si solo cambia a veces
Regulador de tensiónCorriente de reposo (quiescent)De 1 µA a más de 100 µA, siempreElegirlo de bajo reposo (apartado 6)

La lección es de método: la medición del consumo se hace de la placa completa, no del chip aislado, porque una resistencia de 10 kΩ en una entrada puede gastar más que el microcontrolador entero dormido (330 µA contra unos pocos µA). Y los componentes que quedan encendidos «porque siempre estuvieron ahí» son los que más sorprenden. Un buen ejercicio de diseño es recorrer el esquema electrónico componente por componente y preguntar de cada uno: ¿cuánta corriente toma?, ¿cuándo?, ¿puedo apagarlo?

05 · La historia del consumo

Perfil de consumo y corriente media

Un nodo sensor típico duerme casi todo el tiempo, se despierta para medir, transmite y vuelve a dormir. Su corriente en función del tiempo parece una serie de espigas sobre una línea casi plana:

Perfil de consumo de un nodo sensor Gráfico esquemático de corriente en función del tiempo. Casi todo el tiempo la corriente es mínima (dormido). Cada ciclo hay un pulso de 3 miliamperios de unos 10 milisegundos para medir y, a continuación, un pulso de 15 miliamperios de 6 milisegundos para transmitir. Tres ciclos se repiten con períodos de 10 segundos. La corriente media, de 14 microamperios, está muy por debajo de los picos y no puede dibujarse a escala. 15 mA3 mA≈ 0 CorrienteTiempo medir (10 ms)transmitir (6 ms) dormido: 2 µA (casi todo el ciclo) período de 10 s media = 14 µA (fuera de escala) Los picos son más de mil veces la media: la espiga más alta no es lo que decide la autonomía, sino cuánto dura.

La corriente que importa para la batería es la media ponderada por el tiempo: la carga total de un ciclo dividida por su duración. Con el perfil de la figura (medir 3 mA durante 10 ms, transmitir 15 mA durante 6 ms, dormir 2 µA el resto de un ciclo de 10 s), la Parte 2 del programa de Python da 14 µA de media. El reparto no es el que se espera:

Reparto de la carga de un ciclo de 10 s (resultado de la Parte 2 del programa).
EstadoCorrienteDuraciónAporte a la media% de la carga
Medir con el sensor3 mA10 ms3,00 µA21,4 %
Transmitir por radio15 mA6 ms9,00 µA64,3 %
Dormido2 µA9984 ms2,00 µA14,3 %

El dispositivo está activo solo el 0,16 % del tiempo y aun así esa fracción aporta el 86 % de la carga; el dormido, que ocupa el 99,84 % del ciclo, aporta el 14 %. Ninguno de los dos extremos puede ignorarse. Y la comparación de lo que «cuesta» mejorar cada parte (Parte 4) cambia las prioridades:

Autonomía con dos pilas AA según la mejora aplicada (resultado de la Parte 4).
CambioAutonomíaVariación
Perfil base10,86 años—
Mitad de corriente dormida (1 µA)11,44 años+5,3 %
Mitad de tiempo de medida (5 ms)11,75 años+8,2 %
Mitad de tiempo de radio (3 ms)14,07 años+29,6 %
Un regulador con 50 µA de reposo3,07 años−71,7 %

Dos conclusiones. Primera: en este perfil, lo que más rinde es acortar la transmisión (reducir a la mitad el tiempo de radio, 3 ms menos, rinde casi seis veces más que bajar el reposo de 2 a 1 µA), porque la radio concentra la mayor parte de la carga. En otro perfil (un periodo de una hora, por ejemplo) mandaría el reposo. Segunda: un componente de reposo mal elegido puede arruinar todo: un regulador con 50 µA de reposo, que parece inofensivo, divide la autonomía por más de tres, porque multiplica varias veces la corriente media. Nada de esto se ve sin hacer la cuenta.

La regla de trabajo es el análisis de sensibilidad: antes de optimizar, calcular cuánto cambiaría la autonomía si cada parámetro mejorara un 50 %, y atacar el que más rinde. El laboratorio de este tema lo hace con tus propios números.

06 · De la batería al chip

Reguladores y alimentación

La tensión de la batería casi nunca coincide con la que necesita el microcontrolador, y entre las dos suele haber un regulador de tensión. Es un consumidor más, y a veces el más importante. Hay dos familias, con costos distintos:

Reguladores lineales y conmutados.
TipoCómo funcionaRendimientoCuándo conviene
Lineal (LDO)Se comporta como una resistencia variable: «quema» la diferencia de tensión como calorη = Vsalida / Ventrada (con la misma corriente de entrada y de salida, más el reposo)Diferencias de tensión chicas; cargas pequeñas; equipos sin ruido electrónico
Conmutado (buck, boost)Almacena y entrega energía con una inductancia, conmutando a alta frecuenciaDel 85 % al 95 % a carga media; baja mucho con cargas muy pequeñasDiferencias de tensión grandes y corrientes altas; cuando la batería es de alta tensión

El rendimiento de un LDO lo da la relación de tensiones, y se calcula sin más que dividir: alimentando 3,3 V desde una batería de 3,7 V, η = 3,3 / 3,7 ≈ 89 %; desde 5 V, 66 %; desde 9 V, 37 %. Cuanto mayor la diferencia, más energía se pierde en calor. Pero el parámetro más importante para un dispositivo que duerme casi todo el tiempo no es el rendimiento, es la corriente de reposo (quiescent current, Iq): la que el propio regulador consume aunque la carga no pida nada.

Un LDO común puede tener una Iq de decenas de µA. Si el microcontrolador dormido consume 2 µA, un regulador con 50 µA de Iq consume 25 veces más que el chip que alimenta: la autonomía de la Parte 4 pasa de 10,86 a 3,07 años. Existen reguladores de bajo reposo, con Iq del orden de 1 µA o menos, que dejan el consumo casi igual (10,33 años en el ejemplo). Es la elección de componente que más pesa en un dispositivo a pila, y una de las que menos se discuten.

  • La mejor opción suele ser no usar regulador. Muchos microcontroladores funcionan con un rango amplio (por ejemplo, de 1,8 V a 3,6 V). Una pila de 3 V o un par de AA alimentan el chip directamente, sin pérdidas ni reposo extra. Hay que verificar que la tensión mínima de la batería descargada siga dentro del rango del chip y de los periféricos analógicos, y que el nivel de brown-out (tema 37) esté bien configurado.
  • Con batería recargable de iones de litio (de 4,2 V llena a unos 3,0 V vacía) hace falta casi siempre regular, porque cubre un rango que excede el del chip; ahí un LDO de bajo reposo o un convertidor eficiente de bajo reposo son la solución.
  • La tensión de referencia del ADC (tema 9) suele depender de la alimentación; si la tensión de la batería baja, las lecturas del ADC se corren. Con alimentación directa se usa una referencia interna estable, o se mide la propia tensión.

07 · Quién entrega la energía

Las baterías

La batería es la otra mitad de la cuenta. Hay muchas químicas, con propiedades que determinan cuáles sirven para cada producto. Las más frecuentes en sistemas embebidos:

Baterías comunes en sistemas embebidos (valores típicos orientativos: la hoja de datos de la celda concreta manda).
TipoTensiónCapacidad típicaAutodescargaFortalezasLimitaciones
Moneda de litio (CR2032)3 VUnos 220 mAh≈ 1 % por añoChica, barata, larga vida en reposoEntrega poca corriente; los pulsos altos hacen caer la tensión
Alcalina (AA, AAA)1,5 V cada una (2 en serie para 3 V)AA: unos 2500 mAh con carga liviana≈ 2 % por añoBarata, fácil de conseguirLa tensión baja de forma continua al descargarse; pierde mucha capacidad con cargas altas y frío
Litio-cloruro de tionilo (Li-SOCl2)3,6 VUna celda AA: unos 2500 mAhMenos del 1 % por añoMuy alta capacidad por tamaño, tensión muy estable, 10 a 20 añosPulsos altos difíciles (hace falta un condensador); costo alto; no recargable
LiPo y Li-ion recargables3,7 V nominal (4,2 V llena, ≈ 3,0 V vacía)Desde 100 mAh a varios AhDel orden del 2 al 5 % por mesRecargable; entrega corrientes altas; alta densidad de energíaRequiere un cargador con protecciones; autodescarga alta; riesgo si se la maltrata; la capacidad cae con el tiempo
LiFePO43,2 VDesde 500 mAh a varios AhBajaMuy segura y muchos ciclos de cargaMenor densidad de energía
NiMH1,2 VAA: de 1000 a 2500 mAhAlta (las comunes) o baja (las de «baja autodescarga»)Recargable, reemplaza las alcalinasTensión menor; la curva es casi plana y difícil de usar para estimar la carga

Ninguna es «la mejor»: un reloj usa una moneda por tamaño, un sensor de campo de diez años usa Li-SOCl2 por vida, un equipo portátil usa LiPo por recargabilidad. La elección sale de la cuenta del apartado siguiente.

La capacidad nominal no es la capacidad real

La cifra de mAh de una etiqueta se mide en condiciones ideales: carga liviana, temperatura ambiente, una tensión final de corte baja. La capacidad que se obtiene en un producto real es siempre menor, por seis razones que hay que tener presentes:

  1. La corriente. Cuanto mayor la corriente que se pide, menor la capacidad que se entrega (las alcalinas son muy sensibles). Con pulsos altos, además, la resistencia interna de la celda hace caer la tensión durante el pulso: una moneda que entrega 15 mA durante 6 ms puede caer por debajo de la tensión mínima del chip y provocar un reinicio por brown-out (tema 37), aunque la carga total sea mínima. Se resuelve con un condensador en paralelo que aporte el pico, o con una química que entregue más corriente.
  2. La temperatura. El frío reduce la capacidad y aumenta la resistencia interna (una alcalina a −10 °C entrega una fracción de lo nominal); el calor acelera el envejecimiento y la autodescarga.
  3. La autodescarga. La batería se vacía sola, aunque no se use. Equivale a una corriente continua adicional: una celda de 2500 mAh con 2 % anual pierde el equivalente a 5,7 µA permanentes, más que todo el consumo de un nodo bien diseñado. Para dispositivos de muy bajo consumo, la autodescarga es un parámetro tan importante como el consumo del firmware.
  4. La tensión de corte. La batería deja de ser útil cuando su tensión baja de la mínima que tolera el sistema, no cuando está realmente vacía. Con un chip que necesita 1,8 V como mínimo, una alcalina alcanza ese punto antes de agotarse; con un regulador con caída (dropout), antes todavía.
  5. El envejecimiento. Las recargables pierden capacidad con cada ciclo y con los años; las no recargables, con el tiempo en el almacén.
  6. La dispersión de fabricación. Dos celdas «iguales» no tienen la misma capacidad.

Por todo esto se aplica un factor de seguridad (derating): se usa para el cálculo solo una fracción de la capacidad nominal, típicamente del 70 al 80 %, que coincide con la «holgura de 20 a 30 %» del tema 2. El programa de Python y el laboratorio usan el 75 %. Y para productos que se instalan en lugares fríos o con picos altos, se aplica más reducción todavía.

La Parte 3 del programa muestra la diferencia que hace la autodescarga con el mismo consumo de 14 µA:

Autonomía del mismo nodo (14 µA de media) con distintas baterías, usando el 75 % de la capacidad nominal.
BateríaAutodescarga equivalenteSin autodescargaCon autodescarga
CR2032 (220 mAh)0,25 µA1,3 años1,3 años
2 pilas AA alcalinas (2500 mAh)5,70 µA15,3 años10,9 años
Pila AA de Li-SOCl2 (2500 mAh)2,85 µA15,3 años12,7 años
LiPo de 1000 mAh34,22 µA6,1 años1,8 años

Dos lecciones: la LiPo, sin recarga, pierde más de dos tercios de su autonomía por autodescarga, de modo que no sirve para un sensor que deba durar años sin cargarse; y la moneda, con 14 µA de media, apenas llega al año y medio: si el perfil tuviera la radio de 15 mA, además, la moneda no podría entregar los pulsos. Cada batería tiene su terreno.

08 · La cuenta completa

El presupuesto de energía

Reunidas las piezas, el presupuesto de energía es la cuenta que convierte un perfil de consumo en una autonomía, y se hace antes de elegir la batería y el chip, no después. Es una tabla, y se llena en un orden fijo:

Pasos del presupuesto de energía.
PasoQué se haceResultado del ejemplo
1. Enumerar los estadosDormido, medición, procesamiento, transmisión, recepción… cada uno con su duración por cicloTres estados en un ciclo de 10 s
2. Asignar una corriente a cada unoSumando todos los componentes de la placa activos en ese estado (chip, sensor, regulador, resistencias), de la hoja de datos o de una medición2 µA, 3 mA y 15 mA
3. Calcular la corriente mediaΣ Ii · ti / T14 µA
4. Sumar lo que no es el firmwareCorriente de reposo del regulador, autodescarga de la batería, fugas+ 5,7 µA de autodescarga
5. Calcular la capacidad útilCapacidad nominal × factor de seguridad (70–80 %), por temperatura y envejecimiento2500 mAh × 0,75 = 1875 mAh
6. DividirAutonomía = capacidad útil / corriente media total1875 mAh / 19,7 µA ≈ 10,9 años
7. Comparar con el requisito¿Cumple, con margen? Si no, se hace el análisis de sensibilidad para elegir la mejoraRequisito de 5 años: cumple con un 100 % de margen

El presupuesto no es un trámite: es la herramienta que decide el producto. Permite saber, antes de fabricar, si una moneda alcanza o hace falta una pila AA, si conviene transmitir cada 10 s o cada minuto, si hay que sacar el LED indicador. Y registra los supuestos (la temperatura, la tasa de transmisión) para poder repetirlo cuando cambie algo. Un presupuesto que se hizo una vez y se guardó es un documento; uno que se actualiza con cada cambio del firmware es una especificación viva. En el tema 36 se compara con mediciones reales de corriente: un presupuesto sin medición es una hipótesis.

09 · Comprobar que funciona

Verificación y diagnóstico

Comprobaciones sobre el consumo de un producto.
Qué verificarCómoResultado esperado
La corriente de reposoMedir la corriente de la placa completa con el firmware dormido, con un multímetro de µA o un analizador de corriente (tema 36)Coincide con la suma de los reposos de cada componente; una diferencia grande señala un consumidor oculto
Los picosObservar con un osciloscopio la tensión sobre una resistencia en serie, o con un analizador de consumoLa amplitud y la duración coinciden con el perfil supuesto
Que la tensión aguante el pulsoMedir la tensión de alimentación en el chip durante la transmisiónNo baja del mínimo del chip ni del nivel de brown-out
Que el perfil sea el realMedir un ciclo completo, incluyendo los eventos raros (reintentos, reconexiones)La media medida está cerca de la calculada
La temperaturaRepetir la medición a la temperatura extrema esperadaEl consumo en reposo no crece más de lo previsto
La autodescarga y el envejecimientoSe calcula con la hoja de datos de la celda; se verifica con una prueba largaIncluida en el presupuesto
Síntomas frecuentes y qué revisar.
SíntomaCausa probableQué hacer
El equipo dormido consume cientos de µA, no los 2 µA de la hoja de datosUn consumidor externo (pull-up, divisor, sensor, LED), un pin flotante o un periférico activoMedir y desconectar componentes de a uno; revisar el estado de cada pin (tema 35)
La autonomía real es una fracción de la calculadaSe omitieron la autodescarga, el reposo del regulador, el derating o los eventos rarosRehacer el presupuesto con todos los términos; medir un ciclo completo
El equipo se reinicia al transmitir con la batería usadaLa resistencia interna crece con el uso y el pulso hace caer la tensiónCondensador de reserva cerca del chip; una batería que entregue más corriente; revisar el brown-out
Funciona bien en la mesa y mal en el fríoLa capacidad cae y la resistencia interna sube con la baja temperaturaPresupuestar con el peor caso térmico; elegir una química apropiada (litio en lugar de alcalina)
El consumo medido en reposo cambia con la temperaturaLas fugas dependen mucho de ellaMedir a las temperaturas de uso; no extrapolar desde 25 °C
Reducir el consumo del firmware casi no cambió la autonomíaDominan los consumidores externos, el regulador o la autodescargaHacer el análisis de sensibilidad antes de optimizar
La lectura del ADC se desvía cuando la batería se agotaLa referencia depende de la alimentaciónReferencia interna estable, o compensar midiendo la tensión de alimentación

10 · Analogía con programación

Probar el modelo en Python

El programa reúne las cuentas del tema en cinco partes: las magnitudes básicas y los consumidores externos (con los números del apartado 4), el perfil de consumo de un nodo sensor con su corriente media y el reparto de la carga, la autonomía con cuatro baterías aplicando el factor de seguridad y la autodescarga, el análisis de sensibilidad (qué mejora rinde más, y el efecto de un regulador de reposo alto), y la comparación de ejecutar una tarea a distintas frecuencias.

Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar.

# Presupuesto de energía de un nodo sensor a batería: perfil de consumo, corriente media, autonomía y qué palanca rinde más.
HORAS_ANIO = 8766                                   # 365,25 días

# ---- Parte 1: unidades y las cuentas básicas ---------------------------------------------------------------
print("Parte 1: potencia, energía y carga")
V, I = 3.3, 0.012                                   # 3,3 V y 12 mA
print(f"  P = V * I = {V} V * {I * 1000:.0f} mA = {V * I * 1000:.1f} mW")
print(f"  durante 1 h: E = {V * I * 1000 * 1:.1f} mWh; carga Q = {I * 1000 * 1:.0f} mAh")
print(f"  pull-up de 10 kΩ a 3,3 V con el botón apretado: {3.3 / 10_000 * 1e6:.0f} µA constantes")
print(f"  divisor de 100 kΩ + 100 kΩ sobre 3,3 V: {3.3 / 200_000 * 1e6:.1f} µA constantes")
print(f"  LED con 1 kΩ y 3,3 V (caída 2 V): {(3.3 - 2.0) / 1000 * 1000:.1f} mA")

# ---- Parte 2: perfil de consumo y corriente media -------------------------------------------------------
PERIODO = 10.0                                      # un ciclo cada 10 s
ESTADOS = [                                         # (nombre, corriente en mA, duración en segundos por ciclo)
    ("medir con el sensor", 3.0, 0.010),
    ("transmitir por radio", 15.0, 0.006),
]
t_activo = sum(t for _, _, t in ESTADOS)
I_DORMIDO_MA = 0.002                                # 2 µA
estados = ESTADOS + [("dormido", I_DORMIDO_MA, PERIODO - t_activo)]
carga_ciclo = sum(i * t for _, i, t in estados)     # mA * s
I_media = carga_ciclo / PERIODO
print()
print("Parte 2: perfil de consumo (un ciclo de 10 s)")
for nombre, i, t in estados:
    parte = i * t / carga_ciclo * 100
    print(f"  {nombre:<22} {i * 1000:>7.0f} µA durante {t * 1000:>8.1f} ms -> {i * t / PERIODO * 1000:6.2f} µA de media ({parte:4.1f} % de la carga)")
print(f"  corriente media = {I_media * 1000:.2f} µA; tiempo activo = {t_activo / PERIODO * 100:.2f} % del ciclo; pico / media = {15.0 / I_media:.0f} veces")

# ---- Parte 3: autonomía con distintas baterías, con derating y autodescarga ---------------------------------
BATERIAS = {                                        # (capacidad nominal en mAh, autodescarga en % por año)
    "CR2032 (3 V)": (220, 1.0),
    "2 pilas AA alcalinas en serie (3 V)": (2500, 2.0),
    "pila AA de litio-cloruro de tionilo (3,6 V)": (2500, 1.0),
    "LiPo de 1000 mAh (3,7 V)": (1000, 30.0),
}
DERATING = 0.75
print()
print(f"Parte 3: autonomía con la misma carga (media {I_media * 1000:.2f} µA), usando el {DERATING * 100:.0f} % de la capacidad nominal")
for nombre, (cap, auto) in BATERIAS.items():
    util = cap * DERATING
    i_auto = cap * auto / 100 / HORAS_ANIO          # la autodescarga equivale a una corriente continua
    horas_sin = util / I_media
    horas_con = util / (I_media + i_auto)
    print(f"  {nombre:<44} autodescarga {i_auto * 1000:5.2f} µA | sin ella {horas_sin / HORAS_ANIO:5.1f} años | con ella {horas_con / HORAS_ANIO:5.1f} años")

# ---- Parte 4: qué palanca rinde más, y el efecto del regulador -----------------------------------------------
def autonomia_anios(i_dormido, t_medir, t_tx, iq=0.0, cap=2500 * DERATING, auto=2500 * 0.02 / HORAS_ANIO):
    carga = 3.0 * t_medir + 15.0 * t_tx + i_dormido * (PERIODO - t_medir - t_tx)
    return cap / (carga / PERIODO + iq + auto) / HORAS_ANIO
print()
print("Parte 4: autonomía con 2 pilas AA y distintas mejoras (años)")
base = autonomia_anios(0.002, 0.010, 0.006)
casos = [("base", autonomia_anios(0.002, 0.010, 0.006)),
         ("mitad de corriente dormida (1 µA)", autonomia_anios(0.001, 0.010, 0.006)),
         ("mitad de tiempo de medida (5 ms)", autonomia_anios(0.002, 0.005, 0.006)),
         ("mitad de tiempo de radio (3 ms)", autonomia_anios(0.002, 0.010, 0.003)),
         ("regulador LDO con 50 µA de reposo", autonomia_anios(0.002, 0.010, 0.006, iq=0.050)),
         ("regulador LDO con 1 µA de reposo", autonomia_anios(0.002, 0.010, 0.006, iq=0.001))]
for nombre, a in casos:
    print(f"  {nombre:<38} {a:6.2f} años ({(a / base - 1) * 100:+6.1f} %)")
print("  rendimiento de un LDO = Vsalida / Ventrada:", ", ".join(f"{vin} V -> 3,3 V: {3.3 / vin * 100:.0f} %" for vin in (3.7, 5.0, 9.0)))

# ---- Parte 5: ¿conviene ir despacio o terminar rápido y dormir? ---------------------------------------------
print()
print("Parte 5: una tarea de 1 000 000 de ciclos cada segundo; el resto del tiempo, dormido (2 µA)")
UA_POR_MHZ, I_FIJA_MA, VCC = 80, 0.3, 3.3          # 80 µA/MHz de núcleo + 0,3 mA fijos mientras está despierto (regulador, flash, reloj)
for f in (8, 16, 48):
    t = 1_000_000 / (f * 1e6)                      # segundos que dura la tarea
    i_act = UA_POR_MHZ * f / 1000 + I_FIJA_MA      # mA mientras trabaja
    q = i_act * t + 0.002 * (1.0 - t)              # mA*s por cada segundo de ciclo
    print(f"  {f:>2} MHz: la tarea dura {t * 1000:6.1f} ms a {i_act:5.2f} mA -> carga por ciclo {q * 1000:7.1f} µC; corriente media {q * 1000:6.1f} µA; energía {VCC * q * 1000:7.1f} µJ")

Resultado, parte 1: 3,3 V por 12 mA son 39,6 mW (39,6 mWh y 12 mAh en una hora); un pull-up de 10 kΩ consume 330 µA con el botón apretado, un divisor de 100 kΩ + 100 kΩ consume 16,5 µA constantes y un LED con 1 kΩ consume 1,3 mA. Parte 2: el perfil de 10 s tiene 3 µA de media por la medida (21,4 % de la carga), 9 µA por la radio (64,3 %) y 2 µA por el dormido (14,3 %): la corriente media es de 14 µA, el tiempo activo es el 0,16 % del ciclo y el pico es 1072 veces la media. Parte 3: con el 75 % de la capacidad, la autonomía con la autodescarga es de 1,3 años con la CR2032, 10,9 con dos AA alcalinas, 12,7 con la pila de litio-cloruro de tionilo y 1,8 con la LiPo (que sin autodescarga serían 6,1). Parte 4: con dos AA, la base dura 10,86 años; con la mitad de corriente dormida, 11,44 (+5,3 %); con la mitad de tiempo de medida, 11,75 (+8,2 %); con la mitad de tiempo de radio, 14,07 (+29,6 %); con un regulador de 50 µA de reposo, 3,07 (−71,7 %), y con uno de 1 µA, 10,33 (−4,8 %). Parte 5: la tarea de un millón de ciclos por segundo gasta 393,5 µJ a 8 MHz, 332,1 µJ a 16 MHz y 291,1 µJ a 48 MHz.

Probá cambiar PERIODO a 3600 (una vez por hora): el reparto se invierte y el dormido pasa a dominar la media, así que la mejora que más rinde cambia de la radio al reposo. También podés cambiar I_FIJA_MA a cero en la Parte 5 para ver que, sin consumo fijo, la energía por tarea deja de depender de la frecuencia.

11 · Exploración interactiva

La autonomía

El laboratorio es el presupuesto de energía de un nodo que duerme, mide y transmite. Cambiá el período, las corrientes y los tiempos de cada estado, el regulador y la batería, y mirá la corriente media, cómo se reparte entre los estados y cuántos años dura. Los valores iniciales son los del ejemplo del tema (dos pilas AA, ciclo de 10 s). El modelo usa el 75 % de la capacidad nominal y cuenta la autodescarga como una corriente continua adicional.

Del perfil de consumo a los años

Corriente media del equipo—
Autodescarga equivalente—
Capacidad útil (75 %)—
Autonomía—
Pico / media—

Reparto de la corriente total

Cambiá un parámetro y mirá cuánto dura.

Recorrido guiado

  1. Con los valores del ejemplo, la corriente media es de 14 µA y la autonomía de unos 10,9 años. Fijate en el reparto: la radio es la barra más larga (46 % del total, o el 64 % de lo que consume el equipo sin contar la autodescarga), aunque está activa 6 ms de cada 10 000.
  2. Apretá «Mitad de tiempo de radio (3 ms)»: la autonomía sube a unos 14 años. Acortar la transmisión es la mejora que más rinde en este perfil.
  3. Volvé a los valores del ejemplo y bajá la corriente dormido de 2 a 1 µA: la autonomía casi no cambia (unos 11,4 años). Reducir el reposo parece lo que hay que hacer, pero en este perfil no es lo que pesa.
  4. Apretá «Regulador con 50 µA de reposo»: la autonomía cae a unos 3 años. El regulador pasa a ser casi toda la corriente del equipo (la barra «Regulador» domina): un componente de reposo mal elegido destruye el diseño.
  5. Cambiá el período a 3600 s (una medición por hora) con los demás valores del ejemplo: ahora manda el dormido, porque la radio y la medida ocurren muy de vez en cuando. Probá bajar la corriente dormido a 1 µA y acortar la radio a 3 ms: el reparto de «qué rinde más» se invierte respecto del caso de 10 s.
  6. Apretá «Usar una CR2032» con los valores del ejemplo: dura unos 1,3 años y el laboratorio avisa que el pulso de 15 mA excede lo que una moneda entrega sin que caiga la tensión. Probá la LiPo: la autodescarga (34 µA equivalentes) es mayor que el propio consumo del equipo y le quita más de la mitad de la autonomía.
Desafío: ¿qué batería elegirías para un sensor que debe durar 5 años sin mantenimiento?

Se hace la cuenta con los datos del producto. Con el perfil del ejemplo (14 µA de media) y 5 años, hacen falta 14 µA × 43 830 h = 614 mAh de capacidad útil, y con el factor de seguridad del 75 %, unos 818 mAh nominales, más la autodescarga. La CR2032 (220 mAh) no alcanza por capacidad, y además no entrega el pulso de la radio. La LiPo de 1000 mAh no alcanza por autodescarga (1,8 años). Quedan dos pilas AA alcalinas (10,9 años con el margen que sobra) y la pila de litio-cloruro de tionilo (12,7 años, con una vida de almacenamiento mucho mayor, pero más cara y con la necesidad de un condensador para el pulso). Si el sensor va a la intemperie en lugares fríos, el litio es preferible, porque la alcalina pierde mucha capacidad con el frío. La decisión final mezcla costo, temperatura de uso y los pulsos de corriente, y se confirma con una medición (tema 36).

12 · Método de trabajo

Método: de la corriente a los años

  1. Partí del requisito: cuántos años (o días) debe durar, en qué temperatura, con qué batería disponible. Sin requisito, no hay presupuesto.
  2. Hacé el perfil de consumo: una tabla de estados con corriente y duración por ciclo, en la que cada corriente es la suma de todos los componentes de la placa activos en ese estado.
  3. Recorré el esquema electrónico componente por componente: ¿cuánta corriente toma?, ¿cuándo?, ¿se puede apagar? Los pull-ups, divisores, LED y reguladores son los sospechosos habituales.
  4. Calculá la corriente media y el reparto por estado. Es el mapa de dónde vale la pena trabajar.
  5. Hacé el análisis de sensibilidad: cuánto cambiaría la autonomía si cada parámetro mejorara un 50 %. Atacá el que más rinde, que casi nunca es el que se imagina.
  6. Agregá lo que no es firmware: reposo del regulador, autodescarga, factor de seguridad por temperatura y envejecimiento.
  7. Elegí la batería por capacidad, por corriente de pulso que entrega, por autodescarga y por temperatura, no solo por mAh.
  8. Verificá los picos: que la tensión no caiga por debajo del mínimo del chip durante los pulsos, con la batería usada y en el frío.
  9. Medí la placa real (tema 36) y comparala con el presupuesto. Una diferencia grande es el mejor indicador de que se omitió algo.
  10. Guardá el presupuesto en el repositorio y actualizalo cuando cambie el firmware o el hardware.

13 · Comprensión

Confusiones frecuentes

«Si el chip consume 2 µA dormido, mi equipo consume 2 µA»

Esa cifra es del chip, bajo ciertas condiciones. El equipo incluye el regulador, los sensores, las resistencias, los LED y todo lo que la placa tenga conectado, y cualquiera puede consumir más que el chip. La corriente que importa es la de la placa completa, medida.

«Con el consumo máximo calculo la autonomía»

Usar la corriente de los picos da una autonomía absurdamente pequeña, porque esos picos duran muy poco. Y usar solo la de reposo da una absurdamente grande. La que corresponde es la media ponderada por el tiempo de todo el ciclo.

«Dos pilas en serie duran el doble»

Duplican la tensión, no la capacidad: dos AA de 2500 mAh en serie dan 3 V y 2500 mAh. Para duplicar la capacidad hay que ponerlas en paralelo (y se queda la tensión de una).

«La batería de 2500 mAh me da 2500 mAh»

Esa es la capacidad nominal, en condiciones ideales. En un producto real se obtiene menos, por la corriente de los pulsos, el frío, la tensión de corte, la autodescarga y el envejecimiento. Por eso se aplica un factor de seguridad del orden del 70 al 80 %, y a veces más.

«La autodescarga es despreciable»

En un equipo de muy bajo consumo, puede ser mayor que el consumo del propio dispositivo: una celda de 2500 mAh con 2 % anual equivale a 5,7 µA permanentes, y en la Parte 3 una LiPo pierde más de dos tercios de su autonomía por este motivo. Cuanto menos consume el equipo, más pesa.

«Un LDO es un regulador eficiente porque casi no consume»

Su rendimiento es Vsalida/Ventrada: desde 5 V a 3,3 V, solo el 66 %. Y algunos tienen una corriente de reposo de decenas de µA, que sobre un microcontrolador dormido de 2 µA multiplican el consumo por muchas veces. Es un componente que hay que elegir con cuidado, o eliminar cuando el chip tolera la tensión de la batería.

«Bajar la frecuencia siempre ahorra energía»

Baja la potencia, pero la tarea tarda más, y el consumo fijo (fugas, regulador, flash) se paga durante más tiempo. Si hay un consumo fijo apreciable, terminar rápido y dormir puede gastar menos energía total, como mostró la Parte 5. Depende de las cifras del chip: se mide, no se supone.

«Optimizar el firmware es lo que más ahorra»

A veces, pero no siempre. Si el reparto muestra que dominan la radio, el regulador, un pull-up o la autodescarga, el firmware tiene poco que decir. Por eso se hace el análisis de sensibilidad antes de tocar nada: puede que lo que más rinda sea un cambio de componente o de configuración, y no de código.

14 · Práctica guiada

Ejercicios

1. Corriente media

Un equipo se despierta cada 30 s, consume 5 mA durante 20 ms (midiendo) y 1 µA el resto del tiempo. ¿Cuál es la corriente media? ¿Y la autonomía con una pila de 1000 mAh útiles, sin autodescarga?

Ver solución

Carga por ciclo: 5 mA × 0,020 s = 0,1 mA·s para la medición, más 0,001 mA × 29,98 s ≈ 0,030 mA·s en reposo, total ≈ 0,130 mA·s. Corriente media = 0,130 / 30 ≈ 0,00433 mA = 4,33 µA. Autonomía = 1000 mAh / 0,00433 mA ≈ 230 900 horas ≈ 26 años (sin autodescarga ni derating, un número que no se sostiene en la realidad: una pila no dura 26 años; ahí manda la autodescarga). El aporte de la medición es 0,1 / 30 = 3,3 µA y el del reposo 1 µA: dominan los 20 ms de medición.

2. Potencia y energía

Un módulo de radio consume 40 mA a 3,3 V durante una transmisión de 200 ms. ¿Qué potencia tiene? ¿Cuánta energía gasta en la transmisión? ¿Y cuánta carga?

Ver solución

Potencia: P = 3,3 V × 0,040 A = 0,132 W = 132 mW. Energía: E = 0,132 W × 0,2 s = 0,0264 J = 26,4 mJ (equivale a 7,3 µWh). Carga: Q = 40 mA × 0,2 s = 8 mC (mA·s), es decir, 8 / 3600 = 0,00222 mAh = 2,2 µAh. Con una pila de 1000 mAh útiles, una transmisión «cuesta» una parte en 450 000 de la pila.

3. Pilas en serie y en paralelo

Se dispone de cuatro pilas AA de 1,5 V y 2500 mAh. ¿Qué tensión y capacidad se obtienen conectando las cuatro en serie? ¿Y con dos ramas en paralelo, cada una con dos pilas en serie? ¿Qué energía almacena cada configuración?

Ver solución

Cuatro en serie: 6 V y 2500 mAh; energía = 6 V × 2,5 Ah = 15 Wh. Dos ramas en paralelo de dos pilas en serie: 3 V y 5000 mAh; energía = 3 V × 5 Ah = 15 Wh. La energía es la misma: lo que cambia es el reparto entre tensión y capacidad. Esto muestra por qué la comparación justa entre configuraciones es en Wh (o mWh), y por qué la autonomía en horas depende de la corriente que pide el equipo a la tensión que tiene.

4. Un regulador y su rendimiento

Un sensor consume 5 mA a 3,3 V. Se alimenta desde 9 V con un LDO. ¿Qué corriente toma de la fuente de 9 V (ignorando el reposo del LDO)? ¿Qué potencia entrega al sensor, cuál toma de la fuente y cuánta se disipa como calor?

Ver solución

Un LDO toma de la entrada la misma corriente que entrega: 5 mA. Potencia útil: 3,3 V × 5 mA = 16,5 mW. Potencia tomada de la fuente: 9 V × 5 mA = 45 mW. Disipación en calor: 45 − 16,5 = 28,5 mW. Rendimiento: 16,5 / 45 = 36,7 %, igual a 3,3 / 9. Más de la mitad de lo que se toma de la fuente se pierde en calor. Con un regulador conmutado al 90 % de rendimiento, la potencia tomada sería 16,5 / 0,9 = 18,3 mW (una corriente de 2 mA a 9 V).

5. Elegir la mejora

Un nodo consume 10 µA dormido, durante 99 % del ciclo, y tiene un pulso de 20 mA durante 1 % del ciclo. ¿Cuál es la corriente media? ¿Qué pesa más? ¿Qué rinde más: reducir el pulso a la mitad (10 mA) o el reposo a la mitad (5 µA)?

Ver solución

Corriente media = 0,99 × 10 µA + 0,01 × 20 000 µA = 9,9 + 200 = 209,9 µA. El pulso aporta 200 µA (el 95 %) y el reposo 9,9 µA (el 5 %). Reducir el pulso a la mitad: 0,99 × 10 + 0,01 × 10 000 = 9,9 + 100 = 109,9 µA, una baja del 48 %. Reducir el reposo a la mitad: 4,95 + 200 = 204,95 µA, una baja del 2,4 %. Rinde incomparablemente más acortar o bajar el pulso: es el que domina el promedio, aunque dure solo el 1 % del tiempo. Es la lección de la sensibilidad: el reparto de la carga, no la intuición, dice dónde actuar.

6. El pulso y la moneda

Una CR2032 de 220 mAh alimenta un equipo cuya radio consume 15 mA durante 6 ms cada 10 s, más 4 µA de promedio del resto. ¿Alcanza la capacidad para 2 años? ¿Qué problema aparece aunque la capacidad alcance?

Ver solución

Corriente media = 4 µA + 15 000 µA × 0,006 / 10 = 4 + 9 = 13 µA. Capacidad útil con 75 %: 165 mAh. Autonomía = 165 mAh / 0,013 mA ≈ 12 700 h ≈ 1,45 años (sin contar la autodescarga): no alcanza para 2 años. Y aunque alcanzara, hay un problema de otra naturaleza: una moneda tiene una resistencia interna de decenas de ohmios y no sostiene bien un pulso de 15 mA, así que la tensión cae durante la transmisión y puede provocar un reinicio por brown-out (tema 37). Se resuelve con un condensador en paralelo que aporte el pico, reduciendo la corriente de la radio, o cambiando de batería.

15 · Síntesis

Ideas para recordar

  • La energía es un recurso que se acaba: un firmware correcto que agota la batería en un mes no cumple el producto. El consumo no es un número sino un perfil que pasa de nanoamperios a decenas de miliamperios.
  • Cinco magnitudes: P = V·I, E = P·t y Q = I·t. La capacidad de una batería se da en mAh (carga). La autonomía es capacidad útil / corriente media. Dos pilas en serie suman tensión, no capacidad.
  • Un chip CMOS consume energía dinámica (crece con la frecuencia y el cuadrado de la tensión) y estática (fugas, que crecen con la temperatura). Ir más despacio no siempre ahorra: si hay un consumo fijo apreciable, terminar rápido y dormir puede gastar menos.
  • Fuera del núcleo hay consumidores que no controla el código: pull-ups (330 µA), divisores (16,5 µA), LED (1,3 mA), sensores, memorias, pantallas y el regulador. La medición se hace de la placa completa.
  • La corriente que importa es la media ponderada por el tiempo de un ciclo. Un nodo activo el 0,16 % del tiempo puede aportar el 86 % de la carga. El análisis de sensibilidad (¿cuánto cambia la autonomía si mejoro cada parámetro un 50 %?) dice dónde actuar, y casi nunca es donde se imagina.
  • Un LDO rinde Vsalida/Ventrada, y su corriente de reposo puede arruinar un diseño: 50 µA dividen por más de tres la autonomía de un nodo bien diseñado. Lo mejor suele ser alimentar el chip directamente de la batería si su rango lo permite.
  • La capacidad real de una batería es menor que la nominal por la corriente, el frío, la tensión de corte, el envejecimiento y la autodescarga (una celda de 2500 mAh al 2 % anual equivale a 5,7 µA permanentes). Se aplica un factor de seguridad del 70–80 %, y se verifica que el pulso no haga caer la tensión.
  • El presupuesto de energía convierte el perfil en años: estados, corrientes de toda la placa, corriente media, suma de lo que no es firmware, capacidad útil y división. Se hace antes de elegir batería y chip, se actualiza con cada cambio y se confirma con mediciones (tema 36).

¿Listo para el tema siguiente?

Antes de avanzar, hacé el presupuesto de un dispositivo que conozcas (un control remoto, un sensor, un reloj): enumerá sus estados, estimá la corriente de cada uno incluyendo todos los componentes del esquema, calculá la corriente media y la autonomía con una batería concreta aplicando el 75 %, y respondé cuál de los parámetros rinde más si se mejora a la mitad. Si el resultado te sorprende, es buena señal: el objetivo era encontrar dónde se va la energía.

En el próximo tema vemos la herramienta que más reduce el consumo de un firmware: los modos de bajo consumo. Sleep, deep sleep y apagado, qué se apaga en cada uno, cuánto tardan en despertar y qué fuentes pueden despertar al procesador.