La puce ESP32 est de plus en plus populaire dans l’environnement Arduino. En tant que processeur 32 bits, c’est aussi l’Arduino le plus puissant avec un très bon support de la part du fabricant chinois Espressif, qui a également publié le support complet pour Arduino sur GitHub. De plus, l’ESP32 peut bien sûr communiquer via WiFi et Bluetooth, avec notre carte ECO Power, même via la technologie radio LoRa et atteint des portées de 200 m à 20 km. Cet article décrit notre expérience avec l’ESP32 en fonctionnement sur batterie.
C’est ainsi qu’il est facile de faire fonctionner un module ESP32 WROOM : Programmez d’abord le module à l’aide d’un adaptateur, connectez ensuite le module et le fonctionnement de la batterie démarre.
Consommation d’énergie du module ESP32 WROOM
Certaines valeurs de consommation d’énergie déterminées de la puce ESP32 :
Mode ESP32 | Consommation |
---|---|
Deepsleep | 7 µA |
Lightsleep | 1 mA |
Normale (240 MHz) | 50 mA |
L’horloge du processeur réduit (3 MHz) | 3,8 mA |
Fonctionnement WiFi | 80-180 mA |
Nous avons mesuré ces valeurs avec le module ESP32-WROOM, mais nous les obtenons également avec notre carte ECO Power en fonctionnement sur batterie. Cependant, la plupart des cartes ESP32 sont loin d’atteindre cette faible consommation d’énergie. Habituellement, les cartes ESP32 ont encore besoin d’environ 20 mA malgré le mode sommeil profond – c’est plus de deux mille fois plus ! Les facteurs importants pour la consommation d’énergie sont les circuits supplémentaires sur la carte, l’implémentation de l’alimentation USB et l’implémentation du fonctionnement sur batterie. Avec les cartes ESP32 ordinaires, la consommation d’énergie ne peut pas être réduite davantage, nous avons donc dû développer quelque chose qui vous est propre. C’est ce que nous avons fait avec la carte ECO Power.
Comparaison: Certains MCUs 32 bit en mode économie d’énergie
Nous avons obtenu ces résultats dans la pratique, ce qui montre que le très puissant ESP32 est extrêmement économe en énergie – avec des compromis bien sûr, mais au moins avec un environnement Arduino standard.
Choix des piles ou des batteries rechargeables appropriés
L’ESP32 fonctionne toujours à environ 2,55 à 3,6 volts, comme c’est le cas avec le module ESP32 WROOM. Les extensions externes telles qu’un écran ou d’autres composants nécessitent souvent au moins 3,3 volts. Si vous souhaitez utiliser l’ESP32 avec une longue durée de vie de la batterie, il y a quelques points à considérer. Pour éviter de tomber dans ces pièges, en voici un aperçu.
1. Fonctionnement de l’ESP32 via un banc d’alimentation
C’est à peu près la pire option. Une telle batterie utilise en interne une batterie au lithium de 3,7 V, puis transforme cette tension en 5 volts avec perte, un ESP32 connecté puis utilise un LDO (régulateur de faible perte), qui réduit la tension de 5 à 3,3 volts. C’est un désastre en termes d’efficacité énergétique ; les conversions multiples consomment en permanence des quantités considérables d’énergie (c’est-à-dire constamment, même si l’ESP32 ne nécessite que 7 µA). De plus, certaines banques de puissance s’éteignent automatiquement, car elles pensent qu’aucune charge n’est connectée en raison de la faible consommation d’énergie de l’ESP32.
2. Fonctionnement de l’ESP32 via des piles NiMH ou des piles standard (2 x 1,5 V)
Le fonctionnement direct avec deux piles NiMH ne fonctionne pas, car une pile ne fournit qu’environ 1,2 volts, c’est-à-dire 2,4 volts avec deux piles. C’est trop peu pour les 2,55 volts nécessaires, dont l’ESP32 a au moins besoin. Trois batteries NiMH montées en série ne sont pas non plus une option, car la tension maximale de 3,6 V de l’ESP32 est dépassée avec des batteries pleines.
Avec les batteries ordinaires (à l’exception du lithium), cela ne fonctionne pas longtemps, car la tension minimale de l’ESP32 de 2,55 V n’est pas atteinte après un certain temps de fonctionnement et la batterie est encore à 70 % de sa capacité totale. De plus, l’ESP32 sur WiFi a besoin d’impulsions de 400 mA à court terme – la tension de batterie des batteries ordinaires s’effondre et l’ESP32 se réinitialise.
3. Fonctionnement de l’ESP32 via des piles au lithium
Que ce soit deux batteries au lithium 1,5 V en série ou une batterie au lithium 3 V CR123, tout fonctionne parfaitement avec des batteries au lithium. Ceux-ci maintiennent une tension de 3 V assez constante, à moins de 2,7 volts plus de 90 % de la capacité d’une batterie au lithium est utilisée, à 2,55 volts elle est pratiquement vide. Les piles au lithium permettent également de répondre sans problème aux besoins d’alimentation élevés à court terme du fonctionnement WiFi. Par exemple, un Varta CR123 (3 V, 1700 mAh) peut même être utilisé en mode veille pendant plus de 5 ans, en fonction, bien sûr, de la fréquence à laquelle l’ESP32 se réveille et doit faire quelque chose, ou de la durée et de la fréquence d’utilisation du WiFi ou Bluetooth.
Etant donné que les batteries au lithium ont un taux d’autodécharge très faible et qu’elles fonctionnent toujours bien même à -20 °C froid, elles sont préférables.
4. Fonctionnement de l’ESP32 via des piles LiFePO4
Les batteries LiFePO4 modernes fonctionnent également très bien, mais fournissent environ 70 % d’énergie en moins qu’une batterie au lithium de la même taille. Cependant, les batteries LiFePO4 peuvent être rechargées ou remplacées par une batterie chargée. Les batteries LiFePO4 offrent également des performances élevées sans problème pour le fonctionnement WiFi, mais n’ont pas l’inconvénient des batteries lithium polymère, qui peuvent prendre feu si elles sont mal utilisées ou si leur qualité est médiocre.
Les batteries LiFePO4 sont bien adaptées à un fonctionnement à court terme, c’est-à-dire des semaines et des mois. Cependant, il est important de noter qu’un chargeur spécial adapté aux batteries LiFePO4 3 volts est nécessaire.
5. Fonctionnement de l’ESP32 via des des betteries au lithium polymère ou au lithium
Inutile de dire que les batteries au lithium polymère ou au lithium fonctionnent parce qu’elles fournissent suffisamment de puissance pour l’ESP32. Cependant, la tension de 3,7 à 4,2 V est beaucoup trop élevée pour l’ESP32, selon l’état de charge, et doit donc être réduite. Ceci a l’inconvénient qu’une grande partie de l’énergie est utilisée en permanence pour réduire la tension à 3,3 V. Les contrôleurs LDO simples nécessitent environ 2000 fois plus d’énergie en mode veille que l’ESP32 en mode « deepsleep », toutes les secondes, 24 heures par jour, 365 jours par an. Même les meilleurs contrôleurs ont encore besoin de beaucoup de puissance.
Bien sûr, les batteries au lithium polymère fonctionnent pendant un jour ou quelques jours, mais pendant des semaines et des années, c’est presque impossible.
Résumé
La batterie au lithium est le premier choix pour un fonctionnement sur batterie avec un temps de veille de plusieurs semaines et années.
Consommation électrique des cartes ESP32 en mode « deepsleep » :
Carte | Consommation électrique | Explication |
---|---|---|
ECO Power | 7 µA | via une batterie au lithium ou LiFePO4 |
ESP32 DevKitC | 11 mA | via l’alimentation USB |
L’heure en mode “deepsleep” sur l’ESP32
En mode « deepsleep », l’ESP32 éteint la CPU et l’oscillateur à quartz correspondant. Un oscillateur interne assure que le temps continue à courir. Cependant, cet oscillateur interne est très imprécis et dépend de la température, de sorte qu’en mode de sommeil profond permanent, un écart de 20 % et plus peut rapidement se produire. Cela signifie qu’après quelques jours, la montre n’est plus du tout correcte. De plus, le temps est remis à 0 lors d’un changement de pile, d’un reset ou d’un watchdog. Ceci est assez problématique pour un fonctionnement à long terme sur batterie ; cette restriction existe pratiquement avec toutes les cartes ESP32.
Notre carte ECO Power résout ce problème en utilisant une horloge RTC de haute précision (DS3231), qui règle simplement l’heure correcte après un sommeil profond. De plus, tous les RTC DS3231 sont étalonnés individuellement par rapport à une horloge atomique pendant la production d’ECO Power. Le DS3231 est également compensé en température (TCXO), ce qui lui permet de fournir l’heure exacte sur de nombreuses années, quel que soit le temps.