El consumo de energía de ESP32 puede reducirse mediante los modos de suspensión

Por Jeremy Cook

ESP32 es un dispositivo increíble: puede procesar información a cientos de megahercios, comunicarse a través de Wi-Fi y Bluetooth y realizar una amplia variedad de tareas mediante sus pines GPIO. Sin embargo, se podría decir que un gran poder conlleva un gran…consumo de energía.

Para ser justos, el consumo de energía de ESP32 es bastante bajo en comparación con dispositivos similares de hace una década. No obstante, para las modernas aplicaciones de IoT, especialmente cuando se trata de una batería, este puede ser un consumo de energía relativo, dado que se consumirán cientos de miliamperios de corriente cuando haya alimentación total.

La buena noticia es que ESP32 también cuenta con un sistema de modos de suspensión e hibernación. Cuando se usan con cuidado, estos modos permiten controlar la necesidad de energía de ESP, o al menos, limitarla a breves ráfagas de actividad.

Modos de suspensión

La suspensión profunda de ESP32 y otros modos de energía se describen en el cuadro a continuación; información extraída de la hoja de datos del producto:

Body Image 1 ESP32 Power Consumption Can Be Reduced With Sleep Modes

Captura de pantalla de la hoja de datos

ESP32 tiene cinco modos de baja potencia: ESP32 suspensión de módem, suspensión leve, suspensión profunda, hibernación y apagado. La suspensión de módem y la suspensión profunda tienen varios modos secundarios, con diferentes tasas de consumo de energía según las capacidades de procesamiento activas. La hibernación detiene casi todas las funciones del chip, excepto un RTC para activarlo después de un período de tiempo determinado. El modo de apagado se activa en respuesta a que el pin CHIP_PU se establece con un valor bajo y requiere interacción externa para comenzar a procesar nuevamente.

El resultado de todo esto es que los modos de baja potencia de ESP32 pueden consumir entre 68 mA y 5 µA, o 0,068 A y 0,000005 A respectivamente, sin tener en cuenta el apagado. La desventaja es que cada modo limita la utilidad de ESP32, como se indica a continuación:

  • Suspensión de módem: Se corta la comunicación inalámbrica.
  • Suspensión leve: Pausa la CPU, pero retiene estados de memoria.
  • Suspensión profunda: Apaga la memoria principal de ESP32. Se retiene una cantidad limitada de memoria RTC (reloj en tiempo real) que se puede usar para activar el dispositivo. El procesador ULP (potencia ultrabaja) está activo en dos de los tres submodos de suspensión profunda, lo que permite una ejecución sencilla de las tareas, así como el monitoreo de las entradas.
  • Hibernación: Deja solo el RTC y una cantidad limitada de pines GPIO activos para la activación. No se retiene memoria.
  • Apagado: Debe activarse externamente. El consumo de energía de 1 µA es insignificante en la mayoría de las situaciones.
  • Sin tener en cuenta los efectos de la tensión, una pequeña batería recargable de 3,7 V y 850 mAh podría alimentar un ESP32 con suspensión de módem durante aproximadamente 12,5 horas. En suspensión leve, podría durar más de 1000 horas. La hibernación en suspensión profunda de nivel medio ofrece 8500 horas de tiempo de ejecución (es decir, casi un año), mientras que un estado de hibernación teóricamente podría mantenerse durante casi 20 años. Por supuesto, el dispositivo deberá activarse de forma intermitente para resultar útil, pero con una planificación cuidadosa, una configuración de ESP32 puede ofrecer una vida útil extremadamente larga entre las cargas de la batería.

    Diferencias entre las placas de desarrollo en suspensión profunda con ESP32

    Body Image 2 ESP32 Power Consumption Can Be Reduced With Sleep Modes

    Captura de pantalla de la hoja de datos

    Cuando analizamos el consumo de energía, un módulo o chip ESP32 es solo una parte del panorama electrónico. Para experimentación, probablemente utilizaremos una placa de desarrollo. En diseños electrónicos más desarrollados, se necesitará una disposición personalizada de las partes asociadas para ejecutar un "elemento" de IoT. Si se lleva a cabo una programación cuidadosa, el uso de un ESP32 puede ser muy eficiente desde el punto de vista energético, pero se deberá prestar especial atención a los componentes electrónicos circundantes.

    Para ilustrar este punto, conecté una placa de desarrollo Adafruit HUZZAH32 ESP32 a un suministro de energía y un equipo de medición de corriente, junto con una placa DFRobot DFR0478 ESP32. Estos elementos se presentaron en una publicación sobre un reloj de video compuesto con ESP32 y ambos se desempeñaron de manera diferente en lo que podría considerarse un caso de uso bastante especializado. Quizás la eficiencia energética también resultaría ser una característica distintiva entre ellos.

    Para la prueba, utilicé un boceto de ejemplo de Arduino ESP32 llamado "TimerWakeUp" modificado que entra en modo de suspensión profunda, se activa, enciende la luz LED integrada y luego, comienza un nuevo ciclo al pasar otra vez al modo de suspensión. Se alimentaron 5,3 V a cada placa y este suministro se convirtió al nivel de tensión necesario de ~3,3 para ESP32. Los resultados de consumo fueron los siguientes:

    HUZZAH32:   suspensión = 6,6 mA    activación = 43,2 mA; activación + LED = 44,6 mA 
     DFR0478:  suspensión = 0,02 mA     activación = 39,7 mA; activación + LED = 40,0 mA

    Para ser justos, y a fin de obtener una mejor simulación del uso real de IoT, podríamos haber medido la corriente a través del puerto de la batería. No obstante, parece que en este escenario, la placa DFR0478 FireBeetle es mucho más eficiente en modo de suspensión que su contraparte.

    Durante la suspensión profunda, HUZZAH32 consume 7000 µA (7 mA) de alimentación de la batería, aproximadamente lo que había medido en mi experimento. Un análisis realizado por Andreas Spiess reveló que DFR0478 consume un valor informado de corriente de 53 µA (0,053 mA) de la batería cuando está en suspensión profunda. Esto es significativamente más de lo que había medido en DFR0478. Sin embargo, en su informe se utiliza una entrada de energía diferente y una versión anterior de la placa (2.0 frente a 4.0, la cual probé). Esta medición también está superando los límites inferiores de lo que puede indicar mi multímetro, lo cual podría ser un factor en su precisión. Como salvedad final, el FireBeetle que probamos usa un módulo WROOM-32D ESP32, mientras que HUZZAH32 utiliza un WROOM-32E.

    Dicho todo esto, encontramos órdenes de magnitud de diferencia entre las dos placas probadas, lo que es un buen ejemplo de que los circuitos que admiten un ESP32 pueden tener un efecto significativo en el consumo de energía.

    Consumo de energía de ESP32 controlado mediante los modos de suspensión

    ESP32 es un dispositivo increíblemente potente que puede requerir una cantidad relativamente grande de energía para funcionar. No obstante, si se lleva a cabo una programación cuidadosa, es posible que uno de estos dispositivos dure semanas, meses o incluso más con la energía de la batería. La clave es comprender las ventajas y desventajas involucradas en el diseño de baja potencia y lo que se puede omitir sin dejar de lograr un rendimiento aceptable.

    Últimas noticias

    Lo sentimos, pero su selección de filtros no devolvió resultados.

    Hemos actualizado nuestra política de privacidad. Por favor tome un momento para revisar estos cambios. Al hacer clic en Acepto, usted está de acuerdo con la Politica de Privacidad de Arrow Electronics y sus condiciones de uso.

    Nuestro sitio Web coloca cookies en su dispositivo para mejorar su experiencia y nuestro sitio. Lea más sobre las cookies que utilizamos y cómo desactivarlas aquió. Es posible que se utilicen las cookies y tecnologías de seguimiento con fines de marketing.
    Al hacer clic en "Aceptar", usted está consintiendo la colocación de cookies en su dispositivo y el uso de tecnologías de seguimiento. Haga clic en "Leer más" a continuación para obtener más información e instrucciones sobre cómo desactivar las cookies y tecnologías de seguimiento. Si bien la aceptación de cookies y tecnologías de seguimiento es voluntaria, la desactivación de estos puede resultar en que el sitio web no funcione correctamente, y es posible que ciertos anuncios sean menos relevantes para usted.
    Respetamos su privacidad. Lea nuestra política de privacidad aquió