ВВЕДЕНИЕ В ШИРОТНО-ИМПУЛЬСНУЮ МОДУЛЯЦИЮ


Барр Майкл
Перевод с английского: Горбунов Е.Ю.



Источник: Barr, Michael. "Pulse Width Modulation", Embedded Systems Programming, September 2001, pp. 103-104.
http://www.netrino.com/Embedded-Systems/How-To/PWM-Pulse-Width-Modulation



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

Аналоговая электроника

Аналоговый сигнал имеет непрерывно переменное значение, с бесконечной разрешающей способностью по времени и величине. Девятивольтовый аккумулятор - пример аналогового устройства, у которого выходное напряжение не точно 9 вольт (В) и изменяющееся во времени, и может принять любое реальное численное значение. Точно так же и полученное от аккумулятора количество тока не ограничено конечным множеством возможных значений. Аналоговые сигналы отличаются от дискретных сигналов тем, что последние всегда принимают значения конечного множества предопределенных возможностей, например как множество {0В, 5В}.

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

Столь интуитивное и простое, каким аналоговое управление может показаться, не всегда экономически привлекательно или практично. Во-первых, аналоговые схемы имеют дрейф, следовательно сложны в настройках. Точные аналоговые схемы, в которых эта проблема решена, могут быть очень большими, тяжелыми (вспомните старую домашнюю стереоаппаратуру), и дорогими. Аналоговые схемы также могут сильно греться; рассеиваемая мощность пропорциональна напряжению на активных элементах, умноженному на ток, проходящий через них. Аналоговая схема может также быть чувствительной к помехам. Поэтому, при бесконечном разрешении любое возмущение или помеха на аналоговом сигнале неизбежно приведут к искажению текущего значения сигнала.

Дискретное управление

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

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

Рисунок 1 показывает три различных сигнала ШИМ. Рисунок 1a показывает выход ШИМ с 10%-ой скважностью. Таким образом, сигнал имеет высокий уровень в течении 10 % от периода и низкий – в течении остальных 90 %. Рисунки 1b и 1c показывают выходы ШИМ с 50%-ой и 90%-ой скважностью, соответственно. Эти три выхода ШИМ кодируют три различных значения аналогового сигнала, в 10 %, 50 %, и 90 % полной силы. Если, например, взять приведенный выше аккумулятор на 9В, и сважность 10 %, то результатом будет 0.9 В аналогового сигнала.

Сигналы ШИМ разной скважности

Рисунок 1 – Сигналы ШИМ разной скважности

На рис. 2 показана простая схема, которой можно управлять используя ШИМ. На рисунке аккумулятор на 9 В питает лампу накаливания. Если замкнем ключ, соединяющий аккумулятор и лампу на 50 мс, то лампа получит 9 В в течении этого времени. Если разомкнем ключ в следующие 50 мс, то лампа получит 0 В. Если мы будим повторять этот цикл 10 раз в секунду, то лампа будет светиться так, если бы она была подключена к аккумулятору в 4.5 В (50 % из 9 В). Будем говорить, что скважность составляет 50 %, а частота модуляции составляет 10 Гц.

Простая схема ШИМ

Рисунок 2 – Простая схема ШИМ

Большинство нагрузок, являются индуктивными или емкостными, которые требуют намного большей частоты модуляции, чем 10 Гц. Представьте себе, что наша лампа была включена в течение пяти секунд, затем выключена в течение пяти секунд и т.д. Скважность при этом тоже будет 50 %, но лампа будет светиться только в течение первых пяти секунд и выключаться для следующих пяти. Для того чтобы лампа нормально восприняла напряжение в 4.5 B, период модуляции должен быть короче времени отклика нагрузки к изменениям в состояния переключателя. Для достижения желаемого эффекта, необходимо увеличить частоту модуляции. То же самое и в других приложениях ШИМ. Общие частоты модуляции колеблются от 1 кГц до 200 кГц.

Контроллеры ШИМ

Многие микроконтроллеры включают на микросхеме контроллеры ШИМ. Например, PIC16C67 компании Microchip включает в себя два, имеющих выбор по времени включения и периоду. Скважность - отношение времени включения к периоду; частота модуляции – обратная функция от периода. Для запуска ШИМ, спецификация предполагает, следующие программные настройки:

Хоть и для конкретных контроллеров ШИМ детали настройки изменяются в соответствии с их программируемыми деталями, основная идея, как правило, такая же.

Связь и управление

Одно из преимуществ ШИМ - то, что сигнал остается дискретным полностью от процессора до управляемой системы; никакие цифро-аналоговые преобразования не необходимы. Сохраняя дискретность сигнала, помехи минимизируются. Помеха может повлиять на цифровой сигнал только тогда, когда она достаточно сильна, чтобы изменить логическую 1 на логический 0, или наоборот.

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

ШИМ находит применение в различных системах. В качестве конкретного примера рассмотрим ШИМ-управляемый тормоз. Проще говоря, тормоз – устройство для жесткого зажатия чего-либо. Во многих тормозах сила зажимного давления (или тормозная способность) управляется сигналом с аналоговым входом. Чем больше напряжение или ток подано на тормоз, тем большее давление будет приложено на рабочем органе тормоза.

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

Чтобы установить давление на тормозах, например, в 100 фунтов на квадратный дюйм, программа должна детерминированно изменять скважность, что позволит произвести необходимое усилие. Это установит новое значение скважности ШИМ, и тормоз ответит соответственно. Если в системе есть датчик, скважность можно настроить на управление по принципу обратной связи, пока не будет достигнуто необходимое значение давления.

ШИМ это экономично, компактно и помехоустойчиво. И это теперь в вашем наборе хитрых приемов. Так используйте это.