Ideal insulated-gate bipolar transistor for switching applications

**Library:**Simscape / Electrical / Semiconductors & Converters / Semiconductors

The IGBT (Ideal, Switching) block models an ideal
insulated-gate bipolar transistor (IGBT) for switching applications. The switching
characteristic of an IGBT is such that if the gate-emitter voltage exceeds the specified
threshold voltage, *V _{th}*, the IGBT is in the on
state. Otherwise, the device is in the off state.

In the on state, the collector-emitter path behaves like a linear diode with
forward-voltage drop, *V _{f}*, and on-resistance,

In the off state, the collector-emitter path behaves like a linear resistor with a low
off-state conductance value, *G _{off}*.

The defining Simscape™ equations for the block are:

if (v>Vf)&&(G>Vth) i == (v - Vf*(1-Ron*Goff))/Ron; else i == v*Goff; end

where:

*v*is the collector-emitter voltage.*Vf*is the forward voltage.*G*is the gate-emitter voltage.*Vth*is the threshold voltage.*i*is the collector-emitter current.*Ron*is the on-state resistance.*Goff*is the off-state conductance.

Using the **Integral Diode** parameters, you can include an integral
emitter-collector diode. An integral diode protects the semiconductor device by
providing a conduction path for reverse current. An inductive load can produce a high
reverse-voltage spike when the semiconductor device suddenly switches off the voltage
supply to the load.

Set the **Integral protection diode** parameter based on your
goal.

Goal | Value to Select | Block Behavior |
---|---|---|

Prioritize simulation speed. | `Protection diode with no dynamics` | The block includes an integral copy of the Diode block. To parameterize
the internal Diode block, use the
Protection parameters. |

Precisely specify reverse-mode charge dynamics. | `Protection diode with charge dynamics` | The block includes an integral copy of the dynamic model of the Diode block. To parameterize
the internal Diode block, use the
Protection parameters. |

The block provides four modeling variants. To select the desired
variant, right-click the block in your model. From the context menu,
select **Simscape** > **Block
choices**, and then one of these variants:

**PS Control Port**— Contains a physical signal port that is associated with the gate terminal. This variant is the default.**Electrical Control Port**— Contains an electrical conserving port that is associated with the gate terminal.**PS Control Port | Thermal Port**— Contains a thermal port and a physical signal port that is associated with the gate terminal.**Electrical Control Port | Thermal Port**— Contains a thermal port and an electrical conserving port that is associated with the gate terminal.

The variants of this block without the thermal port do not simulate heat generation in the device.

The variants with the thermal port allow you to model the heat that switching events and conduction losses generate. For numerical efficiency, the thermal state does not affect the electrical behavior of the block. The thermal port is hidden by default. To enable the thermal port, select a thermal block variant.

The figure shows an idealized representation of the output voltage,
*V _{out}*, and the output current,

When the semiconductor turns on during the *n*^{th}
switching cycle, the amount of thermal energy that the device dissipates increments by a
discrete amount. If you select ```
Voltage, current, and
temperature
```

for the **Thermal loss dependent on**
parameter, the equation for the incremental change is

$${E}_{on(n)}=\frac{{V}_{off(n)}}{{V}_{off\_data}}fcn(T,{I}_{on(n-1)}),$$

where:

*E*is the switch-on loss at the_{on(n)}*n*^{th}switch-on event.*V*is the off-state output voltage,_{off(n)}*V*, just before the device switches on during the_{out}*n*th switching cycle.*V*is the_{off_data}**Off-state voltage for losses data**parameter value.*T*is the device temperature.*I*is the on-state output current,_{on(n-1)}*I*, just before the device switches off during the cycle that precedes the n_{out}*th*switching cycle.

The function *fcn* is a 2-D lookup table with
linear interpolation and linear extrapolation:

$$E=tablelookup({T}_{j\_data},{I}_{out\_data},{E}_{on\_data},T,{I}_{on(n-1)}),$$

where:

*T*is the_{j_data}**Temperature vector, Tj**parameter value.*I*is the_{out_data}**Output current vector, Iout**parameter value.*E*is the_{on_data}**Switch-on loss, Eon=fcn(Tj,Iout)**parameter value.

If you select `Voltage and current`

for
the **Thermal loss dependent on** parameter, when
the semiconductor turns on during the *n*th switching
cycle, the equation that the block uses to calculate the incremental
change in the discrete amount of thermal energy that the device dissipates
is

$${E}_{on(n)}=\left(\frac{{V}_{off(n)}}{{V}_{off\_data}}\right)\left(\frac{{I}_{on(n-1)}}{{I}_{out\_scalar}}\right)({E}_{on\_scalar})$$

where:

*I*is the_{out_scalar}**Output current, Iout**parameter value.*E*is the_{on_scalar}**Switch-on loss**parameter value.

When the semiconductor turns off during the *n*th
switching cycle, the amount of thermal energy that the device dissipates
increments by a discrete amount. If you select ```
Voltage,
current, and temperature
```

for the **Thermal loss
dependent on** parameter, the equation for the incremental
change is

$${E}_{off(n)}=\frac{{V}_{off(n)}}{{V}_{off\_data}}fcn(T,{I}_{on(n)}),$$

where:

*E*is the switch-off loss at the_{off(n)}*n*th switch-off event.*V*is the off-state output voltage,_{off(n)}*V*, just before the device switches on during the_{out}*n*th switching cycle.*V*is the_{off_data}**Off-state voltage for losses data**parameter value.*T*is the device temperature.*I*is the on-state output current,_{on(n)}*I*, just before the device switches off during the_{out}*n*th switching cycle.

The function *fcn* is a 2-D lookup table with
linear interpolation and linear extrapolation:

$$E=tablelookup({T}_{j\_data},{I}_{out\_data},{E}_{off\_data},T,{I}_{on(n)}),$$

where:

*T*is the_{j_data}**Temperature vector, Tj**parameter value.*I*is the_{out_data}**Output current vector, Iout**parameter value.*E*is the_{off_data}**Switch-off loss, Eoff=fcn(Tj,Iout)**parameter value.

If you select `Voltage and current`

for
the **Thermal loss dependent on** parameter, when
the semiconductor turns off during the *n*th switching
cycle, the equation that the block uses to calculate the incremental
change in the discrete amount of thermal energy that the device dissipates
is

$${E}_{off(n)}=\left(\frac{{V}_{off(n)}}{{V}_{off\_data}}\right)\left(\frac{{I}_{on(n-1)}}{{I}_{out\_scalar}}\right)({E}_{off\_scalar})$$

where:

*I*is the_{out_scalar}**Output current, Iout**parameter value.*E*is the_{off_scalar}**Switch-off loss**parameter value.

If you select `Voltage, current, and temperature`

for
the **Thermal loss dependent on** parameter, then,
for both the on state and the off state, the heat loss due to electrical
conduction is

$${E}_{conduction}={\displaystyle \int fcn}(T,{I}_{out})\text{\hspace{0.17em}}dt,$$

where:

*E*is the heat loss due to electrical conduction._{conduction}*T*is the device temperature.*I*is the device output current._{out}

The function *fcn* is a 2-D lookup table:

$${Q}_{conduction}=tablelookup({T}_{j\_data},{I}_{out\_data},{I}_{out\_data\_repmat}\text{\hspace{0.17em}}.*\text{\hspace{0.17em}}{V}_{on\_data},T,{I}_{out}),$$

where:

*T*is the_{j_data}**Temperature vector, Tj**parameter value.*I*is the_{out_data}**Output current vector, Iout**parameter value.*I*is a matrix that contains length,_{out_data_repmat}*T*, copies of_{j_data}*I*._{out_data}*V*is the_{on_data}**On-state voltage, Von=fcn(Tj,Iout)**parameter value.

If you select `Voltage and current`

for
the **Thermal loss dependent on** parameter, then,
for both the on state and the off state, the heat loss due to electrical
conduction is

$${E}_{conduction}={\displaystyle \int \left({I}_{out}*{V}_{on\_scalar}\right)dt},$$

where *V _{on_scalar}* is
the

The block uses the **Energy dissipation time constant** parameter
to filter the amount of heat flow that the block outputs. The filtering
allows the block to:

Avoid discrete increments for the heat flow output

Handle a variable switching frequency

The filtered heat flow is

$$Q=\frac{1}{\tau}\left({\displaystyle \sum _{i=1}^{n}{E}_{on(i)}}+{\displaystyle \sum _{i=1}^{n}{E}_{off(i)}}+{E}_{conduction}-{\displaystyle \int Q\text{\hspace{0.17em}}dt}\right),$$

where:

*Q*is the heat flow from the component.*τ*is the**Energy dissipation time constant**parameter value.*n*is the number of switching cycles.*E*is the switch-on loss at the_{on(i)}*i*th switch-on event.*E*is the switch-off loss at the_{off(i)}*i*th switch-off event.*E*is the heat loss due to electrical conduction._{conduction}*∫Qdt*is the total heat previously dissipated from the component.

The figure shows the block port names.

Diode | GTO | Ideal Semiconductor Switch | MOSFET (Ideal, Switching) | Thyristor (Piecewise Linear)