ESP32-WROOM-32 深度睡眠模式功耗

时间:2021-05-13 18:39:21

标签: esp32 arduino-esp32

我正在使用 Espressif ESP32-WROOM-32 进行一些测试,试图在深度睡眠模式下获得最低的功耗。

就像 ESP32 Datasheet(第 30、31 页)中出现的那样,Light Sleep 模式下的功耗为 0.8 mA,使用 RTC Timer + RTC Memory 的 Deep Sleep 模式下功耗为 10 μA。

好吧,我上传了一个简单的 scketch,它开始,打开 LED 5 秒,关闭 LED,等待 1 秒,最后进入模块深度睡眠模式 30 秒,依此类推。

>

我使用 18650 锂离子充电电池充满电,在 VIN 和 GND 引脚上充满 4.2 伏电压,并采取功耗措施。运行期间功耗约为 50 mA,但模块进入深度睡眠模式后,电流为 10.2 mA

我曾尝试禁用 BT 和 WiFi,但得到了相同的测量结果。

有没有办法让功耗接近制造商的值?

提前致谢。

1 个答案:

答案 0 :(得分:1)

根据您提供的有关 ESP32 开发板的信息。有几个明显的功耗来源:

  1. 板载 LED;
  2. USB-TTL 芯片;
  3. 板上的 3.3v 稳压器可能不是低静态电流的类型,从您提供的链接中的图像来看,它看起来像是使用 AMS1117,其典型静态电流为 5mA(最大高达 11mA)。

还有其他不那么明显的原因导致电流高,如果您的应用程序在进入睡眠模式之前碰巧使用了 wifi,您可能需要在进入睡眠模式之前关闭 wifi 和 ADC:

#include "esp_wifi.h"
#include "driver/adc.h"

WiFi.mode(WIFI_OFF);
esp_wifi_stop();
adc_power_off();

更详细地描述了使用 WiFi 导致 adc 打开并因此消耗功率的问题here

总而言之,并非所有 ESP32 开发板都考虑到电池操作。要将您的 ESP32 开发板用于深度睡眠,您需要选择专为电池供电设计的 ESP32 开发板,例如,Sparkfun 通常有专为电池供电设计的产品。我个人的选择是这个 one,它在不通过 USB 供电时禁用 USB 芯片。