ESP32 ULP blink

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • Пример использования ULP-сопроцессора ESP32 для мигания светодиодом, подключенным к GPIO2.
    Описание набора команд ULP: esp-idf.readthe...
    Описание макросов для встраивания ассемблера ULP в исходный код на C/C++: esp-idf.readthe...
    Код примера: drive.google.c...

Komentáře • 14

  • @alexanderdubok5464
    @alexanderdubok5464 Před 2 lety

    Отличное видео, довольно доступно разжевано что такое ULP и с чем его едят. Жаль мало публикаций на данную тему (не только рускоязычных).

  • @yakovdolya
    @yakovdolya Před 6 lety +1

    Отличное видео, поражаюсь возможностям есп.

  • @edgull_tlt
    @edgull_tlt Před 3 lety

    Спасибо

  • @DimiEG
    @DimiEG Před 6 lety

    Спасибо за уроки. Правда предпочитаю программирование на C++. Но молодёжь считает это "стариковским" способом, когда есть альтернативы такие как RTOS, Rust, microPython... :)

  • @zhdanvadim9536
    @zhdanvadim9536 Před 2 lety

    хорошая тема, потестил пример, и замерил потребление, в заявленные 150 микроампер не выходило, было около 320 микроампер. С выключеными ULP = 20 микроампер.
    НО нашлось, что этот ULP можно еще и в сон отправлять, и ток во сне мой тестер не показывает, все теже 20 микроампер общего тока выходит. При пробуждении ULP ток поднимается.
    Если коротко, то нужно выставить
    /* Set ULP wake up period to 5s */
    ulp_set_wakeup_period(0, 5 * 1000 * 1000);
    и в сон будет уходить по команде I_HALT().
    Спасибо за видос!
    Интересно спустя время, получилось ли покрупному заюзать этот ULP ?

    • @alexmorozov73
      @alexmorozov73  Před 2 lety +1

      На ESP32-S2 ULP помимо такого же конечного автомата с 4-мя 16-ти битными регистрами есть еще и RISC-V ядро с 32-мя 32-х битными регистрами и возможностью писать на C. Вот там вполне можно развернуться (правда RTC памяти для кода все те же 8 КБ).

  • @SIM31r
    @SIM31r Před 6 lety +1

    Что-то большое потребление. Вероятно стабилизаторы разные потребляют много, периферия не отключена. 12 мА это не режим глубокого сна, нужно снижать до 0.1 мА максимум, лучше меньше. Только при таком токе можно питать от аккумулятора.
    Светодиодом можно мигать включая его на 0.1 мс, глазом заметно мигание, а потребление мизерное, удобно наблюдать за работой программы.
    Вот пример Digispark переделали для потребления 20 мкА, убрав стабилизатор и еще по мелочам czcams.com/video/x6ProAzvT1g/video.html

    • @alexmorozov73
      @alexmorozov73  Před 6 lety +1

      Эта плата без всяких светодиодов в глубоком сне ест 12 мА. Так что все в порядке.
      Глаз человека фиксирует разницу в картинке с частотой около 24 Гц, что никак не меньше 40 мс, а никак не 0.1. Ролик пережат с частотой 15 кадров и 5 миганий 50-450 мс почти никогда не выглядят именно как пять, а в реале все четко и прекрасно заметно.

    • @SIM31r
      @SIM31r Před 6 lety +2

      1) Тут в комментариях пишут что потребляет 800 мкА, а хотят 100 мкА, хотя много воды и нет кода
      iot-bits.com/ultra-low-power-design-esp32-10-tips/
      Тут речь о 10 мкА
      czcams.com/video/y1R2y8dCsIg/video.html
      2) Тут немного другое. Глаз человека фиксирует вспышки длительностью в наносекунды. Пример вспышка фотоаппарата что не только видна, а слепит на пару минут, она работает доли миллисекунды. Зрительные клетки фиксируют вспышку любой длительности, там простая химия, важна не длительность, а энергия импульса, а вот длительность не различают, как вы и заметили. Поэтому для своих поделок это и можно использовать, когда нужно экономить заряд батарейки, но при этом сигнализировать о нормальной работе. Подавать 2 мА на светодиод постоянно расточительно, а 10 мА на несколько микросекунд нормально (тут я уже забыл минимальную длительность, надо в скетч глянуть, специально экспериментировал). В итоге получаем четкую индикацию со средним током потребления десяток микроампер.

  • @olegl6339
    @olegl6339 Před 6 lety

    Добрый день. Esp32 и ws2812b при количестве пикселей более 34 некорректно работает, может будет интересно помочь решить задачу?

  • @Serjaru
    @Serjaru Před 2 lety

    Потребление в режиме сна конское!!! бред полный. Ни один нормальный девайс при таком потребление не сделать!!!

    • @leharuso
      @leharuso Před rokem

      На плате есть иные компоненты, помимо ESP32. Их суммарное потребление мы и видим, когда сама ESP32 спит.
      Для нормального девайса можно взять более минималистичный модуль, либо сам чип.