Análisis de los modos de sueño del ESP32 y su consumo energético

El ESP32 se ha convertido en un referente en el mundo de los microcontroladores y sistemas en chip (SoC) para proyectos de Internet de las Cosas (IoT). Su notable rendimiento y precio competitivo lo posicionan como una opción atractiva. Sin embargo, su consumo de energía puede ser un desafío, especialmente en aplicaciones que dependen de baterías. Conocer cómo funcionan sus modos de sueño es crucial para maximizar la duración de la batería en estos proyectos.

Cuando se trata de dispositivos IoT, cada miliamperio cuenta. Por ello, es fundamental utilizar los modos de sueño que el ESP32 ofrece para optimizar el consumo de energía. En este artículo, exploraremos en profundidad los diversos modos de sueño de este chip, así como su consumo energético en cada uno de ellos.

Índice de contenido
  1. Componentes internos del chip ESP32
  2. Modo activo del ESP32
  3. Modo de sueño del módem ESP32
  4. Modo de sueño ligero ESP32
  5. Modo de sueño profundo ESP32
  6. Modo de hibernación ESP32
  7. Consumo de energía del ESP32 en diferentes modos de sueño
  8. ¿Cómo elegir el modo de sueño más adecuado para tu proyecto?
  9. Consideraciones finales sobre el consumo de energía del ESP32

Componentes internos del chip ESP32

Comprender la arquitectura del ESP32 es esencial para apreciar cómo gestiona su consumo de energía. Este chip integra un procesador de doble núcleo de 32 bits, un módulo WiFi, un módulo Bluetooth y diversas interfaces, todo en un solo paquete. A continuación, se muestra un desglose de sus componentes:

  • Microprocesador: Doble núcleo de 32 bits.
  • Memoria: 448 KB de ROM, 520 KB de SRAM y 4 MB de Flash.
  • Periféricos: Incluye un acelerador criptográfico y un módulo RTC (Real Time Clock).

El diseño del ESP32 permite una gestión avanzada de la energía, con cinco modos de operación configurables para optimizar el consumo según las necesidades del proyecto:

  • Modo Activo
  • Modo de Sueño del Módem
  • Modo de Sueño Ligero
  • Modo de Sueño Profundo
  • Modo de Hibernación

Cada uno de estos modos tiene características y capacidades de ahorro de energía únicas, que exploraremos en detalle a continuación.

Modo activo del ESP32

En el modo activo, todos los periféricos del ESP32 están funcionando a plena capacidad. Esto significa que tanto el módulo WiFi como el Bluetooth, así como los núcleos de procesamiento, están operativos, lo que resulta en un consumo de energía considerable:

  • Consumo promedio: Alrededor de 240 mA.
  • Consumo máximo: Puede superar los 790 mA al utilizar WiFi y Bluetooth simultáneamente.

Este modo es el menos eficiente en términos de consumo energético, por lo que es recomendable cambiar a otros modos de bajo consumo cuando el dispositivo no está en uso activo.

Modo de sueño del módem ESP32

El modo de sueño del módem es una opción intermedia que permite que el procesador continúe funcionando mientras desactiva la conectividad del WiFi y Bluetooth. Esto resulta en un consumo de energía significativamente menor:

  • Consumo en baja velocidad: Aproximadamente 3 mA.
  • Consumo en alta velocidad: Alrededor de 20 mA.

En este modo, el chip despierta el WiFi y el Bluetooth en intervalos predefinidos para mantener la conexión activa, utilizando un mecanismo conocido como patrón de sueño de asociación.

Modo de sueño ligero ESP32

El modo de sueño ligero es similar al de sueño del módem, pero con una reducción adicional en el consumo energético. En este modo, la CPU y la mayoría de los periféricos digitales están desactivados, pero la memoria de acceso aleatorio (RAM) se mantiene activa. Esto permite que el dispositivo se despierte rápidamente cuando sea necesario:

  • Consumo energético: Alrededor de 0.8 mA.

El clock gating se utiliza aquí para eliminar la señal de reloj a los circuitos inactivos, lo que ayuda a reducir aún más el consumo de energía.

Modo de sueño profundo ESP32

En el modo de sueño profundo, el consumo de energía se minimiza drásticamente ya que la mayoría de los componentes, incluidos los núcleos de CPU y la RAM, están desactivados. Sin embargo, algunos elementos esenciales permanecen activos:

  • ULP Coprocessor
  • RTC Controller
  • RTC Peripherals
  • Memoria RTC rápida y lenta

El consumo en este modo oscila entre 0.15 mA (cuando el ULP está activo) y 10 µA. Este modo es ideal para aplicaciones donde se requiere un monitoreo constante sin un alto consumo de energía.

Modo de hibernación ESP32

El modo de hibernación es una extensión del modo de sueño profundo, en el que se apagan casi todos los componentes, incluyendo el oscilador interno. Solo queda activo un temporizador RTC y unas pocas GPIOs, lo que reduce el consumo a aproximadamente 2.5 µA:

Este modo es especialmente útil para proyectos que no requieren actividad constante, ya que permite que el dispositivo se mantenga en un estado de bajo consumo por períodos prolongados.

Consumo de energía del ESP32 en diferentes modos de sueño

El consumo de energía del ESP32 varía significativamente según el modo en que se encuentre. A continuación, se presenta una tabla que resume el consumo energético en los diferentes modos:

ModoConsumo (mA)
Activo240 - 790
Modo de Sueño del Módem3 - 20
Modo de Sueño Ligero0.8
Modo de Sueño Profundo0.15 - 10 µA
Modo de Hibernación2.5 µA

¿Cómo elegir el modo de sueño más adecuado para tu proyecto?

La elección del modo de sueño correcto dependerá de las necesidades específicas de tu aplicación. Considera lo siguiente al seleccionar el modo más adecuado:

  • Frecuencia de activación: ¿Con qué frecuencia necesita el dispositivo activarse?
  • Requisitos de conectividad: ¿Es esencial mantener la conexión WiFi o Bluetooth?
  • Duración de la batería: ¿Cuánto tiempo debe funcionar el dispositivo sin recargar?

Tomar en cuenta estos factores te ayudará a optimizar el rendimiento energético de tu proyecto, alargando la vida útil de la batería y mejorando la eficiencia general.

Consideraciones finales sobre el consumo de energía del ESP32

El ESP32 es un dispositivo poderoso y versátil que, cuando se utiliza correctamente, puede ser altamente eficiente en términos de energía. Con un conocimiento profundo de sus modos de sueño y un enfoque consciente en la gestión de la energía, es posible desarrollar aplicaciones IoT que no solo sean funcionales, sino también sostenibles.

Carlos Julián

Carlos Julián es el fundador de Ingtelecto, es Ingeniero Mecatrónico, Profesor y Programador, cuenta con una Maestria en Ciencias de la Educación, creador de contenido activo a través de TikTok @carlosjulian_mx

Estos temas te pueden interesar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Subir