Engee documentation
Notebook

Checking the dynamic behavior of the thyristor when it is turned on

In this example, we will check that the dynamic behavior of the switched-on thyristor corresponds to the parameters specified in the settings of its unit.:

In [ ]:
T_on = 2.0;           #мкс
Rate_dvdt = 150.0;  #В/мкс

Test 1. Checking the power-on delay

In the Thyristor_Dynamic_Behavior_On_1.engee model, a pulse is applied to the gate of the thyristor, which triggers the thyristor. In this test, we will determine the turn-on time of the thyristor.

The time required for the gate to switch from the off to the on state (Gate-controlled turn-on time) is set in the parameters of the Thyristor unit and is equal to 2 microseconds.

image.png
Launching the model
In [ ]:
engee.addpath(@__DIR__)
if "Thyristor_Dynamic_Behavior_On_1" in [m.name for m in engee.get_all_models()]
    m = engee.open( "Thyristor_Dynamic_Behavior_On_1" ) # загрузка модели
else
    m = engee.load( "Thyristor_Dynamic_Behavior_On_1.engee" )
end
results_1 = engee.run(m, verbose=true)
Building...
Progress 0%
Progress 5%
Progress 10%
Progress 15%
Progress 20%
Progress 25%
Progress 30%
Progress 35%
Progress 40%
Progress 45%
Progress 50%
Progress 55%
Progress 60%
Progress 65%
Progress 70%
Progress 75%
Progress 80%
Progress 85%
Progress 90%
Progress 95%
Progress 100%
Progress 100%
Out[0]:
SimulationResult(
    run_id => 17,
    "v_GT_1" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_1/v_GT_1")
,
    "v_AK_1" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_1/v_AK_1")
,
    "i_GT_1" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_1/i_GT_1")
,
    "i_load_1" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_1/i_load_1")

)
Getting parameters
In [ ]:
t_1 = results_1["i_GT_1"].time;
i_GT_1 = results_1["i_GT_1"].value; 
i_load_1 = results_1["i_load_1"].value;
Plotting graphs
In [ ]:
using Plots
plotlyjs();
In [ ]:
plot(layout=@layout([a; b;]), legend=:outerbottomright)
plot!(t_1, i_GT_1, subplot=1, ylabel="Ток, А", w = 2, linecolor =:blue, label="Ток затвора")
plot!(t_1, i_load_1, subplot=2, xlabel="Время, c", ylabel="Ток, А", w = 2, linecolor =:green, label="Ток нагрузки")
Out[0]:

The graphs show that the load current lags behind the gate current pulse by about 1.3 microseconds. The exact time depends on the supply voltage and load resistance, but the influence of these parameters is not taken into account when initializing the unit.

Test 2. Checking the dV/dt launch

The Thyristor_Dynamic_Behavior_On_2.engee model shows dv/dt triggering — this is a spontaneous activation of the thyristor due to too fast forward voltage changes. The voltage creates a capacitive current in the gate-anode circuit.If this current is large enough, it will open the thyristor even without sending a control signal.

The value of the maximum allowable rate of voltage rise in the closed state is specified in the parameter of the Thyristor block (Critical rate of rise of off-state voltage, dV/dt). The thyristor unit uses this parameter to calculate the approximate value of the gate-anode junction capacitance so that the thyristor is triggered at the specified speed. Due to the approximations used in estimating the capacitance value, in this example, the thyristor will still fire if the voltage change rate exceeds 95 V/µs.

In this test, we will apply direct voltage , sharply increasing from zero to 400 V at a rate of 150 V/microsecond.

image.png
Launching the model
In [ ]:
if "Thyristor_Dynamic_Behavior_On_2" in [m.name for m in engee.get_all_models()]
    m = engee.open( "Thyristor_Dynamic_Behavior_On_2" ) # загрузка модели
else
    m = engee.load( "Thyristor_Dynamic_Behavior_On_2.engee" )
end
results_2 = engee.run(m, verbose=true)
Building...
Progress 0%
Progress 5%
Progress 11%
Progress 16%
Progress 21%
Progress 26%
Progress 31%
Progress 36%
Progress 41%
Progress 46%
Progress 51%
Progress 56%
Progress 61%
Progress 66%
Progress 71%
Progress 76%
Progress 81%
Progress 86%
Progress 92%
Progress 97%
Progress 100%
Progress 100%
Out[0]:
SimulationResult(
    run_id => 18,
    "v_AK_2" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_2/v_AK_2")
,
    "v_s_2" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_2/v_s_2")
,
    "i_load_2" => WorkspaceArray{Float64}("Thyristor_Dynamic_Behavior_On_2/i_load_2")

)
Getting parameters
In [ ]:
t_2 = results_2["v_s_2"].time;   
v_s_2 = results_2["v_s_2"].value;   
v_AK_2 = results_2["v_AK_2"].value;
i_load_2 = results_2["i_load_2"].value;
Plotting graphs
In [ ]:
plot(layout=@layout([a; b; c]), legend=:outertopright)
plot!(t_2, v_s_2, subplot=1, ylabel="Напряжение, В", w = 2, linecolor =:blue, label="Напряжение питания")
plot!(t_2, v_AK_2, subplot=2, ylabel="Напряжение, В", w = 2, linecolor =:green, label="Прямое напряжение на тиристоре")
plot!(t_2, i_load_2, subplot=3, xlabel="Время, c", ylabel="Ток, А", w = 2, linecolor =:red, label="Ток нагрузки")
Out[0]:

The graphs show that when the forward voltage changes at a rate of 150 V/µs, the thyristor turns on.

Conclusion

After conducting two tests, we studied the dynamic behavior of the thyristor. In the first test, the thyristor was turned on by applying control current to the gate, and in the second test, dv/dt start is shown.