Широтно-импульсная модуляция (ШИМ) | Класс робототехники
Как нам уже известно из первых уроков, любой микроконтроллер умеет хорошо работать с цифровыми сигналами. Он легко справляется с арифметическими операциями над цифровыми данными, принимает и передаёт цифровые сигналы по линиям связи. А что значит «цифровые» в данном случае?
В самом первом уроке мы зажигали и гасили светодиод с помощью Ардуино. Для того, чтобы зажечь светодиод, мы подавали на его анод высокий уровень сигнала. А чтобы погасить — низкий уровень. Получается, для управления мы использовали только два уровня напряжения: высокий и низкий. Светодиод либо будет гореть, либо не будет. Третьего — не дано. Оперируя только двумя состояниями означает, что мы работаем с цифровым сигналом.
Но что делать, если нам нужно зажечь этот самый светодиод только на половину яркости? Или запустить двигатель, на 30% его мощности? Для решения этой задачи используют подход, называемый широтно-импульсной модуляцией сигнала. О том, что такое ШИМ и как это работает, мы узнаем на сегодняшнем уроке.
Широтно-импульсная модуляция — ШИМ
Разберем понятие ШИМ на примере управления скоростью вращения двигателя постоянного тока. Поставим своей целью запустить мотор на 50% от его максимальной скорости. Пусть наш двигатель идеальный и чтобы достичь заданной скорости, нам нужно в единицу времени передавать на мотор в два раза меньше мощности. Как это сделать, не меняя источник питания?
Проведем мысленный эксперимент (а кто-то может и натуральный — ничего сложного). Возьмём мотор постоянного тока с массивным маховиком, закрепленным на валу (таким маховиком может служить колесо). Подадим питание от аккумулятора и мотор начнет набирать обороты. Через какое-то время, мотор достигнет номинальной мощности, а его ротор максимальной скорости вращения. Отключим питание, и мотор постепенно начнет замедляться вплоть до полной остановки.
Следующий опыт. Снова включим мотор, и когда его скорость достигнет половины от максимальной — выключим. Заметив, что скорость падает — снова включим. И так далее. Включая и выключая питание мотора, мы заставим ротор вращаться со скоростью, близкой к половине от максимальной!
Разумеется, в силу человеческой медлительности, мотор будет удерживать заданную скорость с некоторой погрешностью. Другими словами, скорость будет «плавать» вокруг заданного значения. Чтобы минимизировать эти отклонения, нам потребуется увеличить частоту переключений. Тут уже не обойтись без автоматики.
А как заставить мотор вращаться медленнее или быстрее? Количество переданной мотору энергии будет зависеть от отношения времени когда мотор включен — tвкл к времени когда он выключен — tвыкл.
Так, для передачи мотору 50% мощности, tвкл будет равно tвыкл. Такой случай как раз изображен на графике. Чтобы мотор вращался еще медленнее, скажем с мощностью 25% от номинальной, придется время включения мотора уменьшить до этих самых 25% от общего периода управления T.
Таким образом, имея возможность менять ширину импульсов, мы можем достаточно точно управлять скоростью вращения мотора.
Собственно, рассмотренный способ управления мощностью и называется широтно-импульсной модуляцией сигнала, а сокращённо — ШИМ. Теперь рассмотрим параметры которые характеризуют ШИМ сигнал и которые следует учитывать при написании программ для микроконтроллеров.
Коэффициент заполнения (duty cycle)
Начнем с самого главного параметра — коэффициента заполнения D (он же duty cycle). Этот коэффициент равен отношению периода ШИМ сигнала к ширине импульса:
D = T / tвкл
Пример ШИМ сигнала для разных значений D:
Чем больше D, тем больше мощности мы передаем управляемому устройству, например, двигателю. Так, при D = 1 двигатель работает на 100% мощности, при D = 0,5 — наполовину мощности, при D = 0 — двигатель полностью отключен.
Кстати, кроме коэффициента заполнения для характеризации ШИМ применяют и другой параметр — скважность S. Эти два параметра связаны выражением:
S = 1/T
Скважность, как и коэффициент заполнения — величина безразмерная. В отличие от D, она может принимать значения от 1 до бесконечности. Но чаще всего, особенно в англоязычных источниках, используют именно D.
Частота ШИМ
Частота ШИМ определяет период импульса — T (см картинку выше). Требования к этой частоте диктуются несколькими факторами, в зависимости от типа управляемого устройства.
В случае управления светодиодами одним из главных факторов становится видимость мерцания. Чем выше частота, тем менее заметно мерцание излучаемого света. Высокая частота также помогает снизить влияние температурных скачков, которые светодиоды не любят. На практике для светодиодов достаточно иметь частоту ШИМ в пределах 100-300 Гц.
С моторами постоянного тока дела обстоят немного иначе. С одной стороны, чем больше частота, тем более плавно и менее шумно работает мотор. С другой — на высоких частотах падает крутящий момент. Нужен баланс. Более подробно о моторах мы поговорим в одной из будущих статей, а пока рекомендуем для большинства DIY задач использовать частоту ШИМ 2кГц.
Плюс, общая проблема для всех случаев управления силовой нагрузкой — потери в цепях силовой коммутации (в транзисторах, и не только), которые увеличиваются с ростом частоты ШИМ. Чем больше частота, тем большее время транзисторы находятся в переходных состояниях, активно выделяя тепло и снижая эффективность системы.
Разрешение ШИМ
Ещё один важный параметр — разрешение ШИМ сигнала. Этот параметр показывает, с какой точностью мы можем менять коэффициент заполнения. Чем больше разрешение, тем плавнее будет меняться мощность на управляемом устройстве.
Например, у платы Ардуино с базовыми настройками, разрешение ШИМ — 256. То есть мы можем изменять сигнал от 0 до 255 — не густо, но для большинства DIY задач хватает.
ШИМ и микроконтроллеры
Простейший генератор ШИМ можно собрать и без всяких микроконтроллеров, только лишь с микросхемой таймера 555. Разумеется, любой микроконтроллер тоже умеет работать с ШИМ сигналом.
Например, у платы Ардуино имеется 6 контактов: 3, 5, 6, 9, 10 и 11, которые можно настроить для генерации аппаратного ШИМ. По-умолчанию, на контактах 5 и 6 частота сигнала будет 1кГц, на остальных — скромные 500Гц. Как ими пользоваться ШИМ на Ардуино подробно рассказывается на уроке «Ардуино: ШИМ» (скоро будет).
STM32F103 — гораздо более серьёзный микроконтроллер. У него целых 20 контактов имеют возможность генерации ШИМ. Частота этого микроконтроллера — 72МГц, что делает возможным плавное и точное управление моторами постоянного тока, не говоря уже о светодиодах. Узнаём подробности в уроке про STM32 и ШИМ.
Кстати, микроконтроллеры умеют не только генерировать ШИМ, но и детектировать подобные сигналы. Про это можно почитать в соответствующей статье на нашем портале (скоро будет).
Вконтакте
Широтно-импульсная модуляция (ШИМ, PWM, Pulse Width Modulation)
- Оригинальная статья:
- Pulse Width Modulation (Simon Baker, Shea Hagstrom)
- Опубликовано:
- Перевод:
- Марат Таналин
- Опубликован:
- Обновлено:
Введение
Жидкокристаллические (ЖК-, LCD-) мониторы используются в самых разных условиях, поэтому желательно производить дисплеи, позволяющие изменять яркость и подходящие для работы как при свете, так и в темноте. Тогда пользователь сможет настроить экран на комфортный уровень яркости в зависимости от условий его работы и общего освещения.
В технических характеристиках дисплея производители обычно указывают его максимальную яркость, но важно принимать во внимание и более низкие значения яркости, на которых способен работать экран — ведь вы вряд ли захотите использовать его на максимальной яркости. Хотя в технических характеристиках часто фигурируют значения до 500 кд/м², вам наверняка потребуется использовать экран при яркости, несколько более комфортной для ваших глаз.
Напомним, что в каждом из наших обзоров на сайте tftcentral.co.uk мы проверяем полный диапазон регулирования яркости подсветки и соответствующие значения яркости. При калибровке мы также пытаемся установить яркость экрана на уровне 120 кд/м², который является рекомендуемым для ЖК-монитора при обычных условиях освещённости. Это помогает вам получить представление о том, как установить такой уровень яркости, при котором вы, скорее всего, захотите использовать его ежедневно.
Как в случае подсветки на люминесцентных лампах (CCFL), так и при светодиодной (LED-) подсветке, изменение яркости дисплея достигается уменьшением общей светоотдачи подсветки. В настоящее время для ослабления яркости подсветки наиболее часто применяется широтно-импульсная модуляция (ШИМ, Pulse Width Modulation, PWM), которая уже много лет используется в дисплеях настольных компьютеров и ноутбуков. Тем не менее, этот способ не лишён некоторых проблем, а с появлением дисплеев с высокими уровнями яркости и распространением светодиодной подсветки побочные эффекты ШИМ стали более заметными, чем раньше, и в некоторых случаях ШИМ может быть причиной быстрой утомляемости зрения у чувствительных к ней людей.
Цель этой статьи — не вселить в вас тревогу, а рассказать, как ШИМ работает, почему она используется, и как проверить дисплей, чтобы разглядеть эти эффекты более явно.
Что такое ШИМ?
Широтно-импульсная модуляция (ШИМ) — один из способов снижения воспринимаемой яркости в дисплеях, работающий путём быстрого циклического включения и выключения подсветки. Такая периодическая подача импульсов обычно происходит на постоянной частоте, а отношение длительности части каждого цикла, в течение которой подсветка включена, к общей длительности цикла называется коэффициентом заполнения (величина, обратная скважности). Изменением скважности достигается изменение общей светоотдачи подсветки. На зрительном уровне этот механизм работает благодаря тому, что чередование включённого и выключенного состояний подсветки происходит достаточно быстро, и пользователь не замечает мерцания, поскольку оно находится за пределами порога слияния мельканий (подробнее об этом ниже).
Ниже вы можете видеть графики светоотдачи подсветки на протяжении нескольких циклов с использованием «идеальной» ШИМ. Максимальная светоотдача подсветки в этом примере составляет 100 кд/м², а воспринимаемая яркость для коэффициентов заполнения 90%, 50% и 10% — 90, 50 и 10 кд/м² соответственно. Соотношение между минимальным и максимальным уровнями яркости в течение одного цикла называется глубиной модуляции и в данном случае составляет 100%. Обратите внимание, что на протяжении цикла в приведённом примере яркость подсветки максимальна.
- Коэфф. заполнения 90%
- Коэфф. заполнения 50%
- Коэфф. заполнения 10%
Аналоговые (без использования ШИМ) графики, соответствующие воспринимаемым уровням яркости, представлены ниже. Здесь модуляция отсутствует.
- Постоянная яркость 90%
- Постоянная яркость 50%
- Постоянная яркость 10%
Почему применяется ШИМ
Основными причинами применения ШИМ являются лёгкость её реализации, для которой от подсветки нужна лишь способность часто включаться и выключаться, а также обеспечиваемый с её помощью широкий диапазон возможных значений яркости.
Снизить яркость CCFL-подсветки можно путём снижения тока, протекающего через лампу, но лишь примерно вдвое ввиду их строгих требований к току и напряжению. Это делает ШИМ единственным простым способом достижения широкого диапазона регулирования яркости. CCFL-лампа обычно управляется инвертором, включающимся и выключающимся с частотой в десятки килогерц, что находится за пределами мерцания, заметного для человека. Однако ШИМ обычно работает на гораздо более низкой частоте, около 175 Гц, что может приводить к заметным дефектам изображения.
Яркость светодиодной подсветки можно регулировать в широких пределах путём изменения проходящего через них тока, правда в результате несколько изменяется цветовая температура. Этот аналоговый подход к изменению яркости светодиодов также нежелателен ввиду того, что вспомогательные цепи обязаны учитывать тепло, выделяемое светодиодами. Светодиоды во включённом состоянии нагреваются, что уменьшает их сопротивление и дополнительно увеличивает протекающий через них ток. Это может привести к быстрому росту тока в сверхъярких светодиодах и послужить причиной их выхода из строя. При использовании ШИМ ток можно принудительно удерживать на постоянном уровне в течение рабочего цикла, в результате чего цветовая температура всегда одинакова и перегрузок по току не возникает.
Побочные эффекты ШИМ
Несмотря на привлекательность ШИМ для производителей по обозначенным выше причинам, при неосторожном использовании она может также приводить к неприятным визуальным эффектам. Чтобы понять, что мы видим, нам необходимо рассмотреть мерцание настоящих дисплеев. Ниже показана видеозапись CCFL-подсветки, замедленная в 40 раз, благодаря чему мерцание можно увидеть более отчётливо. Графики изменения яркости RGB-компонентов в течение одного цикла показаны непосредственно под ней. Данный конкретный дисплей настроен на его минимальную яркость, при которой мерцание должно быть выражено наиболее ярко.
Как видно из видео и соответствующих графиков, в течение одного цикла общая яркость изменяется примерно в 4 раза. Что интересно, цвет подсветки тоже значительно изменяется в течение каждого цикла. Скорее всего, это связано с тем, что люминофоры в CCFL имеют различающееся время отклика, и в этом случае мы можем сделать вывод, что люминофор, задействованный при продуцировании синего света, может включаться и выключаться быстрее, чем для других цветов. Применение люминофоров также означает, что подсветка продолжает излучать свет в течение нескольких миллисекунд после отключения подсветки в конце рабочего цикла и обеспечивает более постоянный уровень свечения (меньшую модуляцию), чем имели бы место в противном случае. Обратите внимание, что усреднённый во времени цвет остаётся неизменным.
Мерцание светодиодной подсветки обычно гораздо заметнее, чем мерцание CCFL-подсветки при той же скважности, поскольку светодиоды способны включаться и выключаться гораздо быстрее и при этом не продолжают светиться после отключения питания. Это означает, что там, где CCFL-подсветка показывала достаточно плавное колебание яркости, светодиодная версия демонстрирует более резкие переходы между включённым и выключенным состояниями. Именно поэтому совсем недавно тему ШИМ стали поднимать в интернете и в обзорах на фоне появления всё большего и большего количества дисплеев со светодиодной подсветкой на основе белых светодиодов (W-LED). Как можно видеть ниже, существенного изменения цвета подсветки в течение рабочего цикла не происходит.
Особенно заметен эффект мерцания, когда глаза пользователя двигаются. При постоянном освещении без мерцания (например, при солнечном свете) изображение плавно размывается, и именно так мы обычно воспринимаем движение. Однако при сочетании с источником света, использующим ШИМ, человек может увидеть одновременно несколько раздельных остаточных изображений экрана, что может привести к снижению удобочитаемости и способности фиксировать взгляд на объектах. Из предыдущего анализа CCFL-подсветки мы знаем, что может также искажаться цвет, даже если исходное изображение чёрно-белое. Ниже показаны примеры того, как может выглядеть текст по мере горизонтального движения глаз при использовании подсветки разных типов.
- Исходное изображение
- Без ШИМ
- ШИМ при CCFL-подсветке
- ШИМ при LED-подсветке
Важно помнить, что это обусловлено исключительно подсветкой, а сам дисплей отображает статичное изображение. Часто говорят, что человек не способен воспринимать более 24 кадров в секунду (fps), что не является правдой и в действительности лишь соответствует приблизительной частоте кадров, необходимой для восприятия непрерывного движения. На самом деле при движении глаз (например, при чтении) реально увидеть эффекты мерцания на нескольких сотнях герц. У разных людей способность замечать мерцание значительно различается и даже зависит от расположения пользователя относительно дисплея, поскольку периферическое зрение наиболее чувствительно.
Так насколько же часто включается и выключается подсветка при использовании ШИМ? По-видимому, это зависит от типа используемой подсветки. Подсветка на основе люминесцентных ламп почти всегда переключается с частотой 175 Гц, или 175 раз в секунду. Частота мерцания светодиодной подсветки, по разным сведениям, составляет от 90 Гц до 420 Гц, и при более низких частотах мерцание гораздо заметнее. Может показаться, что частота слишком высокая, чтобы быть заметной, но не забывайте, что 175 Гц — это ненамного чаще, чем мерцание 100—120 Гц, характерное для ламп освещения, подключённых напрямую к электросети.
В действительности частота 100—120 Гц мерцания люминесцентных ламп была связана с такими симптомами, как перенапряжение глаз и головная боль у части людей. Именно поэтому были разработаны высокочастотные стабилизирующие цепи, обеспечивающие почти непрерывную светоотдачу. Использование ШИМ на низких частотах сводит на нет преимущества использования этих улучшенных стабилизирующих цепей в подсветке, поскольку источник почти непрерывного света в этом случае снова превращается в мерцающий. Дополнительно следует учитывать, что низкокачественные или бракованные стабилизаторы в подсветке на основе люминесцентных ламп могут издавать слышимый шум. Зачастую это происходит при использовании ШИМ, поскольку электроника в настоящее время имеет дело с дополнительной частотой, с которой изменяется энергопотребление.
Важно также понимать разницу между мерцанием дисплеев на основе электронно-лучевых трубок (ЭЛТ, CRT) и TFT-дисплеев с CCFL- и LED-подсветкой. В то время как ЭЛТ может мерцать на низкой частоте 60 Гц, лишь узкая полоса освещена в каждый отдельно взятый момент времени, поскольку луч электронной пушки движется сверху вниз. При использовании TFT-дисплеев с CCFL- и LED-подсветкой вся поверхность экрана светится одновременно, что означает гораздо большее количество света, излучённого за короткое время. В некоторых случаях это может быть более неприятно, чем мерцание ЭЛТ, особенно при высокой скважности.
Для некоторых людей мерцание как таковое в подсветке дисплеев может быть трудноуловимым и малозаметным, но для других — является весьма заметным в силу естественных различий в человеческом зрении. С ростом использования светодиодов высокой яркости, для управления яркостью приходится всё больше использовать высокую скважность ШИМ, что делает проблему мерцания более актуальной. Учитывая что пользователи ежедневно проводят многие часы, смотря на свои мониторы, не следует ли нам рассмотреть долгосрочные последствия как воспринимаемого, так и незаметного мерцания?
Ослабление побочных эффектов ШИМ
Если для вас ШИМ-мерцание подсветки неприятно или вы просто хотите проверить, станет ли легче читать, если мерцание уменьшить, я рекомендовал бы вам попробовать следующее. Установите яркость вашего монитора на максимум и отключите все механизмы автоматической подстройки яркости. Теперь уменьшите яркость до нормального уровня (обычно с помощью ползунка контрастности) с помощью цветокоррекции, доступной в драйверах вашей видеокарты, или с помощью устройства калибровки. Это уменьшит яркость и контрастность вашего монитора, при этом подсветка будет включена в течение максимально продолжительного времени на протяжении ШИМ-циклов. Хотя из-за уменьшенной контрастности этот способ в качестве долгосрочного решения многим не подойдёт, эта техника может помочь определить степень положительного влияния уменьшения использования ШИМ.
Гораздо лучшим методом, конечно, было бы приобрести дисплей, не использующий ШИМ для управления яркостью или хотя бы использующий гораздо более высокую частоту ШИМ. К сожалению, похоже, ни один из производителей пока не реализовал ШИМ, работающую на частотах, которые находились бы за пределами воспринимаемых зрительных дефектов (вероятно, значительно выше 500 Гц для CCFL и выше 2 КГц для светодиодов). Кроме того, в некоторых дисплеях, в которых применяется ШИМ, коэффициент заполнения не равен 100% даже на полной яркости, в результате чего они мерцают в любом случае. Возможно, в некоторых из доступных сейчас дисплеев со светодиодной подсветкой ШИМ не используется, но до тех пор, пока частоту подсветки и модуляцию не станут указывать в технических характеристиках, каждый конкретный дисплей необходимо проверять лично.
Проверка и анализ
Было бы здорово, если бы существовал простой способ измерения ШИМ-частоты подсветки, и, к счастью, для этого достаточно фотоаппарата с возможностью ручной настройки выдержки. Использование этого способа описано далее.
- Съёмка:
- Установите на мониторе настройки, которые вы хотите проверить.
- (Необязательно) Установите баланс белого на фотоаппарате при отображении на экране только белого цвета. Если это невозможно, установите баланс белого вручную примерно на уровне 6000 K.
- Выведите на монитор узкую белую вертикальную полосу на чёрном фоне (толщины 1-3 точки будет достаточно). Должно быть видно только это изображение.
- Установите выдержку на фотоаппарате в значение из промежутка от 1/2 до 1/25 секунды. Для получения достаточного для съёмки количества света вам может потребоваться установить ISO-чувствительность и диафрагму. Убедитесь, что белая полоса располагается на фокусном расстоянии (при необходимости зафиксируйте его).
- Удерживайте камеру на расстоянии примерно 60 см от монитора и перпендикулярно ему. Нажмите кнопку спуска затвора во время медленного горизонтального перемещения камеры относительно экрана (при движении сохраняйте их взаимно перпендикулярное положение). Вам может потребоваться поэкспериментировать с перемещением фотоаппарата на разных скоростях.
- Обработка:
- Подстройте яркость полученного изображения так, чтобы был хорошо различим узор.
- Подсчитайте количество циклов, запечатлённых на изображении.
- Разделите это число на величину выдержки. Например, если вы используете выдержку 1/25 секунды и насчитали 7 циклов, количество циклов в секунду составит 25 * 7 = 175 Гц. Это частота мерцания подсветки.
- Проверочное изображение
- Фотография
- Вырезанный полезный фрагмент
Смысл данной техники в том, что, перемещая фотоаппарат во время съёмки, мы превращаем временной эффект в пространственный. Единственным существенным источником света при съёмке является узка полоса на экране, которая попадает на светочувствительную матрицу в виде следующих друг за другом столбцов. Если подсветка мерцает, разные столбцы будут иметь разные значения яркости или цвета, определяемые подсветкой в конкретный момент съёмки.
Типичной проблемой при первых попытках использования этой техники является слишком тёмное изображение. Улучшить ситуацию в этом плане может использование большей диафрагмы фотоаппарата (более низкое значение f/число) или увеличение ISO-чувствительности. Выдержка на эскпозицию влияния не оказывает, поскольку мы используем её только для управления общей продолжительностью съёмки. Яркость изображения можно также подстроить путём изменения скорости перемещения фотоаппарата: более высокая скорость обеспечит более тёмное изображение при более высоком разрешении по времени, а следствием более низкой скорости будет более яркое изображение при более низком разрешении.
Другая встречающаяся проблема — неравные расстояния между отдельными полосами на результирующем изображении вследствие изменения скорости перемещения фотоаппарата во время съёмки. Для достижения постоянства скорости начинайте перемещение фотоаппарата за некоторое время до начала съёмки, а заканчивайте — через некоторое время после её окончания.
Изображение, выглядящее слишком ровно, может быть следствием расфокусированности. В некоторых случаях с этим можно справиться путём половинного нажатия кнопки спуска затвора для наведения фокуса и дальнейшего продолжения в обычном режиме.
-
- Изображение слишком тёмное
- Увеличьте экспозицию после съёмки.
- Используйте бОльшую диафрагму.
- Перемещайте фотоаппарат медленнее.
-
- Разные расстояния между столбцами
- Перемещайте фотоаппарат на постоянной скорости.
- Попробуйте перемещать фотоаппарат до и после съёмки.
-
- Изображение расфокусировано
- Зафиксируйте фокусное расстояние.
- Наведите фокус заранее путём половинного нажатия кнопки спуска затвора.
- Убедитесь, что фотоаппарат расположен перпендикулярно экрану.
В зависимости от конкретного монитора могут наблюдаться дополнительные эффекты. Подсветка на основе CCFL часто демонстрирует разные цвета в начале и конце каждого цикла, что означает, что используемые люминофоры реагируют с разной скоростью. Подсветка на основе светодиодов часто использует более высокую частоту, чем CCFL-подсветка, и, чтобы увидеть циклы, может потребоваться перемещать фотоаппарат быстрее. Тёмные полосы между циклами означают, что скважность ШИМ была увеличена в такой степени, что во время этой части цикла свет не излучается.
Далее представлены примеры применения этого метода.
Dell 2007WFP (CCFL)
- Яркость = 100
- Яркость = 50
- Яркость = 0
Используя выдержку 1/25 секунды, мы можем ясно увидеть 7 циклов, из чего следует, что подсветка мерцает на частоте 175 Гц. Даже на полной яркости есть небольшое мерцание, хотя оно, скорее всего, достаточно мало, чтобы быть незаметным. На половинной яркости появляется небольшое мерцание, а при достижении минимальной яркости появляется гораздо более заметное мерцание наряду с цветовым сдвигом.
NEC EA231WMi (CCFL)
- Яркость = 100
- Яркость = 50
- Яркость = 0
На полной яркости видимое мерцание отсутствует. На половинной яркости становятся видны мерцание и цветовой сдвиг. При минимальной яркости наблюдаются более сильное мерцание и значительный цветовой сдвиг. При выдержке 1/25 секунды видно около 8 циклов, что соответствует частоте примерно 200 Гц. При более длительной выдержке получено более точное значение частоты — 210 Гц.
Samsung LN40B550 Television (CCFL)
- Яркость = Max
- Яркость = Min
Отключить автоматическую подстройку яркости нет возможности, поэтому показаны максимальный и минимальный уровни яркости, которых можно легко достичь. На полной яркости видимое мерцание отсутствует. На минимальной яркости есть сильное мерцание и цветовой сдвиг, за счёт которого видно разделение на жёлтую и синюю составляющие. При выдержке 1/25 секунды видны лишь 6 циклов, из чего следует, что подсветка мерцает на частоте 150 Гц.
2009 Apple MacBook (LED)
- Яркость = 100
- Яркость = 50
- Яркость = 0
При использовании выдержки 1/25 секунды видимые мерцание и цветовой сдвиг отсутствуют вне зависимости от яркости. Этот дисплей не использует ШИМ. Причиной бороздчатости является зашумлённость изображения.
2008 Apple MacBook Pro (LED)
- Яркость = 100
- Яркость = 50
- Яркость = 0
При выдержке 1/25 секунды наблюдается небольшое мерцание на полной яркости. При яркости 50 и 0 используется очень высокая скважность, дающая сильное мерцание. В этой светодиодной подсветке используется более высокая частота — 420 Гц, но она всё же слишком низка, чтобы устранить эффект мерцания. Видимый цветовой сдвиг в течение циклов отсутствует.
Заключение
Как мы отметили вначале, эта статья написана не для того, чтобы отпугнуть людей от современных ЖК-дисплеев, а для того, чтобы помочь людям узнать о потенциальной проблеме, связанной с ШИМ. С учётом растущей популярности мониторов с подсветкой на основе белых светодиодов (W-LED) довольно вероятно появление большего количества жалоб пользователей по сравнению с более старыми дисплеями, и связано это с использованием ШИМ-метода и, в конечном итоге, с выбранным типом подсветки. Конечно, проблемы, к которым может привести использование ШИМ, заметны не каждому, и в действительности я ожидаю, что людей, которые никогда не испытают описанных симптомов, гораздо больше, чем тех, кто испытает. Для тех, кто страдает от побочных эффектов, включая головные боли и перенапряжение глаз, теперь есть хотя бы объяснение.
Учитывая, что такая технология, как ШИМ, используется давно и успешно, а также многие годы её использования в CCFL-дисплеях, я, откровенно говоря, сомневаюсь, что в ближайшее время в этом плане что-то изменится, даже при усиливающемся переходе к светодиодной подсветке. ШИМ по-прежнему является надёжным способом управления интенсивностью подсветки и, следовательно, предлагает возможности регулирования яркости, необходимые каждому пользователю.
Тем, кто беспокоится о побочных эффектах или имеет проблемы с предыдущими дисплеями, следует попробовать определить частоту ШИМ в их новом дисплее и, возможно, даже попробовать найти экран, в котором ШИМ для управления яркостью подсветки не используется вообще. К сожалению, нам ещё предстоить увидеть, как производители станут указывать какие-либо технические характеристики, касающиеся использования ШИМ, или её частоту при определённых уровнях яркости, поэтому сейчас об этом судить трудно.
Установка максимальной яркости экрана является одним из возможных методов, помогающих уменьшить побочные эффекты благодаря меньшей скважности. Это решение, конечно, не идеально, поскольку многие дисплеи имеют очень высокий заводской или максимальный уровень яркости, но это хотя бы что-то, что может помочь. Управление яркостью на программном уровне или средствами драйвера видеокарты может помочь вернуть более комфортную яркость, но может привести к снижению контрастности.
Автор перевода не несёт ответственности за возможные неточности.
Широтно импульсная модуляция сигналов (ШИМ)
Широтно-импульсная модуляция сигналов (сокращенно ШИМ) — процесс представления сигнала в виде череды импульсов с постоянной частотой и управления уровнем этого сигнала путём изменения скважности данных импульсов. В английском варианте ШИМ имеет название pulse-width modulation (PWM)
Определение звучит сложно, но на самом деле все очень просто. Достаточно понять, что такое скважность и среднее результирующее напряжение. Самый простой способ разобраться в понятии скважности и представить, что такое ШИМ, — это рассмотреть участок цепи, который находится под постоянным напряжением Uп, в результате чего в цепи течет постоянный ток Iп. Временная диаграмма такой ситуации представлена на рисунке 1.
Рисунок 1
Из диаграммы видно, что напряжение остается постоянным во времени. Теперь представьте, что это постоянное напряжение Uп мы начинаем равномерно включать-выключать с высокой частотой, например 2000 раз в секунду. В результате получим набор импульсов рисунок 2.
Рисунок 2
Оказывается, что в этом случае набор импульсов воспринимается потребителем тока (каким либо устройством) как постоянное напряжение, но с другим (результирующим) уровнем напряжения Uрез. Это справедливо только при достаточно большой частоте импульсов. Чтобы оценить, как это результирующее напряжение отличается от постоянного, необходимо сравнить количество заряженных частиц, протекающих по проводнику за период импульсного колебания (время импульса + время паузы), с количеством заряда протекающего при постоянном напряжении за то же время.
После математических вычислений получим формулу: Uрез = (Uи·tи) / T ,
где Uи — напряжение импульса; tи — время длительности импульса; Т — период одного импульсного колебания (сумма времени импульса и времени паузы).
Таким образом, для случая, изображенного на рис. 2, когда продолжительность импульса равна времени паузы между импульсами (то есть Т=2·tи) , результирующее напряжение получится: Uрез = (Uи·tи)/2·tи = 0,5 Uи. Результирующее напряжение получилось в два раза меньше напряжения импульса. При этом важно отметить, что в теории выделяются такие коэффициенты, как скважность — S = T / tи и обратный ему коэффициент заполнения — D = tи / T . Он, как правило, выражается в процентах.
Фактически коэффициент заполнения показывает, на сколько процентов импульс заполняет весь период колебания Т. Если коэффициент заполнения D равен 1 (100%), то время импульса целиком заполняет период и фактически это постоянное напряжение. Если уменьшить коэффициент заполнения D, например, до 0,25 (25%), то длительность импульса будет всего 25% от всего периода, а результирующее напряжение будет уже в 4 раза меньше, как показано на рисунке 3.
Рисунок 3
Из всего сказанного следует и более наглядное понимание термина «Широтно-импульсная модуляция». Получается, что уровень сигнала (величина уровня напряжения) регулируется широтой импульса, т.е. сигнал модулируется посредством череды импульсов разной ширины.
Как видите, с помощью такой модуляции можно получать напряжения разных уровней. Причем в отличие от банального пропускания тока через резистор с целью уменьшения напряжения метод ШИМ гораздо экономичнее. Если регулировать напряжение резистором, то на нем выделяется тепло и часть электрической энергии теряется. При ШИМ энергии теряется существенно меньше, поэтому данная модуляция активно используется в различных регуляторах напряжения и блоках питания. Принципы импульсной модуляции используются для решения многих других задач.
Сгенерировать собственную ШИМ, а так ж собрать различные интересные схемы с применением устройств управляемых ШИМ, вы сможете в наборах первого уровня Эвольвектор.
Широтно-импульсная модуляция — это… Что такое Широтно-импульсная модуляция?
Широтно-импульсная модуляция (ШИМ, англ. Pulse-width modulation (PWM)) — приближение желаемого сигнала (многоуровневого или непрерывного) к действительным бинарным сигналам (с двумя уровнями — вкл/выкл), так, что, в среднем, за некоторый отрезок времени, их значения равны. Формально, это можно записать так:
- ,
где x(t) — желаемый входной сигнал в пределе от t1 до t2, а ∆Ti — продолжительность i -го ШИМ импульса, каждого с амплитудой A. ∆Ti подбирается таким образом, что суммарные площади (энергии) обеих величин приблизительно равны за достаточно продолжительный промежуток времени, равны также и средние значения величин за период:
- .
Управляемыми «уровнями», как правило, являются параметры питания силовой установки, например, напряжение импульсных преобразователей /регуляторов постоянного напряжения/ или скорость электродвигателя. Для импульсных источников x(t) = Uconst стабилизации.
Основной причиной внедрения ШИМ является сложность обеспечения произвольным Напряжение_(электрическое). Есть некое базовое постоянное напряжение питания (в сети, от аккумуляторов и пр.) и на его основе нужно получить более низкое произвольное и уже им запитывать электродвигатели или иное оборудование. Самый простой вариант — делитель напряжения, но он обладает пониженным КПД, повышенным выделением тепла и расходом энергии. Другой вариант — транзисторная схема. Она позволяет регулировать напряжение без использования механики. Проблема в том, что транзисторы греются больше всего в полуоткрытом состоянии (50%). И если с таким КПД ещё «можно жить», то выделение тепла, особенно в промышленных масштабах сводит всю идею на нет. Именно поэтому было решено использовать транзисторную схему, но только в пограничных состояниях (вкл/выкл), а полученный выход сглаживать LC-цепочкой (фильтром) при необходимости. Такой подход весьма энергоэффективен. ШИМ широко применяется повсеместно. Если вы читаете эту статью на LCD-мониторе (телефоне/КПК/… с LCD-подсветкой), то яркость подсветки регулируется ШИМ. На старых мониторах можно убавить яркость и услышать как ШИМ начинает пищать (очень тихий писк частотой в несколько килогерц). Так же «пищат» плавно мигающие LED-лампочки, например, в ноутбуках. Очень хорошо слышно пищание ШИМ по ночам в тишине.
В качестве ШИМ можно использовать даже COM-порт. Т.к. 0 передаётся как 0 0000 0000 1 (8 бит данных + старт/стоп), а 255 как 0 1111 1111 1, то диапазон выходных напряжений — 10-90% с шагом в 10%.
ШИП — широтно-импульсный преобразователь, генерирующий ШИМ-сигнал по заданному значению управляющего напряжения. Основное достоинство ШИП — высокий КПД его усилителей мощности, который достигается за счёт использования их исключительно в ключевом режиме. Это значительно уменьшает выделение мощности на силовом преобразователе (СП).
Применение
ШИМ использует транзисторы (могут быть и др. элементы) не в линейном, а в ключевом режиме, то есть транзистор всё время или разомкнут (выключен), или замкнут (находится в состоянии насыщения). В первом случае транзистор имеет почти бесконечное сопротивление, поэтому ток в цепи почти не течёт, и, хотя всё напряжение питания падает на транзисторе, то есть КПД=0 %, в абсолютном выражении выделяемая на транзисторе мощность равна нулю. Во втором случае сопротивление транзистора крайне мало, и, следовательно, падение напряжения на нём близко к нулю — выделяемая мощность так же мала.
1.
2.
Принцип работы ШИМ
ШИМ есть импульсный сигнал постоянной частоты и переменной скважности, то есть отношения периода следования импульса к его длительности. С помощью задания скважности (длительности импульсов) можно менять среднее напряжение на выходе ШИМ.
Генерируется аналоговым компаратором, на отрицательный вход которого подаётся опорный сигнал в виде «пилы» или «треугольника», а на положительный — собственно сам модулируемый непрерывный аналоговый сигнал. Частота импульсов соответствует частоте «зубьев» пилы. Ту часть периода, когда входной сигнал выше опорного, на выходе получается единица, ниже — нуль.
В цифровой технике, выходы которой могут принимать только одно из двух значений, приближение желаемого среднего уровня выхода при помощи ШИМ является совершенно естественным. Схема настолько же проста: пилообразный сигнал генерируется N-битным счётчиком. Цифровые устройства (ЦШИП) работают на фиксированной частоте, обычно намного превышающей реакцию управляемых установок (передискретизация). В периоды между фронтами тактовых импульсов, выход ЦШИП остаётся стабильным, на нём действует либо низкий уровень либо высокий, в зависимости от выхода цифрового компаратора, сравнивающего значение счётчика с уровнем приближаемого цифрового сигнала V(n). Выход за много тактов можно трактовать как череду импульсов с двумя возможными значениями 0 и 1, сменяющими друг-друга каждый такт Т. Частота появления единичных импульсов получается пропорциональной уровню приближаемого сигнала ~V(n). Единицы, следующие одна за другой, формируют контур одного, более широкого импульса. Длительности полученных импульсов переменной ширины ~V(n), кратны периоду тактирования T, а частота равна 1/(T*2N). Низкая частота означает длительные, относительно T, периоды постоянства сигнала одного уровня, что даёт невысокую равномерность распределения импульсов.
Описанная цифровая схема генерации подпадает под определение однобитной (двухуровневой) импульсно-кодовой модуляции (ИКМ). 1-битную ИКМ можно рассматривать в терминах ШИМ как серию импульсов частотой 1/T и шириной 0 либо T. Добиться усреднения за менее короткий промежуток времени позволяет имеющаяся передискретизация. Высоким качеством обладает такая разновидность однобитной ИКМ, как импульсно-плотностная модуляция (pulse density modulation), которая ещё именуется импульсно-частотной модуляцией.
Восстанавливается непрерывный аналоговый сигнал арифметическим усреднением импульсов за много периодов при помощи простейшего фильтра низких частот. Хотя обычно даже этого не требуется, так как электромеханические составляющие привода обладают индуктивностью, а объект управления (ОУ) — инерцией, импульсы с выхода ШИП сглаживаются и ОУ, при достаточной частоте ШИМ-сигнала, ведёт себя как при управлении обычным аналоговым сигналом.
См. также
- Векторная модуляция — векторная широтно-импульсная модуляция, используемая в силовой электронике.
- SACD — формат аудиодисков, использующий широтно-импульсную модуляцию звукового сигнала.
Ссылки
Широтно-импульсная модуляция (ШИМ). Создаем робота-андроида своими руками [litres]
Широтно-импульсная модуляция (ШИМ)
Мостовая схема обеспечивает включение-выключение двигателя постоянного тока и управляет направлением его вращения. К этим функциям может быть добавлена функция управления частотой вращения двигателя с использованием широтно-импульсной модуляции (ШИМ). Форма ШИМ сигнала приведена на рис. 4.18. Высокий уровень сигнала ШИМ соответствует включению двигателя, низкий уровень его выключает. Поскольку частота импульсов ШИМ очень велика, то напряжение на двигателе может быть определено как среднее значение длины импульса к периоду следования (скважность импульса). Чем больше длина импульса, тем больше среднее напряжение. Среднее напряжение лежит в пределах от нуля до напряжения питания, и, таким образом, ШИМ эффективно управляет скоростью вращения двигателя.
Рис. 4.18. Широтно-импульсная модуляция (ШИМ) для управления мостовой схемой
Двигатель является индуктивной нагрузкой. В моменты включения/выключения возникающее переходное напряжение, генерируемое обмотками двигателя, может повредить полупроводниковые части моста. Для гашения этого напряжения используются защитные диоды, включенные параллельно транзисторам, как показано на рис. 4.19.
Рис. 4.19. Транзисторная мостовая схема с защитными диодами
Защитный диод гасит обратное переходное напряжение на землю, что эффективно защищает переход транзистора, к которому подключен диод. Защитные диоды должны быть рассчитаны на нормальный ток, потребляемый двигателем.
Данный текст является ознакомительным фрагментом.
Читать книгу целиком
Поделитесь на страничке
Широтно-импульсная модуляция — Википедия. Что такое Широтно-импульсная модуляция
График, иллюстрирующий применение трёхуровневой ШИМ для управления электродвигателем, которая используется в приводах асинхронных электродвигателей с переменной частотой. Напряжение от ШИ-модулятора, подаваемое на обмотку машины изображено синим (V). Магнитный поток в статоре машины показан красным (B). Здесь магнитный поток имеет приблизительно синусоидальную форму, благодаря соответствующему закону ШИМ.
Широтно-импульсная модуляция (ШИМ, англ. pulse-width modulation (PWM)) — процесс управления мощностью, подводимой к нагрузке, путём изменения скважности импульсов, при постоянной частоте. Различают аналоговую ШИМ и цифровую ШИМ, двоичную (двухуровневую) ШИМ и троичную (трёхуровневую) ШИМ[1].
Причины распространения ШИМ
Основной причиной применения ШИМ является стремление к повышению КПД при построении вторичных источников питания электронной аппаратуры и в других узлах, например, ШИМ используется для регулировки яркости подсветки LCD-мониторов и дисплеев в телефонах, КПК и т.п..
Тепловая мощность, выделяемая на ключе при ШИМ
В ШИМ в качестве ключевых элементов использует транзисторы (могут быть применены и др. полупроводниковые приборы) не в линейном, а в ключевом режиме, то есть транзистор всё время или разомкнут (выключен), или замкнут (находится в состоянии насыщения). В первом случае транзистор имеет почти бесконечное сопротивление, поэтому ток в цепи весьма мал, и, хотя всё напряжение питания падает на транзисторе, выделяемая на транзисторе мощность практически равна нулю. Во втором случае сопротивление транзистора крайне мало, и, следовательно, падение напряжения на нём близко к нулю — выделяемая мощность также мала. В переходных состояниях (переход ключа из проводящего состояния в непроводящее и обратно) мощность, выделяемая в ключе, значительна, но так как длительность переходных состояний крайне мала, по отношению к периоду модуляции, то средняя мощность потерь на переключение оказывается незначительной.
1. Rtr→∞↔P=U2R→0{\displaystyle R_{tr}\rightarrow \infty \leftrightarrow P={{\frac {{U}^{2}}{R}}\rightarrow 0}}
2. Rtr→0↔P=I2R→0{\displaystyle R_{tr}\rightarrow 0\leftrightarrow P={I}^{2}R\rightarrow 0}
Принцип работы ШИМ
Аналоговая ШИМ
Один из методов двухуровневой ШИМ с помощью аналогового компаратора. На один из входов компаратора подаётся пилообразное напряжение от вспомогательного генератора, на другой вход — модулирующее напряжение. Состояние выхода компаратора — ШИ-модуляция. На рис.: сверху — пилообразный сигнал и модулирующее напряжение, снизу — результат ШИМ.
ШИМ-сигнал генерируется аналоговым компаратором, на один вход (по рисунку — на инвертирующий вход компаратора) которого подаётся вспомогательный опорный пилообразный или треугольный сигнал, значительно большей частоты, чем частота модулирующего сигнала, а на другой — модулирующий непрерывный аналоговый сигнал. Частота повторения выходных импульсов ШИМ равна частоте пилообразного или треугольного напряжения. В ту часть периода пилообразного напряжения, когда сигнал на инвертирующем входе компаратора выше сигнала на неинвертирующем входе, куда подается модулирующий сигнал, на выходе получается отрицательное напряжение, в другой части периода, когда сигнал на инвертирующем входе компаратора ниже сигнала на неинвертирующем входе — будет положительное напряжение[2].
Аналоговая ШИМ реализуется с помощью компаратора, на один вход которого подаются треугольный или пилообразный периодический сигнал со вспомогательного генератора, а на другой — модулирующий сигнал. На выходе компаратора образуются периодические прямоугольные импульсы с переменной шириной, скважность которых изменяется по закону модулирующего сигнала, а частота равна частоте треугольного или пилообразного сигнала и обычно постоянна.
Аналоговая ШИМ применяется в усилителях низкой частоты класса «D».
Цифровая ШИМ
В двоичной цифровой технике, выходы в которой могут принимать только одно из двух значений, приближение желаемого среднего уровня выхода при помощи ШИМ является совершенно естественным. Схема настолько же проста: пилообразный сигнал генерируется N-битным счётчиком. Цифровые устройства (ЦШИП) работают на фиксированной частоте, обычно намного превышающей реакцию управляемых установок (передискретизация). В периоды между фронтами тактовых импульсов выход ЦШИП остаётся стабильным, на нём действует либо низкий уровень, либо высокий, в зависимости от выхода цифрового компаратора, сравнивающего значение счётчика с уровнем приближаемого цифрового сигнала V(n). Выход за много тактов можно трактовать как череду импульсов с двумя возможными значениями 0 и 1, сменяющими друг друга каждый такт T. Частота появления единичных импульсов получается пропорциональной уровню приближаемого сигнала ~V(n). Единицы, следующие одна за другой, формируют контур одного, более широкого импульса. Длительности полученных импульсов переменной ширины ~V(n) кратны периоду тактирования T, а частота равна 1/(T*2N). Низкая частота означает длительные, относительно T, периоды постоянства сигнала одного уровня, что даёт невысокую равномерность распределения импульсов.
Описанная цифровая схема генерации подпадает под определение однобитной (двухуровневой) импульсно-кодовой модуляции (ИКМ). 1-битную ИКМ можно рассматривать в терминах ШИМ как серию импульсов частотой 1/T и шириной 0 либо T. Добиться усреднения за менее короткий промежуток времени позволяет имеющаяся передискретизация. Высоким качеством обладает такая разновидность однобитной ИКМ, как импульсно-плотностная модуляция (англ.)русск., которая ещё именуется импульсно-частотной модуляцией.
Восстанавливается непрерывный аналоговый сигнал арифметическим усреднением импульсов за много периодов при помощи простейшего фильтра низких частот. Хотя обычно даже этого не требуется, так как электромеханические составляющие привода обладают индуктивностью, а объект управления (ОУ) — инерцией, импульсы с выхода ШИМ сглаживаются и ОУ, при достаточной частоте ШИМ-сигнала, ведёт себя как при управлении обычным аналоговым сигналом.
В цифровой ШИМ период делится на части, которые заполняются прямоугольными подымпульсами. Средняя величина за период зависит от количества прямоугольных подымпульсов.
Цифровая ШИМ — приближение бинарного сигнала (с двумя уровнями — вкл/выкл) к многоуровневому или непрерывному сигналу так, чтобы их средние значения за период времени t2−t1{\displaystyle t_{2}-t_{1}} были бы приблизительно равны.
Формально это можно записать так:
- ∫t1t2x(t)dtt2−t1=∑i=1nA∗ΔTit2−t1,{\displaystyle {\int _{t_{1}}^{t_{2}}{x(t)\,dt} \over {t_{2}-t_{1}}}={\sum _{i=1}^{n}{A*\Delta T_{i}} \over {t_{2}-t_{1}}},}
где x(t){\displaystyle x(t)} — входной сигнал в пределах от t1 до t2, а
ΔTi=t2−t1n{\displaystyle \Delta T_{i}={\frac {t_{2}-t_{1}}{n}}} — продолжительность i -го ШИМ подымпульса, каждого с амплитудой A. n выбирается таким образом, чтобы за период разность суммарных площадей (энергий) обеих величин была меньше допустимой:
- ∫t1t2x(t)dt−∑i=1nA∗ΔTi<E{\displaystyle \int _{t_{1}}^{t_{2}}{x(t)\,dt}-\sum _{i=1}^{n}{A*\Delta T_{i}}<E}.
Управляемыми «уровнями», как правило, являются параметры питания силовой установки, например, напряжение импульсных преобразователей /регуляторов постоянного напряжения/ или скорость электродвигателя. Для импульсных источников x(t) = Uconst стабилизации.
В цифровой ШИМ прямоугольные подымпульсы, заполняющие период, могут стоять в любом месте периода, на среднюю величину за период влияет только их количество. Например, при разбиении периода на 8 частей последовательности 11110000
, 11101000
, 11100100
, 11100010
, 11100001
и др. дают одинаковую среднюю за период величину, но отдельно стоящие «1» ухудшают режим работы ключа (транзистора).
В качестве ШИМ можно использовать даже COM-порт. Так как 0 передаётся как 0 0000 0000 1
(8 бит данных + старт/стоп), а 255 как 0 1111 1111 1
, то диапазон выходных напряжений — 10-90 % с шагом в 10 %.
См. также
Примечания
Ссылки
7. Широтно-импульсная модуляция — документация MicroPython 1.13
Широтно-импульсная модуляция (ШИМ) — это способ получить искусственный аналоговый выход на
цифровой контакт. Это достигается за счет быстрого переключения штифта с низкого на высокий.
С этим связаны два параметра: частота переключения,
и рабочий цикл. Рабочий цикл определяется как долго штифт находится в высоком положении.
по сравнению с продолжительностью одного периода (низкий плюс высокий период). Максимум
рабочий цикл — это когда штифт все время находится в высоком состоянии, а минимальный — когда он
все время низкий.
На ESP8266 контакты 0, 2, 4, 5, 12, 13, 14 и 15 поддерживают ШИМ. В
ограничение в том, что все они должны быть на одной и той же частоте, а частота
должно быть от 1 Гц до 1 кГц.
Чтобы использовать ШИМ на выводе, вы должны сначала создать объект вывода, например:
>>> импортная машина >>> p12 = machine.Pin (12)
Затем создайте объект PWM, используя:
>>> pwm12 = machine.PWM (p12)
Вы можете установить частоту и рабочий цикл, используя:
>>> pwm12.freq (500) >>> pwm12.duty (512)
Обратите внимание, что рабочий цикл находится в диапазоне от 0 (все выключено) до 1023 (все включено), с 512
будучи 50% -ной пошлиной. Значения, превышающие это минимальное / максимальное значение, будут обрезаны. если ты
распечатайте объект PWM, тогда он сообщит вам его текущую конфигурацию:
>>> pwm12 ШИМ (12, частота = 500, нагрузка = 512)
Вы также можете вызывать методы freq ()
и duty ()
без аргументов для
получить их текущие значения.
Вывод будет продолжать находиться в режиме ШИМ, пока вы не деинициализируете его, используя:
7.1. Затухание светодиода
Давайте воспользуемся функцией ШИМ, чтобы затемнить светодиод. Предполагая, что на вашей плате есть светодиод
подключенный к контакту 2 (модули ESP-12 делают), мы можем создать объект LED-PWM, используя:
>>> led = machine.PWM (machine.Pin (2), freq = 1000)
Обратите внимание, что мы можем установить частоту в конструкторе PWM.
В следующей части мы будем использовать время и математику, поэтому импортируйте эти модули:
Затем создайте функцию для импульса светодиода:
>>> импульс по умолчанию (l, t): ... для i в диапазоне (20): ... l.duty (int (math.sin (i / 10 * math.pi) * 500 + 500)) ... time.sleep_ms (t)
Вы можете опробовать эту функцию, используя:
Для приятного эффекта можно пульсировать несколько раз подряд:
>>> для i в диапазоне (10): ... импульсный (светодиод, 20)
Помните, что вы можете использовать ctrl-C для прерывания кода.
7.2. Управляйте сервоприводом для хобби
Серводвигателями
Hobby можно управлять с помощью ШИМ. Они требуют частоты
50 Гц, а затем коэффициент заполнения от 40 до 115, при этом 77 является центральным значением.Если вы подключите сервопривод к контактам питания и заземления, а затем к сигнальной линии
к контакту 12 (другие контакты также будут работать), вы можете управлять двигателем, используя:
>>> servo = machine.PWM (machine.Pin (12), freq = 50) >>> servo.duty (40) >>> servo.duty (115) >>> servo.duty (77)
.
Широтно-импульсная модуляция (ШИМ) — Справка разработчика
Переключить навигацию
- Инструменты разработки
- Какие инструменты мне нужны?
- Программные средства
- Начни здесь
- MPLAB® X IDE
- Начни здесь
- Установка
- Введение в среду разработки MPLAB X
- Переход на MPLAB X IDE
- Переход с MPLAB IDE v8
- Переход с Atmel Studio
- Конфигурация
- Плагины
- Пользовательский интерфейс
- Проектов
- файлов
- Редактор
- Редактор
- Интерфейс и ярлыки
- Основные задачи
- Внешний вид
- Динамическая обратная связь
- Навигация
- Поиск, замена и рефакторинг
- Инструменты повышения производительности
- Инструменты повышения производительности
- Автоматическое форматирование кода
- Список задач
- Сравнение файлов (разница)
- Создать документацию
- Управление окнами
- Сочетания клавиш
- Отладка
- Контроль версий
- Автоматизация
- Язык управления стимулами (SCL)
- Отладчик командной строки (MDB)
- Создание сценариев IDE с помощью Groovy
- Поиск и устранение неисправностей
- Работа вне MPLAB X IDE
- Прочие ресурсы
- Улучшенная версия MPLAB Xpress
- MPLAB Xpress
- MPLAB IPE
- Программирование на C
- Компиляторы MPLAB® XC
- Начни здесь
- Компилятор MPLAB® XC8
- Компилятор MPLAB XC16
- Компилятор MPLAB XC32
- Компилятор MPLAB XC32 ++
- MPLAB
Охват кода
- Компилятор IAR C / C ++
- Конфигуратор кода MPLAB (MCC)
- Гармония MPLAB v2
- Гармония MPLAB v3
- среда разработки Atmel® Studio
- Atmel START (ASF4)
- Advanced Software Framework v3 (ASF3)
- Начни здесь
- ASF3 Учебники
- ASF Audio Sine Tone Учебное пособие
- Интерфейс ЖК-дисплея с SAM L22 MCU Учебное пособие
- Блоки устройств MPLAB® для Simulink®
- Утилиты
- FPGA
- Аналоговый симулятор MPLAB® Mindi ™
Инструменты проектирования
- Аппаратные средства
- Начни здесь
- Сравнение аппаратных средств
- Средства отладки и память устройства
- Исполнительный отладчик
- Демо-платы и стартовые наборы
- Внутрисхемный эмулятор MPLAB® REAL ICE ™
- Эмулятор SAM-ICE JTAG
- Atmel® ICE
- Power Debugger
- Внутрисхемный отладчик MPLAB® ICD 3
- Внутрисхемный отладчик MPLAB® ICD 4
- PICkit ™ 3
- Внутрисхемный отладчик MPLAB® PICkit ™ 4
- MPLAB® Snap
- MPLAB PM3 Универсальный программатор устройств
- Принадлежности
- Заголовки эмуляции и пакеты расширения эмуляции
- Пакеты расширения процессора и отладочные заголовки
- Начни здесь
- PEP и отладочных заголовков
- Требуемый список заголовков отладки
- Таблица обязательных отладочных заголовков
- AC162050, AC162058
- AC162052, AC162055, AC162056, AC162057
- AC162053, AC162054
- AC162059, AC162070, AC162096
- AC162060
- AC162061
- AC162066
- AC162083
- AC244023, AC244024
- AC244028
- AC244045
- AC244051, AC244052, AC244061
- AC244062
- Необязательный список заголовков отладки
- Список необязательных отладочных заголовков — устройства PIC12 / 16
- Необязательный список заголовков отладки — устройства PIC18
- Дополнительный список заголовков отладки — Устройства PIC24
- Целевые следы заголовка отладки
- Отладочные подключения заголовков
Обзор
- SEGGER J-Link
- K2L Сетевые инструментальные решения
- Рекомендации по проектированию средств разработки
- Ограничения отладки — микроконтроллеры PIC
- Инженерно-технические примечания (ETN) [[li]] Встраиваемые платформы chipKIT ™
Внутрисхемный эмулятор
Внутрисхемный отладчик
- Проектов
- Начни здесь
- Преобразование мощности
- AN2039 Четырехканальный секвенсор питания PIC16F1XXX
- 8-битные микроконтроллеры PIC®
- 8-битные микроконтроллеры AVR®
- 16-битные микроконтроллеры PIC®
- 32-битные микроконтроллеры SAM
- 32-разрядные микропроцессоры SAM
- Разработка приложений SAM MPU с MPLAB X IDE
- SAM MPU
Примеры пакетов программного обеспечения
- Запланировано дополнительное содержание…
- Продукты
- 8-битные микроконтроллеры PIC
- 8-битные микроконтроллеры AVR
- Начни здесь
- 8-битные периферийные устройства AVR®
- Осциллятор
- USART
- прерываний
- аналоговый компаратор и опорное напряжение
- Таймер / счетчики
- Внутренний датчик температуры
- Работа с низким энергопотреблением
- Сброс источников
- Начало работы с микроконтроллерами AVR®
- Использование микроконтроллеров AVR® с Atmel START
- Запланировано дополнительное содержание…
Структура 8-битного микроконтроллера AVR®
- 16-битные микроконтроллеры PIC и dsPIC DSC
- 32-битные микроконтроллеры
- Начни здесь
- Выбор 32-битного микроконтроллера
- микроконтроллеров PIC32M
- SAM MCU
- Различия между семействами ARM Cortex
- Семейные справочные страницы
- Доступ к регистрам SAM MCU в C
- SAM D21 Семейное обучение
- SAM D21 MCU Обзор
- SAM D21 Примеры кода Листинг
- Ядро процессора
- Обзор процессора
- Системный таймер (SysTick)
- Контроллер вложенных векторных прерываний (NVIC)
- Шина ввода-вывода (IOBUS)
- Блок управления системой (SCB)
- Микро-трассовый буфер (MTB)
- Периферийные устройства
- Система часов
- Универсальный контроллер тактовой частоты (GCLK)
- Системный контроллер (SYSCTRL)
- Высокоскоростной автобус (HPB)
- Память
- Мост AHB-APB
- Внешний контроллер прерываний (EIC)
- Блок обслуживания устройства (DSU)
- Менеджер питания (PM)
- Контроллер периферийного доступа (PAC)
- Контроллер прямого доступа к памяти (DMAC)
- Контроллер энергонезависимой памяти (NVMCTRL)
- Сторожевой таймер (WDT)
- Часы реального времени (RTC)
- Таймер / счетчик (TC)
- Цифро-аналоговый преобразователь (ЦАП)
- Аналоговый компаратор (переменного тока)
- Периферийный сенсорный контроллер (PTC)
- Система событий (EVSYS)
- Универсальная последовательная шина (USB)
- Последовательная связь (SERCOM SPI Master)
- Последовательная связь (SERCOM I²C Slave)
- Inter-IC (I²S ™)
Звуковой контроллер
- SAM C21 Семейное обучение
- SAM L10 Семейное обучение
.