ESP32 ULP blink

Поділитися
Вставка
  • Опубліковано 25 вер 2024
  • Пример использования ULP-сопроцессора ESP32 для мигания светодиодом, подключенным к GPIO2.
    Описание набора команд ULP: esp-idf.readthe...
    Описание макросов для встраивания ассемблера ULP в исходный код на C/C++: esp-idf.readthe...
    Код примера: drive.google.c...

КОМЕНТАРІ • 14

  • @yakovdolya
    @yakovdolya 6 років тому +1

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

  • @alexanderdubok5464
    @alexanderdubok5464 2 роки тому

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

  • @edgull_tlt
    @edgull_tlt 3 роки тому

    Спасибо

  • @zhdanvadim9536
    @zhdanvadim9536 2 роки тому

    хорошая тема, потестил пример, и замерил потребление, в заявленные 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  2 роки тому +1

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

  • @DimiEG
    @DimiEG 6 років тому

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

  • @SIM31r
    @SIM31r 6 років тому +1

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

    • @alexmorozov73
      @alexmorozov73  6 років тому +1

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

    • @SIM31r
      @SIM31r 6 років тому +2

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

  • @olegl6339
    @olegl6339 6 років тому

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

  • @Serjaru
    @Serjaru 2 роки тому

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

    • @leharuso
      @leharuso Рік тому

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