PWM - широтно-импульсная модуляция

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

Описание алгоритма.
Блок PWM формирует на одном из двух выходов QU или QD дискретный сигнал, а также выводит длительность и период сформированного дискретного сигнала в виде аналоговых значений: для сигнала QU на выходы GUpls и GUprd, для сигнала QD на выходы GDpls и GDprd. Длительность и период импульсов на дискретных выходах Up и Down кратны циклу контроллера.
Выходные сигналы формируются на основании поступающего аналогового сигнала X (в автоматическом режиме) или на основании пользовательских управляющих дискретных сигналов Up и Down (в ручном режиме).
Автоматический режим работы.
В автоматическом режиме (AUTO=TRUE) входной сигнал X преобразуется в последовательность импульсов по правилам:
4. Определяется дискретный выход и формируются импульсы:
6. Параметры Lup и Ldown задают время дополнительного импульса для компенсации люфта исполнительного механизма. Учитываются при смене направления вывода импульса. Например, требуется закрыть исполнительный механизм после открытия, непосредственно закрытие займет 3000 мс, а люфт механизма 500 мс. При передаче на вход Ldown=500, общее время импульса с выхода QD составит 3500 мс. Если не учитывать время люфта, длительность импульса в 500 мс будет потрачена на люфт, а механизм закроется не полностью.
7. Дискретные входы Zup и Zdown предназначены для блокировки включения исполнительного механизма при достижении им крайнего положения: Zup=TRUE - не формируются импульсы с выхода QU (“больше”), при Zdown=TRUE не формируются импульсы с выхода QD (“меньше”). На эти входы могут передаваться дискретные сигналы с концевых выключателей исполнительных механизмов или сигналы, сформированные программной логикой.
|
Ручной режим работы.
При ручном режиме (AUTO=FALSE), управление исполнительным механизмом осуществляется с использованием входных дискретных сигналов Up и Down:
При переключении на ручной режим накопленное значение длительности импульса обнуляется не зависимо от состояния входа Zdt.
|
Использование совместно с функциональным блоком RIM.
Блок PWM обычно используется совместно с импульсным регулятором RIM, когда сигнал с выхода импульсного регулятора передается на вход X блока PWM. При этом на входы Cycle (блок RIM) и Tprd (блок PWM) должны передаваться одинаковые значения, так как длительность импульса определяется один раз за период, а блоки RIM и PWM должны работать синхронно (с одинаковым периодом).
![]() |
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.PWM(AUTO, X, Tmin, Tmps, Tprd, Lup, Ldown, Up, Down, Zup, Zdown, Zdt);
//чтение дискретного сигнала в направлении "больше"
QU := Block.QU;
//чтение периода сигнала и длительности импульса
GUprd := Block.GUprd;
GUpls := Block.GUpls;
//чтение дискретного сигнала в направлении "меньше"
QD := Block.QD;
//чтение периода сигнала и длительности импульса
GDprd := Block.GDprd;
GDpls := Block.GDpls;
|

