Como obter maior duração da bateria do MCU com modo de suspensão de baixo consumo de energia

Cómo prolongar la duración de la batería de la MCU con el modo de suspensión de bajo consumo

Generalmente hay seis modos de energía en una MCU:

  1. Ejecutar : en modo de ejecución completa, una MCU consume toda la corriente. Este modo es más adecuado para aplicaciones donde la eficiencia energética no es esencial.
  2. Dormitar : Como sabemos, la potencia aumenta proporcionalmente a la frecuencia. Por lo tanto, podemos concluir que velocidades de reloj más altas tienden a un mayor consumo de energía. El modo Doze ayuda a reducir el consumo de energía. En el modo Doze, la CPU y la memoria Flash funcionan a una frecuencia de reloj más baja que el resto del chip porque Flash y la CPU son componentes que consumen mucha energía.
  3. Detenido : en modo inactivo, la CPU y el Flash se detienen y el resto del chip continúa funcionando.
  4. Suspensión : en el modo de suspensión, podemos ahorrar más del 90% de la energía consumida en ejecución. Normalmente, las MCU logran el menor consumo de energía en el modo de suspensión, consumiendo nano amperios o micro amperios de corriente. La CPU, Flash y la mayoría de los periféricos están deshabilitados o fuera de línea en este modo. Hay algunos periféricos disponibles, como A/D, UART Interrupt y algunos temporizadores, que permiten que la MCU realice algún trabajo en el sistema, despertándolo en un momento específico.
  5. Suspensión de bajo voltaje : en este modo, se puede emplear un segundo regulador para reducir el voltaje en las puertas lógicas. Esto reduce significativamente la corriente de fuga de la MCU.
  6. Deep Sleep : En este modo, la CPU, la memoria flash, la RAM y casi todos los periféricos están deshabilitados. Sólo permanecen encendidos los periféricos de bajo consumo, como el reloj en tiempo real, Deep Sleep Brown-out para detectar el consumo de batería, un temporizador de vigilancia y la función de activación de consumo de energía ultrabaja. Sin energía de la mayor parte del chip, el consumo de corriente puede ser tan bajo como 20 nA.

En esta serie, presentaremos tres experimentos para comprender mejor el modo de bajo consumo.

Experiencia 1

Para apuntar
Para ejecutar una MCU en modo de bajo consumo, lea la lectura de temperatura y humedad usando el sensor AHT10 y envíe la lectura a través de WiFi.

Requisitos

  1. UCM: ESP32-WROOM-32D (módulo genérico Wi-Fi + Bluetooth + Bluetooth LE MCU)
  2. Sensor: AHT10 (sensor de temperatura y humedad)
  3. Batería: Batería MX1500 AA (3,6 V, 2700 mAh)

Teoría
En este experimento, utilizamos la MCU ESP32-WROOM-32D. Aquí aprenderemos cómo usar un temporizador para activar el ESP32. El ESP32 permanecerá en modo activo durante 2-3 segundos, tomará la lectura de temperatura y humedad y la enviará a través de WiFi. Después de eso, el ESP32 volverá al modo de suspensión profunda. Permanecerá en modo de sueño profundo durante cinco minutos.

Modos de energía ESP32
El chip ESP32 cuenta principalmente con dos tipos de procesadores, el principal y el de ultrabaja potencia, o procesador ULP. ESP32 generalmente consume alrededor de 75 mA de corriente en funcionamiento normal y alrededor de 240 mA cuando se transmiten datos a través de WiFi. El modo de suspensión profunda de ESP32 reducirá el consumo de energía y aumentará la duración de la batería, ya que cada mA es fundamental para una batería. Cinco modos de energía configurables administran el consumo actual del ESP32.

  1. Activo
  2. Suspensión del módem
  3. Sueño ligero
  4. Sueño profundo
  5. Hibernación

La siguiente tabla detalla los modos de energía:


En el modo de suspensión profunda, el controlador RTC (reloj en tiempo real), los periféricos y las memorias están en modo activo. La mayor parte de la RAM con todos los periféricos digitales y la CPU están apagadas en modo de suspensión profunda. Sólo el módulo RTC está activo, lo que resulta en la pérdida de datos que inicialmente no estaban presentes en la memoria de recuperación de RTC. Si el coprocesador ULP está encendido, el consumo de corriente cae a 0,15 mA – 10 µA. Tenga en cuenta que el sistema no puede ingresar automáticamente al modo de suspensión profunda.

La función que se puede utilizar para activar el sueño profundo una vez configuradas las fuentes de despertar inmediatamente es:
“esp_deep_sleep_start”

Fuentes de activación ESP32
Hay varias formas de reactivar la placa ESP desde el modo de suspensión profunda.

  1. Temporizador, despierta. Despierta tu ESP32 en períodos de tiempo predefinidos, lo cual se logra mediante la función: (esp_sleep_enable_timer_wakeup(sleep_time_in_us)”
  2. Activación de pin táctil. Podemos despertar el ESP32 del sueño profundo usando los pines táctiles obtenidos con la siguiente función:
    “esp_sleep_enable_touchpad_wakeup”
  1. Despertar externo. Podemos activar ESP32 usando múltiples GPIO RTC. Hay dos funciones lógicas diferentes.
    Active ESP32 si alguno de los pines seleccionados está alto.
    Active ESP32 si todos los pines seleccionados están bajos.

Necesitamos utilizar la siguiente función:
“esp_sleep_enable_ext1_wakeup(máscara de bits, modo)”

Esquemático
En este esquema puedes reconocer funciones que estudiamos en artículos anteriores para reducir el consumo de energía. Operamos el circuito con una fuente de baja potencia (3V). El valor de la resistencia con el LED es de valor alto (1K) y el pull-up del pin Enable también es de valor alto (20K). No usamos los pull-ups para la conexión I2C porque en su lugar usaremos los pull-ups internos del ESP32.

Fig: 1 Esquema del modo de suspensión profunda de MCU

Configuración del experimento
A continuación se muestra la imagen que muestra la configuración del experimento.

Fig: 2 Configuración del experimento

Código

mesa de observación

Fig: 3 Consumo actual por módulo

  1. El consumo de corriente del ESP32 en modo activo es de aproximadamente 123 mA.
  2. La capacidad de la batería es de 2700 mAh.
  3. Según la ficha técnica de la batería, su vida útil ronda los siete años.
  4. La tasa de autodescarga mensual de la batería alcalina AA es del 0,3%.
    Capacidad de la batería (mAH) * Tasa de autodescarga / 100 = Corriente de autodescarga (mAH)
    2700 mAh * 0,3/100 = 8,1 mAh

Esto significa que una batería de 2700 mAH descargará automáticamente un 3% de pérdidas o 8,1 mAH de su capacidad después de un mes.
Vida útil = 2700 mAH /( 8,1 mAH) = 333,3 meses = ~ 27 años

  1. Cálculo de la duración de la batería,

Fig: 5 Cálculo de la duración de la batería

Resultados
A continuación se muestran los resultados de los datos del dispositivo enviados a la plataforma ThinkSpeak.

Fig: 6 lecturas de temperatura del sensor AHT10 (izquierda). Lecturas de humedad del sensor AHT10 (derecha)

De acuerdo con lo anterior, la batería con una capacidad de 2700mAH tendrá una vida útil de aproximadamente 261 días si la corriente consumida de la batería es de 123mA durante el modo activo.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.