Найти в Дзене

PWM в микроконтроллерах AVR: принципы и реализация Что такое PWM

Широтно-импульсная модуляция (PWM, Pulse Width Modulation) — это метод цифрового управления, при котором выходной сигнал представляет собой прямоугольную волну с регулируемой длительностью высокого уровня (импульса). Изменяя длительность "вкл" по сравнению с "выкл", можно получить среднее напряжение, отличное от 0 В и Vcc. Такой способ активно используется для управления яркостью светодиодов, скоростью моторов, аналоговыми устройствами и звуком. В отличие от обычных цифровых импульсов с равным временем включения и выключения, в PWM соотношение между ними можно свободно регулировать. Скважность (duty cycle) — это отношение времени высокого уровня (Ton) ко времени полного периода (T). Выражается в процентах по формуле: Duty cycle (%) = (Ton / T) × 100 Примеры: Duty factor — это то же самое, что и скважность, но выражается в виде десятичной дроби (например, 0.5 вместо 50%). Микроконтроллеры AVR, включая ATmega8, имеют встроенные аппаратные модули для генерации PWM. Это позволяет CPU не за
Оглавление

Широтно-импульсная модуляция (PWM, Pulse Width Modulation) — это метод цифрового управления, при котором выходной сигнал представляет собой прямоугольную волну с регулируемой длительностью высокого уровня (импульса). Изменяя длительность "вкл" по сравнению с "выкл", можно получить среднее напряжение, отличное от 0 В и Vcc. Такой способ активно используется для управления яркостью светодиодов, скоростью моторов, аналоговыми устройствами и звуком.

В отличие от обычных цифровых импульсов с равным временем включения и выключения, в PWM соотношение между ними можно свободно регулировать.

Что такое скважность (duty cycle)

Скважность (duty cycle) — это отношение времени высокого уровня (Ton) ко времени полного периода (T). Выражается в процентах по формуле:

Duty cycle (%) = (Ton / T) × 100

Примеры:

  • 50% — сигнал половину времени включён, половину — выключен
  • 75% — сигнал дольше включён, среднее напряжение выше
  • 25% — сигнал меньше включён, среднее напряжение ниже

Duty factor — это то же самое, что и скважность, но выражается в виде десятичной дроби (например, 0.5 вместо 50%).

Верхний график показывает ШИМ-сигнал с равными интервалами "вкл/выкл" (скважность 50%).
Средний — увеличенную скважность (длительность импульса выше, среднее напряжение возрастает).
Нижний — уменьшенную скважность (импульс короче, среднее напряжение снижается).
Частота сигнала остаётся постоянной, меняется только отношение времени высокого уровня к периоду.
Верхний график показывает ШИМ-сигнал с равными интервалами "вкл/выкл" (скважность 50%). Средний — увеличенную скважность (длительность импульса выше, среднее напряжение возрастает). Нижний — уменьшенную скважность (импульс короче, среднее напряжение снижается). Частота сигнала остаётся постоянной, меняется только отношение времени высокого уровня к периоду.

Генерация PWM в AVR

Микроконтроллеры AVR, включая ATmega8, имеют встроенные аппаратные модули для генерации PWM. Это позволяет CPU не заниматься генерацией импульсов вручную, а просто задать параметры, после чего ШИМ-сигнал формируется автоматически.

В ATmega8 предусмотрено 3 канала PWM:

  • Timer/Counter1 (16 бит) — 2 канала PWM
  • Timer/Counter2 (8 бит) — 1 канал PWM (наиболее простой)

Режимы работы PWM в AVR

1. Fast PWM

Генерация прямоугольных импульсов с высокой частотой. Подходит для управления яркостью светодиодов, генерации звуков, моторов. Быстрое обновление скважности.

2. Phase Correct PWM

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

3. Phase and Frequency Corrected PWM

Используется только с таймером 1. Даёт возможность точного управления частотой и фазой.

Для каждого режима можно выбрать:

  • Inverted mode — высокий уровень большую часть времени
  • Non-inverted mode — низкий уровень большую часть времени (чаще используется)

Пример работы PWM

Если с выхода таймера подать ШИМ-сигнал на базу транзистора, то транзистор будет попеременно находиться в насыщении и отсечке. Если скважность 50% — среднее напряжение на нагрузке будет примерно половиной от питания. Увеличение скважности даст рост напряжения, уменьшение — его снижение.

Заключение

PWM — это ключевой инструмент в арсенале разработчика на AVR. Он позволяет точно и гибко управлять аналоговыми нагрузками при помощи цифровых сигналов. Аппаратная поддержка PWM в AVR делает реализацию простой, надёжной и ресурсоэффективной. Доступные режимы (Fast, Phase Correct, Frequency Correct) позволяют подобрать подходящий вариант под любую задачу: от управления светом до генерации точных сигналов.

Обеспечьте себе и своим близким комфорт и безопасность, посетите наш интернет-магазин измерительного оборудования pribor-x.ru! Наши специалисты всегда готовы помочь вам с выбором и ответить на все ваши вопросы.

Свяжитесь с нами по почте sales@pribor-x.ru или по телефону 8-800-777-24-67.