Le véritable courant consommé par l'ESP32-S3-DevKitM-1 en mode deep sleep

Si la vidéo ne s'affiche pas, cliquez ici.

D'après la datasheet de l'ESP32 S3, le courant consommé en mode deep sleep (RTC) est d'environ 7µA. Cette page explique comment nous avons mesuré le courant réellement consommé par l'ESP32-S3-DevKitM-1 Une comparaison des mesures de différentes cartes ESP32 est consultable sur cette page.

Ces mesures ont été faites avec les versions suivantes :

Nous avons utilisé un multimètre Matrehit Energy qui peut mesurer des courant à partir de 10nA.

Image de l'ESP32 S3 DevKitM 1 d'Expressif

Code source

Le code source utilisé pour basculer en mode deep sleep est présenté ci-dessous. L'ESP32 reste 10 secondes en fonctionnement normal, puis bascule en mode deep sleep pendant 10 secondes avant de recommencer.

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "led_strip.h"
#include "sdkconfig.h"
#include "esp_system.h"
#include "esp_sleep.h"

#define TIME_TO_SLEEP 10  // Wake up / deep sleed duration
#define uS_TO_S_FACTOR 1000000  // Factor from microseconds to seconds

void app_main(void)
{
    // Display wake up message in the console
    printf("Wake up\n");

    // Wait TIME_TO_SLEEP seconds
    vTaskDelay(TIME_TO_SLEEP * 1000 / portTICK_PERIOD_MS);

    // Display a message in the consol before deep sleep
    printf("Go to deep sleep\n");

    // Set the deep sleep duration
    esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);

    // Go in deep sleep mode
    esp_deep_sleep_start();
}

Résultats

Voltage Normal Deep sleep Voltage Wake up Deep sleep
Current @3.3V 31.7mA 8µA
Power @3.3V 105mW 0.026mW

Lorsque la carte est alimentée en 3,3V, en mode normal, le courant est d'environ 31,7mA. En mode veille profonde, le courant est de 8µAA. Comme vous pouvez le constater, cette consommation est très proches des 7µA spécifiés dans la documentation de l'ESP32 :

Datasheet de l'ESP32 S3 | Courant en veille profonde

0 Ohms resistor

Notez qu'il y a une résistance de zéro Ohms sur le PCB. Pour atteindre cette consommation, il faut enlever la résistance :

Résistance de shunt de 0 Ohms sur le schéma de la carte

Voici cette résistance sur le PCB :

0 Ohms resistor shunt on PCB

Avec la résistance

Si la résistance est laissée sur le circuit imprimé, voici les consommations :

Voltage Normal Deep sleep
Courant @3.3V 29.8mA 0.93mA
Puissance @3.3V 98mW 3mW
Courant @5V 30.5mA 1.01mA
Puissance @5V 100mW 3.33mW

Voici une vidéo de la mesure du courant :

Si la vidéo ne s'affiche pas, cliquez ici.

La raison principale est probablement la led d'alimentation qui est toujours allumée, car elle est connectée à l'alimentation :

Schéma de la led de l'ESP32 S3 DevKitM 1

Le deuxième point est l'interface USB, basée sur la puce CP2102N. La puce est alimentée par le 3.3V. Même si l'USB n'est pas connecté, l'interface est alimentée. Le courant peut atteindre 1,3mA lorsqu'elle est maintenue en position de réinitialisation. Cela augmente également la consommation globale de la carte.

Schéma de l'interface USB de l'ESP32 S3 DevKitM 1

Le régulateur de tension est un régulateur linéaire DC-DC SGM2212-3.3 (régulateur linéaire à faible courant de repos, à haut taux de performance et à faible perte).

Schéma du régulateur de la carte ESP32 S3 DevKitM 1

Conclusion

En conclusion, si vous avez une application qui nécessite un mode veille avec une forte contrainte sur la consommation ou l'autonomie, c'est probablement un très bon choix. En effet, c'est l'une des meilleures carte que j'ai testé en terme de consommation. Si l'efficacité énergétique est essentiel pour votre projet, consultez cette page qui compare le courant consommé par différentes cartes ESP 32.

Téléchargement

Voir aussi


Dernière mise à jour : 26/12/2023