电动机的热方案
此示例演示如何使用集总参数模型对无刷电机的热状态进行建模。 由于定子、绕组和转子中的功率损耗而产生的热量由三个热流源表示:定子中的热量产生(定子的Q)、绕组的热量产生(绕组的Q)以及由于磁化和涡流的损 在典型电动机循环的模拟过程中记录损耗并存储在块重复表中。 发动机的热回路由导热元件、热质量和对流传热单元组成,这些单元再现了绕组、定子、外壳、转子、前后轴承支撑和法兰等部件的热传播方式。 发动机通过触点外壳-大气、法兰-大气和轴承1-大气与大气进行热交换。 使用设置在300K的理想温度源模拟环境条件。
模型图:
定义加载和运行模型的函数:
In [ ]:
function start_model_engee()
try
engee.close("motor_thermal_circuit", force=true) # 关闭模型
catch err # 如果没有模型关闭和engee。close()不执行,它将在catch之后加载。
m = engee.load("$(@__DIR__)/motor_thermal_circuit.engee") # 加载模型
end;
try
engee.run(m) # 启动模型
catch err # 如果模型没有加载和engee。run()不执行,catch后最下面的两行将被执行。
m = engee.load("$(@__DIR__)/motor_thermal_circuit.engee") # 加载模型
engee.run(m) # 启动模型
end
end
Out[0]:
运行模拟
In [ ]:
try
start_model_engee() # 使用上面实现的特殊功能运行仿真
catch err
end;
记录从simout到变量的温度和热流信号:
In [ ]:
t = collect(simout["定子的热质量。T"].time[:])
Температура_ротора = collect(simout["转子的热质量。T"].value[:])
Температура_обмоток = collect(simout["绕组的热质量。T"].value[:])
Температура_статора = collect(simout["定子的热质量。T"].value[:])
Температура_корпуса = collect(simout["壳体的热质量。T"].value[:])
Тепловыделение_ротора = collect(simout["转子的热质量。T"].value[:])
Тепловыделение_обмоток = collect(simout["绕组的热质量。T"].value[:])
Тепловыделение_статора = collect(simout["定子的热质量。T"].value[:]);
模拟结果的可视化
In [ ]:
using Plots
In [ ]:
plot(t[:,1], Температура_ротора[:,1], label="转子温度,K", linewidth=2)
plot!(t[:,1], Температура_статора[:,1], label="定子温度,K", linewidth=2)
plot!(t[:,1], Температура_обмоток[:,1], label="绕组温度,K", linewidth=2)
plot!(t[:,1], Температура_корпуса[:,1], label="表壳温度,K", linewidth=2, legend=:bottomright)
Out[0]:
In [ ]:
plot(t[:,1], Тепловыделение_ротора[:,1], label="转子的散热,W", linewidth=2)
plot!(t[:,1], Тепловыделение_статора[:,1], label="定子散热,W", linewidth=2)
plot!(t[:,1], Тепловыделение_обмоток[:,1], label="绕组的散热,W", linewidth=2, legend=:bottomright)
Out[0]: