AnyMath 文档
Notebook

具有闭合转子的异步电动机的参数化

在本例中,使用具有闭环转子的异步电机的护照数据,我们从块库的"电力"部分计算并模拟异步电机。

导言

前面给出了具有闭环转子(KZR)的异步电动机(AD)参数化的示例,用于构造矢量диаграммы。这里是一个稍微改进的代码与另一个引擎的护照数据。 随后在AnyMath中建模是使用块[具有短路的异步机器](https://engee.com/helpcenter/stable/cn/fmod-electricity-asynchronous/induction-machine-squirrel-cage.html )来自[物理建模]块库的电力部分(https://engee.com/helpcenter/stable/cn/getting-started-physmod.html )。

初始数据

对于计算和模拟的示例,让我们以旋转速度为1455rpm的AIR132S4发动机为例。 他的护照细节很容易在互联网上找到。 让我们将它们写入下面代码单元格的相应变量中。:

In [ ]:
Pₙ = 7.5e3; Uₙ = 380; f₁ = 50;  # 机械轴功率[W],线电压[V],频率[Hz]
nₙ = 1455; p = 2; η = 0.87;     # 额定转速[rpm],极对,效率
cosϕ = 0.83; Iₙ = 15.8;        # 额定功率因数和线性电流[A]
ki = 7; mₚ = 2.3; mₘ = 2.3; J = 0.02; # 冲击电流/扭矩,最大扭矩,惯性[kg·m2]

我们将进行中间计算:

In [ ]:
# 替代方案参数的计算
Sₙ = Pₙ/(η*cosϕ); # 额定总电力[VA]
U₁ = Uₙ/sqrt(3);                           # 定子额定相电压[V]
n₀ = 60*f₁/p;                             # 同步转速[rpm]
sₙ = (n₀-nₙ)/n₀; sₖ = sₙ*(mₘ+sqrt(mₘ^2-1)); # 名义和临界滑移
ω₀ = 2π*f₁/p; ωₙ = π*nₙ/30;                # 转子的同步和标称角速度[rad/s]
Mₙ = Pₙ/ωₙ; Mₘ = Mₙ*mₘ; Mₚ = Mₙ*mₚ;           # 额定扭矩、最大扭矩和启动扭矩[Nm]
pₘ = 0.05*Pₙ;                              # 机械损耗(P㎡的5%)[W]

R₂ = 1/3*(Pₙ+pₘ)/(Iₙ^2*(1-sₙ)/sₙ);              # 转子绕组的减小的有功电阻为[欧姆]

C = 1.02;                   # 建设性系数(初步)
    
R₁ = U₁*cosϕ*(1-η)/Iₙ - C^2*R₂ - pₘ/(3*Iₙ^2);  # 定子绕组的有源电阻[欧姆]

L₁σ = L₂σ = U₁/(4π*f₁*(1+C^2)*ki*Iₙ);          # 定子损耗电感和降低转子[Gn]
L₁ = L₂ = U₁/(2π*f₁*Iₙ*sqrt(1-cosϕ^2)-2/3*(2π*f₁*Mₘ*sₙ)/(p*U₁*sₖ)); # 定子电感和减小的转子[Gn]
Lₘ = L₁ - L₁σ;                                 # 磁路电感[Gn]

让我们执行几次迭代来细化设计系数。:

In [ ]:
for i in 1:5

    C = 1 + L₁σ/Lₘ                             # 建设性系数(指定)
    
    R₁ = U₁*cosϕ*(1-η)/Iₙ - C^2*R₂ - pₘ/(3*Iₙ^2);  # 定子绕组的有源电阻[欧姆]

    L₁σ = L₂σ = U₁/(4π*f₁*(1+C^2)*ki*Iₙ);          # 定子损耗电感和降低转子[Gn]
    L₁ = L₂ = U₁/(2π*f₁*Iₙ*sqrt(1-cosϕ^2)-2/3*(2π*f₁*Mₘ*sₙ)/(p*U₁*sₖ)); # 定子电感和减小的转子[Gn]
    Lₘ = L₁ - L₁σ;                                 # 磁路电感[Gn]

    println("Итерация №$i: Уточнённый конструктивный коэффициент C равен $C")
end

    X₁σ = 2π*f₁*L₁σ;    X₂σ = 2π*f₁*L₂σ        # 定子耗散和降低转子的无功电阻[欧姆]
    Xₘ = 2π*f₁*Lₘ;
Итерация №1: Уточнённый конструктивный коэффициент C равен 1.0198238619091926
Итерация №2: Уточнённый конструктивный коэффициент C равен 1.0198274225000148
Итерация №3: Уточнённый конструктивный коэффициент C равен 1.0198273505169178
Итерация №4: Уточнённый конструктивный коэффициент C равен 1.0198273519721697
Итерация №5: Уточнённый конструктивный коэффициент C равен 1.0198273519427494

已经计算了在AnyMath中建模ADCZR的所有必要参数,让我们继续进行建模。

示例模型

电机连接到三相380V,50Hz网络,定子绕组由星形连接。 扭矩源的端口R与轴连接,端口C与机械支撑连接。 因此,对于抗旋转负载,-M≈-49.22Nm施加到输入s。

image.png

让我们使用[软件建模控制]运行模型(https://engee.com/helpcenter/stable/cn/modeling/programmatic-modeling.html )和预先准备的功能,以便于使用模型和模拟结果:

In [ ]:
example_path = @__DIR__; # 我们得到包含当前脚本的目录的绝对路径
cd(example_path); # 转到示例目录
include("useful_functions.jl"); # 我们将Julia脚本与辅助函数连接起来
In [ ]:
simout = get_sim_results("im_parametrization.engee", example_path) # 运行模拟
Out[0]:
SimulationResult(
    run_id => 27,
    "Ток статора" => WorkspaceArray{Float64}("im_parametrization/Ток статора")
,
    "Обороты (у.е)" => WorkspaceArray{Float64}("im_parametrization/Обороты (у.е)")

)

我们得到模型中记录的信号的变量:

In [ ]:
t = get_sim_data(simout, "Ток статора", 1, "time");
Is = get_sim_data(simout, "Ток статора", 1, "value");
n = get_sim_data(simout, "Обороты (у.е)", 1, "value");

让我们绘制这些变量:

In [ ]:
I_base = Sₙ/(3*Uₙ)              # 块的Δ参数化的相电流的基
I_A = Is .* I_base              # 来自仪表的终端电流:O.E.->A
n_rpm = n .* n₀                 # 转子速度:O.E.->RPM

gr(aspectratio=:auto, xlims=:auto, ylims=:auto, size=(900,400))
I_graph = plot(t, I_A; label="I(t)", title="定子电流", ylabel="我[A]", xlabel="t[s]")
hline!(I_graph, [Iₙ]; linestyle=:dash, color=:red, label="In = $(Iₙ) А")
n_graph = plot(t, n_rpm; label="n(t)", title="转子转速", ylabel="n [об/мин]", xlabel="t[s]")
hline!(n_graph, [nₙ]; linestyle=:dash, color=:green, label="nn = $(nₙ) об/мин")
plot(I_graph, n_graph)
Out[0]:
No description has been provided for this image

最后,我们构建了一个机电特性:

In [ ]:
# 在标称操作领域的机电特性。
# 重要:S_base对应于模型的S_rated参数,并且对应于Oe中的终端电流输出。
S_base = Pₙ/(η*cosϕ)
I_base = S_base/(3*Uₙ)
I_A = Is .* I_base
n_rpm = n .* n₀

# 稳态点:平均在过去的0.05秒.
steady = t .>= (t[end] - 0.05)
I_ss = sum(I_A[steady])/sum(steady)
n_ss = sum(n_rpm[steady])/sum(steady)

# 1. 左侧(主)图表
b = plot(I_A, n_rpm;
    label="n(I)", 
    title="机电特性",
    xlabel="定子电流,A", 
    ylabel="Скорость, об/мин",
    legend=:outerbottom)

x = [10, 10, 25, 25, 10]
y = [0.9 * n₀, 1.01 * n₀, 1.01 * n₀, 0.9 * n₀, 0.9 * n₀]
plot!(b, x, y; label=:none, linewidth=2)
# 2. 右图(工作点特写)
g = plot(I_A, n_rpm; 
    label = "操作点",
    title = "扩大面积",
    xlabel = "定子电流,A",
    ylabel = "Скорость, об/мин",
    xlims=(10, 25), 
    ylims=(0.9 * n₀, 1.01 * n₀),
    legend=:outerbottom, legend_columns=1)

# 向右图添加线和点(g)
vline!(g, [Iₙ]; linestyle=:dash, linewidth=2, color=:red,
    label="Номинальный ток: $(Iₙ) А")

hline!(g, [nₙ]; linestyle=:dash, linewidth=2, color=:green,
    label="Номинальная скорость: $(nₙ) об/мин")

scatter!(g, [I_ss], [n_ss]; color=:black, markersize=5,
    label="Модель: $(round(I_ss; digits=3)) А, $(round(n_ss; digits=3)) об/мин")

plot(b, g, layout = (1, 2), size = (1000, 500))
Out[0]:
No description has been provided for this image

结论

在这个例子中,我们看了一个基于开源护照数据参数化异步电机模型的例子,进行BP建模和数据收集。 接下来,您可以继续开发发动机控制系统或模拟使用该发动机的技术单元。