{getToc} $title={Índice}
Introdução:
O ESP32 é um microcontrolador amplamente utilizado em projetos de Internet das Coisas (IoT), conhecido por sua versatilidade e recursos avançados. Uma das considerações mais importantes ao desenvolver soluções IoT é a eficiência energética, garantindo que o dispositivo consuma energia de forma otimizada para prolongar a vida útil da bateria e reduzir custos operacionais. Neste artigo serão explorados os diferentes modos de energia disponíveis no ESP32, desde o modo ativo até o modo de hibernação, para ajudar os desenvolvedores a maximizar a eficiência energética em seus projetos.
Modos de consumo de energia disponíveis
O ESP32 conta com cinco modos de consumo de energia: Ativo, Modem Sleep, Light Sleep, Deep Sleep e Hibernate. Cada modo possui suas peculiaridades em relação aos blocos ativos do ESP32, que podem ser resumidos em: Radio, Wifi, Bluetooth, CPU/Memória, Coprocessador ULP, Periféricos e RTC.
Comparação de consumo entre os modos
O consumo aproximado de cada modo de energia pode ser visto na tabela a seguir:
Fonte: Microprogramador
Modo Ativo
O modo Ativo é o estado padrão do ESP32, no qual o dispositivo está totalmente operacional e consumindo energia em sua capacidade máxima. Nesse modo, todos os blocos estão ativos, executando todas as tarefas e processamentos necessários para o funcionamento do sistema. Embora seja o modo mais exigente em termos de consumo de energia, é essencial em situações que requerem processamento contínuo ou interações em tempo real.
Modo Modem Sleep
O modo Modem Sleep é um modo controverso, a Espressif o define apenas como o desligamento do módulo WiFi, porém, diversas pessoas e blogs consideram esse modo como o desligamento de todos os módulos de comunicação sem fio (Bluetooth, WiFi e Radio). Do ponto de vista funcional e de economia de energia iremos considerar o Modem Sleep como o desligamento do WiFi, Radio e Bluetooth. Existe a possibilidade de configurar o sistema para reativar esses módulos em intervalos de tempo predefinidos. Nesse modo, o ESP32 reduz o consumo de energia, especialmente quando não é necessário manter a conectividade constante. É uma opção adequada para aplicações em que a comunicação sem fio não é essencial o tempo todo, permitindo economias significativas de energia.
Fonte: Microprogramador
Modo Light Sleep
No modo Light Sleep a memória RAM, os periféricos, e a CPU ficam no modo "clock-gate", que é quando os blocos ficam suspensos ao remover/ignorar os seus sinais de clock. O modo Light Sleep é útil quando é necessário equilibrar a economia de energia com a capacidade de resposta rápida a eventos.
Fonte: Microprogramador
Modo Deep Sleep
O modo Deep Sleep é altamente eficiente em termos de economia de energia. Nesse modo, o ESP32 é desligado quase completamente, exceto pelo bloco do RTC e o processador ULP. Durante o modo Deep Sleep, o consumo de energia pode ser reduzido para alguns microamperes, tornando-o ideal para projetos que exigem longa duração da bateria.
Fonte: Microprogramador
Modo Hibernate
O modo Hibernate, é o estado de economia de energia mais profundo disponível no ESP32. Nesse modo, o dispositivo é completamente desligado, exceto pelo bloco de controle do RTC que continua operando, a memória do RTC e os periféricos do RTC são desligados. O bloco de controle do RTC, assim como no Deep Sleep, possui uma lógica para que mesmo com os periféricos desligados possa ser acordado por pinos RTC GPIO. É uma opção ideal para aplicações que requerem uma vida útil extremamente longa da bateria e têm requisitos mínimos de atividade.
Fonte: Microprogramador
Redução de clock
Outro ponto em que é possível minimizar o consumo de energia ao se utilizar um ESP32 é reduzir o clock do sistema. Quanto menor o clock menor o consumo, porém é um fator que poderá afetar o desempenho do seu projeto, podendo até causar problemas ou torná-lo inutilizável. Esse é um procedimento que deve ser realizado com muito cuidado, estudando as necessidades e possibilidades dentro do seu projeto. Iremos abordar este assunto em um post específico posteriormente.
Conclusão
Ao desenvolver projetos com o ESP32, é essencial considerar os diferentes modos de energia disponíveis para maximizar a eficiência energética. É importante avaliar cuidadosamente os requisitos específicos de cada projeto e considerar o equilíbrio entre consumo de energia, capacidade de resposta e opções de wakeup para obter a melhor eficiência energética possível. Com uma abordagem estratégica para o gerenciamento de energia se torna possível criar soluções IoT mais sustentáveis, eficientes e econômicas.
Fique ligado que logo menos teremos posts com exemplos de uso do Light Sleep e do Deep Sleep!