ESP32 Alimentado por Batería

El chip ESP32 es cada vez más popular en el entorno de Arduino. Como procesador de 32 bits, es también el Arduino más potente con muy buen soporte del fabricante chino Espressif, que también lanzó todo el soporte para Arduino en GitHub. Además, el ESP32 puede comunicarse vía WiFi y Bluetooth, con nuestra tarjeta ECO Power incluso a través de la tecnología de radio LoRa y alcanza alcances de 200 m a 20 km. Este artículo describe nuestra experiencia con el ESP32 en funcionamiento con batería.


Así de fácil es poner en marcha un módulo ESP32 WROOM: Primero programe el módulo con un adaptador, luego conéctelo y se iniciará el funcionamiento de la batería.

Consumo de energía del módulo ESP32 WROOM

Algunos valores de consumo de energía determinados del chip ESP32:

Modo ESP32Consumo
“Deepsleep”7 µA
“Lightsleep”1 mA
Normal (240 MHz)50 mA
Reloj del procesador reducido (3 MHz)3,8 mA
Funcionamiento WiFi80-180 mA

Medimos estos valores con el módulo ESP32-WROOM, pero también los alcanzamos con nuestra tarjeta ECO Power en funcionamiento con batería. Sin embargo, la mayoría de las tarjetas ESP32 no se acercan a este bajo consumo de energía. Por lo general, las tarjetas ESP32 necesitan alrededor de 20 mA a pesar del modo “deepsleep”, es decir, ¡consumen más de dos mil veces más! Los factores importantes para el consumo de energía son los circuitos adicionales en la tarjeta, la implementación de la fuente de alimentación USB y la implementación de la operación por batería. Con las tarjetas ESP32 regulares, el consumo de energía no se puede reducir más, por lo tanto tuvimos que desarrollar algo propio. Esto es lo que hemos hecho con la tarjeta ECO Power.

Comparación: Unos MCU de 32 bits en modo de ahorro de energía

Hemos obtenido estos resultados en la práctica, lo que demuestra que el muy potente ESP32 es extremadamente bajo de consumo – con compromisos, por supuesto, pero al menos con un entorno Arduino estándar.

Elección de las pilas o baterías recargables adecuadas

El ESP32 funciona siempre entre 2,55 y 3,6 voltios, como en el caso del módulo ESP32 WROOM. Las extensiones externas, como una pantalla u otros componentes, a menudo requieren al menos 3,3 voltios. Si desea utilizar el ESP32 con una batería de larga duración, hay que tener en cuenta algunas cosas. Para evitar caer en estas trampas, hay aquí un resumen.

1. Operación del ESP32 a través de un banco de energía

Esta es la peor opción. Tal banco de energía utiliza internamente una batería de litio de 3,7 V, luego transforma este voltaje a 5 voltios con pérdida y un ESP32 conectado utiliza un LDO (low drop-out voltage regulator) que reduce el voltaje de 5 a 3,3 voltios. Esto es un desastre en términos de eficiencia energética; las conversiones múltiples consumen permanentemente cantidades considerables de energía (es decir, constantemente, incluso si el ESP32 sólo requiere 7 µA). Además, algunos bancos de alimentación se desconectan automáticamente, ya que creen que no hay cargas conectadas debido al bajo consumo de energía del ESP32.

Funcionamiento del ESP32 con pilas de Ni-MH o pilas estándar (2 x 1,5 V)

El funcionamiento directo con dos baterías de Ni-MH no funciona, ya que una sola batería suministra aproximadamente 1,2 voltios, es decir, 2,4 voltios con dos baterías. Esto es demasiado poco para los 2,55 voltios requeridos, que el ESP32 necesita por lo menos. Tres baterías de Ni-MH conectadas en serie tampoco son una opción, ya que el voltaje máximo de 3,6 V para el ESP32 se supera con las baterías llenas.

Con pilas normales (excepto de litio) esto no funciona durante mucho tiempo, porque el voltaje mínimo del ESP32 de 2,55 V no se alcanza después de un cierto tiempo de funcionamiento y la batería sigue estando al 70 % de su capacidad total. Además, el ESP32 en WiFi necesita impulsos de 400 mA a corto plazo: la tensión de las pilas normales se desploma y el ESP32 se reinicia.

3. Funcionamiento del ESP32 con pilas de litio

Ya sean dos baterías de litio de 1,5 V en serie o una CR123 de 3 V: todo funciona perfectamente con baterías de litio. Estos mantienen un voltaje de 3 V bastante constante, a menos de 2,7 voltios se utiliza más del 90 % de la capacidad de una batería de litio, a 2,55 voltios está prácticamente vacía. Las baterías de litio también proporcionan los altos requerimientos de energía a corto plazo de la operación WiFi sin ningún problema. Por ejemplo, un Varta CR123 (3 V, 1700 mAh) puede utilizarse en modo de reposo durante más de 5 años, dependiendo, por supuesto, de la frecuencia con la que el ESP32 se despierta y tiene que hacer algo, o de la duración y frecuencia con la que se utiliza WiFi o Bluetooth.

Ya que las baterías de litio tienen una autodescarga muy baja y también funcionan bien a -20 °C, es preferible utilizarlas.

4. Funcionamiento del ESP32 con pilas de LiFePO4

Las modernas pilas LiFePO4 también funcionan de forma excelente, pero proporcionan aproximadamente un 70 % menos de energía que una pila de litio del mismo tamaño. Sin embargo, las baterías LiFePO4 se pueden recargar o sustituir por una batería cargada. Las baterías LiFePO4 también ofrecen un alto rendimiento sin problemas para el funcionamiento WiFi, pero no tienen la desventaja de las baterías de polímero de litio, que pueden incendiarse si se utilizan de forma incorrecta o si la calidad es deficiente.

Las pilas LiFePO4 son adecuadas para el funcionamiento a corto plazo, es decir, semanas y meses. Sin embargo, es importante tener en cuenta que se requiere un cargador especial que es adecuado para baterías LiFePO4 3 V.

5. Funcionamiento del ESP32 con baterías recargables polímero de litio o de litio

Claro que pueden utilizarse las baterías LiPo o de litio porque proporcionan suficiente energía para el ESP32. Sin embargo, la tensión de 3,7 a 4,2 V es demasiado alta para el ESP32, dependiendo del estado de carga, por lo que debe reducirse. Esto tiene la desventaja de que una gran parte de la energía se utiliza permanentemente para reducir la tensión a 3,3 V. Los controladores LDO simples requieren aproximadamente 2000 veces más energía para el modo de reposo que el ESP32 en el modo de sueño profundo (“deepsleep”), cada segundo, las 24 horas del día, los 365 días del año. Incluso los mejores controladores necesitan mucha potencia.

Por supuesto, las baterías de polímero de litio funcionan durante un día o unos días, pero durante semanas y años esto es casi imposible.

Resumen

Pilas de litio son la primera opción para el funcionamiento con batería con un reposo de semanas y años.

Consumo de energía de las tarjetas ESP32 en modo “deepsleep”:

TarjetaConsumo de energíaComentario
ECO Power7 µAcon batería de litio o LiFePO4
ESP32 DevKitC11 mAa través de una fuente de alimentación USB

La hora en modo “deepsleep” en el ESP32

En el modo “deepsleep”, el ESP32 apaga la CPU y el oscilador de cristal correspondiente. Un oscilador interno asegura que el tiempo siga corriendo. Sin embargo, este oscilador interno es muy impreciso y depende de la temperatura, por lo que en el modo “deepsleep” permanente puede producirse rápidamente una desviación del 20 % o más. Esto significa que después de unos días el reloj ya no es correcto en absoluto. Además, la hora se reajusta a 0 durante un cambio de batería o un reset o watchdog. Esto es bastante problemático para un funcionamiento con batería de larga duración; esta restricción existe prácticamente en todas las tarjetas ESP32.

Nuestra tarjeta ECO Power resuelve este problema utilizando un reloj RTC de alta precisión (DS3231), que simplemente ajusta la hora correcta después de estar en modo “deepsleep”. Además, todos los RTC DS3231 se calibran individualmente contra un reloj atómico durante la producción de la tarjeta ECO Power. El DS3231 también está compensado por temperatura (TCXO), por lo que proporciona la hora exacta durante muchos años, independientemente del clima.

Otros enlaces