Main Content

PWM Generator (Pulse Averaging)

Carrier-based PWM generator with pulse averaging

Since R2019b

  • PWM Generator (Pulse Averaging) block

Libraries:
Simscape / Electrical / Specialized Power Systems / Power Electronics / Power Electronics Control

Description

The PWM Generator (Pulse Averaging) block generates pulses, averaged over the sample time model, to use with these converter blocks when they have a switching function model selected:

  • Two-quadrant DC/DC Converter block

  • Full-Bridge Converter block

  • Two-Level Converter block

  • Three-Level NPC Converter block

To use an SPS interpolation technique or SPS switching function models, the SPS solver needs to know when a transition from high-to-low or low-to-high occurs within a sample time. The PWM Generator (Pulse Averaging) block can provide the timing for these transitions.

With this pulse-averaging generator (and the SPS switching function converter models), a much higher sample time can be used for the SPS model while maintaining a high-fidelity simulation. Consequently, this generator serves as a virtual FPGA.

This figure illustrates the operation of the generator for a specified carrier frequency (Fc) of 2 KHz and a duty cycle (D) of 0.8. The model execution time (Ts) is 50 microseconds.

The generator outputs a pulse value using a naturally sampled, carrier-based modulation technique. If a transition occurs within a sample time, the generator will output a pulse value representing the time ratio (a value between 0 and 1) for the on state over the sample time. For example, at the sample time identified by the first blue arrow, the generator outputs a value of 0.25, which represents that the pulse entered on at 0.25*Ts seconds (it was on during 25% of the model execution time). The offset is represented by the red dashed area. Similarly, at the sample time identified by the second blue arrow, the generator outputs a value of 0.75, which represents that the pulse was on during 75% of the model execution time (it entered the off state 0.75*Ts seconds after the previous sample time).

Ports

Input

expand all

Reference voltage signal used to generate the output pulses, specified as a three-phase vector or a single-phase scalar. Connect this input to a single-phase sinusoidal signal to control a single-phase full-bridge converter, or to a three-phase sinusoidal signal to control a three-phase bridge converter. For linear operation of this block, the magnitude at Vref must be between −1 and +1

Dependencies

This port is visible only if Generator type is set to one of these values:

  • Full-bridge, single-phase

  • Two-level, three-phase

  • Three-level, three-phase

.

Data Types: double

Duty cycle of the PWM generator. The value must be between 0 and 1.

Dependencies

This port is visible only if Generator type is set to Two-quadrant.

Output

expand all

Output pulses, returned as a vector.

Data Types: double

Parameters

expand all

Type of generator to control. The number of pulses generated by the block is proportional to the number of bridge arms to fire.

  • Select Two-quadrant to fire the self-commutated devices of a two-quadrant converter. The duty cycle of the generator is specified by the input D, which determines the percentage of the pulse period that the pulse is on

  • Select Full-bridge, single-phase to fire the self-commutated devices of a single-phase full-bridge converter. Four pulses are then generated. Pulses 1 and 3 fire the upper devices of the first and second arm. Pulses 2 and 4 fire the lower devices

  • Select Two-level, three-phase (default) to fire the self-commutated devices of a three-phase bridge converter. Pulses 1, 3, and 5 fire the upper devices of the first, second, and third arms. Pulses 2, 4, and 6 fire the lower devices.

  • Select Three-level, three-phase to fire the self-commutated devices of a three-level three phase bridge. Pulses (1, 2), (5, 6), and (9, 10) fire the upper devices of the first, second, and third arms. Pulses (3, 4), (7, 8), and (11, 12) fire the lower devices of the three arms.

Frequency, in Hz, of the triangular carrier signal. The value must be greater than 0.

Carrier signal initial phase, in deg. A value of 90 degrees means that the triangle carrier initial position is set to midpoint between its minimum and maximum value and the slope is positive.

Sample time of the block, in s. The value must be positive and greater than 0.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2019b