Engee 文档
Notebook

钢淬火时的温度测量

此示例演示了如何使用"热电偶"单元来模拟淬火过程中钢的温度测量。

在淬火期间,将钢加热到再结晶温度以上的温度,然后通过浸入液体中快速冷却。 由于温度较高,无法使用传统的温度测量仪器(热敏电阻或半导体温度传感器,液体温度计)。 为了在如此恶劣的条件下测量温度,工业和实验室使用热电偶将热电势差转换为电势差。

模型概述

打开模型 thermocouple_quenching.

In [ ]:
cd(@__DIR__) # 转到带有示例的文件夹
engee.open("thermocouple_quenching.engee");
image.png

在这个模型中,"热质量"块模拟一个钢瓶加热到850°C的初始温度。"恒体积室"块模拟一个淬火浴,并通过强制对流将钢瓶冷却到20°c。

图形的计算和输出

在这个计算实验中,我们将改变不同块的参数。 为了以防万一,我们将再次设置初始参数,我们得到第一个结果。

In [ ]:
engee.set_param!("热电偶/热电偶", "parameterization"=>"Type K (t≥0 degC)")
engee.set_param!("热电偶/热电偶", "C_vector"=>"TypeK_Cvec")
engee.set_param!("热电偶/单个变量的表格函数",
"Table"=>"TypeK_degC", "BreakpointsForDimension1"=>"TypeK_Volts")
engee.set_param!("热电偶/对流传热",
"h" => Dict("value" => 4000, "unit" => "W/(m^2*K)"))

让我们执行模型:

In [ ]:
data = engee.run("thermocouple_quenching")
plot(data["TemperatureOut"].time, data["TemperatureOut"].value, leg=false, lw=2)
Out[0]:

"1-D搜索表"块将"热电偶"块的输出电压连接到温度刻度,也就是说,它允许您将伏特转换为度。 让我们输出热电偶温度与气缸温度的时间依赖性的对数图,并确保计算值和实际值匹配。

In [ ]:
tempOut = data["TemperatureOut"]
tempCylinder = data["热质量。T"]
plot( tempOut.time, tempOut.value, xaxis = (:log10, [10^-1, :auto]), lw=2 )
plot!( tempCylinder.time, tempCylinder.value .- 273.15, c=:red, ls=:dash, lw=2 )
Out[0]:

正如我们所看到的,转换为摄氏度后,图表非常匹配。

让我们看看罐内液体的温度是如何变化的。

In [ ]:
tempVolume = data["定体积照相机(TJ)。T"]
plot( tempVolume.time, tempVolume.value .- 273.15,
xaxis = (:log10, [10^-1, :auto]), lw=2, ls=:dashdot, leg=false )
Out[0]:

导热液体特性的模型受最高温度的限制,因此,为了避免过热,在模型中规定了冷却罐的体积和罐与环境之间的界面("罐"块)的体积足够大的值。

我们看到液体达到52.1°C(325.3K)的温度,保持在以下值设定的允许范围内:

In [ ]:
maxTemp = engee.get_param("热电偶/导热液体的性质(TJ)", "T_max_2D");
minTemp = engee.get_param("热电偶/导热液体的性质(TJ)", "T_min_2D");
println("最高允许温度: ", maxTemp["value"], maxTemp["unit"])
println("最低允许温度: ", minTemp["value"], minTemp["unit"])
Максимальная допустимая температура: 363.16K
Минимальная допустимая температура: 273.16K

更改为S型热电偶(TPP10)

目前,"热电偶"单元的参数对应于K型热电偶(TCA),该单元的非线性特性可在NIST ITS-90数据库中找到[1]。 我们将保存结果以供以后比较。:

In [ ]:
TypeK_tout = tempOut;
TypeK_vout = data["热电偶。p.v"];

来计算S型热电偶(TPP10)。 让我们将热电偶装置切换到另一种模式。:

In [ ]:
engee.set_param!("热电偶/热电偶", "parameterization"=>"Type B, E, J, K (t≤0 degC), N, R, S or T")

我们将用S型热电偶的可用系数代替热电偶模型的系数。:

In [ ]:
engee.set_param!("热电偶/热电偶", "C_vector"=>"TypeS_Cvec")

此外,我们将非线性校正块中的表格("一个变量的表格函数")更改为适当的表格。:

In [ ]:
engee.set_param!("热电偶/单个变量的表格函数",
"Table"=>"TypeS_degC", "BreakpointsForDimension1"=>"TypeS_Volts")

让我们运行这个模型,并保存结果进行比较。:

In [ ]:
data = engee.run("thermocouple_quenching")
plot(data["TemperatureOut"].time, data["TemperatureOut"].value, leg=false, lw=2)
Out[0]:
In [ ]:
TypeS_tout = data["TemperatureOut"];
TypeS_vout = data["热电偶。p.v"];

现在我们可以推导出两种类型热电偶的输出特性。:

In [ ]:
plot( TypeS_vout.time, TypeS_vout.value, xaxis = (:log10, [10^-1, :auto]), ls=:dashdot, lw=2, label="S型" )
plot!( TypeK_vout.time, TypeK_vout.value, c=:red, ls=:dash, lw=2, label="K型" )
Out[0]:

不同类型热电偶正输出端的电压不同。 但在输出端计算的温度测量值是相同的。

In [ ]:
plot( TypeS_tout.time, TypeS_tout.value, xaxis = (:log10, [10^-1, :auto]), ls=:dashdot, lw=2, label="S型" )
plot!( TypeK_tout.time, TypeK_tout.value, c=:red, ls=:dash, lw=2, label="K型" )
Out[0]:

改变传热特性

在这个例子中,"热质量"块的参数"比热容系数"和"对流传热"块的"传热系数"是在水中钢瓶工业硬化的比例模型的实验室研究中获得的估计值[2]。

为简单起见,将这些参数设置为常量。 为了获得更准确的结果,有必要将它们设置为温度的函数(如果有数据可用),但有一种更简单的方法。 您可以使用这些参数的不同值运行模拟,并获得一系列估计值。

将"对流传热"块中的参数"传热系数"设置为4000。

In [ ]:
engee.set_param!("热电偶/对流传热",
"h" => Dict("value" => 2000, "unit" => "W/(m^2*K)"))

让我们运行模型并构建一个图表。

In [ ]:
data = engee.run("thermocouple_quenching")

tempOut4000 = TypeK_tout;
tempOut2000 = data["TemperatureOut"]
plot( tempOut2000.time, tempOut2000.value, ls=:dash, lw=2, label="2000 W/(K*m)^2" )
plot!( tempOut4000.time, tempOut4000.value, c=:red, xaxis = (:log10, [10^-1, :auto]), lw=2, label="4000 W/(K*m)^2", ls=:dashdot )
Out[0]:

结论

该模型旨在使用热电偶精确测量淬火期间钢的温度,而传统传感器无法工作。 为了改进结果,您需要使用传热系数与温度的实际依赖关系,而不是常数值。

参考书目

[1]Angela Y.Lee,NIST ITS-90热电偶数据库-SRD60,国家标准与技术研究所,2000年。 https://data.nist.gov/od/id/ECBCC1C1302A2ED9E04306570681B10748

[2]Hasan,H.S.,M.J.Peet,J.M.Jalil和H.K.D.H.Bhadeshia。 "钢淬火时的传热系数。"热和传质47,no.3(2011年3月):315-21。 https://doi.org/10.1007/s00231-010-0721-4