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

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.

返回博客

发表评论

请注意,评论必须在发布之前获得批准。