• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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, то будет потребление на подтягивающем резисторе(номиналы их встречаются различные). Так что все подтяжки надо убрать и потом уже тестировать. Можно, конечно, и на голом чипе проверить, если он есть.
 
Сверху Снизу