Main Content

单液压缸仿真

此示例说明如何使用 Simulink® 对液压缸进行建模。您可以将这些概念应用于需要液压行为建模的应用中。请参阅两个相关示例,它们使用相同的基本组件:具有负载约束的四缸模型两缸模型

  • 注意:这是一个基本液压示例。您可以使用 Simscape™ Driveline™ 和 Simscape Fluids™ 更轻松地构建液压和汽车模型。

  • Simscape Fluids 提供用于流体系统建模和仿真的组件库。它包括泵、阀门、作动器、管道和热交换器的模型。您可以使用这些组件开发液压驱动系统,如前装载机、动力转向和起落架作动系统。引擎冷却和燃油供应系统也可以用 Simscape Fluids 开发。您可以使用 Simscape 产品系列中提供的组件来集成机械、电气、热力和其他系统。

  • Simscape Driveline 提供用于一维机械系统建模和仿真的组件库。它包括旋转和平移部件的模型,如蜗轮、行星齿轮、丝杠和离合器。您可以使用这些组件对直升机传动系统、工业机械、车辆动力总成系统和其他应用中的机械动力传输进行建模。还包括汽车部件,如发动机、轮胎、传动系统和变矩器。

模型的分析与物理原理

图 1 显示基本模型的示意图。该模型将泵流量 Q 引导至供应压力 p1,层流 q1ex 从供应压力泄漏至排气。活塞/缸组件的控制阀建模为通过可变面积孔口的紊流。其流量 q12 导致中间压力 p2,该压力随后在连接到作动器缸的管路中下降。缸压力 p3 克服弹簧负载移动活塞,从而产生位置 x

图 1:基本液压系统示意图

在泵输出端,流量分为泄漏流量和流向控制阀的流量。我们将泄漏 q1ex 建模为层流(参见方程模块 1)。

方程模块 1

$$Q=q_{12}+q_{1ex}$$

$$q_{1ex}=C_2 \cdot p_1 $$

$$p_1=\frac{(Q-q_{12})}{C_2}$$

$$ Q = \mbox{ pump flow}$$

$$ q_{12} = \mbox{ control valve flow}$$

$$ q_{1ex} = \mbox{ leakage}$$

$$ C_2 = \mbox{ flow coefficient}$$

$$ p_1 = \mbox{ pump pressure}$$

我们用孔口方程对通过控制阀的紊流进行建模。符号函数和绝对值函数适用于任一方向的流量(参见方程模块 2)。

方程模块 2

$$q_{12}=C_d \cdot A \cdot sgn(p_1-p_2) \cdot \sqrt{\frac{2}{\rho}|p_1-p_2|}$$

$$ C_d = \mbox{ orifice discharge coefficient} $$

$$ A = \mbox{ orifice area} $$

$$ p_2 = \mbox{ pressure downstream of control valve} $$

$$ \rho = \mbox{ fluid density} $$

流量 q12 = q23 减去活塞运动的柔度使得缸内的流体增压。在本例中,我们还对流体可压缩性进行了建模(参见方程模块 3)。

方程模块 3

$$\frac{dp_3}{dt}=\frac{\beta}{V_3} \left(q_{12}-A_c \frac{dx}{dt}\right)$$

$$V_3=V_{30} + A_c \cdot x$$

$$ p_3 = \mbox{ piston pressure} $$

$$ \beta = \mbox{ fluid bulk modulus} $$

$$ V_3 = \mbox{ fluid volume at } p_3 $$

$$ V_{30}= \mbox{ fluid volume in the piston for } x = 0 $$

$$ A_c = \mbox{ cylinder cross-sectional area} $$

由于液压力较大,活塞和弹簧质量忽略不计。我们通过对这种关系进行微分,并结合 p2p3 之间的压降,完成了方程组。方程模块 3 对从阀门到作动器的管路中的层流进行建模。方程模块 4 给出了活塞处的力平衡。

方程模块 4

$$x=p_3\frac{A_c}{K}$$

$$\frac{dx}{dt}=\frac{dp_3}{dt} \frac{A_c}{K}$$

$$q_{23}=q_{12}=C_1 \left( p_2-p_3 \right)$$

$$ p_2=p_3 + \frac{q_{12}}{C_1} $$

$$ K = \mbox{ spring constant} $$

$$ C_1 = \mbox{ laminar flow coefficient} $$

建模

图 2 显示模型的顶层图。泵流量和控制阀孔口面积是仿真输入。该模型由两个子系统组成:Pump 和 Valve/Cylinder/Piston/Spring Assembly。

打开模型并运行仿真

打开此模型,请在 MATLAB® 终端中键入 sldemo_hydcyl(如果您正在使用 MATLAB 帮助,可以点击超链接)。按下模型工具栏上的播放按钮以运行仿真。

该模型将相关数据记录到 MATLAB 工作区中的 Simulink.SimulationOutput 对象 out。信号记录数据存储在 out 对象中名为 sldemo_hydcyl_output 的结构体中。记录的信号有蓝色指示符(参见模型)。有关详细信息,请参阅 可视化和访问信号记录数据

图 2:单缸模型及仿真结果

Pump 子系统

右键点击 Pump 封装子系统,并选择封装 > 查看封装内部。泵模型将供应压力计算为泵流量和负载(输出)流量的函数(图 3)。Qpump 是泵流量数据(保存在模型工作区中)。包含时间点列向量和对应流速 [T, Q] 的矩阵指定流量数据。该模型计算压力 p1,如方程模块 1 中所示。由于 Qout = q12p1 的直接函数(通过控制阀),因此形成了一个代数环。对初始值的估计值 p10 可得到更高效的解。

图 3:Pump 子系统

我们在 Simulink 中封装了 Pump 子系统,以允许用户轻松访问参数(参见图 4)。要指定的参数是 TQp10C2。然后,我们给封装模块分配了图 2 中所示的图标,并将其保存在 Simulink 库中。

图 4:输入泵参数

Valve/Cylinder/Piston/Spring Assembly 子系统

右键点击 Valve/Cylinder/Piston/Spring Assembly 子系统,选择封装 > 查看封装内部查看 Actuator 系统(参见图 5)。微分代数方程组用压力 p3 对缸增压进行建模,该压力在方程模块 3 中显示为导数,并用作状态(积分器)。如果我们忽略活塞质量,弹簧力和活塞位置则直接是 p3 的倍数,速度则直接是 p3 的时间导数的倍数。后一种关系形成围绕 Beta 增益模块的代数环。中间压力 p2p3 与从阀门流向缸的压降之和(参见方程模块 4)。这种关系还通过控制阀和 1/C1 增益施加代数约束。

控制阀子系统计算孔口(参见方程模块 2)。它使用上游和下游压力以及可变孔口面积作为输入。Control Valve Flow 子系统计算有符号平方根:

$$y=sgn(u)\sqrt{|u|}$$

使用三个非线性函数,其中两个是不连续的。然而,在组合中,yu 的连续函数。

图 5:valve/cylinder/piston/spring 子系统

结果

仿真参数

我们使用以下数据对该模型进行了仿真。该信息是从 MAT 文件 sldemo_hydcyl_data.mat 加载的,该文件也用于其他两个液压缸模型。用户可以通过图 4 和图 6 中 Pump 和 Cylinder 子系统的封装输入数据。

$$ C_d = 0.61 $$

$$ \rho = 800 kg/m^3 $$

$$ C_1 = 2e-8 m^3/sec/Pa $$

$$ C_2 = 3e-9 m^3/sec/Pa $$

$$ \beta = 7e8 Pa $$

$$ A_c = 1e-3 m^2 $$

$$ K = 5e4 N/m $$

$$ V_{30} = 2.5e-5 m^3 $$

T = [0 0.04 0.04 0.05 0.05 0.1 ] sec

Q = [0.005 0.005 0 0 0.005 0.005] m^3/sec

图 6:输入 valve/cylinder/piston/spring 装配参数

绘制仿真结果

系统最初的泵流量为 0.005 m^3/sec=300 l/min,在 t=0.04 sec 突然降至零,然后在 t=0.05 sec 恢复为其初始流速。

控制阀从零孔口面积开始,在 0.1 sec 仿真时间内逐渐变为 1e-4 sq.m.。当阀门关闭时,所有泵流量都会泄漏,因此初始泵压增加到 p10 = Q/C2 = 1667 kPa

当阀门打开时,压力 p2p3 增加,而 p1 随着负载的增加而降低,如图 7 所示。当泵流量切断时,弹簧和活塞就像蓄能器一样工作,并且 p3 持续下降。然后流量反向流动,因此 p2(虽然相对接近 p3)却突然下降。在泵本身,所有回流均泄漏,并且 p1 急剧下降。随着流量的还原,行为会发生逆转。

活塞位置与 p3 成正比,液压和弹簧力在此处保持平衡。在 0.04 秒和 0.05 秒处速度的不连续性表明质量可以忽略不计。当所有泵流量再次泄漏时,该模型达到稳定状态,这是由于现在控制阀上的压降为零(这意味着 p3 = p2 = p1 = p10)。

图 7:仿真结果:系统压力

图 8:仿真结果:液压缸活塞位置

关闭模型

关闭模型并清除生成的数据。

相关示例

详细信息