выход шим что это
Что такое ШИМ и как она используется в Arduino
Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.
Инструкция по использованию ШИМ в Arduino
1 Общие сведенияо широтно-импульсной модуляции
Цифровые выводы Arduino могут выдавать только два значения: логический 0 (LOW, низкий уровень) и логическую 1 (HIGH, высокий). На то они и цифровые. Но есть у Ардуино «особые» выводы, которые обозначаются PWM. Их иногда обозначают волнистой чертой «
» или обводят кружочками или ещё как-то выделяют среди прочих. PWM расшифровывается как Pulse-width modulation или широтно-импульсная модуляция, ШИМ.
Обозначение выходов с ШИМ на Arduino Leonardo
Если скважность равняется 100%, то всё время на цифровом выходе Arduino будет напряжение логическая «1» или 5 вольт. Если задать скважность 50%, то половину времени на выходе будет логическая «1», а половину – логический «0», и среднее напряжение будет равняться 2,5 вольтам. Ну и так далее.
Принцип работы широтно-импульсной модуляции (ШИМ)
В программе скважность задаётся не в процентах, а числом от 0 до 255. Например, команда analogWrite(10, 64) скажет микроконтроллеру подать на цифровой PWM выход №10 сигнал со скважностью 25%.
Выводы Arduino с функцией широтно-импульсной модуляции работают на частоте около 500 Гц. Значит, период следования импульсов – около 2 миллисекунд, что и отмеряют зелёные вертикальные штрихи на рисунке. Получается, что мы можем сымитировать аналоговый сигнал на цифровом выходе! Интересно, правда?!
2 Схема для демонстрации широтно-импульсной модуляции в Arduino
Схема для демонстрации ШИМ в Arduino
3 Пример скетча с ШИМ
Откроем из примеров скетч «Fade»: Файл Образцы 01.Basics Fade.
Открываем скетч для Arduino с использованием ШИМ
Немного изменим его и загрузим в память Arduino.
4 Управление яркостью светодиода с помощью PWM и Arduino
Включаем питание. Светодиод плавно наращивает яркость, а затем плавно уменьшает. Мы сымитировали аналоговый сигнал на цифровом выходе с помощью широтно-импульсной модуляции.
Управление яркостью светодиода – пример широтно-импульсной модуляции, используемой в Arduino
Посмотрите приложенные видео, где на экране осциллографа DSO138 наглядно показано изменение яркости светодиода, и как при этом меняется сигнал с Arduino.
ШИМ сигнал
Очень часто в робототехнике возникает необходимость плавно управлять каким-то процессом, будь то яркость светодиода, мощность обогревателя или скорость вращения моторчика. Вполне очевидно, что управление напрямую связано с изменением напряжения на потребителе: и светодиод будет по-другому светить, и моторчик крутиться с другой скоростью. Но проблема в том, что управлять напряжением может только такая штука, как ЦАП – цифро-аналоговый преобразователь, а в нашем микроконтроллере встроенного ЦАПа нет, у нас есть только цифровой сигнал, т.е. либо вкл, либо выкл: Можно ли добиться плавного управления цифровым сигналом? Оказывается можно! Представьте себе вентилятор, вращающийся на полной мощности, напряжение постоянно. Представим теперь, что секунду напряжение подаётся, и секунду – нет, и так продолжается “по кругу”. Вентилятор начнёт крутиться в два раза медленнее, но мы скорее всего будем замечать моменты включения и выключения, особенно если вентилятор маленький. Большой вентилятор более инертен и там можно даже не заметить изменений скорости в пределах двух секунд. Можно теперь включать напряжение на 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) |
Это весьма плачевные цифры, особенно по частоте. Все таймеры приведены под одну гребёнку, чтобы пользователь не думал не гадал и лишнюю документацию не изучал. К изменению частоты и разрядности ШИМ мы вернёмся в отдельном уроке, а пока что можете посмотреть данный урок в видео варианте.
Видео
Что такое ШИМ — широтно-импульсная модуляция
Модуляция – нелинейный электрический процесс, при котором параметры одного сигнала (несущего) изменяются при помощи другого сигнала (модулирующего, информационного). В связной технике широко применяется частотная, амплитудная, фазовая модуляция. В силовой электронике и микропроцессорной технике распространение получила широтно-импульсная модуляция.
Что такое ШИМ (широтно-импульсная модуляция)
При широтно-импульсной модуляции исходного сигнала неизменными остаются амплитуда, частота и фаза исходного сигнала. Изменению под действием информационного сигнала подвергается длительность (ширина) прямоугольного импульса. В англоязычной технической литературе обозначается аббревиатурой 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 вольт
Что такое диодный мост, принцип его работы и схема подключения
Что такое триггер, для чего он нужен, их классификация и принцип работы
Широтно Импульсная Модуляция (ШИМ, PWM)
Все микропроцессоры работают с цифровыми сигналами, т.е. с логическим нулем (0 В), или логической единицей (5 В или 3.3 В). Поэтому микропроцессор не может сформировать на выходе промежуточное напряжение. Использование для этих целей внешних ЦАП (www.drive2.ru/b/2558751/) — сложно и задействует сразу много ножек микропроцессора, что неудобно. В этих случаях применяют Широтно-импульсную модуляцию (ШИМ, англ. pulse-width modulation (PWM)) — процесс управления мощностью, подводимой к нагрузке, путём изменения скважности импульсов, при постоянной частоте. Широтно-импульсная модуляция представляет собой периодический импульсный сигнал.
Существуют цифровые и аналоговые ШИМ. Принцип их работы остается одинаковым вне зависимости от исполнения и заключается в сравнении двух видов сигналов:
Uоп – опорное (пилообразное, треугольное) напряжение;
Uупр – входное постоянное напряжение.
Cигналы поступают на компаратор, где они сравниваются, а при их пересечении возникает / исчезает (или становится отрицательным) сигнал на выходе ШИМ.
Выходное напряжение Uвых ШИМ имеет вид импульсов, изменяя их длительность, мы регулируем среднее значение напряжения (Ud) на выходе ШИМ:
Однополярная модуляция означает, что происходит формирование импульсов только положительной величины и имеет место нулевое значение напряжения
Если сформированный таким образом сигнал подать на объект, обладающий фильтрующими свойствами, например, на двигатель постоянного тока или лампу накаливания, то объект будет использовать среднюю мощность сигнала.
Т.е. мощность, потребляемая объектом управления, пропорциональна скважности сигнала ШИМ, при условии, что период импульсов ШИМ на порядок меньше минимальной постоянной времени объекта.
ШИМ может быть встроенным выходом микропроцессора, может быть организована отдельно на выходе микропроцессора с обычным цифровым выходом.
Преимущество использования ШИМ — это легкость изменения величины напряжения при минимальных потерях.
Период тактирования T определяет через какие промежутки времени подаются импульсы.
Длительность импульса — величина показівающая время в течении которого подается сигнал t, с;
Скважность — Соотношение длины импульса (τ) к периоду тактирования (T); пропорционально модулирующей величине. Коэффициент заполнения обычно отображают в процентах (%).
Коэффициент заполнения D – величина обратная скважности.
Несмотря на то, что скважность и коэффициент заполнения могут использоваться в одинаковом контексте, физический смысл их отличается.
Эти величины безразмерны.
PS ШИМ может быть реализован не только при помощи микроконтроллеров, но и на аналоговой базе. Например, простейший ШИМ на основе мультивибратора из двух транзисторов:
Что такое ШИМ — максимально просто
Принцип ШИМ часто встречается в системе Умный Дом, поэтому объясню вкратце, что он собой представляет.
Расшифровывается как Широтно-Импульсная Модуляция. По-английски ШИМ — PWM. Но не надо вдумываться в эту расшифровку.
ШИМ — это принцип управления, который плавно регулирует результат работы того, что не умеет регулироваться плавно, а умеет только включаться и выключаться.
Например, светодиодная лента. Мы хотим иметь возможность регулировать яркость свечения ленты, но принцип работы светодиодов таков, что они либо светят на номинальную яркость, либо не светят вообще.
Но зато лента при подаче напряжения мгновенно загорается, а при пропадании мгновенно гаснет. Мы можем подать напряжение на ленту на короткое время, потом убрать, потом снова подать, потом снова убрать. И делать это очень быстро: подаём на 20 миллисекунд, затем убираем на 20 миллисекунд, затем снова подаём на 20 миллисекунд. Тогда глаз человека не будет замечать мерцание ленты, а будет видеть только, что лента светит ровно вдвое тусклее, чем постоянно включенная. То есть, мы получаем возможность регулировать яркость ленты, меняя промежуток времени, когда на неё подаётся питание. Попеременное включение на 30 миллисекунд и выключение на 10 миллисекунд будет соответствовать яркости ленты 75% от полной. А включение на 10 миллисекунд и выключение на 40 миллисекунд — 20% от полной яркости. То есть, мы регулируем яркость ленты шириной подаваемого импульса, отсюда и название. Правильнее, возможно, сказать не «шириной», а «длиной», или «временем», но принято говорить «шириной», так как её удобно видеть на графике.
Эти прямоугольники и есть импульсы, когда на нагрузку (ленту, в нашем примере) идёт напряжение.
Раз мы поняли, что такое ШИМ, введём удобное понятие скважность. Скважность — это как раз отношение времени, когда лента включена, ко времени всего периода. Период — это время включения+выключения. То есть, то, что я называл яркостью, говоря о ленте, на самом деле называется скважность. Как раз эти 10, 50 или 90%. Эта же цифра отражает среднее значение высоты (амплитуды) импульса на выходе.
Это и есть способ регулировки яркости светодиодных лент. Нужен ШИМ-диммер, на который подаётся напряжение питания ленты (12 или 24 вольта) и какое-то управление (0-10 вольт, TRIAC или ModBus), а он часто включает и выключает транзистор, подавая напряжение на ленту, меняя её яркость за счёт изменения ширины импульсов.
Ещё пример. Возьмём электрический тёплый пол с обычным термостатом.
Тёплый пол либо греет, когда на него приходит напряжение 230 вольт от термостата, либо не греет вообще, он не умеет «немножко греть». Мы выставляем на термостате температуру, скажем, 28 градусов, а в пол опускаем датчик температуры. Когда температура пола ниже заданной, термостат подаёт питания не пол, и пол греет. Температура достигла 28 градусов — термостат выключил нагрев. Температура пола упала — снова греет. И так далее. Человек не чувствует при этом, что пол становится то холоднее, то теплее, для человека он ровно заданной температуры, но есть колебания температуры в пару градусов. Вот такой получается график:
Если мы зимой откроем окно, пол после выключения будет почти сразу остывать и снова включаться, тогда длительность нагрева станет выше длительности охлаждения. И чем больше мощность самого пола, тем быстрее он будет нагреваться до нужной температуры.
То есть, тут принцип управления — тот же ШИМ. Но, в отличие от светодиодной ленты, длительность периода составляет не 1 секунду, а несколько десяткой минут. Система тёплого пола инертная, то есть, долго сохраняет тепло после отключения нагрева. А светодиодная лента не инертная, так как сразу перестаёт светить.
Система Умный Дом работает как термостат — подаёт и убирает питание с греющего кабеля, ориентируясь по температуре датчика пола.
Аналогично осуществляется управление радиаторами или водяным тёплым полом — установка на радиатор или на коллектор приводов.
Приводы точно так же открываются и закрываются. За счёт инертности системы колебания температуры воздуха в помещении незаметны человеку, за редкими случаями, в которых лучше использовать приводы с плавной регулировкой сигналом 0-10 вольт (это уже будет не ШИМ).
В ШИМ вариантов сигнала только два — включено или выключено. А соотношением интервалов определяется среднее значение.
Что ещё в доме управляется по принципу ШИМ? Кондиционеры неинверторного типа, которые либо дуют холодом, либо не дуют (очень неприятная штука, покупайте только инверторные), холодильники, которые либо холодят (и тарахтят при этом), либо не холодят, СВЧ печки, которые в зависимости от заданной мощности периодами греют, а периодами не греют.
281,936 просмотров всего, 176 просмотров сегодня