Л9_ШИМ.ppt
- Количество слайдов: 13
Использование встроенных ШИМ-генераторов и генераторов периодических сигналов для прямого цифрового управления силовыми преобразователями
Широтно-импульсные генераторы (ШИМ) предназначены для формирования выходных сигналов с фиксированной, заданной пользователем несущей частотой и регулируемой скважностью. Число каналов ШИМ-генераторов и способы формирования выходных сигналов различны. Большинство ШИМ-генераторов, встроенных в микроконтроллеры обеспечивают фронтовую широтно-импульсную модуляцию, однако имеется группа микроконтроллеров для управления двигателями с интегрированными генераторами периодических сигналов, обеспечивающими более широкий спектр возможностей, в частности генерацию сигналов в режиме центрированной широтно-импульсной модуляции. Области применения ШИМ-генераторов чрезвычайно разнообразны - от прямого цифрового управления ключами силовых преобразователей для двигателей постоянного и переменного тока, до простых схем цифро-аналоговых преобразователей, требующих для своей работы минимального количества дополнительных внешних компонент
Классический ШИМ-генератор Устройство и принцип действия ШИМ-генератора Классический ШИМ-генератор является одним из наиболее часто используемых периферийных устройств и интегрируется в большинство микроконтроллеров. Рассмотрим особенности схемотехники ШИМ-генераторов на примере ШИМ-генераторов микроконтроллеров серии Motor Control 8 x. C 196 MC/MD/MH - рис.
ШИМ-генератор имеет два независимых канала, управляемых отдельными регистрами задания скважности выходных сигналов PWMx_CONTROL. Каждый канал содержит буферный регистр текущего задания скважности Bufferx, компаратор Comparatorx, RS-триггер RS Flip-flopx для формирования выходного сигнала PWMx Output, а также схему управления выходами ШИМ- генератора, позволяющую путем программирования регистра управления выходами WG_OUT использовать выводы P 6. 6 и P 6. 7 микроконтроллера либо как обычные битовые порты вывода, либо как выходы ШИМ-генератора PWM 0 и PWM 1, соответственно.
Общая для двух каналов часть схемы выделена фоном и состоит из регистра задания периода ШИМ PWM_PERIOD, вычитающего счетчика Down Counter и суммирующего счетчика Up Counter. Первые два устройства образуют программируемый делитель входной тактовой частоты процессора Internal Clock Signal с коэффициентом деления (PWM_PERIOD+1). Суммирующий счетчик является 8 -разрядным, изменяет свое состояние PWM_COUNT на единицу с каждым выходным импульсом делителя частоты и автоматически сбрасывается в ноль при переполнении (>255). Текущее состояние суммирующего счетчика может быть считано процессором из регистра специального назначения PWM_COUNT.
Выходы ШИМ-генератора так спроектированы, что обеспечивают прямое сопряжение с драйверами силовых ключей, в том числе с драйверами для управления современными биполярными транзисторами с изолированным затвором (IGBT).
Рассмотрим принцип действия ШИМ-генератора более подробно. Вычитающий счетчик Down Counter тактируется сигналом внутреннего тактового генератора процессора Internal Clock Signal (Fxtal 1/2) и уменьшает свое состояние на единицу с каждым входнымимпульсом. Как только состояние счетчика становится равным нулю, он автоматически перезагружается (строб Load) текущим содержимым регистра периода ШИМ PWM_PERIOD и счет начинается вновь с заданного максимального значения PWM_PERIOD. Таким образом, частота на выходе делителя частоты равна (Fxtal 1/2)/(PWM_PERIOD+1)). Выходной сигнал делителя поступает на суммирующий счетчик, формирующий цифровой опорный пилообразный сигнал ШИМ-генератора (рис. 11. 2) с частотой, рассчитываемой по формуле:
Записывая в регистр периода ШИМ PWM_PERIOD требуемое значение, пользователь может в широких пределах регулировать выходную частоту опорного пилообразного сигнала и, следовательно, выходную частоту ШИМгенератора, называемую несущей частотой. Чем меньше значение, загружаемое в регистр периода ШИМ, тем выше несущая частота ШИМ и тем больше дискретность в регулировании этой переменной - см. таблицу 1. Таблица 1. Варианты задания несущей частоты ШИМ при тактовой частоте микроконтроллера 16 МГц PWM PERIOD ООН 01 H 02 H ОЗН 04 H 05 Н 0 FH 5 FH EFH FPWM, [k. Hz] 31, 25 15, 62 10, 42 7, 81 6, 25 5, 21 1, 95 0, 326 0, 130 0, 122 В момент переполнения суммирующего счетчика ШИМ-генератора (Count>255) формируется сигнал установки RS-триггеров каналов и выходные сигналы PWMx Output одновременно принимают значение логической единицы. Вырабатывается строб Load Buffers перезагрузки буферных регистров задания скважностей каналов Buffersx и значения последних обновляются в соответствии с текущим содержимым регистров задания скважностей PWMx_CONTROL. Будем называть эту операцию аппаратной перезагрузкой скважностей, так как она производится автоматически в конце каждого периода опорного сигнала.
Итак, выходы ШИМ-генератора установлены в состояние логической единицы и суммирующий счетчик начинает инкрементироваться выходными импульсами делителя сначального значения 0 вплоть до значения 255. Как только текущее содержимое суммирующего счетчика сравняется с заданным в буферном регистре скважности одного из каналов Bufferx, вырабатывается сигнал сброса соответствующего RS-триггера и выходной сигнал PWMx Output принимает значение логического нуля (см. временную диаграмму на рис. 11. 2). Оба выходных сигнала имеют одну и ту же частоту, совпадающие передние фронты и скважность, заданную пользователем. Такой ШИМ-генератор обеспечивает двухканальную фронтовую широтно-импульсную модуляцию. Программной перезагрузкой периода ШИМ-генератора и скважностей будем называть запись в регистры PWM_PERIOD и PWMx_CONTROL новых значений со стороны процессора. Эта запись может выполняться асинхронно, то есть без привязки к текущему состоянию каналов ШИМ-генератора.
Вы можете в любой момент времени изменить период ШИМ сигналов или скважность по одному или обоим каналам. При этом изменения отображаются на выходе только со следующего периода ШИМ (эквивалентное запаздывание не превышает одного периода ШИМ). Если загрузить значение задания скважности равное нулю, то сразу после сброса счетчика компаратор идентифицирует совпадение и выходной сигнал примет значение логического нуля (скважность 0%). Форма выходных ШИМ-сигналов при различных заданиях скважности (Duty Cycle) и соответствующих им значениям в регистре PWMx_CONTROL приведена на рис. 11. 3
Как видно, управляя ШИМ-генератором исключительно по каналу задания скважности нельзя получить скважность 100%. Однако, если это действительно необходимо, можно перепрограммировать соответствующий вывод ШИМ-генератора в режим обычного однобитового порта вывода и установить его состояние равным 1 цель будет достигнута. При расчете скважности ШИМ пользуйтесь следующей формулой: Рекомендации по программированию ШИМ-генератора • Наиболее часто ШИМ-генераторы применяются для управления преобразователями напряжения для регулирования скорости двигателей постоянного тока, например, драйверами дисководов, приводами роботов, а также бесконтактными ключами, выполняющими коммутацию электрических цепей с заданной скважностью, например, для управлениявозбуждением электрических машин, для управления цепями рекуперации энергии при торможении, для управления электромагнитными тормозами и т. д.
• В этих применениях несущая частота ШИМ выбирается исходя из динамических свойств ключей и в процессе регулирования выходного напряжения, как правило, не изменяется. Регулирование выходного напряжения производится за счет изменения скважности ШИМ-сигнала, выполняемого соответствующими цифровыми регуляторами. В большинстве случаев это регуляторы скорости, которые непрерывно сравнивают сигналы задания и обратной связи и вырабатывают управляющее воздействие на преобразователь в виде задания скважности ШИМ. Регуляторы скорости работают с определенным интервалом квантования по времени, задаваемым процессором событий. Имея два канала ШИМ, можно реализовать независимое регулирование двух переменных. Для того, чтобы инициализировать и включить ШИМ-генератор, необходимо выполнить следующую последовательность действий: • Установить требуемый период ШИМ-сигналов, записав в регистр PWM_PERIOD предварительно рассчитанное значение. • Установить начальные скважности по каналам 0 и 1, записав соответствующие значения в регистры PWM 0_CONTROL и PWM 1_CONTROL.
• Сконфигурировать выводы P 6. 6 и P 6. 7 микроконтроллера в качестве выходов ШИМ-генератора • В том случае, если выводы P 6. 6 и P 6. 7 микроконтроллера необходимо использовать в качестве обычных однобитовых портов вывода, например, для задания скважности 100%, нужно снять сигналы разрешения PE 6 и PE 7 и дополнительно установить в регистре управления выходами WG_OUT требуемые выходные значения для однобитовых портов P 6. 6 и P 6. 7. • После инициализации ШИМ-генератор работает автономно и не требует для своей поддержки каких-либо ресурсов центрального процессора. • Изменение задания скважности по любому из каналов может выполняться как из фоновой программы, так и из процедуры обслуживания прерывания. Наиболее часто для этой цели используют прерывание от модуля сравнения процессора событий, что позволяет задать желаемую дискретность по времени для очередного изменения скважности.


