Это старая версия документа!


Широтно- импульсная модуляция

Как мы уже узнали, мир вокруг аналоговый, то есть окружающие нас процессы изменяются плавно и непрерывно, а микроконтроллеры— цифровые. Оперируют только с логическим нулем и логической единицей, включено и выключено. Но что, если мы хотим плавно изменять яркость светодиода, подключенного к микроконтроллеру?

Одним из способов добиться аналоговых сигналов от цифровых устройств является использование широтно- импульсной модуляции, сокращенно ШИМ (англ. Pulse Width Modulation- PWM). Чтобы понять что это такое, представим, что у нас есть лодка с электрическим мотором, скорость которого не регулируется. Он либо включен на полную мощность, либо выключен. Но нам необходимо обеспечить плавную регулировку скорости лодки. Как это сделать?

Мы можем включить двигатель, и тогда лодка постепенно наберет максимальную скорость, или выключить двигатель, и тогда лодка так же постепенно остановится. Но для нормального управления нам надо научиться регулировать скорость плавно. Что если мы станем периодически включать и выключать двигатель с некоторой частотой, допустим, 1 раз в секунду. Тогда за счет инерционности лодки, ее ход станет плавным, будет обеспечена плавность движения. Для увеличения скорости движения лодки будем включать двигатель на более длительное время и, меньшее время двигатель будет выключен. А для уменьшения скорости лодки будем больше времени плыть по инерции с выключенным двигателем и включать его лишь на короткое время.

Таким же образом можно управлять реальным электромотором, светодиодом или другим исполнительным устройством.