静态模式下电弧炼钢炉的模拟
在本例中,考虑了容量为100吨,变压器容量为50MVA的DSP-100nza电弧炼钢炉的电流和电压谐波的静态建模和分析。
导言
电弧炼钢炉(刨花板)是现代冶金的关键单元,电极和金属炉料之间产生的高温电弧是将废金属重熔成优质钢的主要能量来源。 刨花板的广泛使用,特别是在从废钢生产钢中,是由于它们的成本效益和环境友好性,该技术的前景与进一步提高效率和减少对能源系统的影响密不可分。 然而,刨花板由于其明显的非线性、随机电弧放电和熔化过程中电参数的动态变化,是一个非常难以分析和控制的对象。 正是这种复杂性使得对适当的刨花板更换方案进行深入研究至关重要,这些方案是分析操作模式,设计和优化控制系统的基础。 有效的电极控制系统的开发对于稳定电弧功率、最小化闪烁和提高能效是必要的。 同时,彻底分析炉胎消耗的电流和电压的谐波成分是至关重要的,因为刨花板是高次谐波的强大来源,会导致供电网络中的电压曲线失真,设备过载和潜在的电磁兼容性问题。 这些方面的研究对于确保炉子本身的可靠运行,减少网络损耗和符合电力质量标准是必要的。
数学描述
有几种方法可以对电子刨花板更换电路的元件进行数学描述。 [1]中给出了一种描述电弧电阻非线性的方法。 我们以他为例。
文章中给出的电弧电阻的描述:
让我们将其呈现为子系统"电弧电阻计算"中的方向块。
工程师模型
示例模型 - electric_arc_furnace.engee.
电电路包括:
*[连续RL-фепочки](https://engee.com/helpcenter/stable/ru/fmod-electricity-rlc-assemblies/rlc-three-phase.html )炉用变压器的电缆线、一次绕组和二次绕组,
*相位传感器напря фения用于测量初级绕组上的电压,
*电流和电压传感器用于测量DSP相位中的电流和电压,
*[线性可变电阻](https://engee.com/helpcenter/stable/ru/fmod-electrical-elements/variable-resistor.html )在每个阶段模拟电弧电阻,
*辅助元件:[接地нейтрали](https://engee.com/helpcenter/stable/ru/fmod-electricity-connectors-references/grounded-neutral-three-phase.html),[中性порт](https://engee.com/helpcenter/stable/ru/fmod-electricity-connectors-references/neutral-port-three-phase.html )和分离器фаз.
在模型中,以下信号被写入simout变量:
-
Vc-炉变压器输入端的三相电压[V], -
Varc-在刨花板的每个阶段的电压[V], -
Varc_pu-刨花板每相的相对电压[O.E.], -
Iarc-在刨花板的每个阶段的电流[A], -
Iarc_pu-刨花板每相的相对电流[O.E.],
模型参数也根据来自出版物的数据设置,它们的定义在下面给出。:
Uc = sqrt(2)*573 # Амплитудное фазное напряжение сети (В)
fc = 50.0 # Частота сети (Гц)
Rc = 0.0528e-3; Xc = 0.468e-3; Lc = Xc/(2pi*50) # Параметры кабеля: R (Ом), X (Ом), L (Гн)
Rt1 = 0.05e-3; Xt1 = 0.35e-3; Lt1 = Xt1/(2pi*50) # Параметры трансформатора - первичная обмотка
Rt2 = 0.25e-3; Xt2 = 3.15e-3; Lt2 = Xt2/(2pi*50) # Параметры трансформатора - вторичная обмотка
println("Параметры системы: Rc = $Rc Ом, Lc = $Lc Гн")
println("Параметры Трансформатора ВН: Rt1 = $Rt1 Ом, Lt1 = $Lt1 Гн")
println("Параметры Трансформатора НН: Rt2 = $Rt2 Ом, Lt2 = $Lt2 Гн")
iзаж = 0.5e4; Imax = 1e5; # Ток зажигания и максимальный ток, А
uзаж = 310.5; uп = uзаж/1.15; # Напряжение зажигания и напряжение постоянной величины, В
uт = (Imax+iзаж)/Imax * uп; # Вспомогательный параметр
T1 = 1e-2; T2 = 2e-2; # Тепловые постоянные времени дуги, с
Rs1 = 25.87*1e-3; # Сопротивление дуги в зарядном прмежутке, Ом
给定的参数也在[inverse вызовах]中定义(https://engee.com/helpcenter/stable/ru/interactive-scripts/base_simulation/demo_callback.html )模型。
要执行模拟,我们将获取示例目录的路径,转到它并连接Julia脚本以使用辅助建模和数据分析功能。
首先,我们将安装和连接数据建模和分析所需的软件包。
# Установка необходимых пакетов (если они ещё не установлены)
# JLD2 - для работы с файлами данных в формате HDF5/Julia
# FFTW - библиотека для быстрого преобразования Фурье (FFT)
# LinearAlgebra - стандартный модуль Julia для линейной алгебры
import Pkg; Pkg.add(["JLD2", "FFTW", "LinearAlgebra"])
# Подключение установленных пакетов
using JLD2, FFTW, LinearAlgebra
example_path = @__DIR__; # Получаем абсолютный путь к директории, содержащей текущий скрипт
cd(example_path); # Переходим в директорию примера
include("useful_functions.jl"); # Подключаем скрипт Julia со вспомогательными функциями
模拟仿真
我们将得到模拟数据. 为此,您可以选择"文件。jld2"来下载先前记录的仿真结果或"模型。engee"用于加载和启动模型
# @markdown **Определите источник данных для анализа:**
источник = "модель .engee" # @param ["модель .engee","файл .jld2"]
simout = get_sim_results(источник, example_path)
数据已经收集,我们将提取几个感兴趣的变量进行分析。:
t = get_sim_data(simout, "Iarc_pu", 1, "time");
IarcA_pu = get_sim_data(simout, "Iarc_pu", 1, "value");
VarcA_pu = get_sim_data(simout, "Varc_pu", 1, "value");
IarcA = get_sim_data(simout, "Iarc", 1, "value");
VarcA = get_sim_data(simout, "Varc", 1, "value");
VcA = get_sim_data(simout, "Vc", 1, "value");
根据获得的数据,我们还将确定最终的仿真时间,模型步骤和模型计算频率。
T = last(t);
ST = T/(size(t)[1]-1);
fs = Int(round(1/ST));
电流和电压
让我们绘制a相炉弧上的相对电流和电压的示波图:
gr()
plot(t, [IarcA_pu, VarcA_pu];
label = ["Ток, о.е." "Напряжение, о.е."],
title = "Ток и напряжение ДСП-100НЗА в фазе А",
xlabel = "Время, с")
.波形具有预期的形状;此外,这两个信号可以表示为伏安特性(VAC)。:
plot(IarcA_pu, VarcA_pu;
label = :none, title = "ВАХ ДСП-100НЗА",
xlabel = "Ток Ia, о.е.", ylabel = "Напряжение Va, о.е.")
炉弧的VAC也具有预期的形状。 因此,根据来自出版物的描述构建的模型是正确的。 让我们继续分析电流和电压的谐波失真。
谐波分析
要在静态模式下分析谐波,只需要一个周期的信号就足够了。 这将是下一个区间a相的炉弧电压信号。:
gr()
int = 2290:4301
plot(t[int], VarcA[int];
label = "Напряжение, В",
title = "Период напряжения ДСП-100НЗА в фазе А",
xlabel = "Время, с")
我们得到这个间隔的信号和时间向量:
signal = VarcA[int]; t = t[int];
使用Julia脚本中的函数,我们将获得给定信号部分谐波分量的幅度和相位的数据。:
# Анализируем гармоники
results = analyze_harmonics(signal, fs, fc)
n, A, ph = get_harmonics_data(results)
# Выводим результаты
println("Гармоника | Амплитуда | Фаза (град)")
println("----------------------------------")
for (n, A, ph) in zip(n, A, ph)
round(A, digits=3)!=0.0 ? println(lpad(n, 9), " | ", lpad(round(A, digits=3), 9), " | ", round((ph)*180/pi, digits=3)) : nothing
end
使用以下功能,我们将分离正向,反向和三重序列的谐波的失真数据。:
harm, harm2, harm3 = get_sequences(results, n);
序列中突出显示的每个谐波的振幅也可以方便地用对数轴在图形上表示。:
gr()
plot( yaxis = :log, xlims=[0,55],ylims=[1e-1,1e3], title = "Амплитуды гармоник 1-55 напряжения в фазе А", xlabel="Порядок гармоник n", ylabel = "Логарифм амплитуды гармоники lg(An)")
plot!(harm[1], harm[2];
markershape = :square, markersize=3, label = "Прямая последовательность")
plot!(harm2[1], harm2[2];
markershape = :circle, markersize=3, label = "Обратная последовательность")
plot!(harm3[1], harm3[2];
markershape = :ltriangle, markersize=5, label = "Тройная последовательность")
scatter!([harm[1][1]], [harm[2][1]];
markershape = :star, markersize=7, label = "Базовая гармоника")
对于序列中每个谐波的相位,可以呈现类似的图。:
gr()
y = range(-π, π, length=9)
plot(xlims=[0,54], yticks = (y, ["$(round(yi, digits=2)) рад" for yi in y]), title = "Фазы гармоник 1-55 напряжения в фазе А", xlabel="Порядок гармоник n", ylabel = "Фаза гармоники φn")
plot!(harm[1], harm[3];
markershape = :square, markersize=3, label = "Прямая последовательность")
plot!(harm2[1], harm2[3];
markershape = :circle, markersize=3, label = "Обратная последовательность")
plot!(harm3[1], harm3[3];
markershape = :ltriangle, markersize=5, label = "Тройная последовательность")
scatter!([harm[1][1]], [harm[3][1]];
markershape = :star, markersize=7, label = "Базовая гармоника")
总谐波失真水平
根据GOST32144-2013,可用于与电能质量标准相关的谐波失真的总水平由欧几里德范数的公式确定。:
让我们计算谐波电压失真的水平-所有谐波和单个序列的总和。
THD_V = norm(vcat(harm[2][2:end], harm2[2], harm3[2]))/harm[2][1]*100;
THD_V0 = norm(harm[2][2:end])/harm[2][1]*100;
THD_V2 = norm(harm2[2])/harm[2][1]*100;
THD_V3 = norm(harm3[2])/harm[2][1]*100;
println("Суммарный коэффициент гармонических искажений напряжения: ", round(THD_V, digits=2), "%.\nИз него, по последовательностям:")
println("- прямая: ", round(THD_V0, digits=2), "%,")
println("- обратная: ", round(THD_V2, digits=2), "%,")
println("- тройная: ", round(THD_V3, digits=2), "%.")
计算电流的谐波失真:
results_I = analyze_harmonics(IarcA, fs, fc);
n_I, A_I, ph_I = get_harmonics_data(results_I);
THD_I = norm(A_I[2:end])/A_I[1]*100
println("Суммарный коэффициент гармонических искажений тока: ", round(THD_I, digits=2), "%.")
结论
在该项目中,开发了DSP-100nza电弧炼钢炉的静态模型,进行了建模,获得了电流和电压波形以及谐波分析数据。 所获得的材料将构成与模式建模、刨花板控制和提高电能质量相关的进一步示例的基础。
文学作品
Chernenko,A.N.Matlab中的动态炉弧模型(Simulink)/A.N.Chernenko,V.V.Vakhnina,S.G.Martynova//Tolyatti州立大学科学向量。 – 2015. – № 2-1(32-1). -第58-64页。 –EDN TYKPDV。




