Аналоги реле Phoenix Contact, Finder, Omron, ABB, Schneider

Удвоение частоты и разрешения ШИМ микроконтроллеров

Texas Instruments MSP430FR5969

Журнал РАДИОЛОЦМАН, июль 2017

Alperen Akkuncu

EDN

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

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

Подход заключается в использовании фильтра низких частот (ФНЧ), исключающего из ШИМ сигнала высокочастотные составляющие и выделяющего низкочастотную или постоянную составляющую, пропорциональную коэффициенту заполнения ШИМ. Однако ФНЧ не может полностью отфильтровать частоту ШИМ, и именно по этой причине выделяемая низкочастотная/постоянная составляющая будет содержать некоторые пульсации.

Существует два способа уменьшения пульсации ШИМ ЦАП. Можно понизить частоту среза ФНЧ или увеличить частоту ШИМ сигнала. Разумеется, понижение частоты среза ФНЧ приводит к увеличению времени нарастания (времени установления), а более высокая частота ШИМ сигнала, которая достигается уменьшением размерности счетчика при заданной тактовой частоте, приводит к ухудшению разрешения.

Я хочу поделиться интересной идеей, позволяющей снизить пульсации ШИМ ЦАП без использования описанных выше методов.

Оказывается, мы можем снизить пульсации ШИМ ЦАП, используя два сигнала ШИМ со сдвигом фаз 180° (Рисунок 1). Интуитивно понятно, что при разности фаз 180° между двумя синусоидальными сигналами одинаковой частоты эти сигналы компенсируют друг друга, поэтому мы могли бы ожидать, что гармоники двух ШИМ сигналов с фазовым сдвигом 180° будут взаимно подавлены. И это действительно так, однако, не для всех гармоник ШИМ сигналов. Одни гармоники подавляются, а другие – нет. Это связано с рядами Фурье и немного выходит за уровень сложности данной статьи, поэтому вдаваться в математические подробности мы не будем.

Удвоение частоты и разрешения ШИМ микроконтроллеров
Рисунок 1. Схема классического ШИМ ЦАП (а) и сдвоенного ШИМ ЦАП
с фазовым сдвигом (б).

Как реализовать фазовый сдвиг 180° между двумя ШИМ сигналами? Для примера мы использовали микроконтроллер Texas Instruments MSP430FR5969 на отладочной плате серии LaunchPad, но в целом подход носит общий характер. Для генерации двух сигналов ШИМ с фазовым сдвигом в МК потребуются два таймера. Один из них должен иметь два модуля Захвата-Сравнения-ШИМ (Compare-Сapture-PWM – CCP), а у второго должен быть один такой модуль.

В таймере, имеющем два модуля CCP, один из модулей используется для установки частоты ШИМ и коэффициента заполнения, а другой – для генерации сигнала прерывания, который запустит второй таймер с задержкой, равной половине периода ШИМ. Модуль CCP во втором таймере используется для генерации второго ШИМ сигнала с теми же значениями частоты и коэффициента заполнения. Кроме того, потребуется «очень точно» настроить задержку, ввиду того, что выполнение программы будет вносить дополнительный временной сдвиг между генерируемыми сигналами ШИМ. Например, в строке 102 исходного кода (см. проект в секции загрузок) автор изменил значение регистра сравнения с

(timer_period+1)/2

на

(timer_period+1)/2–27.

У микроконтроллеров других производителей также есть аналогичные аппаратные блоки, пригодные для реализации описываемого метода. Многие МК Atmel (Microchip) имеют более одного таймера, и обычно в каждом из них есть два модуля CCP (например, ATmega328). Еще один пример – МК STM32F051R8, установленный на некоторых популярных отладочных платах STMicroelectronics, – содержит 11 таймеров, многие из которых имеют более одного модуля CCP. Микроконтроллеры ARM компании Texas Instruments обычно имеют отдельные модули ШИМ и таймеров (например, TM4C123GH6PM), поэтому на них реализовать фазовый сдвиг несколько проще. Два модуля ШИМ можно запускать от одного таймера с задержкой, равной половине периода ШИМ.

В точке VOUT (Рисунок 1) сдвоенного ШИМ ЦАП два сигнала ШИМ суммируются, и некоторые гармоники компенсируют друг друга, в результате чего уровень выходных пульсаций снижается.

Рассмотрим три варианта, различающихся сопротивлениями резисторов (Рисунок 2). Во всех случаях используется сигнал ШИМ с частотой 100 кГц и коэффициентом заполнения 25%.

R = 20 кОм, C = 2 нФ R = 51 кОм, C = 2 нФ R = 300 кОм, C = нФ
Удвоение частоты и разрешения ШИМ микроконтроллеров
Рисунок 2. Верхние осциллограммы – обычный ШИМ. Нижние осциллограммы –
сигнал сдвоенного ШИМ со смещением фазы. Чувствительность
(В/дел) уменьшается слева направо: 100 мВ, 50 мВ, 5 мВ.

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

Как уже отмечалось, одним из преимуществ этого метода является снижение амплитуды пульсаций без увеличения времени нарастания сигнала (или такие же пульсации при вдвое меньшем времени нарастания).

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

Загрузки

Дополнительные материалы

Материалы по теме

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Double µC's PWM frequency & resolution

29 предложений от 12 поставщиков
MSP430 CPUXV2 MSP430TMFRAM Microcontroller IC 16-Bit 16MHz 64KB (64K x 8) FRAM 48-VQFN (7x7)
T-electron
Россия и страны СНГ
MSP430FR5969IRGZT
Texas Instruments
238 ₽
AiPCBA
Весь мир
MSP430FR5969IRGZT
Texas Instruments
324 ₽
ЧипСити
Россия
MSP430FR5969IRGZT
Texas Instruments
466 ₽
Элитан
Россия
MSP430FR5969IRGZ
Texas Instruments
561 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя