Найти тему
1367 подписчиков

Так сколько же все-таки потребляет ESP32 (тот самый обычный ESP32 с двумя ядрами и FSM ULP ядром) на примере готового модуля ESP32-S при питании от 3.3 В в различных режимах сна?


Скетч полагается на то, что кнопка коммутирует на землю изначально подтянутый к питанию GPIO0, а светодиод катодом подключен к GPIO2. Первые 5 сек. работы скетча CPU активен, далее 5 сек. CPU в режиме легкого сна, далее легкий сон с пробуждением от нажатия на кнопку, далее 5 сек. глубокого сна, далее глубокий сон с мониторингом кнопки EXT0, далее глубокий сон с мониторингом кнопки EXT1 и наконец глубокий сон с мониторингом кнопки с помощью ULP каждые 5 мс.

CPU Active 38 mA

CPU Light Sleep (timer) 1560 uA

CPU Light Sleep (GPIO) 1560 uA

CPU Deep Sleep (timer) 3 uA

CPU Deep Sleep (EXT0) 4 uA

CPU Deep Sleep (EXT1) 4 uA

CPU Deep Sleep (ULP each 5 ms) 20 uA

Само собой, это потребление с выключенными WiFi и BT. Если для ULP уменьшить время таймера с 5 мс, то потребление энергии возрастет, зато станет возможным отслеживать кратковременные изменения состояния RTC GPIO.

Потребление же ULP в режиме постоянного мониторинга в глубоком сне основных ядер составляет 435 uA (для этого в скетче необходимо раскомментировать дефайн ULP_INFINITE).

Скетч сделан для Arduino IDE, хотя от фреймворка Arduino используется только вывод в UART через объект Serial, для остального используется ESP-IDF.

Если это будет интересно хотя бы 1/10 подписчиков, то напишу статью о том, как использовать раннее просыпание...
Так сколько же все-таки потребляет ESP32 (тот самый обычный ESP32 с двумя ядрами и FSM ULP ядром) на примере готового модуля ESP32-S при питании от 3.3 В в различных режимах сна?
1 минута
531 читали