Pwm сигнал что это такое
Что такое ШИМ — широтно-импульсная модуляция
Модуляция – нелинейный электрический процесс, при котором параметры одного сигнала (несущего) изменяются при помощи другого сигнала (модулирующего, информационного). В связной технике широко применяется частотная, амплитудная, фазовая модуляция. В силовой электронике и микропроцессорной технике распространение получила широтно-импульсная модуляция.
Что такое ШИМ (широтно-импульсная модуляция)
При широтно-импульсной модуляции исходного сигнала неизменными остаются амплитуда, частота и фаза исходного сигнала. Изменению под действием информационного сигнала подвергается длительность (ширина) прямоугольного импульса. В англоязычной технической литературе обозначается аббревиатурой PWM – pulse-width modulation.
Принцип работы ШИМ
Сигнал, промодулированный по ширине импульса, формируется двумя способами:
При аналоговом способе создания ШИМ-сигнала несущая в виде пилообразного или треугольного сигнала подается на инвертирующий вход компаратора, а информационный – на неинвертирующий. Если мгновенный уровень несущей выше модулирующего сигнала, то на выходе компаратора ноль, если ниже – единица. На выходе получается дискретный сигнал с частотой, соответствующей частоте несущего треугольника или пилы, и длиной импульса, пропорциональной уровню модулирующего напряжения.
В качестве примера приведена модуляция по ширине импульса треугольного сигнала линейно-возрастающим. Длительность выходных импульсов пропорциональна уровню выходного сигнала.
Аналоговые ШИМ-контроллеры выпускаются и в виде готовых микросхем, внутри которых установлен компаратор и схема генерации несущей. Имеются входы для подключения внешних частотозадающих элементов и подачи информационного сигнала. С выхода снимается сигнал, управляющий мощными внешними ключами. Также имеются входы для обратной связи – они нужны для поддержания установленных параметров регулирования. Такова, например, микросхема TL494. Для случаев, когда мощность потребителя относительно невелика, выпускаются ШИМ-контроллеры со встроенными ключами. На ток до 3 ампер рассчитан внутренний ключ микросхемы LM2596.
Цифровой способ осуществляется применением специализированных микросхем или микропроцессоров. Длина импульса регулируется внутренней программой. Во многих микроконтроллерах, включая популярные PIC и AVR, «на борту» имеется встроенный модуль для аппаратной реализации ШИМ, для получения PWM-сигнала надо активировать модуль и задать параметры его работы. Если такой модуль отсутствует, то ШИМ можно организовать чисто программным методом, это несложно. Этот способ дает более широкие возможности и предоставляет больше свободы за счёт гибкого использования выходов, но задействует большее количество ресурсов контроллера.
Характеристики ШИМ сигнала
Важными характеристиками ШИМ сигнала являются:
Амплитуда в вольтах задается в зависимости от нагрузки. Она должна обеспечивать номинальное напряжение питания потребителя.
Частота сигнала, модулируемого по ширине импульса, выбирается из следующих соображений:
Эти требования часто находятся в противоречии друг к другу, поэтому выбор частоты в некоторых случаях – это поиск компромисса.
Величину модуляции характеризует скважность. Так как частота следования импульсов постоянна, то постоянна и длительность периода (T=1/f). Период состоит из импульса и паузы, имеющих длительность, соответственно, tимп и tпаузы, причем tимп+tпаузы=Т. Скважностью называется отношение длительности импульса к периоду – S=tимп/T. Но на практике оказалось удобнее пользоваться обратной величиной – коэффициентом заполнения: D=1/S=T/tимп. Еще удобнее выражать коэффициент заполнения в процентах.
В чём отличия ШИМ от ШИР
В зарубежной технической литературе нет отличия между широтно-импульсной модуляцией и широтно-импульсным регулированием (ШИР). Российские же специалисты эти понятия пытаются разграничить. На самом деле ШИМ – это вид модуляции, то есть изменения несущего сигнала под действием другого, модулирующего. Несущий сигнал выполняет роль переносчика информации, а модулирующий задает эту информацию. А широтно-импульсное регулирование – это регулирование режима нагрузки с помощью ШИМ.
Причины и области применения ШИМ
Принцип широтно-импульсной модуляции используется в регуляторах частоты вращения мощных асинхронных двигателей. В этом случае модулирующий сигнал регулируемой частоты (однофазный или трехфазный) формируется маломощным генератором синусоиды и накладывается на несущую аналоговым способом. На выходе получается ШИМ-сигнал, который подается на ключи потребной мощности. Дальше можно пропустить получившуюся последовательность импульсов через фильтр низкой частоты, например через простую RC-цепочку, и выделить исходную синусоиду. Или можно обойтись без нее – фильтрация произойдет естественным образом за счёт инерции двигателя. Очевидно, что чем выше частота несущей, тем больше форма выходного сигнала близка к исходной синусоиде.
Возникает естественный вопрос – а почему нельзя усилить сигнал генератора сразу, например, применением мощных транзисторов? Потому что регулирующий элемент, работающий в линейном режиме, будет перераспределять мощность между нагрузкой и ключом. При этом на ключевом элементе впустую рассеивается значительная мощность. Если же мощный регулирующий элемент работает в ключевом режиме (тринистор, симистор, RGBT-транзистор), то мощность распределяется во времени. Потери будут намного ниже, а КПД – намного выше.
В цифровой технике особой альтернативы широтно-импульсному регулированию нет. Амплитуда сигнала там постоянна, менять напряжение и ток можно лишь промодулировав несущую по ширине импульса и впоследствии усреднив её. Поэтому ШИМ применяют для регулирования напряжения и тока на тех объектах, которые могут усреднять импульсный сигнал. Усреднение происходит разными способами:
Поэтому ШИМ применяют там, где решающую роль играет среднее значение напряжения или тока. Кроме упомянутых распространенных случаев, методом PWM регулируют средний ток в сварочных аппаратах и зарядных устройствах для аккумуляторных батарей и т.д.
Если естественное усреднение невозможно, во многих случаях эту роль на себя может взять уже упомянутый фильтр низкой частоты (ФНЧ) в виде RC-цепочки. Для практических целей этого достаточно, но надо понимать, что без искажений выделить исходный сигнал из ШИМ с помощью ФНЧ невозможно. Ведь спектр PWM содержит бесконечно большое количество гармоник, которые неизбежно попадут в полосу пропускания фильтра. Поэтому не стоит строить иллюзий по поводу формы восстановленной синусоиды.
Очень эффективно и эффектно управление методом ШИМ RGB-светодиодом. Этот прибор имеет три p-n перехода – красный, синий, зеленый. Изменяя раздельно яркость свечения каждого канала, можно получить практически любой цвет свечения LED (за исключением чистого белого). Возможности по созданию световых эффектов с помощью PWM безграничны.
Наиболее употребительная сфера применения цифрового сигнала, промодулированного по длительности импульса – регулирование среднего тока или напряжения, протекающего через нагрузку. Но возможно и нестандартное использование этого вида модуляции. Все зависит от фантазии разработчика.
Что такое импульсный блок питания и где применяется
Что такое аттенюатор, принцип его работы и где применяется
Что такое частотный преобразователь, основные виды и какой принцип работы
Преобразователи напряжения с 12 на 220 вольт
Что такое диодный мост, принцип его работы и схема подключения
Что такое триггер, для чего он нужен, их классификация и принцип работы
ШИМ сигнал
Очень часто в робототехнике возникает необходимость плавно управлять каким-то процессом, будь то яркость светодиода, мощность обогревателя или скорость вращения моторчика. Вполне очевидно, что управление напрямую связано с изменением напряжения на потребителе: и светодиод будет по-другому светить, и моторчик крутиться с другой скоростью. Но проблема в том, что управлять напряжением может только такая штука, как ЦАП – цифро-аналоговый преобразователь, а в нашем микроконтроллере встроенного ЦАПа нет, у нас есть только цифровой сигнал, т.е. либо вкл, либо выкл: Можно ли добиться плавного управления цифровым сигналом? Оказывается можно! Представьте себе вентилятор, вращающийся на полной мощности, напряжение постоянно. Представим теперь, что секунду напряжение подаётся, и секунду – нет, и так продолжается “по кругу”. Вентилятор начнёт крутиться в два раза медленнее, но мы скорее всего будем замечать моменты включения и выключения, особенно если вентилятор маленький. Большой вентилятор более инертен и там можно даже не заметить изменений скорости в пределах двух секунд. Можно теперь включать напряжение на 0.5 секунды, а на остальные 1.5 секунды – выключать. Вентилятор будет крутиться со скоростью 25% от максимальной. Мы с вами смогли представить так называемый ШИМ сигнал, широтно-импульсную модуляцию
С лампочкой накаливания оно тоже будет работать, она ведь весьма инертна, но вот со светодиодом мы будем видеть, как он включается и выключается, потому что он практически не имеет задержки включения/выключения. Что же делать? Всё очень просто, поднять частоту. В мысленном эксперименте у нас был период 2 секунды, что есть 0.5 Гц. А теперь представьте себе такой сигнал с частотой скажем 1000 Гц. Или 25’000 Гц (25 кГц). Теперь роль играет инертность глаза, он не заметит вспышек на такой частоте, для него это будет просто уменьшение яркости. Задача решена! Изменяя так называемое “заполнение” ШИМ сигнала можно менять “суммарное” напряжение (интегрированное) за некоторый период. Чем больше заполнение ШИМ, тем выше напряжение, но не выше напряжения, которое мы “ШИМим”:
При помощи ШИМ сигнала можно даже модулировать сложные аналоговые сигналы, например – синусоиду. На картинке ниже показан ШИМ (снизу) и этот же ШИМ после фильтров:
Вот таким образом кстати и работают инвертеры DC-AC. Возвращаясь к свойствам ШИМ сигнала, их всего два: частота (frequency) и заполнение (duty), с ними мы разобрались. Давайте перейдём к генерации ШИМ при помощи Arduino.
Arduino и ШИМ
В уроке про функции времени я рассказывал, что у микроконтроллера есть так называемые счётчики, которые считают “пинки” от тактового генератора (кварца). Данные счётчики как раз и генерируют ШИМ сигнал, т.е. само вычислительное ядро микроконтроллера в этом не участвует. Помимо расчётов, даже вывод сигнала с ноги МК ложится на плечи счётчика. Это очень важно понимать, потому что ШИМ сигнал не тормозит выполнение кода, так как его генерацией занимается буквально “другая железка”. На платах UNO/Nano/Pro Mini у нас есть три таймера-счётчика, у каждого таймера есть по два выхода на пины МК, то есть у нас есть 2*3=6 пинов, способных генерировать ШИМ сигнал. Для генерации ШИМ у нас есть готовая функция analogWrite(pin, duty)
Совместим эти знания с прошлым уроком и попробуем менять яркость светодиода, подключенного через резистор к пину D3. Потенциометр подключен к пину A0
Примечание:
Рассмотренный пример меняет яркость светодиода в зависимости от положения рукоятки потенциометра. Пару слов о “стандартном” ШИМ сигнале – мы получаем его с такими настройками, какие нам даёт библиотека Arduino.h, а настройки эти сильно занижены по сравнению с возможностями Arduino. Про “улучшение” ШИМ мы поговорим позже, а сейчас давайте глянем на характеристики ШИМ “из коробки”:
Таймер | Пины | Частота | Разрешение |
Timer 0 | D5 и D6 | 976 Гц | 8 бит (0-255) |
Timer 1 | D9 и D10 | 488 Гц | 8 бит (0-255) |
Timer 2 | D3 и D11 | 488 Гц | 8 бит (0-255) |
Это весьма плачевные цифры, особенно по частоте. Все таймеры приведены под одну гребёнку, чтобы пользователь не думал не гадал и лишнюю документацию не изучал. К изменению частоты и разрядности ШИМ мы вернёмся в отдельном уроке, а пока что можете посмотреть данный урок в видео варианте.
Видео
Что такое ШИМ и почему мерцает OLED? РАЗБОР
ШИМ, все вокруг говорят про ШИМ. Ну фиг знает — я его не вижу. Что хотите сказать, если понижу яркость дисплея, это как-то будет меня утомлять? Кажется тут есть в чём разобраться!
Сегодня мы объясним как на самом деле работает ШИМ. Узнаем сколько FPS видит человек, а сколько муха. Проведём тесты ШИМ на осциллографе. И, конечно, расскажем как избавиться от ШИМа на Samsung и на iPhone.
OLED дисплеи фактически во всём превзошли IPS. Но некоторые люди просто физически не могут пользоваться OLED, ведь они чувствуют усталость глаз, сухость и даже головные боли.
Почему так? Дело в том, что в отличие от большинства IPS-экранов большинство OLED-матриц мерцают. Примерно как дешевые люминесцентные лампы. И это не очень хорошо сказывается на зрении.
Но стоп! Лично у меня нет никаких проблем с OLED-дисплеями, да и мои друзья ходят с OLED и не жалуются.
Действительно, по статистике большинство (примерно 90%) людей не ощущают мерцания OLED-дисплеев. Мы даже провели опрос: Устают ли у Вас глаза от OLED дисплеев? Устают ли у вас глаза от IPS дисплеев? И получили вот такие результаты: примерно четверть — 27% сообщила, что у них глаза устают. Меньшинство, но всё же — четверть!
Тем не менее есть люди, которые не просто чувствуют ШИМ, но даже отчетливо его видят. Как так получается?
ШИМ в кинопроекторах
Чтобы ответить на этот вопрос давайте поговорим про кино. В старых кинопроекторах, в которых еще были бобины с плёнкой, крутили кино со скоростью 24 кадра в секунду.
Так вот, для того чтобы при смене кадров изображение не смазывалось и вы не видели момент перемотки пленки, в этот момент поток света перекрывался. Это приводило к адскому мерцанию, так как изображение постоянно обрывал «черный кадр».
Так как ускорить процесс смены кадров не было технической возможности киноделы придумали другой хак. Они стали перекрывать изображение дважды: не только во время смены кадра, но и когда на экране отображался статический кадр. Ммм. И какой в этом смысл?
Такое чередование изображения и дополнительных “черных кадров” позволяло искусственно увеличить частоту мерцания до 48 раз в секунду. Чего было достаточно, чтобы обмануть мозг. Видя постоянно мелькающую картинку, мозг просто «отключает» восприятия мерцания и мы видим плавную картинку. Кстати в немом кино, где использовалась частота 16 К/с, вообще перекрывали 3 раза и получилось мерцание — 48 раз в секунду.
Сколько мы видим кадров?
Этот невероятный эффект человеческого зрения называется порогом слияния мерцаний и этот порог равен 60 Гц. Это значит, всё что мерцает чаще чем 60 раз в секунду человек будет воспринимать как непрерывное изображение.
Кстати, у собак и кошек этот порог выше — в районе 70-80 Гц, а у мух так вообще 250-300 Гц.
Что же это получается, игровые мониторы 144 Гц и выше — это всё маркетинг? Нет, 60 кадров в секунду — это минимальный порог, при котором человек перестает видеть мерцание.
А люди с натренированным зрением, например, пилоты истребителей на тестированиях различают кадры, появившиеся на 4 мс. Что соответствует 250 кадрам в секунду. К хардкорным геймерам это тоже относится.
На самом деле есть исследования, где люди смогли различить и 480 к/с и даже больше в некоторых условиях.
Но в целом если верить ГОСТАм: Пульсация освещенности свыше 300 Гц не оказывает влияния на общую и зрительную работоспособность. ГОСТ Р 54945-2012
Зачем нужен ШИМ?
Итак, со зрением разобрались. Но зачем вообще мерцают OLED-дисплеи и на какой частоте?
Сначала ответим на вопрос “Зачем?”
Существует два способа регулировки яркости дисплея:
Первый и самый очевидный способ, при помощи понижения напряжения. Чем меньше мы подаем энергии на дисплей, тем меньше он светится.
Именно так регулируется яркость в большинстве IPS-дисплеев в наших смартфонах, ноутбуках и мониторах.
Но почему бы на OLED-дисплеях не делать также? На самом деле можно, и так даже делали раньше. Например в смартфоне LG G Flex 2 использовался именно такой подход. Но есть проблема! На OLED-дисплеях при уменьшении напряжения сильно страдает картинка. Возникает так называемый мура-эффект, более известный как эффект “наждачной бумаги”. Мы подробно рассказывали об этом в материале про OLED.
Поэтому чтобы избежать такой деградации изображения используется второй подход: регулировка яркости при помощи мерцания или ШИМ. ШИМ — это широтно-импульсная модуляция, или PWM по-английски. Это буквально значит — регулировка ширины, ну или длительности, импульса.
Так, стоп, что еще за импульс? Дело в том, что напряжение в дисплеях, использующих ШИМ, не постоянное, а прерывистое. Оно подаётся при помощи вот таких всплесков или импульсов.
Количество импульсов в секунду называется частотой и измеряется в Гц. А время, которое занимает каждый цикл пульсации, называется периодом.
К примеру, возьмем частоту 250 Гц, в этом случае период будет 4 мс. Частота и период — это фиксированные значения, и с изменением яркости дисплея они не меняются. А вот ширина каждого импульса — это как раз то, что мы можем регулировать. Это значение называется рабочим циклом, и он выражается в процентах.
Если рабочий цикл 100%, импульс будет длиться 100% своего периода, то есть 4 мс. Это соответствует 100% яркости дисплея. Если мы сократим ширину импульса до 50% или 2 мс, воспринимаемая яркость дисплея также упадет до 50%. А на яркости 1% фактически 99% будет отображаться просто черный экран, но наше зрение это интерпретирует как просто очень тусклую картинку. Получается, чем меньше яркость дисплея, тем более выражен эффект мерцания. И тем это вреднее для глаз.
Частота ШИМ в разных дисплеях
На самом деле ШИМ используется не только в OLED-дисплеях, но и в IPS. Но в отличие от OLED в IPS-экранах используют очень высокую частоту мерцания, свыше 2000 Гц. Естественно, столь быстрое мерцание не сможет заметить ни человек, ни муха. А значит и глазки уставать не будут.
А какая частота ШИМ в OLED?
Тут всё зависит от конкретной модели, но есть определенные закономерности. Во-первых, желательно чтобы частота ШИМ была кратной частоте обновления дисплея. Потому на 60 Гц или 120 Гц дисплеях, как правило частота ШИМ — 240 Гц, а на 90 Гц дисплеях 360 Гц.
Мы решили убедиться в этом самостоятельно и отправились в Санкт-Петербург. Там ребята из компании ЛЛС подготовили для нас осциллограф с высокоскоростным фотодетектором.
Так мы проверили на ШИМ на iPhone 11 Pro и Pixel 4.
Тесты показали, что iPhone 11 Pro, вопреки общему мнению, немного мерцает даже на максимальной яркости, с частотой 240 Гц. При снижении яркости до 50%, мерцание становится менее выраженным, а значит до этого момента на iPhone используется уменьшение напряжения. Ну а дальше в бой вступает ШИМ. На осциллографе очень хорошо видно, как при снижении яркости уменьшается ширина импульса, а значит увеличивается мерцание.
В Pixel 4 вплоть до 70% яркости мы не обнаружили ШИМа совсем, видно только обновление экрана 90 Гц. А дальше начинается ШИМ с частотой 360 Гц. Но так как частота обновления экрана в Pixel 4 после 40% падает до 60 Гц, видно как каждый четвёртый импульс немного скачет. Это потому что частота обновления не совпадает с частотой модуляции.
Samsung Galaxy A50:
На самом деле, частоту мерцания OLED-дисплеев можно увеличить, пусть не до 2000 Гц, но хотя бы до 500 Гц. Кстати, именно такая частота ШИМ была в древнем Windows Phone — Lumia 950. Но это удорожает производство, а так как страдающих людей мало, производители воровать у себя из кармана не готовы.
Кстати, практически все современные LCD-телевизоры тоже ШИМят на частоте 240 Гц. И в теликах этот эффект даже более заметен, чем в телефонах.
Разве что SONY не поскупились установить в свои LCD модели контроллеры управления яркостью либо совсем без мерцания, либо с мерцанием на частоте 720 Гц.
Как проверить ШИМ самому?
Но как проверить ШИМ на вашем телефоне, ноутбуке или телевизоре самостоятельно? Если у вас нет под рукой осциллографа с высокоскоростным кремниевым фотодетектором.
На самом деле очень просто! Вам нужно снять экран на видео в замедленной съемке 240 к/с или больше. Сейчас почти любой телефон так может. Если на всех значениях яркости вы не увидите мерцания в виде перемещающихся полос. Значит ШИМа нет.
Что такое DC Dimming?
Тем не менее проблема есть и первой её осознал Xiaomi, представив функцию DC Dimming в Black Shark 2 Pro. Эта тема настолько хорошо зашла, что очень быстро подсуетились OnePlus, OPPO и Huawei. И начиная с прошлого года во всех флагманах точно есть DC Dimming.
Само название расшифровывается как Direct Current Dimming, что переводится как затемнение постоянным током. Иными словами в этом случае яркость регулируется как и положено снижением напряжения.
СТОП! Но также нельзя! Картинка же убьется! На самое деле, так нельзя было делать раньше, потому как качество OLED-дисплеев оставляло желать лучшего. Но теперь всё иначе.
Уже давно многие производители стали использовать гибридный способ регулировки яркости. Например на iPhone до 50% яркости используется снижение напряжения, и только потом включается ШИМ. А телефоны с функцией DC Dimming пошли дальше и стали регулировать яркость исключительно снижением напряжения.
Да, включив DC Dimming на низких яркостях могут немного поплыть цвета и появиться шум. Но это совсем не критично.
И тесты показывают, что функция реально работает. Хотя колебания яркости и не сглаживаются полностью, всё равно такой подход позволяет многократно снизить нагрузку на наши с вами глаза.
По нашим замерам на Xiaomi Mi 10 ШИМ с включенным DC Dimming исчезает полностью! А значит ваши глазки смогут отдохнуть.
Убираем ШИМ для всех
Но что делать, если вам DC Dimming не завезли? Например у вас Samsung, который ШИМит даже на 100% яркости, или iPhone который начинает ШИМить на 50%?
На самом деле решение есть и оно программное. Имя ему экранные фильтры!
Android. Например, на любой Android можно поставить программу OLED Saver. Она умеет накладывать полупрозрачный серый фильтр поверх всего изображения. Регулируя прозрачность фильтра, регулируется яркость. Это программа умеет имитировать функцию автояркости. Можно довольно быстро из шторки регулировать прозрачность фильтра и настроить автозапуск после перезагрузки.
Не могу сказать что это очень удобно. Но может быть очень полезно, если любите позалипать в телефон перед сном в темноте.
iPhone. А на iPhone вообще есть специальный режим встроенный в систему. Он называется “понижение точки белого” и прячется в разделе “Универсальный Доступ”. Путь такой: Настройки > Универсальный доступ > Дисплей и размер текста > Понижение точки белого
А чтобы постоянно не лезть в настройки можно назначить включение режима на тройное нажатие кнопки питания с помощью такого пути: Настройки > Универсальный доступ > Быстрая команда.
В iOS 14 можно даже назначить тоже самое на постукивание по задней крышке. Но я бы не рекомендовал так делать, будут ложные срабатывания.
Ну и напоследок можно вынести ярлык с этой функцией в пункт управления. Для этого идём в Настройки > Пункт управления и перетаскиваем иконку “Команды для универсального доступа”.
Итоги
Что в итоге? ШИМ, конечно, зло. Хоть я его и не вижу, и мои глаза не устают, эта штука всё равно напрягает мозг. А с возрастом может появиться и усталость глаз.
С другой стороны, благодаря ШИМ вообще стал возможен прогресс в развитии технологии OLED. Если б его не было сидели бы мы на IPS и о всех прелестях классных OLED-дисплеев даже бы и не знали.
Очень надеемся, что DC Dimming станет стандартом и мы забудем о ШИМ в смартфонах и телевизорах точно также, как забыли о нём в настольных мониторах с появлением Flicker Free мониторов от BenQ. Это, кстати, та же самая технология что и DC Dimming.
В основу ролика легла статья с портала deep-review.com и материал Олега Афонина для журнала Хакер. Ребята проделали отличную работу, а мы продолжаем их дело.
Спасибо компании ЛЛС за оборудование и теплый приём в Питере! Очень приятно вместе с вами делать крутой науч-поп контент. На этом сегодня всё!