人在仿真软件万博1manbetx

万博1manbetxSimulink &基于模型的设计

在Simscape中创建自定义阀门

今天我想分享一个我喜欢使用的技术,当我需要在Simscape中创建自定义液压组件。

这个问题

我经常从用户那里得到以下类似的问题:

我需要做一个先导操作止回阀的模型。街区应该像先导式止回阀附带SimHydraulics:

simhydraulic先导操作止回阀

然而,我所寻找的行为略有不同。我从供应商那里得到的唯一数据如下图当飞行员的压力端口,乘以飞行员比,较小的压力端口B,阀门应该像曲线4只允许流形式A到B试点港口的压力变大时,阀门应该在驾驶模式,让流在两个方向上,虚曲线的特点

先导操作止回阀数据表

解决方案概述

因为我们所有的都是流量-压力曲线,所以我们将使用一种类似于固定孔经验

这种方法包括传感压力和施加流量。对于一个简单的孔,实现如下:

实证孔实现

对于我们的Pilot Valve,我们将需要感知不同的压力,我们将需要使用两个查找表,每个模式一个。

获得数据

我们需要做的第一件事就是从数据表中获取数据。为此,我喜欢用a文件交换提交《数据的小偷通过Adnan

这个提交非常容易使用。如果您的数据表是PDF格式,请截屏并将其保存为图像文件,例如PNG文件.然后,您可以通过传递图像文件的名称和曲线的极限值来调用Data Thief函数。在我的例子中,压力轴的最大值是28 bar,原点是0 bar, 0 l/min,最大流量是150 l/min。一个图形会弹出,你点击最大y,原点,最大x,然后你想提取的点。完成后,按回车键,函数将返回指定输出变量中的x和y值。

一旦我得到数据,我需要准备数据,这样我就可以覆盖整个范围。在这种情况下,我需要镜像曲线以允许双向流动。在非先导情况下,我需要将裂化压力以下的所有范围的流量设置为零。代码如下:

准备数据

这为我们的模型提供了所需的数据。

选项1:使用块

现在我们可以用两种方式使用这些数据。如果您更喜欢以图形方式连接块,则此选项适合您。使用块像压力传感器,一个Simscape查找表和一个流源,以及来自图书馆物理信号部分的其他一些人,我们可以得出以下结论:

阀子系统

当指定xy值的查找表,小心单位。中的值需要接收和输出标准米千克秒制,这里表示帕斯卡和米立方每秒,而我们从数据表中得到的数据是bar和l/min。

还有一件事要注意,我插入了一个非常小的孔平行于流源。这是为了确保我们的定制阀门永远不会产生精确的零流量。这在数值上表现不好。

选项2:自定义Simscape组件

有助于更容易管理单元的第二个选项是Simscape复合组件。使用这种方法,在组件段中,声明要使用的块,并在连接节时,定义它们是如何连接在一起的。在设置部分中,可以使用价值函数指定传递给查找表块的值应该以Pascal和m^3/sec为单位。通过这样做,用户可以在他想要的任何单位中指定值,并且我们会自动处理转换。

代码如下所示:

使用复合组件创建的阀门

结果

为了测试这个阀门,我创建了一个模型来测试阀门的整个有效性范围。

测试模型

我们可以看到,当阀门被引导时,流体可以朝两个方向流动,当不被引导时,它在10bar处破裂。

测试模型结果

现在轮到你了

如果你对这个话题感兴趣,我也推荐这个MATLAB中央文件交换提交.基于数据表的液压元件建模具有丰富的资源。

让我们知道您是如何在SimHydraulics中建模自定义组件的这里的评论

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。