modelSignalPWM

Generates a pulse width modulated (PWM) boolean fire signal

Extends from Icons.Control (Control icon).

Information

This controller can be used both for DC/DC and AC/DC converters. The signal input of the PWM controller is the duty cycle; the duty cycle is the ratio of the on time to the switching period. The output firing signal is strictly determined by the actual duty cycle, indicated as d in Fig. 1.

Fig. 1: Firing (fire) and inverse firing (notFire) signal of PWM control; d = duty cycle; f = switching frequency

The firing signal is generated by comparing the sampled duty cycle input with a periodic saw tooth [Williams2006] or triangular signal (carrier).

Note

The user has the choice between two comparison modes:

commonComparison = true : The result of the comparison dutyCyle > carrier is fed to fire_p, the inverse signal to fire_n.

commonComparison = false: The result of the comparison dutyCyle > carrier is fed to fire_p, the result of the comparison (1 - dutyCyle) > carrier is fed to fire_n. (The result is the same for the comparison dutyCycle > (1 - carrier), i.e. a signal shifted by 180°.)

Parameters

TypeNameDefaultDescription
BooleanuseConstantDutyCycletrueEnables constant duty cycle
RealconstantDutyCycle0Constant duty cycle
SI.Frequencyf1000Switching frequency
SingleReferenceTyperefTypeModelica.Electrical.PowerConverters.Types.SingleReferenceType.SawtoothType of reference signal
BooleancommonComparisontrueCommon or separated comparison for fire_p and fire_n
SI.TimestartTime0Start time

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputdutyCycleDuty cycle
Modelica.Blocks.Interfaces.BooleanOutputfireFiring PWM signal
Modelica.Blocks.Interfaces.BooleanOutputnotFireFiring PWM signal

Components

TypeNameDefaultDescription
Modelica.Blocks.Sources.Constantconst
Modelica.Blocks.Nonlinear.Limiterlimiter
Modelica.Blocks.Discrete.ZeroOrderHoldzeroOrderHold
Modelica.Blocks.Sources.SawToothsawtooth
Modelica.Blocks.Sources.Trapezoidtriangle
Blocks.Logical.GreatergreaterEqual_p
Modelica.Blocks.Logical.Notinverse
Blocks.Math.Addadd
Blocks.Sources.ConstantconstOne
Blocks.Logical.GreatergreaterEqual_n