• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32-WROOM-32D высокое потребление в deep-sleep

pkolt

New member
Всем привет!

Пишу первый раз на этом форме, пожалуйста не закидывайте помидорами, если вопрос глупый.
Почему ESP32-WROOM-32D в режиме deep-sleep, потребляет около 7 mA? Выпаял светодиод, и все равно не сильно это помогло.
Питание подаю через контакт 3.3V от импульсного стабилизатора на 3.3V.
Правильно ли я понимаю что линейный стабилизатор тоже кушает энергию даже при подаче через пин 3.3V?

20211014_223701 (1).jpg

Исходный код программы:

C++:
#include <Arduino.h>
#define LED_BUILTIN 25
#define uS_TO_S_FACTOR 1e6  /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP  10        /* Time ESP32 will go to sleep (in seconds) */
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
  // esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
  esp_deep_sleep_start();
}
 

nikolz

Well-known member
Всем привет!

Пишу первый раз на этом форме, пожалуйста не закидывайте помидорами, если вопрос глупый.
Почему ESP32-WROOM-32D в режиме deep-sleep, потребляет около 7 mA? Выпаял светодиод, и все равно не сильно это помогло.
Питание подаю через контакт 3.3V от импульсного стабилизатора на 3.3V.
Правильно ли я понимаю что линейный стабилизатор тоже кушает энергию даже при подаче через пин 3.3V?

Посмотреть вложение 11407

Исходный код программы:

C++:
#include <Arduino.h>
#define LED_BUILTIN 25
#define uS_TO_S_FACTOR 1e6  /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP  10        /* Time ESP32 will go to sleep (in seconds) */
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
  // esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
  esp_deep_sleep_start();
}
Вы учли потребления адаптера USB-UART СP2102?
 

pkolt

New member
Вы учли потребления адаптера USB-UART СP2102?
Наверное не учел, вы предполагаете что он должен что-то потреблять когда не используется (USB-штекер в него не воткнут) и питание платы подведено через контакт 3.3V?

Я просто предполагал по аналогии с Wemos D1 mini, там питание подается через контакт 3.3V при этом на борту тоже есть USB-UART, и он ничего не кушает в deep-sleep режиме.
 
Переключите chip_pu на gnd, чип при этом должен выключиться, если потребление при этом не сильно изменится - значит что то на плате потребляет
 

pkolt

New member
Переключите chip_pu на gnd, чип при этом должен выключиться, если потребление при этом не сильно изменится - значит что то на плате потребляет
Попробовал, chip_pu на ESP32-WROOM-32D это контакт EN. К сожалению это не помогло, стало даже хуже...в этом режиме потребление возросло на 2.5 mA. Видимо надо пробовать голый чип, без всяких плат с обвязкой.
 
Это уже контакт на самой плате, он подтянут через резистор к VCC, если его замкнуть на GND, то будет потребление на подтягивающем резисторе(номиналы их встречаются различные). Так что все подтяжки надо убрать и потом уже тестировать. Можно, конечно, и на голом чипе проверить, если он есть.
 
Сверху Снизу