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

PWM на повышенной частоте

Тема в разделе "Железные вопросы по esp8266", создана пользователем dmitron1036, 27 апр 2017.

  1. dmitron1036

    dmitron1036 Новичок

    Сообщения:
    15
    Симпатии:
    0
    Доброго дня!
    Хочу получить с ESP8266(Arduino IDE) ШИМ частотой 100 кГц с разрешением 1024.
    Смог получить работу analogWrite(pin,pwm) на частоте 60 кГц. вместо 10% было 24% заполнение.
    при попытке установить 100 кГц - совсем не 100 кГц даёт.

    Читал штатную функцию ESP - 4 канала PWM. частоту 100 кГц там тоже не обещают.
    (Если кто знает, через какую библиотеку можно добраться до этого PWM - прошу поделиться)

    Обидно....
     
  2. pvvx

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

    Сообщения:
    8.692
    Симпатии:
    1.282
    PWM в ESP8266 программный. Теоретический предел обработки частоты прерываний для обычного SDK и настройки на 80 MHz CPU с условием обработки в прерывании PWM - от 10 микросекунд в пределе. Физический предел (реальная стабильная работа SDK) - от 20 us и полная оптимизация с выводом на один канал.

    Разрешение 1024 - это 1024*10 микросекунд = 1.024 миллисекунд, т.е. частота вывода PWM до 1/0.001024 = ~976 Гц
     
  3. dmitron1036

    dmitron1036 Новичок

    Сообщения:
    15
    Симпатии:
    0
    Ну хорошо. с analogWrite разобрались.

    Второй вопрос: как добраться до встроенной функции ESP8266

    4.7. Pulse-Width Modulation (PWM)
    ESP8266EX has four PWM output interfaces. They can be extended by users themselves.
    The pin definitions of the PWM interfaces are defined as below.
    The functionality of PWM interfaces can be implemented via software programming. For
    example, in the LED smart light demo, the function of PWM is realized by interruption of the
    timer, the minimum resolution reaches as much as 44 ns. PWM frequency range is
    adjustable from 1000 μs to 10000 μs, i.e., between 100Hz and 1 kHz. When the PWM
    frequency is 1 kHz, the duty ratio will be 1/22727, and over 14 bit resolution will be
    achieved at 1 kHz refresh rate.
     
  4. pvvx

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

    Сообщения:
    8.692
    Симпатии:
    1.282
    А она тоже плохо работает, с пропусками, дырками от 100 us в произвольном порядке, как ей помешает WiFi.
    Там написано - программный ШИМ, т.е. "ногодрыгом" по прерыванию таймера... По NMI немного лучше, стабильнее, но те параметры дырок и описал, а это в итоге качество не более 10 бит. Сгладьте и включите на какой вывод в звук и всё прояснится.
    Открываете PDF по функциям NON_OS_SDK и там находите команды его управления.
    Но вы не первый создаете такую тему, а все прошлые, с десяток, оперирующие Arduino, решили вопрос установкой внешней микрухи, благо она дешевая. Причина - биения и джиттер реализации ШИМ от Espressif виден на простом светодиоде и не лечится.
    Попробуйте в ESP-32S - там вроде должен быть аппаратный ШИМ, но не проверял и отзывов не видел.
     
    Последнее редактирование: 28 апр 2017
  5. dmitron1036

    dmitron1036 Новичок

    Сообщения:
    15
    Симпатии:
    0
    Есть ли микросхемы, генерирующие ШИМ на 100 кГц с приличным разрешением (1024), управляемые по SPI / I2C ?
     
  6. Юрий Ботов

    Юрий Ботов Moderator Команда форума

    Сообщения:
    1.052
    Симпатии:
    175
    Поиск "spi dac pdf" в Яндексе... Полно
     
  7. dmitron1036

    dmitron1036 Новичок

    Сообщения:
    15
    Симпатии:
    0
    Вы не правы.
    DAC и PWM - разные понятия.
     
  8. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.162
    Симпатии:
    226
    понятия разные, а используют зачастую одинаково. Всё от задачи зависит. Вам для чего? Для диммирования светодиодной ленты полно Яндекс находит и i2c и spi pwm controller.

    Например
     
  9. pvvx

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

    Сообщения:
    8.692
    Симпатии:
    1.282
    Мне для выхода на усилитель звука в режиме D. :) Желательное разрешение: 32 бита и тройная передискретизация от 48 кГц, т.е. от 192 кГц 32 бит. :)
    Всего-то разрешение ШИМ в 1/824633720832000 секунды.. (тактовая частота указана в знаменателе) :)
    Соглашусь и на двойную передискретизацию, но лень фильтры к динамику городить :)
    Источник тактирования на 36 микрометров волны есть (всего-то инфракрасный диапазон излучения в бытовом холодильнике или какие молекулярные переизлучения - найдем :)).
     
    Последнее редактирование: 29 апр 2017
  10. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.162
    Симпатии:
    226
    @pvvx ну так что мешает "перевернуть мир"? (C) pvvx
     
  11. pvvx

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

    Сообщения:
    8.692
    Симпатии:
    1.282
    А не выходит 32 бита... Шум в данном диапазоне большой и у источника джиттер.
    При слабом источнике мешает и реликтовое излучение... В понятие мир пока входит только малая часть, а на остальную инфы люди пока не имеют. В тесном мирку это сложно - неизвестных факторов из уровня "за этим миром" более 99.9999... %
    На данные частоты - десятки микрометров (волны) работают метаматериалы, а дома их пока не сделать и там ещё эти 99.9999... % ... Т.е. область связанных с ними свойств человечеством ещё не изучено и на 1%, включая теории и гипотезы.
    Но и там я уже двинул кой-чаго. Жду решений от человечества, а они пока тупят и заняты коммерцией... Т.е. скоро "перевернется" "мирок" :) :p Это могу точно гарантировать, но сроки нет - человечество отупело...
     
    Последнее редактирование: 29 апр 2017

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