Engee documentation
Notebook

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

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

In [ ]:
V_GT = 0.6;     
I_GT = 3e-6;    
V_T = 1.2;      
I_T = 1.0;      
Rs = 87.0;      #кОм

Test 1. Checking the release voltage

In the Thyristor_Static_Behavior_On_1.engee model, the thyristor starts when a pulse of 3 µA or more is applied to the gate (Gate trigger current, I_GT).

image_2.png
Test conditions:
  • Supply voltage . The supply voltage should not be applied abruptly, but gradually, using the Linear Signal block (Ramp), in order to prevent dv/dt starting.;
  • Load
  • There is no external gate resistor in the circuit, therefore, to turn on the device with a 3 µA pulse, it is necessary to set the value of the internal shunt resistance (Rs) . If the resistance is low, the thyristor will not operate at the input current. , and if, on the contrary, it is too high, then the thyristor will work at a current lower than .
In [ ]:
V_s1 = 12;         
R_load1 = 120;    #Ом
I_on1 = I_GT;      #A

In this test, we will check that the unlocking voltage on the control electrode is equal to the Corresponding gate voltage, V_GT, 0.6 V, specified in the settings, when the current in the control electrode is equal to the switching current of the thyristor, Gate trigger current, I_GT, 3 Ma.

Launching the model
In [ ]:
engee.addpath(@__DIR__)
if "Thyristor_Static_Behavior_On_1" in [m.name for m in engee.get_all_models()]
    m = engee.open( "Thyristor_Static_Behavior_On_1" ) # загрузка модели
else
    m = engee.load( "Thyristor_Static_Behavior_On_1.engee" )
end
results_1 = engee.run(m, verbose=true)
Building...
Progress 0%
Progress 0%
Progress 6%
Progress 27%
Progress 40%
Progress 52%
Progress 66%
Progress 71%
Progress 76%
Progress 100%
Progress 100%
Out[0]:
SimulationResult(
    run_id => 19,
    "v_AK_1" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_1/v_AK_1")
,
    "v_GT_1" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_1/v_GT_1")
,
    "i_GT_1" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_1/i_GT_1")
,
    "i_load_1" => WorkspaceArray{Float64}("Thyristor_Static_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;     # Ток затвора
v_GT_1 = results_1["v_GT_1"].value;     # Напряжение между затвором и катодом 
i_load_1 = results_1["i_load_1"].value; # Ток нагрузки 
v_AK_1 = results_1["v_AK_1"].value;     # Прямое напряжение  
Plotting graphs
In [ ]:
using Plots
plotlyjs();
In [ ]:
plot(layout=@layout([a a; b b;]), legend=:outerbottomright)
plot!(t_1, i_GT_1, subplot=1, ylabel="Ток, А", w = 2, linecolor =:blue, label="Ток затвора")
plot!(t_1, v_AK_1, subplot=2, ylabel="Напряжение, В", w = 2, linecolor =:orange, label="Прямое напряжение")
plot!(t_1, i_load_1, subplot=3, xlabel="Время, c", ylabel="Ток, А", w = 2, linecolor =:green, label="Ток нагрузки")
plot!(t_1, v_GT_1, subplot=4, xlabel="Время, c", ylabel="Напряжение, В", w = 2, linecolor =:red, label="Напряжение между затвором и катодом")
Out[0]:

The graphs show that the thyristor starts when a 3 µA pulse is applied to the gate, and the voltage between the gate and the cathode is really close to 0.6 V.

Test 2. Checking the voltage drop of an open thyristor

The Thyristor_Static_Behavior_On_2.engee model uses a thyristor with the same settings. In this test, we will check that the voltage drop of the open thyristor , corresponds to the parameters specified in the thyristor settings (On-state voltage) when the load current is on (On-state current) .

image.png
Test conditions:
  • Supply voltage (gradual feeding);
  • Load ;
  • External resistor reduces the sensitivity of the thyristor operation. The trip current increases to approximately . The critical current will be slightly less due to the increased current, the anode is a gate, which contributes to the gate current.
In [ ]:
V_s2 = 12;          
R_load2 = 10.8;     #Ом
R_GK = 1000;        #Ом
I_on2 = 0.6*1e-3;   
Launching the model
In [ ]:
if "Thyristor_Static_Behavior_On_2" in [m.name for m in engee.get_all_models()]
    m = engee.open( "Thyristor_Static_Behavior_On_2" ) # загрузка модели
else
    m = engee.load( "Thyristor_Static_Behavior_On_2.engee" )
end
results_2 = engee.run(m, verbose=true)
Building...
Progress 0%
Progress 5%
Progress 5%
Progress 14%
Progress 48%
Progress 100%
Progress 100%
Out[0]:
SimulationResult(
    run_id => 20,
    "i_GT_2" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_2/i_GT_2")
,
    "v_AK_2" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_2/v_AK_2")
,
    "v_GT_2" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_2/v_GT_2")
,
    "i_load_2" => WorkspaceArray{Float64}("Thyristor_Static_Behavior_On_2/i_load_2")

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

The graphs show that the load current in the switched-on state is 1 A and at this current the voltage drop between the anode and the cathode is really close to 1.2 V.

Conclusion

After conducting two tests to turn on the thyristor, we made sure that the static behavior of the thyristor corresponds to the parameters specified in the settings of its unit.