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

Нужна помощь Esp8266 deep sleep - глубокий сон

pvvx

Активный участник сообщества
Ссылочку не приведете?
Оно всё раскидано за 6-ть лет по форуму. Пионерам это не требуется. Им всё равно, главное чтобы наслоения на баги и игра в Arduino продолжались... :)
И всё это было очень давно. Посмотрел в архивах, с ходу не нашел последней самой короткой версии, но нашел какой-то тест: https://yadi.sk/d/OomappFaIlmG6A
Что-то по поводу передачи типа raw UDP пакета... не помню, но это ещё с не удаленной паузой после старта, т.к. была приложена картинка:
Снимок6.gif
Которая гласит, что время активности 83 мс, а потом было что-то ещё вырезано и стало к 60..70 мс...
 

pvvx

Активный участник сообщества
Мне АР отключать не нужно -ESP-Now
На форуме есть любитель рисовать слонов на графиках и ESP-Now, да создавать с десяток тем типа: Энергопотребление ESP(итоги)
Там есть древние тесты Arduino на скорость соединения к обычной WiFi AP. В коде есть незамеченная мелкая ошибка (это по памяти, а какая - забыл, т.к. ESP8266 на сегодня нафиг не сдался).
У вас по графику в фото похоже время активности ещё хуже, чем обычное соединение с обычной WiFi c передачей пару пакетов...
 

SSergeyG

New member
Столкнулся с такой проблемой есть две платы ESP-01S. Залит код отправка температуры на Blynk каждые 10 мин. При включении устройства данные отправляются (потребление 70 мА) и ESP уходит в сон (потребление 15 мкА) через 10 мин. вижу на мультиметре 40 мА потребление, данные не отправляются и все это висит "бесконечно". Принудительно кнопкой Reset всё восстанавливается отправляется и уходит в сон, до следующего пробуждения. И так на обоих платах. Дело в том, что у меня есть еще две ESP-01S купленные у другого продавца, там всё работает хорошо, при этом же коде и таком же подсоединении. Помогите разобраться.
 

juvf

New member
столкнулся с проблемой ESP.deepSleep() на модуле NodeMcu V3. После пробуждения на RST присутствует импульс сброса, в мониторе вижу

ets Jan 8 2013,rst cause:2, boot mode: (3,6) //это после сброса кнопкой
load 0x4010f000, len 3424, room 16
tail 0
chksum 0x2e
load 0x3fff20b8, len 40, room 8
tail 0
chksum 0x2b
csum 0x2b
v00041dc0
~ld
rf cal sector: 1020
freq trace enable 0
rf[112] : 0�Start program
//тут ухожу в ESP.deepSleep()


//тут просыпаюсь и на RST импульс
ets Jan 8 2013,rst cause:2, boot mode: (3,6)

И дальше всё, нет setup(), нет loop(). Программа не грузится
 

nikolz

Well-known member
Собрал таймер на TPL5110 для включение питания ESP и не только.
Ключ Si2301A. Ток потребления таймера в режиме выключения питания(сна ESP) менее 0.3 мкА.
1719600576169.png
На хабре выложил статью как уменьшит ток Wemos в режиме сна до 30 мкА
 

pvvx

Активный участник сообщества
Собрал таймер на TPL5110 для включение питания ESP и не только.
Ключ Si2301A. Ток потребления таймера в режиме выключения питания(сна ESP) менее 0.3 мкА.
Походу собрали во сне.
В документации на TPL5110 указано потребление в 200..300 мкА (Digital conversion of external resistance (Rext)) * и ток дан с условием (The supply current excludes load and pullup resistor current. Input pins are at GND or VDD.) :p
Плюс у Si2301A значится утечка до 1 мкА. И ему маловато будет 3.3В для полного открытия (будет падение напряжения питания).
 

pvvx

Активный участник сообщества
На хабре выложил статью как уменьшит ток Wemos в режиме сна до 30 мкА
Превратили и хабр в помойку неверных решений?

Начните с батарейки. Для ESP нужен токовый Li АКБ.

У большинства таких АКБ ток саморазряда не мал.

И Вы когда либо измеряли ток китайской схемы защиты для такого АКБ?
Удивитесь...

В итоге все Ваши потуги “уменьшений” ни к чему реальному не приведут. Не тот чип и интерфейс чтобы было возможно добиться хороших результатов за дешево.

Тупой и дешевый TLSR825x кушает до 0.8 мкА в deep-sleep с работающим таймером и ножкой прерывания в любой из схем, с учетом всех остальных утечек схемы - пусть это будет какой датчик Tuya без LCD с модулем ZTU.
Такой чип-модуль дешевле поставить вместо таймера для ESP :)
 

shuraf

Member
Тупой и дешевый TLSR825x кушает до 0.8 мкА в deep-sleep с работающим таймером и ножкой прерывания в любой из схем, с учетом всех остальных утечек схемы - пусть это будет какой датчик Tuya без LCD с модулем ZTU.
Такой чип-модуль дешевле поставить вместо таймера для ESP :)
Хочу поизучать создание домашних устройств. Думаю попробовать zigbee. Какой чип посоветуете и какую ide для разработки?
 

pvvx

Активный участник сообщества
Хочу поизучать создание домашних устройств. Думаю попробовать zigbee. Какой чип посоветуете и какую ide для разработки?
Это зависит от используемых устройств. Если покупные, то это в основном Tuya и Xiaomi.
В них используются определенные чипы. А для них свои IDE.
Чаще всего в устройствах BLE и Zigbee от Tuya и Xiaomi используются чипы TLSR825x, разные модели EFR32 (SiLabs). (+ PHY6222 у Tuya BLE только). Смотрите соответствующие ресурсы и темы форума.
 

SSergeyG

New member
Прошиваю плату ESP-01s простым кодом ESP.deepSleep(15e6); для проверки Deep Sleep. В сон уходит и просыпается без проблем но потребление в глубоком сне 2 мА. Что нужно сделать, что бы добиться 20 мкА? Меряю ток на самой ESP.
 

Vovka

Member
столкнулся с проблемой ESP.deepSleep() на модуле NodeMcu V3. После пробуждения на RST присутствует импульс сброса, в мониторе вижу

ets Jan 8 2013,rst cause:2, boot mode: (3,6) //это после сброса кнопкой
load 0x4010f000, len 3424, room 16
tail 0
chksum 0x2e
load 0x3fff20b8, len 40, room 8
tail 0
chksum 0x2b
csum 0x2b
v00041dc0
~ld
rf cal sector: 1020
freq trace enable 0
rf[112] : 0�Start program
//тут ухожу в ESP.deepSleep()


//тут просыпаюсь и на RST импульс
ets Jan 8 2013,rst cause:2, boot mode: (3,6)

И дальше всё, нет setup(), нет loop(). Программа не грузится
Проблема решена?
Я заметил, что после импульса RST, если еще раз физически замкнуть эту ногу на минус, то setup() стартует!
Т.е. для запуска нужно 2 импульса!!!
Пробовал вместо резистора на 470 Ом между GPIO16 и RST соединить перемычкой - не помогает. Подтяжка (10 кОм) RST к плюсу есть
 

pvvx

Активный участник сообщества
Проблема решена?
Я заметил, что после импульса RST, если еще раз физически замкнуть эту ногу на минус, то setup() стартует!
Т.е. для запуска нужно 2 импульса!!!
Пробовал вместо резистора на 470 Ом между GPIO16 и RST соединить перемычкой - не помогает. Подтяжка (10 кОм) RST к плюсу есть
Это по тому, что неправильно выставлены BOOT STRAP пины. После "повторного" сброса они очухиваются и проходит загрзка в нормальном режиме.

И на RST нужен кондер. Иначе будет перезагружаться от любого стороннего чиха... По этому и ставят резистор в 470 Ом, чтобы не перегружать вывод 16 током заряда-разряда кондера в 10...100 нФ и кнопки...
 

Vovka

Member
Это по тому, что неправильно выставлены BOOT STRAP пины. После "повторного" сброса они очухиваются и проходит загрзка в нормальном режиме.

И на RST нужен кондер. Иначе будет перезагружаться от любого стороннего чиха... По этому и ставят резистор в 470 Ом, чтобы не перегружать вывод 16 током заряда-разряда кондера в 10...100 нФ и кнопки...
У меня нет кнопки сброса - только резистор на GPIO16 и на плюс.
Ставил на RST кондеры 10пФ, 100пФ, 0,1мкф - не помогает!
Ели я физически закорачиваю RST на землю, то ESP всегда стартует правильно: хоть сброс делаю до сна, хоть во время!
Что-то не понятно, чем отличается сброс закорачиванием RST на землю, от сброса с GPIO16? Пробовал диод Шоттки вместо резистора на 470 поставить - не помогло
А что за "BOOT STRAP пины"? Как их подправить?
 

aZholtikov

Active member
On ESP8266, both the nRESET and CH_PD pins must be pulled high for the chip to start operating.
Как запитывается CH_PD/EN пин?
 

CodeNameHawk

Moderator
Команда форума
Была тут информация, что одна из моделей не хочет выходить из сна, решение резистор на одну из ног. Поищите в этом форуме.
Если хорошо помню, на вывод к которому подключена мс памяти.
 

pvvx

Активный участник сообщества
> А что за "BOOT STRAP пины"? Как их подправить?


Вам нужно получить состояние на пинах для "FLASH BOOT".

Pins used during Boot
The ESP8266 can be prevented from booting if some pins are pulled LOW or HIGH. The following list shows the state of the following pins on BOOT:

  • GPIO16: pin is high at BOOT
  • GPIO0: boot failure if pulled LOW
  • GPIO2: pin is high on BOOT, boot failure if pulled LOW
  • GPIO15: boot failure if pulled HIGH
  • GPIO3: pin is high at BOOT
  • GPIO1: pin is high at BOOT, boot failure if pulled LOW
  • GPIO10: pin is high at BOOT
  • GPIO9: pin is high at BOOT


> Вот

R2 и R4 желательно уменьшить в двое (3k3, 4k7, 5k6 ...).
 

pvvx

Активный участник сообщества

Надо: SD_sel != 3'b010, не надо: SD_sel == 3'b010
Следовательно GPIO_13, GPIO_14, GPIO_15 не должны давать 0,1,0 при старте.
Некоторые подтягивают GPIO_13 резистором типа 10кОм к "+"...
В некоторых модулях уже стоит резистор на GPIO_14 к GND (- так было 10 лет назад, а лет 8 я уже не общаюсь с ESP8266)...
И т.д.
 

pvvx

Активный участник сообщества
На GPIO_15 при старте включается внутренняя подтяжка к "+". Ток у неё зависит от погоды, а напряжение переключения входного каскада в "1" тоже, но оно где-то к 1В. В итоге 15кОм на GND при проверках гарантированно давал дребезг входа в разных условиях - температура, напряжение питания - и старта уже не будет...
EN тоже любит ток побольше...
А RST срабатывает от импульса в 1 нс в половину питания, что гарантированно наводится любым рядом расположенным реле и т.д. с проводком на кнопочку....
Или пъезо-зажигалкой наверно до пол метра...
 

Vovka

Member
Была тут информация, что одна из моделей не хочет выходить из сна, решение резистор на одну из ног. Поищите в этом форуме.
Если хорошо помню, на вывод к которому подключена мс памяти.
MOSI на плюс резистором 10к - не помогло
 
Сверху Снизу