Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Энергопотребление ESP-WROOM-32

Тема в разделе "ESP32 - все о железе", создана пользователем nikolz, 13 фев 2018.

  1. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    Добрый день, Всем!
    Ну вот и я решил поиздеваться над ESP32.
    взял плату, которую рассылали бесплатно.
    Сдул с нее модуль ESP-WROOM-32 (это ver 0 чтобы было понятно)
    Cдул c нее крышку.
    Подключил этот модуль к своему универсальному адаптеру для ESP8266, про который я уже рассказывал .
    Включил в земляной провод INA219, подключенный к ESP8266, которым измеряю ток.
    Нажал на адаптере кнопку RESET
    и получил следующую картинку тока потребления при исполнении программы,
    которая была ва модуле по умолчанию.
    upload_2018-2-13_16-35-49.png
    и получил вот такую картинку потребляемого тока

    upload_2018-2-13_16-37-7.png

    500 ма не наблюдаются даже при нажатии кнопки reset.
    ------------------------
    Таким образом получился стенд для исследования потребления ESP32.
    Все банально просто.
     
  2. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    А у меня в deep_sleep вышло 6.5..10 мкА. :p

    А при активной передаче WiFi и CPU ядрах на номинальной частоте импульсы составили за 500 мА, что подтвердили и другие. Измерение тока платы ESP32DEVKIT V1 включает в себя ещё добавку от USB-UART и стабилизатора и переваливает за 575 мА.

    В документации, без указания частоты CPU, значится среднее потребление RF части чипа 240 mA при Transmit 802.11b, DSSS 1 Mbps, POUT = +19.5 dBm и средние 95..100 мА при Receive 802.11b/g/n. Документ esp32_datasheet_en.pdf: ESP32 Datasheet Version 2.1.

    Из чего следует, что вы как всегда, не смогли настроить INA219 и выкатили какой-то неверный рисунок.:( Откалибруйте INA219 с её шунтом и сделайте усреднение. В ней задается много параметров, включая усреднение замеров.
    Потом попробуйте измерить ток модуля при неактивном входе ENA. Должен показывать к 0.45 мкА после паузы в пару сек, когда внутренности модуля и его емкости зарядятся/разрядятся.
    Всё банально просто и примеры замеров и как их производить давно даны.
    И на сегодня никого не интересуют замеры на старую ревизию чипа, выдававшуюся как брак бесплатно, да ещё без указания исходников и описания, что там вы измеряете...

    По вашему графику можно попытаться угадать – это замер в режиме DTIM(3) пиковых токов модуля?

    PS: Вам какой средний ток нравится? В наличии, в зависимости от включения и залитого ПО имеем возможность получить средний ток на модуле от 0.45 мкА до 0.5A.
    Т.е. динамический диапазон измерителя у вас должен быть 7 десятичных знаков, т.е. почти 24 бита. У INA219 в пределе 10 бит и не подходящий шунт, на котором падает напряжение питания и вы измеряете какую-то белиберду. :(
     
    Последнее редактирование: 14 фев 2018
  3. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    Я же вам говорил, что 2.5...5 мка это в версии 1, так и получилось.

    верю.
    Настроить INA219 нет проблем и калибровку я как-то без сопливых советов давно сделал.
    могу график показать , а то вы переживать будете.
    Я же написал, что ничего в модуль еще не грузил. какая была программа в нем изначально загружена китайцами ту и запустил.
    -----------------------
    Пока я лишь показал, что подключить модуль без каких либо плат DEVKIT можно с помощью простейшего адаптера на CH340G за 50 копеек.
    ----------------------------
    Относительно измерений.
    ток я на ESP8266 с использованием INA219 измеряю от 3 ампер до 3 мка. А с ацп в 24 бита и дурак измерит.
    --------------------
    У меня нет никаких добавок от LDO так как я измеряю ток модуля а не адаптера. Я сдул модуль с DEVKIT и подключил к своему адаптеру.
     
    Последнее редактирование: 14 фев 2018
  4. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    вот график тока за 13 секунд, ток не превышает 250 ма. Средний 105 ма.
    Что за программа? - А фиг ее знает.Спросите у него.
    upload_2018-2-14_10-17-0.png
     
  5. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Где замер то?
    У меня модули не из бесплатно раздаваемого брака :)

    Безусловно буду :)
    Платки c INA219 на али продаются с шунтом 0.1 Ом. При включении питания модуля через них для измерения тока имеем падение на нем от 40 нВ до 60 мВ, и только тепловой шум более сотни мкВ rms, плюс входной ток утечки по входу INA219 более 20 мкА (больше чем потребление модуля в некоторых режимах sleep) :) При изменении шунта на 100 Ом модуль не запустится, т.к. падение с 3.3В при стартовом токе модуля на таком шунте составит более 3.3В :)
    Ещё учтите, что при резких провалах питания на несколько десятков мВ модуль может сбоить... При плавных не будет, если они в границах работоспособности. Вешайте БОЛЬШОЙ конденсатор. Но при нем не измерите пиковые токи.
    А напряжение его к замеру не приложили. 2.5В?
     
  6. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    А у меня не превышает 35 мА: https://esp8266.ru/forum/attachments/deep_sleep1-gif.5595/ и код к примеру указан. :)
    А вы-же говорили что требуется ток более чем у ESP8266 при старте (~ 60..70 мА) :)

    Дык о чем ваш график? Просто что-то измерили и не знаете что тама? :)
    Теперь надо отгадывать? Это такая новая игра?
    Попытаюсь отгадать - график демонстрирует, что потребление бракованного модуля первых ревизий с глючным первым ПО от Espressif в режиме типа MODEM или LIGTH sleep составляет порядка 100 мА?
    Приводите для сравнения с ESP8266, у которого в аналогичном режиме средний ток >17 мА, а у RTL-ок порядка 15 мА при замере за сутки (в условиях реально имеющейся обстановке у меня в эфире WiFi)?
    ESP8266 двухгодичной давности в режимах MODEM или LIGTH sleep:
    https://esp8266.ru/forum/attachments/power_st_cpu160mhz_gd-gif.268/
    https://esp8266.ru/forum/attachments/power_st_standard_gd-gif.269/

    Потребление модулем RTL00 в RtlDuino (модуль RTL00 с RTL8710AF с утечкой по светодиоду) в аналогичных режимах. У RTL серии "B" выходит немного менее, но точных и длительных замеров пока не делал... Известно только одно, что включение в сеть ESP8266 увеличивает потребление других устройств WiFi в спящем режиме, работающих на одну AP.
     
    Последнее редактирование: 14 фев 2018
  7. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Попробуем погадать ещё на графике от nikolz :)
    На отметке 12004 у него модуль заглючил и перезагрузился:

    Снимок98.gif
    Сравниваем со стартом модуля на коде ESP-IDF при CLK CPU на 80 МГц. Видим занижение показаний. Наверно делитель или коэффициенты для INA219 у nikolz не в норме. Об этом свидетельствовали и прошлые его замеры ESP8266. Там часто наблюдались занижения почти до двух раз (подтверждение можно найти и в его ответах - у него стартовый ток загрузки и запуска ESP8266 принят за 20 мА). Может это неверное включение и утечки по питанию к модуля с внешних подключений?

    Но при этом он пишет:
    PS:
    Это вы про себя? Вы же демонстрировали, что купили плату с ADC в 24 бита. Не можете подключить?
    Как это не стыкуется с "нет проблем и калибровку я как-то без сопливых советов"...
     
    Последнее редактирование: 14 фев 2018
  8. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Для адекватного сравнения берем прошивку ESP32_Certification_and_Test_EN_20171102, которую можно найти тут:
    Tools | Espressif Systems
    Заливаем в модуль согласно инструкции в ESP32_Certification_and_Test_Guide__EN.pdf

    С начала тест с ESP32_Adaptivity_20170417.bin и iperf.
    iperf.exe берем согласно указанием по в iperf --help :
    Source at <iperf2>
    На компе запускаем:
    iperf.exe -s -u -p 7003 -w 320k -d
    После соединения к AP модуля вводим в него строку:
    iperf -c 192.168.4.2 -p 7003 -t 10 -u -b 4k
    И глядим усредненные токи:
    iperf_udp_client.gif
    После 2-х секунд чип неимоверно горячий и трансфер падает...

    Вторым тестом можно залить по инструкции ESP32_FCC_WIFI_BT_20170502.bin
    и при старте указать:
    wifitxout 1 0x3 0x17
    итого:
    wifitxout.gif
    Тут он сразу троттлит передатчик (delay=52 ms между передачей пакетов?) .
     
    Последнее редактирование: 14 фев 2018
  9. sharikov

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

    Сообщения:
    602
    Симпатии:
    52
    Подключить можно а чтобы работало без дополнительного питания - нельзя.

    Проверил пример iperf с питанием от usb через синхронный buck конвертор на 2,8V. Фигвам. brownout при инициализации wifi
    Код (Text):
    1. Brownout detector was triggered
    2.  
    3. ets Jun  8 2016 00:22:57
    4.  
    5. rst:0xc (SW_CPU_RESET),boot:0x3b (SPI_FAST_FLASH_BOOT)
    6. configsip: 0, SPIWP:0xee
    7. clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    8. mode:DIO, clock div:1
    9. load:0x3fff0018,len:4
    10. load:0x3fff001c,len:4648
    11. load:0x40078000,len:0
    12. ho 12 tail 0 room 4
    13. load:0x40078000,len:13556
    14. entry 0x40078e08
    15. I (196) cpu_start: Pro cpu up.
    16. I (196) cpu_start: Starting app cpu, entry point is 0x400811f8
    17. 0x400811f8: call_start_cpu1 at /home/user003/esp/esp-idf/components/esp32/./cpu_start.c:215
    18.  
    19. I (181) cpu_start: App cpu up.
    20. I (199) heap_init: Initializing. RAM available for dynamic allocation:
    21. I (206) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
    22. I (212) heap_init: At 3FFB8C28 len 000273D8 (156 KiB): DRAM
    23. I (218) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
    24. I (224) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
    25. I (231) heap_init: At 4008FE2C len 000101D4 (64 KiB): IRAM
    26. I (237) cpu_start: Pro cpu start user code
    27. I (254) cpu_start: Starting scheduler on PRO CPU.
    28. I (0) cpu_start: Starting scheduler on APP CPU.
    29. I (355) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
    30. I (355) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
    31.  
    32. Brownout detector was triggered
    33.  
    34. ...
    Добавил емкость 470uf. Не помогло.
    Подключил внешний блок питания - все заработало.
     
  10. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Такой емкости не хватит.
    Подсчитайте - пиковый ток >450 мА на 2 сек и за это время не должно сильно провалиться питание.
    (Там ещё CPU и прочая периферия не активна)
    Больше видимо чип не даст - затроттлит и снизит до 300+ мА. Т.е. 1 Вт рассеивания тепла.
    Если заглючит - выгорит.
    Испытывать лучше на ESP32-PICO-D4 - там прикольнее :) Возможно после нескольких таких нагреваний стечет Flash и всё станет Ok :)

    При внешнем БП внутреннее сопротивление источника меньше, чем у USB с кабелями...
    От USB первые версии тестов от Espressif вообще не стартовали. Там стартовые пики были большими на инициализации WiFi и питание проваливалось. В новой редакции их угомонили, но всё равно на пределе хорошего кабеля и среднего исполнения USB выхода компа.
    Т.е. модуль с какой dev-board без внешнего БП не стоит подключать к USB. Перепрошить будет проблематично. Может помочь удержание кнопки "Прошивка" и "RESET" при подключении в USB. Потом отпускаете "RESET", но кнопку "Прошивка" удерживаете и запускаете прошивальщик, котрый зальет код с пониженными CLK CPU и тротлингом всякими sleep командами (ESP-IDF - они там уже год бьются за понижение питания до норм USB).

    Как-бы выходит, что чип при передаче должен рассеивать 0.5A*3.6В = 1.8 Вт. 3.6В - допустимый предел питания при 3.3+-10%. А в реальности сколько тянет корпус (до +125С)?
    В рекламе Overview | Espressif Systems указано:
    Suitable for commercial application development with a robust 4-layer FCC, CE ( RED ), IC, TELEC, SRRC & KCC-compliant design and a wide operating temperature range of -40°C to 85°C.
    Под них и должны указывать производительность чипа. Иначе это опять враньё от Espressif...

    PS: Программную защиту от перегрева для ESP8266 Espressif сделали только после первой сертификации на шумы (на излучения) в RF диапазоне модуля (почти через год после первых продаж модулей).
     
    Последнее редактирование: 14 фев 2018
  11. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Температура чипа ESP-32 в режиме STA, прошивка ESP32_Adaptivity_20170417.bin, дана команда:
    iperf -c 192.168.1.2 -p 7003 -u -t 500 -b 66M
    Начальная и внешняя температура +25С. Модуль находится в свободном конвекционном потоке (вокруг него в пол метра ничего нет ), измеритель MLX90614 над ним и прогревается от ESP-32. Крышка модуля снята. Напряжение питания модуля ESP-WROOM-32 3.3В +-50 мВ (на модуле может колбасить больше - провода).
    iperf_STA.gif
    Без передачи, в режиме STA с каким-то sleep (DTIMx) по умолчанию в данной прошивке:
    iperf_STA_DTIMx.gif
    В режиме AP температура чипа уваливает за +85С...
    MLX90614 подключен к RTL8195 c примером динамического графика через websocket из web-свалки... Корпус RTL8195AM в режиме AP с передачей данных от MLX90614 +40С.
     
    Последнее редактирование: 14 фев 2018
  12. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    У меня работает от USB.
    Я вполне допускаю, что можно загнать ESP32 в такой режим что получится утюг.
    Вопрос лишь в целесообразности такого режима.
    мне этого не нужно.
    Я взял классический пример Hello word и он работает просто от USB.
    upload_2018-2-15_7-5-57.png

    Я не планирую выжимать из ESP32 всю мощность.
    меня интересует быстрое просыпание, экономный сон и 12 бит ацп.
    Два процессора разгонять я не собираюсь.
     
  13. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Вам про это было описано и дан пример - пик потребления в нем 35 мА и далее 20.
    "Hello word" на в RTL-ках должен потреблять:
    Снимок99.gif
    С ограничением: в Low power mode UART не может принимать символы, а только передавать.
    Так что не печальтесь...
     
    Последнее редактирование: 15 фев 2018
  14. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    --------------------
    А я Вас спрашивал о чем-то?
    и на х..я мне RTL?
    Кто о чем, а вшивый о бане.
     
  15. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    А фигли вы ту пишите? :eek: :)
    Ну это не я писал:
    12 бит у ESP-32 нет. Есть 11 и те кривые - народ на форуме Espressif жалуется...
    А в RTL всё пучком. 15.5 бита и линейные и не зависят от WiFi (у ESP-32 разрешат только после марта попробовать ADC с WiFi :))
    RTL просыпаются быстрее.
    Что ещё там у вас?
    И зачем козе баян?
     
  16. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    Очевидно вам виднее зачем вашей подруге байян.
    ------------------
    а вот Вы опять соврали про ток потребления проги helloword
    В действительности это выглядит так:
    upload_2018-2-15_10-46-40.png
    ===================
    про ацп тоже врете
    upload_2018-2-15_10-55-40.png
     
  17. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Не умеете писать и использовать SDK.
    Научитесь и выйдет меньше.

    Не прикладывайте список хотелок. Они не выполняются и это уже доказали (не только я).
    ESP32 ADC Non-linear Issues - How do I fix / change Attenuation or width? - ESP32 Forum
    When will support for ADC2 (with WiFi) be added? - ESP32 Forum
    Даже не стоит пробовать сравнивать с приемом сигнала с генератора на ADC и передачу в WiFi в реал тайм у простой RTL-ки :)


    В случае с ESP-32 рекомендуется подождать пару лет, вдруг тогда они сделают более менее 8 бит 100 Гц... Ну когда чип устареет относительно стандартных требований (как это было с ESP8266), то тогда и появится распространенное ПО на него и Espressif приведет в соответствие даташиты (как это было и происходит с ESP8266). От вас желаний исправления ситуации не видно и не последует.

    Выходит опять ляпнули и не разбирались...

    Дайте замер по температурному сенсору. Я уже показал, что он будет давать, пару соо назад. Зачем такой датчик? Имеет смысл использовать только как датчик пожара.
    Во всех WiFi-SoC датчики по вашему списку "хотелок" есть, но у Espressif они игрушечные, чисто для галочки - типа "у нас тоже есть". :)
     
    Последнее редактирование: 15 фев 2018
  18. nikolz

    nikolz Гуру

    Сообщения:
    5.076
    Симпатии:
    465
    В настоящий момент я выяснил почти все, что хотел о возможностях ESP32 версии 0 и 1. Возможно следующие версии изменят мое мнение.
    Резюме :
    Для задач с автономным питанием более экономичным является ESP8266(100 руб) чем ESP32S(205 руб).
    кому интересны подробности рекомендую посмотреть здесь:
    Datalogger uses ESP32 and ESP8266 Low Power Modes
    --------------------------------
    В отличии от данных в приведенном примере, мне удалось получить время активности ESP8266 не 3 секунды,а 03 секунды, а также обеспечить работу с датчиком без включения WIFI с током потребления от 10 до 17 ма.
    ---------------------------
    кроме того, как я уже рассказывал на форуме,
    если управлять выходом из deep-sleep ESP8266 через пин EN вместо RTS,
    то ток в режиме сна будет не 20 мка, а в 2-3 раза меньше, т е такой же, как у ESP32.
    ================================================
    Предвидя очередную рекламу RTL,
    сразу замечу,
    что RTL8710AF (160 руб) не имеет АЦП, а те которые, стоят от 600 руб,
    т е в 6 раз дороже ESP8266.
    Кроме того, пока я не исследовал,
    можно ли у RTL сделать интервал активности WIFI менее 1 сек.
     
  19. sharikov

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

    Сообщения:
    602
    Симпатии:
    52
    Вы все перепутали. Кроме того выбор чипа зависит от отношения времени спячки к времени активности.

    ESP32 обеспечивает работу с датчиком вообще без просыпания только силами ulp. Ток получается вообще недосягаемый для 8266.

    ESP32 то же делает сам без дополнительных приблуд.

    И вообще в 2018 году модули без поддержки ssl для новых проектов уже не могут использоваться поэтому забываем о существовании esp8266. То же относится и к rtl8710af
     
  20. pvvx

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

    Сообщения:
    9.273
    Симпатии:
    1.318
    Не стоит так быстро. Nikolz у нас почетный тормоз. Ему это уже объясняют давно...

    Вот ему пример "Hello nikolz!" - старт SDK, UART активна, по приему любого символа печатает его и выводит "Hello nikolz!":
    Uart_sleep.gif
    Правда WiFi-SoC EMW3080 и стоит 470 мкФ электролит в питании :)
    Активная UART на 38400 baud с активными IRQ и пробуждением CPU жрет на данной экземпляре 203 мкА, время просыпания CPU до 125 МГц менее длительности символа на UART...
    Через сколько лет такое будет на ESP?
    Исходник:
     

    Вложения:

    • main.zip
      Размер файла:
      951 байт
      Просмотров:
      4
    Последнее редактирование: 16 фев 2018

Поделиться этой страницей