Pwm

ШИМ — это форма модуляции сигнала, которая позволяет цифровому выходу приближаться к аналоговому сигналу. Используйте это для вопросов об использовании контактов ШИМ (отмечены знаком ~).


Сигнал широтно-импульсной модуляции (ШИМ) представляет собой серию цифровых импульсов. Каждый импульс делает сигнал высоким (включенным) на короткий период, а затем он снова падает до низкого уровня (выключается) на короткий период перед следующим импульсом. Результат может называться прямоугольной или прямоугольной волной из-за его внешнего вида, если он представлен в виде графика зависимости напряжения от времени.

Есть два важных атрибута, которые описывают сигнал ШИМ. Во-первых, частота определяет, как часто случаются импульсы. Частота выражается в герцах (Гц), что представляет собой количество импульсов в секунду. Сигналы ШИМ, генерируемые Arduino, обычно имеют частоту 490 Гц (или 980 Гц в некоторых случаях).

Вторым атрибутом ШИМ-сигнала является рабочий цикл. Для удобочитаемости он часто выражается в процентах. Это определяет, как долго длится импульс по сравнению с интервалом между импульсами. Например, импульс может длиться 5 миллисекунд, после чего следует 15-миллисекундный интервал перед следующим импульсом. Это рабочий цикл 25%, потому что импульс высокий в течение четверти всего времени. Импульс длительностью 10 мс, за которым следует пауза в 10 мс, соответствует рабочему циклу 50 % и т. д.

ШИМ очень удобен для управления скоростью двигателя постоянного тока. Повышение или понижение рабочего цикла приведет к ускорению или замедлению двигателя. Обычный аналоговый подход к управлению двигателем вместо этого будет повышать или понижать напряжение, что может привести к снижению производительности.

Аналогично ШИМ-сигнал может эффективно управлять яркостью светодиода. Повышение и понижение коэффициента заполнения будет увеличивать и уменьшать видимую яркость света.

Самый распространенный способ создания ШИМ-сигнала на Arduino — использование analogWrite()функция. Частота фиксирована, но позволяет указать рабочий цикл в диапазоне от 0 до 255 (где 255 соответствует 100%).

Функция <code>tone()</code> также позволяет генерировать выходной сигнал ШИМ. Он имеет фиксированный рабочий цикл 50%, но позволяет указать частоту в Гц. В первую очередь он предназначен для воспроизведения простых звуков через динамик, но может использоваться и для других целей.

Вопросы, связанные с [pwm]: