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

Geralmente existem seis modos de energia em um MCU:

  1. Correr: No modo de execução total, um MCU consome corrente total. Este modo é mais adequado para aplicações onde a eficiência energética não é essencial.
  2. Cochilar: Como sabemos, a potência aumenta proporcionalmente à frequência. Portanto, podemos concluir que velocidades de clock mais altas tendem a um maior consumo de energia. O modo Doze ajuda a reduzir o consumo de energia. No modo Doze, a CPU e a memória Flash funcionam a uma frequência de clock mais baixa do que o resto do chip, pois o Flash e a CPU são componentes que consomem muita energia.
  3. Parado: No modo inativo, a CPU e o Flash param e o restante do chip continua a operar.
  4. Dormir: No modo sleep, podemos economizar mais de 90% da energia consumida em Run. Normalmente, os MCUs atingem o menor consumo de energia no modo de suspensão, consumindo nano amperes ou microamperes de corrente. A CPU, o Flash e a maioria dos periféricos ficam desabilitados ou off-line neste modo. Estão disponíveis alguns periféricos, como A/D, UART Interrupt e alguns temporizadores, que permitem ao MCU realizar algum trabalho no sistema, despertando-o em um horário específico.
  5. Sono de baixa tensão: Neste modo, um segundo regulador pode ser empregado para reduzir a tensão nas portas lógicas. Isso reduz significativamente a corrente de fuga do MCU.
  6. Sono profundo: Neste modo, a CPU, flash, RAM e quase todos os periféricos estão desabilitados. Apenas periféricos de baixo consumo de energia, como o relógio em tempo real, o Deep Sleep Brown-out para detectar queda de bateria, um temporizador de vigilância e o recurso de despertar com consumo de energia ultrabaixo, permanecem ligados. Com a alimentação removida da maior parte do chip, o consumo de corrente pode ser tão baixo quanto 20nA.

Nesta série, apresentaremos três experimentos para entender melhor o modo de baixo consumo de energia.

Experiência 1

Mirar
Para executar um MCU no modo de baixo consumo de energia, leia a leitura de temperatura e umidade usando o sensor AHT10 e envie a leitura por WiFi.

Requisitos

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

Teoria
Neste experimento, estamos usando o MCU ESP32-WROOM-32D. Aqui aprenderemos como usar um timer para despertar o ESP32. O ESP32 permanecerá no modo ativo por 2 a 3 segundos, fará a leitura de temperatura e umidade e a enviará por WiFi. Depois disso, o ESP32 voltará ao modo de hibernação profunda. Ele permanecerá no modo deepsleep por cinco minutos.

Modos de energia ESP32
O chip ESP32 possui principalmente dois tipos de processadores, o principal e o de ultrabaixa potência, ou processador ULP. O ESP32 geralmente consome cerca de 75mA de corrente em operação normal e cerca de 240mA durante a transmissão de dados por WiFi. O modo de suspensão profunda ESP32 reduzirá o consumo de energia e aumentará a vida útil da bateria, pois cada mA é crítico para uma bateria. Cinco modos de energia configuráveis ​​gerenciam o consumo de corrente do ESP32.

  1. Ativo
  2. Suspensão do modem
  3. Sono leve
  4. Sono profundo
  5. Hibernação

A tabela abaixo detalha os modos de energia:


No modo de hibernação profunda, o controlador RTC (relógio em tempo real), os periféricos e as memórias estão no modo ativo. A maior parte da RAM com todos os periféricos digitais e a CPU está desligada no modo de hibernação profunda. Apenas o módulo RTC está ativo, o que resulta na perda de dados não presentes inicialmente na memória de recuperação do RTC. Se o coprocessador ULP estiver ligado, o consumo de corrente cai para 0,15 mA – 10 µA. Observe que o sistema não pode entrar automaticamente no modo de suspensão profunda.

A função que pode ser usada para ativar o sono profundo assim que as fontes de despertar forem configuradas imediatamente é:
“esp_deep_sleep_start ”

Fontes de despertar ESP32
Existem várias maneiras de despertar a placa ESP do modo de hibernação profunda.

  1. Temporizador, acorde. Acordar seu ESP32 em períodos de tempo predefinidos, o que é conseguido através da função: (esp_sleep_enable_timer_wakeup(sleep_time_in_us)”
  2. Ativação do pino de toque. Podemos despertar o ESP32 do sono profundo usando os pinos de toque obtidos com a seguinte função:
    “esp_sleep_enable_touchpad_wakeup ”
  1. Despertar externo. Podemos ativar o ESP32 usando vários GPIOs RTC. Existem duas funções lógicas diferentes.
    Ative o ESP32 se algum dos pinos selecionados estiver alto.
    Ative o ESP32 se todos os pinos selecionados estiverem baixos.

Precisamos usar a seguinte função:
“esp_sleep_enable_ext1_wakeup(bitmask, modo)”

Esquemático
Neste esquema, você pode reconhecer funções que estudamos em artigos anteriores para reduzir o consumo de energia. Operamos o circuito com uma fonte de baixa potência (3V). O valor do resistor com o LED é de valor alto (1K), e o pull up do pino Enable também é de valor alto (20K). Não usamos os pull-ups para a conexão I2C porque, em vez disso, usaremos os pull-ups internos do ESP32.

Fig: 1 Esquema do modo de suspensão profunda MCU

Configuração do experimento
Abaixo está a imagem que mostra a configuração do experimento.

Fig: 2 Configuração do experimento

Código

Mesa de observação

Fig: 3 Consumo de corrente por módulo

  1. O consumo de corrente pelo ESP32 em modo ativo é de aproximadamente 123 mA.
  2. A capacidade da bateria é de 2700 mAh.
  3. De acordo com a ficha técnica da bateria, sua vida útil é de cerca de sete anos.
  4. A taxa mensal de autodescarga da bateria alcalina AA é de 0,3%.
    Capacidade da bateria (mAH) * Taxa de autodescarga / 100 = Corrente de autodescarga (mAH)
    2700 mAh * 0,3/100 = 8,1 mAh

Isso significa que uma bateria de 2.700 mAH irá descarregar automaticamente 3% de perdas ou 8,1 mAH de sua capacidade após um mês.
Prazo de validade = 2700 mAH /( 8,1 mAH) = 333,3 meses = ~ 27 anos

  1. Cálculo da vida útil da bateria,

Fig: 5 Cálculo da vida útil da bateria

Resultados
Abaixo estão os resultados dos dados do dispositivo enviados para a plataforma ThinkSpeak.

Fig: 6 Leituras de temperatura do sensor AHT10 (esquerda). Leituras de umidade do sensor AHT10 (direita)

De acordo com o exposto, a bateria com capacidade de 2700mAH terá uma vida útil de aproximadamente 261 dias se a corrente retirada da bateria for de 123mA durante o modo ativo.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.