Three Phase ANPC Inverter

Description of the Three Phase ANPC Inverter component in Schematic Editor

A schematic block diagram of the inverter switching block is given in Figure 1 with corresponding switch arrangement and naming.

Weight of Three Phase ANPC Inverter component for real-time simulation is 3.

Figure 1. A schematic block diagram of a three-phase three-level ANPC inverter/rectifier block diagram with corresponding switch naming

Control

Digital inputs, when selected as the Control parameter, enables you to assign gate drive inputs to any of the digital input pins (from 1 to 32). For example, if Phase A S1 is assigned to 1, the digital input pin 1 will be routed to the Phase A S1 switch gate drive. In addition, the gate_logic parameter selects either active high (High-level input voltage VIH turns on the switch), or active low (Low-level input voltage VIL turns on the switch). The gate drive logic depends on your external controller design.In TyphoonSim, digital signals are read from the internal virtual IO bus. Hence, if some signal is sent to digital ouput 1, it will appear on digital input 1.

Model, when selected as the Control parameter, enables you to set the IGBTs' gate drive signals directly from signal processing model. The input pin gates appears on the component. It requires a vector input of eighteen gate drive signals in the following order: [Phase A S1, Phase A S2, … , Phase B S1, Phase B S2, … , Phase C S1, Phase C S2, ...]. When controlled from the model, logic is always set to active high.

Losses calculation

When the Losses calculation property is enabled, the component will calculate switching and conduction power losses for all switching elements (IGBTs and Diodes or MOSFETs). In the case of MOSFET switching elements, the diode characteristic represents the internal MOSFET body diode. Switching power losses are calculated as a function of current, voltage, and temperature using 3D lookup tables. Also, 2D input for losses is supported. When a 2D losses table is inserted, it assumes only current (I) and temperature dependence. Conduction power losses can be defined as a function of current and temperature using Vt and Vd lookup tables (LUTs). These LUTs can be 1D or 2D tables. If the LUT is a 1D table, forward voltage drop depends only on the current, but if LUT is a 2D table, forward voltage drop dependence on the junction temperature is also considered. In the MOSFET case under reverse current conduction, a current sharing calculation between the MOSFET channel and the internal body diode is performed. Import options and an explanation how to correctly fill all necessary power losses parameters is described in the Importing power losses data section.

In the case of the IGBT switch type, input/output terminals for power losses receive/generate vectors of 36 elements (indexes 0-35, where every index in the vector represent one switching element). The first 12 elements (base index 0) are related to the switching elements in phase A, the second 12 elements (starting from base index 12) are related to the switching elements in phase B and the last 12 elements (with the base index 24) are related to the switching elements in phase C.

For the MOSFET switch type, for all Losses groups, input/output terminals for power losses receive/generate vectors of 18 elements (every index in the vector represent one switching element). The first 6 elements (indexes 0-5) are related to the switching elements in phase A, the second 6 elements (indexes 6-11) are related to the switching elements in phase B, and the last 6 elements (indexes 12-17) are related to the switching elements in phase C. If different switch types are used for the Losses groups, input/output terminals for power losses receive/generate vectors with the same ordering logic as previously described. Switching element ordering and group definition for each phase are described in the ANPC Leg Losses calculationsection.

Note: An interactive overview of how you can incorporate power loss calculation in your model is available as part of the HIL for Power Electronics course on HIL Academy, as well as in the video Knowledgebase.

All switches are distributed in three groups, and for each group, different power loss parameters can be specified (Phase A S1, Phase A S4, Phase B S1, Phase B S4, Phase C S1, and Phase C S4 are in group 1; Phase A S2, Phase A S3, Phase B S2, Phase B S3, Phase C S2, and Phase C S3 are in group 2; Phase A S5, Phase A S6, Phase B S5, Phase B S6, Phase C S5, and Phase C S6 are in group 3).

Available component properties are:
  • Losses groups - Switching elements group
  • Current values - Switching elements current axis [A]

  • Voltage values - Switching elements voltage axis [V]

  • Temp values - Switching elements temperature axis [°C]

  • Vt table - Switch forward voltage drop, f(I,T) [V]

  • Vd table - Diode forward voltage drop, f(I,T) [V]

  • Et on table - Switch switching ON losses, output energy, f(I, V, T) [J]

  • Et off table - Switch switching OFF losses, output energy, f(I, V, T) [J]

  • Ed off table - Diode switching OFF losses, output energy, f(I, V, T) [J]

Note: Losses calculations for the Three phase ANPC Inverter are implemented and tested based on the following ANPC leg modulation techniques:
Feature Not Supported: Losses calculation for this component is not supported in TyphoonSim yet.

Temperatures calculation

When the Temperatures calculation property is enabled, the component will calculate the combined power losses (P_loss) and junction temperatures (T_junctions) for all switching elements (IGBTs and diodes). Combined power losses represent the sum of the calculated switching and conduction losses transferred through the internally generated Thermal network component. The internally generated Thermal network component also calculates junction temperatures from power losses, input case temperatures and provided thermal model parameters. Input/output ports for temperature calculation are vectors which the number of elements depends on the selected switch types. They are indexed in the same way as explained in Losses calculation section.

Note: An interactive overview of how you can incorporate temperature calculation in your model is available as part of the HIL for Power Electronics course on HIL Academy, as well as in the video Knowledgebase.

Additional temperature calculation component properties are:

  • Thermal networks type - Defines type of internal thermal network
  • Rth switch - List of thermal resistance for the IGBT switch
  • Tth switch / Cth switch - List of thermal time constants or thermal capacitances for the IGBT switch
  • Rth diode - List of thermal resistances for the diode
  • Tth diode / Cth diode - List of thermal time constants or thermal capacitances for the diode
  • Calculation execution rate - Execution rate in [s] for the losses and temperature calculation logic
Feature Not Supported: Temperature calculation for this component is not supported in TyphoonSim yet.

Digital Alias

If a converter is controlled by digital inputs, an alias for every digital input used by the converter will be created. Digital input aliases will be available under the Digital inputs list alongside existing Digital input signals. The alias will be shown as Converter_name.Switch_name, where Converter_name is name of the converter component and Switch_name is name of the controllable switch in the converter.

Ports

  • DC+ (electrical)
    • DC side + port.
  • DCn (electrical)
    • DC side neutral port.
  • DC- (electrical)
    • DC side - port.
  • A (electrical)
    • AC side port - phase A
  • B (electrical)
    • AC side port - phase B
  • C (electrical)
    • AC side port - phase C
  • s_crtl (in)
    • Available if model control is selected
    • Vector of 18 input gate signals for switches
  • T_junctions (in)
    • Available if Losses calculation is enabled and Temperature calculation is disabled
    • Used to provide junction temperatures for switch losses calculations
    • If the switch type is IGBT for all switch losses groups, then T_junctions consists of 36 temperature values (12 per phase), one for every switch and diode
    • If the switch type is MOSFET for all switch losses groups, then T_junctions consists of 18 temperature values (MOSFET and body diode are having the same temperature), 6 per phase
  • T_cases (in)
    • Available if Temperature calculation is enabled
    • Used to provide case temperatures for the thermal model
    • If the switch type is IGBT for all switch losses groups, then T_junctions consists of 36 temperature values (12 per phase), one for every switch and diode
    • If the switch type is MOSFET for all switch losses groups, then T_junctions consists of 18 temperature values (MOSFET and the body diode have the same temperature), 6 per phase
  • cond_losses (out)
    • Available if Losses calculation is enabled
    • Represents conduction losses of the switching elements
    • If the switch type is IGBT for all switch losses groups, then cond_losses consists of 36 values (12 per phase); If the switch type is MOSFET for all switch losses groups, it consists of 18 values (6 per phase)
  • sw_losses (out)
    • Available if Losses calculation is enabled
    • Represents switching losses of the switching elements
    • If the switch type is IGBT for all switch losses groups, then sw_losses consists of 36 values (12 per phase); If the switch type is MOSFET for all switch losses groups, it consists of 18 values (6 per phase)
  • P_loss (out)
    • Available if both Losses and Temparature calculation are enabled
    • Represents sum of conduction and switching losses of the switching elements
    • If the switch type is IGBT for all switch losses groups, then P_loss consists of 36 values (12 per phase); If the switch type is MOSFET for all switch losses groups, it consists of 18 values (6 per phase)
  • T_junctions (out)
    • Available if both Losses and Temparature calculation are enabled. In this case T_junctions is an output since the case thermal model is inside the component and case temperatures are provided as an input to the component.
    • Represents the junction temperatures of the switching elements
    • If the switch type is IGBT for all switch losses groups, then T_junctions consists of 36 values (12 per phase); If the switch type is MOSFET for all switch losses groups, it consists of 18 values (6 per phase)

Control (Tab)

  • Control
    • Specifies how switches are controled. It is possible to choose between: Digital inputs and Model
    • More details about each type of control can be found in the Control section
  • If Digital inputs is selected as Control, the following properties can be used:
    • Phase A S1
      • Digital input that is used to control phase A S1 switch
    • Phase A S1 logic
      • Logic that will be applied to control signal for phase A S1
      • Active high or active low
    • Phase A S2
      • Digital input that is used to control phase A S2 switch
    • Phase A S2 logic
      • Logic that will be applied to control signal for phase A S2
      • Active high or active low
    • Phase A S3
      • Digital input that is used to control phase A S3 switch
    • Phase A S3 logic
      • Logic that will be applied to control signal for phase A S3
      • Active high or active low
    • Phase A S4
      • Digital input that is used to control phase A S4 switch
    • Phase A S4 logic
      • Logic that will be applied to control signal for phase A S4
      • Active high or active low
    • Phase A S5
      • Digital input that is used to control phase A S5 switch
    • Phase A S5 logic
      • Logic that will be applied to control signal for phase A S5
      • Active high or active low
    • Phase A S6
      • Digital input that is used to control phase A S6 switch
    • Phase A S6 logic
      • Logic that will be applied to control signal for phase A S6
      • Active high or active low
    • Phase B S1
      • Digital input that is used to control phase B S1 switch
    • Phase B S1 logic
      • Logic that will be applied to control signal for phase B S1
      • Active high or active low
    • Phase B S2
      • Digital input that is used to control phase B S2 switch
    • Phase B S2 logic
      • Logic that will be applied to control signal for phase B S2
      • Active high or active low
    • Phase B S3
      • Digital input that is used to control phase B S3 switch
    • Phase B S3 logic
      • Logic that will be applied to control signal for phase B S3
      • Active high or active low
    • Phase B S4
      • Digital input that is used to control phase B S4 switch
    • Phase B S4 logic
      • Logic that will be applied to control signal for phase B S4
      • Active high or active low
    • Phase B S5
      • Digital input that is used to control phase B S5 switch
    • Phase B S5 logic
      • Logic that will be applied to control signal for phase B S5
      • Active high or active low
    • Phase B S6
      • Digital input that is used to control phase B S6 switch
    • Phase B S6 logic
      • Logic that will be applied to control signal for phase B S6
      • Active high or active low
    • Phase C S1
      • Digital input that is used to control phase C S1 switch
    • Phase C S1 logic
      • Logic that will be applied to control signal for phase C S1
      • Active high or active low
    • Phase C S2
      • Digital input that is used to control phase C S2 switch
    • Phase C S2 logic
      • Logic that will be applied to control signal for phase C S2
      • Active high or active low
    • Phase C S3
      • Digital input that is used to control phase C S3 switch
    • Phase C S3 logic
      • Logic that will be applied to control signal for phase C S3
      • Active high or active low
    • Phase C S4
      • Digital input that is used to control phase C S4 switch
    • Phase C S4 logic
      • Logic that will be applied to control signal for phase C S4
      • Active high or active low
    • Phase C S5
      • Digital input that is used to control phase C S5 switch
    • Phase C S5 logic
      • Logic that will be applied to control signal for phase C S5
      • Active high or active low
    • Phase C S6
      • Digital input that is used to control phase C S6 switch
    • Phase C S6 logic
      • Logic that will be applied to control signal for phase C S6
      • Active high or active low
    • Gate control enabling
      • If enabled, gives a possibility to control if changes in the gate control signals are applied or not
    • Sen
      • Available if Gate control enabling is enabled
      • Digital input that enables/disables switching
    • Sen_logic
      • Available if Gate control enabling is enabled
      • Logic that will be applied to Sen signal
  • If Model is selected as Control, the following properties can be used:
    • Execution rate
      • Defines the period between two updates of gate signals for the component. Gate signals are provided as a signal processing input to component

Losses (Tab)

  • Losses calculation
    • Losses calculation for this component is not supported in TyphoonSim yet.
    • Enables/disables losses calculation for converter. More details can be found in the dedicated Losses calculation section.
  • Losses groups
    • Available if Losses calculation is enabled
    • Used to select specific switches group. More details can be found here.
  • Switch xml file
    • Available if Losses calculation is enabled
    • Used to load losses data for a switch from an xml file. More information about supported file formats can be found in the dedicated section.
  • Diode xml file
    • Available if Losses calculation is enabled
    • Used to load losses data for the diode from an xml file. More information about supported file formats can be found in the dedicated section.
  • Switch Group type
    • Available if Losses calculation is enabled
    • Specifies switch type: MOSFET or IGBT. If information about switch type can be found in an xml file, it will be automatically applied.
  • Current values
    • Available if Losses calculation is enabled
    • Vector of current values that are used to specify converter losses at specific points. If losses data are loaded from an xml file, it will be filled automatically.
  • Voltage values
    • Available if Losses calculation is enabled
    • Vector of voltage values that are used to specify converter losses at specific points. If losses data are loaded from an xml file, it will be filled automatically.
  • Temp Values
    • Available if Losses calculation is enabled
    • Vector of temperature values that are used to specify converter losses at specific points. If losses data are loaded from an xml file, it will be filled automatically.
  • Vt table
    • Available if Losses calculation is enabled
    • 2D look up table for switch conduction voltage drop values. If losses data is loaded from xml file, it will be filled automatically. More information about table formats can be found in the Losses calculation section.
  • Vd table
    • Available if Losses calculation is enabled
    • 2D look up table for diode conduction voltage drop values. If losses data is loaded from xml file, it will be filled automatically. More information about table formats can be found in the Losses calculation section.
  • Et on table
    • Available if Losses calculation is enabled
    • 3D look up table for switch turn on switching losses. If losses data is loaded from xml file, it will be filled automatically. More information about table formats can be found in the Losses calculation section.
  • Et off table
    • Available if Losses calculation is enabled
    • 3D look up table for switch turn off switching losses. If losses data is loaded from xml file, it will be filled automatically. More information about table formats can be found in the Losses calculation section.
  • Ed off table
    • Available if Losses calculation is enabled
    • 3D look up table for diode turn off switching losses. If losses data is loaded from an xml file, it will be filled automatically. More information about table formats can be found in the Losses calculation section.
  • Temperatures calculation
    • Available if Losses calculation is enabled
    • Enables/disables losses temperature calculation for converter. Thermal model must be provided. More details can be found in the dedicated Temperatures calculation section.
  • Thermal networks type
    • Available if Temperature calculation is enabled
    • Specifies the type of thermal network model: Foster or Cauer
  • Rth switch
    • Available if Temperature calculation is enabled
    • Switch thermal resistance
    • Vector
  • Rth diode
    • Available if Temperature calculation is enabled
    • Diode thermal resistance
    • Vector
  • Tth switch
    • Available if Temperature calculation is enabled and the Thermal network type is Foster
    • Switch thermal time constant
    • Vector
  • Tth diode
    • Available if Temperature calculation is enabled and the Thermal network type is Foster
    • Diode thermal time constant
    • Vector
  • Cth switch
    • Available if Temperature calculation is enabled and the Thermal network type is Cauer
    • Switch thermal capacitance
    • Vector
  • Cth diode
    • Available if Temperature calculation is enabled and the Thermal network type is Cauer
    • Diode thermal time constant
    • Vector
  • Calculations execution rate
    • Available if Losses calculation is enabled
    • Execution rate for losses calculation. Defines interval that will be used to update losses calculation inputs and outputs.

Advanced (Tab)

  • Model complexity
    • Model complexity options are specific optimization parameters of real-time simulation and it is not applied to TyphoonSim at all. Changing its value will not affect TyphoonSim simulation at all.
    • Select model compexity. If 'Optimize resources' is selected, the leg will use less matrix memory in some cases, but the model will be slighly simplified. The simplification is most likely to be visible in passive rectification operation.

Extras (Tab)

The Extras tab gives you the opportunity to set Signal Access Management for the component.

Signal visibility is calculated based on the 'signal_access' property and whether or not a parent component in its hierarchy is locked or not. Components that are not contained within locked components expose their signals regardless of the 'signal_access' property. The 'signal_access' property can have one of three values:
  • Public - Components marked as public expose their signals on all levels.
  • Protected - Components marked as protected will hide their signals to components outside of their first locked parent component.
  • Inherit - Components marked as inherit will take the nearest parent 'signal_access' property value that is set to a value other than inherit.