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

ESP32 энергосбережение

Michael_074

New member
Доброго!
Вопрос, как обеспечить максимальное энергосбережение ESP32. Под Arduino IDE2.
Espressif пишет, что нужно использовать esp_bluedroid_disable(), esp_bt_controller_disable(), esp_wifi_stop(), esp_sleep_pd_config, rtc_gpio_isolate()
Где в Arduino IDE2 все эти функции? Может это вынесено в отдельную библиотеку?
На разных форумах пишут по-разному. Кто в теме-подскажите ка правильно.
Задача отключить модем и все лишнее. В общем сделать что-то типа ATTINY13
 

Michael_074

New member
Это все сделано. Но не работает.
esp_bt_controller_disable(); error: 'esp_bt_controller_disable' was not declared in this scope

Нагуглил для отключения модема такие функции. Они в ардуино работают.
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
btStop();

Этого для отключения достаточно?
 

Michael_074

New member
Вот оно! Спасибо!
Дело сдвинулось. Про это и спрашивал, какую библиотеку подключить.
 

pvvx

Активный участник сообщества
Я тоже сначала спросил - потом удалил вопрос. Цель другая - Задача отключить модем и все лишнее. Превратить ESP32 в Attiny13 и тд...
Зачем - тайна... :)
И сколько mA вышло?
Не в тесте "Hello World!", т.к. там SoC ничего не делает, а в тесте к примеру с чтением Flash и активной работой с памятью (на остальную периферию отключить все CLK) Плюс разные частоты CPU.
В документации на ESP32 за много лет этого нет. Espressif не имеет оборудования для измерения. А тестовые прошивки прохождения сертификации они удалили, т.к. там общий ток за 500 мА.
 

pvvx

Активный участник сообщества
В Arduino при старте всё равно для модуля типа с USB-UART по +5В требуется источник с током более 0.63 A. Иначе оно не стартанет и вывалится по провалу напруги.
1721405928679.png
(Пик в начале - это заряд емкостей модуля при подаче питания)
А дешевых экономичных стабилизаторов с токами от 700 мА не существует.
Во время сна стабилизатор будет жрать существенную часть.
 

pvvx

Активный участник сообщества
И то это кратковременное ограничение в пике тока дает USB компа и шнур USB (совместно с шунтами PowerProfiler II от Нордик).
 

pvvx

Активный участник сообщества
Вопрос, как обеспечить максимальное энергосбережение ESP32. Под Arduino IDE2.
Никак. Arduino IDE для этого не предназначен.
Для существенной экономии питания Вам придется изучить чистый СИ и написать всё ПО с нуля самому.
 

pvvx

Активный участник сообщества
Странно это всё с ESP32.
Любой современный чип с Lunux кушает меньше.
К примеру старт и работа Luckfox-Pico-Max M c SD картой в Ubuntu 22.04.4 LTS (GNU/Linux 5.10.110):
1721412163882.png
При активной работе (к примеру при распаковке файлов в sudo apt upgrade ) среднее потребление доходит до 123 мА, как у ESP32 при работе в WiFi AP и без подключения...
 

nikolz

Well-known member
А дешевых экономичных стабилизаторов с токами от 700 мА не существует.
Во время сна стабилизатор будет жрать существенную часть.
а что не так с народным AMS1117 ?
Adjust Pin Current Change 1.5V<=VIN-VOUT<=7V, 10mA<=IOUT<=1A 0.2 5 µA
-----------------
Можно поставить внешний таймер TPL511x или C002 и токи в режиме сна будут мелкими.
 

Michael_074

New member
Тайны нет. Т.к. Lolin32 Lite уже лежит на столе, решил использовать его.
Хочу считать с BME280, раз в минуту плюнуть в эфир на 433MHz и заснуть.
Питание 2 ААА батарейки напрямую. Дорожки к лишним потребителям (USB, зарядник) отрезал.
С не выключенным программно модемом за 10 часов работы скушал 0.013 Ач. Многовато.
 

nikolz

Well-known member
Тайны нет. Т.к. Lolin32 Lite уже лежит на столе, решил использовать его.
Хочу считать с BME280, раз в минуту плюнуть в эфир на 433MHz и заснуть.
Питание 2 ААА батарейки напрямую. Дорожки к лишним потребителям (USB, зарядник) отрезал.
С не выключенным программно модемом за 10 часов работы скушал 0.013 Ач. Многовато.
Wemos D1 mini потребляет за 10 часов 0.0003 Ач. в 40 раз меньше.
 
Сверху Снизу