找回密码
 注册
Simdroid-非首页
查看: 394|回复: 0

[15.分享让我牛B] 基于Comsol 和simulink 柴油机气门凸轮控制机构仿真

[复制链接]
发表于 2024-6-17 17:19:00 | 显示全部楼层 |阅读模式 来自 山东济南
本文研究柴油机气门机构。该系统所有组成零件全部假定为刚体。模型的输出包括气门从动件的位移和速度,模型输入为旋转凸轮转速。凸轮3D结构如下所示。



该机构中,凸轮旋转是指定的,弹簧联结到气门,以限制其运动,由此,可以计算给定凸轮转速条件下,从动件的位移、速度和加速度;计算凸轮-推杆的连接力(*单独在comsol中求解这个力是很容易收敛的,但与simulink进行协同仿真时,很难收敛。协同仿真时,我把求解连接力这部分给取消了,协同仿真模型很容易得到了收敛*)。

将弹簧安装到气门上的目的是迫使气门跟随凸轮的轮廓运动,并避免凸轮与气门之间的间歇性接触。因此,弹簧刚度的最佳值是使凸轮与从动件始终保持接触,同时,使凸轮轴旋转所需的扭矩最小。

一、3D模型搭建

将Solidworks中创建的CamFollwer装配体模型导入进COMSOL几何中。



在“多体动力学”物理场节点中设置刚性材料、固定约束条件、运动副(凸轮从动件、铰链关节、槽关节)、 指定凸轮轴旋转运动,气门运动添加弹簧、添加重力

划分网格

在COMSOL中创建Simulink协同仿真块(Cosimulation for Simulink)

创建全局变量探针,用于指定协同仿真块的输入、输出量
再次求解comsol模型,确保模型能正常求解
设置协同仿真块输入输出参数
导出生成*.fmu协同仿真文件,供Simulink调用

注意:

1.在COMSOL中如果要输出协同仿真模块(Cosimulation for Simulink节点),一般需要先创建“***全局变量探针***”,该探针变量用于探测模型的输入量、输出量在整个求解过程中的变化。

2.“研究”设置中“辅助扫描”功能,不支持协同仿真模块(Cosimulation for Simulink)的导出,因此,在“研究”中,不能设置“辅助扫描”参数。

二、 在Simulink中创建模型
注意:1.需要通过登入进入Matlab Simulink平台,不支持手动建立Simulink与COMSOL的连接,否则在Simulink中添加Comsol协同仿真模块时,在Simulink Library中不显示Comsol协同仿真模块,如下图所示。

创建一个简单的控制模型,并运行仿真,如下图所示。
运行结果如下,在simulink和comsol中结果一致。
接下来,在Matlab 命令窗口中输入“mphlaunch”,打开Comsol,我们可以继续利用comsol对数据结果进行后处理,也可以进一步完善优化控制器,达成设计目的。

需要注意的是:在运行仿真时,计算不收敛是常见的问题,尝试在simulink–Model Settings中对求解器进行设置,comsol中对求解器进行设置,一般可以解决问题。
以上就是今天分享的关于Matlab Simulink 与comsol协同仿真的内容,搭建了一个柴油机控制气门开闭的凸轮机构的模型,进一步熟悉了利用SW、Comsol、Matlab Simulink进行协同仿真的整个建模流程。
【赠人玫瑰,手留余香】欢迎各位小伙伴关注、赞赞、留言和收藏。



https://blog.csdn.net/lichuanxichina/article/details/139473469?spm=1001.2014.3001.5501
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-8 08:52 , Processed in 0.026562 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表