← Назад Третий урок: расширитель портов ввода-вывода

Далее →
Пятый урок: работа с ШИМ - управление звуковой пищалкой, проигрывание музыки

В данной статье приводится пример управления яркостью светодиода с помощью ШИМ-сигнала.

Содержание


ШИМ сигнал

На практике у нас часто возникает потребность в плавном управлении каким-либо процессом, например, регулировка яркости светодиода, скорость вращения двигателя, сервопривода и т.д.

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

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

Примеры ШИМ-сигналов

Примеры ШИМ-сигналов

На рисунке изображены несколько ШИМ сигналов с одинаковой амплитудой и частотой. Отличие только в их длине на высокой фазе, то есть в “заполнении” импульса положительным состоянием.

К примеру, если заполнение импульса равно 50%, то получим среднее напряжение равное 2,5В (третий сверху график).

Соответственно изменяя заполнение, мы можем изменять величину среднего напряжения, тем самым управляя яркостью светодиода, скоростью вращения двигателя и т.д.

Меняем заполнение - меняется и яркость светодиода

Меняем заполнение - меняется и яркость светодиода

Немаловажным параметром является частота следования импульсов. Данная частота должна соответствовать определенным требованиям, которые зависят от типа устройства, подлежащего управлению.

При управлении светодиодами одним из основных факторов является предотвращение мерцания.

Чем выше частота, тем менее заметно мерцание света, излучаемого светодиодами

Чем выше частота, тем менее заметно мерцание света, излучаемого светодиодами

Программная генерация ШИМ-сигнала


Для генерации ШИМ-сигнала пинами электронного конструктора RaCEBoards необходимо выполнить следующий алгоритм:

  1. Подключить соответствующую библиотеку для работы с ШИМ – pwmio, а также другие необходимые библиотеки**:**