AnyMath 文档
Notebook

一维环境下LVDT传感器的仿真

线性可调差动变压器(LVDT-Linear Variable Differential Transformer)是一种将物体的线性运动转换为交流电电信号的机电转换器。 在结构上,传感器由一个初级绕组、两个相同的次级绕组和一个可移动的铁磁芯(棒)组成。

mini_LVDT(1).png

模型的一般视图

LVDT.png
磁芯(上图)在初级绕组(右、下)和次级绕组(左)内按任意规律移动。

感应的物理定律

当对初级绕组施加交变电压时,其周围产生交变磁场,感应电动势。 基于法拉第电磁感应定律的二次绕组:

es.png

其中e_s是次级绕组中的感应电动势,i_p是初级电路中的瞬时电流,M是绕组之间的互感,取决于铁芯的几何形状和位置。

电感器的差分原理和平衡

LVDT次级绕组对称缠绕并串联(差分)。 这意味着传感器输出端的电压等于两个次级绕组之间的电压差。:

vout.png

当铁磁芯严格位于中心(在零位置,x=0)时,穿透两个次级线圈的磁通量相等。 因此,它们的互感器相等。:

M.png

在该位置,感应电压完全相互抵消,差值信号为零。 这种状态称为传感器的电零。

当磁芯偏移量x时,线圈的重叠面积线性变化,这导致互感系数成比例变化。*:

M2.png

其中k是灵敏度系数(耦合的陡度),以亨利每米(Gn/m)或亨利每毫米(Gn/mm)表示。

*在一维物理模型中,没有有限元计算磁场在空间中的分布。 为此,通过现象学系数M(x)解析地描述了轮廓的相互影响。 电感严格线性变化的公认假设**x坐标对于传感器的工作区域(x<=±10mm)是有效的,因为其中的散射通量最小,并且穿透每个次级线圈的铁磁芯的体积与杆的运动成正比。

二次绕组电压的计算

次级绕组不是使用标准的无源变压器,而是使用受控电动势源(受控电压源)进行建模。 用于控制这些源的电压在每个积分步骤中根据法拉第定律和获得的解析耦合系数动态计算。:

vs2.png

模型中二次绕组电压的计算在子系统模块中执行:

LVDT_Подсистема.png

让我们打开模型并绘制传感器测量值。

In [ ]:
modelName = "LVDT"
if !(modelName in [m.name for m in engee.get_all_models()]) engee.load( "$(@__DIR__)/$(modelName).engee"); end;
data = engee.run( modelName )
Out[0]:
SimulationResult(
    run_id => 3,
    "Meas_Value" => WorkspaceArray{Float64}("LVDT/Meas_Value")
,
    "Voltage" => WorkspaceArray{Float64}("LVDT/Voltage")
,
    "Перемещение" => WorkspaceArray{Float64}("LVDT/Перемещение")
,
    "Input_Disp" => WorkspaceArray{Float64}("LVDT/Input_Disp")
,
    "Константа.1" => WorkspaceArray{Float64}("LVDT/Подсистема/Константа.1")

)
In [ ]:
# 1. 提取源数据
Meas_Value = vec(collect(WorkspaceArray{Float64}("$modelName/Meas_Value")).value)
Input_Disp = vec(collect(WorkspaceArray{Float64}("$modelName/Input_Disp")).value)
Voltage = vec(collect(WorkspaceArray{Float64}("$modelName/Voltage")).value)
time_raw = collect(WorkspaceArray{Float64}("$modelName/Input_Disp")).time

# 2. 一般图(p1,p2,p3)的细化步骤的计算
target_dt = 0.0001
initial_dt = time_raw[2] - time_raw[1] # 修正了时间步长的定义
step_size = round(Int, target_dt / initial_dt)

if step_size < 1
    step_size = 1
end

# 3. 概述图的细化
time_ds = time_raw[1:step_size:end]
Input_Disp_ds = Input_Disp[1:step_size:end]
Voltage_ds = Voltage[1:step_size:end]
Meas_Value_ds = Meas_Value[1:step_size:end]

# 4. 制图
# 我们基于精简数据(_ds)构建通用图
p1 = plot( time_ds, Input_Disp_ds, title= "核心位移,m")
p2 = plot( time_ds, Voltage_ds, title="未过滤电压,V", linecolor = :orange)
p3 = plot( time_ds, Meas_Value_ds, title="测量电压,V", linecolor = :red)

# P4图(缩放)是基于初始数据(time_raw,电压)而没有变细
p4 = plot( time_raw, Voltage, title="未过滤电压(变焦),V", linecolor = :green, xlims =(1, 1.001))

# 布局
plot( p1, p2, p3, p4, layout=(2,2), leg=false, size=(1200,600), titlefont=font(10) )
Out[0]:

结论

在AnyMath环境下开发的LVDT传感器的一维物理模型充分证实了电磁变换的理论规律。 将模型划分为物理绕组电路和基于实际电流变化(di/dt)的电动势数学计算,可以创建一个灵活的工具来设计自动控制系统和精确定位,而不需要在开发的初始阶段使用大量的有限元封装。