ШИМ (Широтно-импульсная модуляция)
Статья из энциклопедии «Занимательной робототехники»
Что такое ШИМ (Широтно-Импульсная Модуляция, англ. Pulse Width Modulation или просто PWM)?
Этот вопрос может возникнуть, если вы новичок и знакомитесь с работой микроконтроллеров или изучаете курс "Arduino для начинающих" .
Микроконтроллеры обычно не могут выдавать произвольное напряжение. Они могут выдать либо напряжение питания (например, 5 В), либо землю (0 В).
Но уровнем напряжения управляется многое: например, яркость светодиода или скорость вращения мотора. Для симуляции неполного напряжения используется ШИМ (Широтно-Импульсная Модуляция, англ. Pulse Width Modulation или просто PWM).
Широтно-Импульсная модуляция( ШИМ) - это операция получения изменяющегося аналогового значения посредством цифровых устройств. Устройства используются для получения прямоугольных импульсов - сигнала, который постоянно переключается между максимальным и минимальным значениями. Данный сигнал моделирует напряжение между максимальным значением (5 В) и минимальным (0 В), изменяя при этом длительность времени включения 5 В относительно включения 0 В. Длительность включения максимального значения называется шириной импульса. Для получения различных аналоговых величин изменяется ширина импульса. При достаточно быстрой смене периодов включения-выключения можно подавать постоянный сигнал между 0 и 5 В на светодиод, тем самым управляя яркостью его свечения.
На графике зеленые линии отмечают постоянные временные периоды. Длительность периода обратно пропорциональна частоте ШИМ. Т.е. если частота ШИМ составляет 500 Гц, то зеленые линии будут отмечать интервалы длительностью в 2 миллисекунды каждый. Вызов функции analogWrite() с масштабом 0 – 255 означает, что значение analogWrite(255) будет соответствовать 100% рабочему циклу (постоянное включение 5 В), а значение analogWrite(127) – 50% рабочему циклу.
Для примера можно взять платформу и начать трясти ее взад и вперед. Для наших глаз данное движение превращает в светящиеся линии мигание светодиода. Наращивание или уменьшение ширины импульса на светодиоде будет увеличивать или уменьшать светящиеся линии светодиода. Теперь вы знаете что такое ширина импульса.
Для примера можно взять платформу и начать трясти ее взад и вперед. Для наших глаз данное движение превращает в светящиеся линии мигание светодиода. Наращивание или уменьшение ширины импульса на светодиоде будет увеличивать или уменьшать светящиеся линии светодиода. Теперь вы знаете что такое ширина импульса.
Категории: Общие понятия
Источники информации: http://arduino.ru/Tutorial/PWM