Saltar al contenido
Herramienta

Autonomía de batería por perfil de trabajo

Cuánto dura tu batería si el micro despierta cada tantos minutos, transmite unos segundos y duerme el resto. Con el reposo del regulador y la autodescarga de la celda, que es donde de verdad se va.

Un ESP32 en placa DevKit que despierta cada 15 minutos, transmite 5 segundos y duerme el resto, alimentado con una 18650 de 3400 mAh usada al 80%, dura 14 días. El micro promedia apenas 943,3 µA, pero el total que sale de la batería es 8,085 mA.

Calculadora

Cuánto dura tu batería con el perfil de trabajo real

La placa
El perfil de trabajo

Casi siempre son más segundos de los que uno cree.

Promedio de toda la ventana, no el peak de transmisión.

La del chip en deep sleep. La de la placa entera va en el campo de abajo.

La alimentación

Quiescent current en el datasheet.

3,7 V una celda de litio, 3,2 V una LiFePO4, 3 V dos pilas AA.

La batería

Si promete más de 3500 mAh en formato 18650, no existe.

Litio 2 a 3, NiMH de baja autodescarga 0,5 a 1, alcalina 0,2.

Con este perfil, la batería dura

14 días

Corriente media total

8,085 mA

Solo el micro

943,3 µA

Tiempo despierto

0,6667%

Duerme cada ciclo

894 s

Capacidad útil

2720 mAh

El LDO tira como calor

1,177 mW

Acá se te va la batería: regulador, con el 61,84% del consumo total. Un AMS1117 consume 5 mA para sí mismo, más que todo el resto junto. Cámbialo por un LDO de bajo reposo o alimenta el módulo directo desde la celda.

La batería alimentando el ESP32La celda de 3,7 V y 3.400 mAh entrega 8,085 mA en total. De eso, 943,3 µA se los lleva el ESP32 (media del ciclo, despierto el 0,6667% del tiempo y durmiendo 894 s en cada uno), 2 mA el consumo parásito de la placa, o sea su LED de encendido y su chip USB serial, 5 mA el LDO AMS1117 y 141,7 µA la autodescarga de la propia celda. El regulador tira 1,177 mW como calor. El tramo que más se lleva es el regulador, y con eso la batería dura 14 días.dentro de la celdasale de la celda8,085 mALDO AMS11173,7 → 3,3 V1,177 mW de calor3,3 VESP32despierto 0,6667%duerme 894 s3,3 VGND3,7 V3.400 mAh141,7 µAautodescarga5 mAel regulador943,3 µAel micro2 mAla placa: LED y USBacá se te vaLa batería alimentando el ESP32La celda de 3,7 V y 3.400 mAh entrega 8,085 mA en total. De eso, 943,3 µA se los lleva el ESP32 (media del ciclo, despierto el 0,6667% del tiempo y durmiendo 894 s en cada uno), 2 mA el consumo parásito de la placa, o sea su LED de encendido y su chip USB serial, 5 mA el LDO AMS1117 y 141,7 µA la autodescarga de la propia celda. El regulador tira 1,177 mW como calor. El tramo que más se lleva es el regulador, y con eso la batería dura 14 días.dentro de la celdasale de la celda8,085 mALDO AMS11173,7 → 3,3 V1,177 mW de calor3,3 VESP323,7 V3.400 mAh141,7 µAautodescarga5 mAel regulador943,3 µAel micro2 mALED y USBacá se te va

Los puntos son la corriente y cada tramo corre a la velocidad de la suya. Los rieles son los más rápidos porque llevan la suma de todo; entre las cuatro ramas que se reparten la batería, la más rápida es la que se la está llevando, y es la que marca la pastilla. La del micro es la media del ciclo, no la de la ventana de radio.

12%25%62%
Microcontrolador 943,3 µA · 11,67%Consumo parásito de la placa 2 mA · 24,74%Regulador 5 mA · 61,84%Autodescarga de la celda 141,7 µA · 1,752%
1 µA10 µA100 µA1 mA10 mA100 mA1 A160 mARadio5 s800 mA·s40 mACPU1 s40 mA·s10 µASueño894 s8,94 mA·smedia 943,3 µA

El eje vertical es logarítmico y el del tiempo no está a escala.

La batería que necesitas para eso

Para 180 días hacen falta 43.659 mAh nominales.

No compres esa batería. 13 celdas en paralelo no es un proyecto a batería, es un banco de baterías. El mismo código, sobre un módulo pelado con un LDO HT7333 de mil pesos, dura 104,1 días con una sola celda, y ahí necesitas 5.880 mAh.

Ninguna celda sola alcanza: hacen falta 13 de 3.400 mAh en paralelo, o sea 44.200 mAh. Ojo que en paralelo las celdas tienen que ser del mismo modelo y estar al mismo voltaje al conectarlas.

La más grande que tenemos$8.490

Y esto es lo que ataca tu cuello de botella

Con litio, esto no es opcional

Una celda 18650 desnuda entrega más de 10 A en cortocircuito y se incendia. En un proyecto que va a quedar solo, va con protección sí o sí.

BMS 1S 15A Para baterías 18650GG5-8$2.990quedan 23corta bajo 2,5 V y sobre 4,2 V

Este cálculo es un punto de partida, no una medición. La única verdad es medir la corriente de sueño de TU placa con el multímetro en serie: las diferencias entre una placa y otra del mismo modelo son de un orden de magnitud, y siempre hacia arriba.

De dónde sale cada número de esta calculadora
  • ESP32, radio: Estimación de la ventana completa de WiFi. El datasheet declara peaks: 240 mA transmitiendo 802.11b a +19,5 dBm, 180 mA en 802.11n MCS7 y 95 a 100 mA recibiendo (ESP32 Series Datasheet v5.3, tabla 5-4). Los 160 mA son un promedio de esa mezcla, no un valor publicado.
  • ESP32, despierto: El datasheet publica el modo Modem sleep con la radio apagada: 20 a 25 mA a 80 MHz en un solo núcleo y 30 a 68 mA a 240 MHz en doble núcleo (tabla 4-2). Los 40 mA son un punto medio de ese rango, no un valor publicado.
  • ESP32, durmiendo: ESP32 Series Datasheet v5.3, tabla 4-2: Deep sleep con temporizador RTC y memoria RTC, 10 µA. Con el coprocesador ULP encendido sube a 150 µA.
  • LDO AMS1117: AMS1117 Datasheet (Advanced Monolithic Systems): corriente de reposo 5 mA típica y 11 mA máxima. Además pide una carga mínima de 5 mA típicos para regular bien, así que en reposo el consumo no baja de ahí.
  • Capacidad de las celdas: la declara el fabricante y no la medimos nosotros. En Chile circulan muchas 18650 reenvasadas con capacidad inventada: si vas a dimensionar autonomía con un número, mídelo con un cargador analizador antes de confiar en el envoltorio, sobre todo si promete más de 3500 mAh en formato 18650, que hoy no existe físicamente. Las que tenemos con capacidad declarada son GR2-12 de 3.400 mAh, GU2-11 de 3.400 mAh, L-040 de 3.000 mAh.

Y esa es la parte que ninguna calculadora muestra: el 61,84% se lo lleva el regulador AMS1117 de la placa, el 24,74% el LED de encendido y el chip USB serial, el 1,752% la celda descargándose sola, y solo el 11,67% tu proyecto. El mismo código sobre un módulo pelado con un LDO HT7333 dura 104 días con la misma celda.

Para durar 180 días con este perfil hacen falta 43660 mAh nominales. Ni la celda más grande alcanza sola: harían falta 13 de 3400 mAh en paralelo, SKU GR2-12, $8.490 cada una, con 68 en bodega. Antes de comprar esa batería, mira el reparto: arreglar el regulador sale más barato. Cambia los valores de abajo y el resultado se actualiza al instante.

Cómo se estima la autonomía

Por qué las calculadoras de autonomía dan mal

Todas hacen lo mismo: capacidad dividida por consumo. Eso describe una linterna. Un proyecto a batería no consume una corriente constante: despierta, mide, transmite y se duerme, y entre el sueño y la transmisión hay cuatro órdenes de magnitud de diferencia. Un ESP32 que reporta cada 15 minutos pasa el 99,3% del tiempo a 10 µA y el 0,7% restante a 160 mA.

Y hay dos consumos que ninguna calculadora incluye y que casi siempre son el resultado:

  • El regulador de tu placa. Un AMS1117, el que trae prácticamente toda placa DevKit, consume 5 mA para sí mismo, duerma el micro o no. En el perfil de arriba eso es el 61,84% de la batería: más que el micro, el LED y la autodescarga juntos.
  • La autodescarga de la celda. Una 18650 de 3400 mAh que pierde 3% al mes se gasta sola a 141,7 µA. Cuando tu circuito consume menos que eso, seguir optimizando código no cambia absolutamente nada.

Por eso la respuesta de esta herramienta no es la autonomía en días sino dónde se te va la batería. Ese dato es el que cambia lo que hay que hacer.

El mismo proyecto, dos montajes, siete veces de diferencia

Este es el resultado que más le duele a la gente, y es el mismo firmware con la misma celda. Despertar cada 15 minutos, 5 s de radio a 160 mA, 1 s de CPU y el resto durmiendo, sobre una 18650 de 3400 mAh usada al 80%.

Lo único que cambia entre las dos columnas es la placa y el regulador. El código es idéntico.
ConceptoPlaca DevKit con AMS1117Módulo pelado con HT7333
Consumo medio del micro943,3 µA943,3 µA
Consumo parásito de la placa2 mA0 mA
Reposo del regulador5 mA4 µA
Autodescarga de la celda141,7 µA141,7 µA
Corriente total8,085 mA1,089 mA
Autonomía14 días104,1 días
Dónde se va la bateríaRegulador, 61,84%Micro, 86,62%

7,425 veces más autonomía sin tocar una línea de código. En la columna de la izquierda, el 86% de la energía se va en cosas que no son tu proyecto: el regulador, el LED de encendido y el chip USB serial que ya no usas después de programar la placa.

Lo que consume de verdad cada micro

Los tres números que hay que conocer de cualquier placa son: cuánto consume transmitiendo, cuánto despierta sin radio y cuánto durmiendo. Los de sueño profundo salen del datasheet y son sólidos. Los de la ventana de radio no pueden salir del datasheet, y esa distinción importa: el fabricante publica el peak instantáneo de transmisión, no el promedio de los segundos que tarda tu placa en asociarse a la red, pedir IP y mandar el dato.

La autonomía de la última columna es del mismo perfil en todas: cada 15 minutos, sobre módulo con HT7333 y una 18650 de 3400 mAh al 80%.
PlacaCon radioDespiertoDurmiendoAutonomía
ESP32160 mA estimación40 mA estimación10 µA dato104,1 días
ESP32 C3100 mA estimación23 mA dato5 µA dato154,9 días
ESP826680 mA estimación15 mA dato20 µA dato180,9 días
Raspberry Pi Pico50 mA estimación20 mA estimación800 µA dato117,2 días

Qué dice exactamente cada datasheet. El ESP32 declara 10 µA en deep sleep con temporizador y memoria RTC, y peaks de 240 mA transmitiendo 802.11b a +19,5 dBm. El ESP32 C3 declara 5 µA durmiendo, 23 mA de CPU a 160 MHz y un peak de 335 mA transmitiendo. El ESP8266 declara 20 µA durmiendo, 15 mA de CPU y 170 mA transmitiendo. El Raspberry Pi Pico es el distinto: su datasheet no publica el consumo del chip corriendo tu código, publica la placa entera, y en modo DORMANT mide 0,8 mA a 25 grados. Ese milésimo de ampere lo pone su propio regulador, y por eso el Pico duerme cien veces peor que un ESP32.

El regulador, que es el consumo que nadie cuenta

Un regulador lineal, o LDO, no transforma potencia: la corriente que entra es la misma que sale y la diferencia de tensión se va en calor. Eso tiene dos consecuencias que cambian el cálculo. La primera es que a la corriente del circuito hay que sumarle la de reposo del chip tal cual, sin relación de tensiones de por medio. La segunda es que esa corriente de reposo va desde 1,6 µA hasta 5 mA según cuál compraste, que es un factor de tres mil.

Mismo módulo, mismo código, misma celda. Lo único que cambia es el regulador de tres patitas.
ReguladorReposoSe llevaAutonomía
LDO AMS1117 dato5 mA82,17%18,6 días
LDO HT7333 dato4 µA0,3673%104,1 días
LDO ME6211 dato60 µA5,24%99 días
LDO MCP1700 dato1,6 µA0,1473%104,3 días
Conmutado (buck o boost) estimación1 mA49,1%53,2 días

Dos advertencias sobre esta tabla, porque son las que más plata ahorran:

  • El AMS1117 además pide carga mínima. Su datasheet especifica 5 mA típicos de carga mínima para regular dentro de tolerancia, así que ni siquiera puedes contar con que baje cuando tu circuito no pide nada. Es un chip diseñado para alimentar una placa enchufada, no para vivir de una celda.
  • Del ME6211 circula un dato falso. En medio internet aparece con 25 µA de reposo. Su datasheet, en la tabla del ME6211C33, dice 60 µA. Nosotros usamos 60. Sigue siendo un LDO decente y muy superior al AMS1117, pero no es lo que promete el copy que anda dando vueltas.

Cada cuánto reportar, que es la otra palanca

La otra mitad del problema es el ciclo de trabajo. Mientras más seguido despiertes, menos importa lo bien que duermas: llega un punto donde el deep sleep deja de ser el tema y lo que manda es el tiempo encendido.

Módulo con HT7333 sobre una 18650 de 3400 mAh al 80%, cambiando solo cada cuánto despierta.
Reporta cadaDespiertoCorriente mediaAutonomíaSe te va en
1 min10%14,15 mA8 díasel micro
5 min2%2,955 mA38,3 díasel micro
15 min0,6667%1,089 mA104,1 díasel micro
1 h0,1667%389 µA291,4 díasel micro
6 h0,02778%194,6 µA582,5 días (1,6 años)la autodescarga
24 h0,006944%165,4 µA685,3 días (1,9 años)la autodescarga

Fíjate en las dos puntas. Reportando cada minuto pasas el 18% del tiempo despierto y la batería dura días; reportando cada 6 horas ya no manda el micro sino la celda, que se descarga sola. Entre esos dos extremos está la decisión de diseño de verdad, y no depende de tu código sino de cada cuánto necesitas el dato.

Cómo se duerme de verdad

Poner el micro en deep sleep es la parte fácil y es solo la mitad del trabajo. Lo que hay que apagar es todo lo demás:

  1. El LED de encendido. Un LED con su resistencia de 1 kΩ a 3,3 V son cerca de 2 mA que nunca se apagan. Desoldarlo es la optimización con mejor relación entre esfuerzo y resultado de todo el proyecto.
  2. El chip USB serial. Un CH340 o un CP2102 sigue alimentado aunque no haya cable conectado. En una NodeMCU eso es otro par de miliamperes.
  3. Los sensores. Un DHT22, un BME280 o un módulo de relé consumen aunque el micro duerma. Alimentarlos desde un pin GPIO, si el consumo lo permite, o desde un MOSFET de lado alto, deja el consumo en cero mientras no se usan.
  4. El divisor de tensión que mide la batería. Dos resistencias de 100 kΩ a 3,7 V son 18 µA permanentes, más que el sueño del propio chip. Con 1 MΩ bajan a 1,8 µA, y si el ADC lo tolera, mejor aún con un MOSFET que lo corte.
  5. El WiFi antes de dormir. Llamar a la función de desconexión y apagar la radio antes de entrar en deep sleep evita que el módulo se despierte solo a mantener la asociación.

La ventana de radio es más larga de lo que crees. Asociarse a una red WiFi, pedir IP por DHCP, resolver un nombre y abrir una conexión toma entre 3 y 8 segundos en un ESP32 corriente. Guardar el canal y la IP en memoria RTC y reconectar con IP fija baja eso a menos de un segundo, y ese cambio solo vale más que cualquier ajuste de la corriente de sueño.

Seguridad con litio, que acá sí es en serio

Una celda 18650 sin protección entrega más de 10 A en cortocircuito y se incendia. Estas reglas no se negocian:

  • Nunca cargues litio bajo 0 grados. Se forma litio metálico en el ánodo, el daño es permanente y queda el riesgo de un corto interno.
  • Nunca pases de 4,2 V ni bajes de 2,5 V por celda. Bajo 2,0 V la celda no se recarga, se reemplaza.
  • Nunca uses una celda desnuda en un proyecto que queda solo. Va con placa de protección o BMS, siempre.
  • Nunca cargues sin supervisión ni sobre superficies inflamables.
  • Nunca uses una celda hinchada, golpeada o con el envoltorio roto.

Y una advertencia de mercado: en Chile circulan muchas celdas reenvasadas con capacidad inventada. Si vas a dimensionar autonomía con un número, mide la capacidad real con un cargador analizador antes de confiar en el envoltorio, sobre todo si promete más de 3500 mAh en formato 18650, que hoy no existe físicamente.

Un último detalle de diseño: esta calculadora te dice cuánto dura la batería hasta el corte que definiste en profundidad de descarga. No la uses para justificar dejar la celda descargándose hasta cero.

Cómo se comprueba en la mesa

Todo lo anterior es un punto de partida. La única verdad es medir, y la forma de hacerlo es esta:

  1. El multímetro va en serie entre la batería y la placa, con el cable rojo en el jack de amperes. En paralelo estarías midiendo tensión, no corriente.
  2. Empieza en la escala de miliamperes y baja a la de microamperes recién cuando el micro esté durmiendo. Muchos multímetros de banco cambian de escala solos y se pierden el peak.
  3. Ojo con la resistencia del propio instrumento. En la escala de µA, el shunt del multímetro puede ser de cientos de ohm, y con un peak de 160 mA la caída de tensión resetea el micro. Por eso el sueño se mide en µA y el peak con otro método.
  4. Para la ventana de radio, lo que sirve es un medidor que integre, tipo un USB tester en línea, o un osciloscopio con una resistencia shunt. El promedio de esa ventana es el número que va en la calculadora.
  5. Mide tu celda antes de confiar en ella. Un cargador analizador te da la capacidad real en mAh, que es el otro número del que depende todo el cálculo.

Preguntas frecuentes

¿Cuánto dura una batería 18650 con un ESP32?

Depende muchísimo más del montaje que del código. El mismo ESP32 despertando cada 15 minutos, transmitiendo 5 segundos y durmiendo el resto, con una celda 18650 de 3400 mAh: en una placa DevKit con regulador AMS1117 dura 14 días, y como módulo pelado con un LDO HT7333 dura 104 días. Mismo firmware, misma batería, siete veces más autonomía. La diferencia son los 5 mA del regulador y los 2 mA del LED y el chip USB de la placa.

¿Cuánto consume un ESP32 en deep sleep?

El chip consume 10 µA con el temporizador RTC y la memoria RTC encendidos, según la tabla 4-2 de su datasheet. El ESP32 C3 baja a 5 µA y el ESP8266 sube a 20 µA. Ojo con la palabra chip: una placa DevKit completa, con su LED de encendido y su chip USB serial, mide entre 5 y 15 mA durmiendo, o sea mil veces más. Ese consumo de la placa es el que decide la autonomía, no el del chip.

¿Por qué mi proyecto dura mucho menos de lo que calculé?

Casi siempre por una de cuatro razones, en este orden: el regulador de la placa consume para sí mismo, el LED de encendido nunca se apaga, la ventana de WiFi dura más segundos de los que creías porque asociarse a la red toma su tiempo, o la celda no tiene la capacidad que dice el envoltorio. Esta calculadora reparte el consumo entre esos cuatro culpables y te dice cuál es el tuyo.

¿Cuánto consume el regulador AMS1117 y por qué importa tanto?

Su datasheet declara 5 mA de corriente de reposo típica y 11 mA máxima, más una carga mínima de 5 mA para regular bien. Importa porque ese consumo es constante: no baja cuando el micro duerme. En un proyecto que despierta cada 15 minutos, el micro promedia menos de 1 mA y el regulador se lleva 5 mA fijos, o sea el 62% de la batería. Es el chip más caro en consumo de toda la placa y no hace nada útil mientras el micro duerme.

¿Cómo calculo la autonomía si el consumo no es constante?

Se calcula la carga de un ciclo completo en miliampere por segundo y se divide por la duración del ciclo, lo que da la corriente media. Con radio 5 s a 160 mA, CPU 1 s a 40 mA y 894 s durmiendo a 10 µA, el ciclo gasta 848,94 mA·s en 900 s, o sea 0,943 mA de media. A esa media se le suma el consumo parásito de la placa, el reposo del regulador y la autodescarga de la celda, y recién ahí se divide la capacidad útil por el total.

¿Qué es la autodescarga y cuándo pasa a ser el problema?

Es la energía que la celda pierde sola, sin circuito conectado: en litio son 2 a 3% al mes, en NiMH de baja autodescarga cerca de 1% y en alcalina un 0,2%. Una 18650 de 3400 mAh que pierde 3% al mes se está gastando a 0,14 mA. Cuando tu circuito consume menos que eso, y con un ESP32 C3 reportando una vez por hora consume 0,1 mA, la autodescarga pasa a ser el 60% del consumo total. Ahí optimizar firmware deja de servir.

¿Puedo usar el 100% de la capacidad de una batería de litio?

No. Bajo 3,0 V por celda ya casi no queda energía y bajo 2,5 V el daño es permanente. Además, con un LDO de 3,3 V el corte real ocurre cerca de 3,5 V, porque bajo eso el regulador se queda sin margen para regular, así que en la práctica se usa entre el 70 y el 80% de la capacidad nominal. Por eso la calculadora tiene un campo de profundidad de descarga y viene en 80%.

¿Conviene un LDO o un conversor conmutado a batería?

Depende de dos cosas: cuánta caída de tensión hay que salvar y cuánta corriente pide el circuito. Un LDO no transforma nada, pasa la corriente 1 a 1 y quema la diferencia de tensión como calor, así que con poca caída y poco consumo un LDO de bajo reposo como el HT7333, con 4 µA, le gana a cualquier conmutado. Un conmutado transforma potencia y recupera esa diferencia, pero su propio reposo suele ser de cientos de µA o de varios mA en los módulos comunes, y a corrientes chicas su eficiencia cae bastante bajo lo que promete el gráfico del datasheet.

Dónde la usamos

Tutoriales del blog donde esta cuenta aparece en un proyecto de verdad.