玩转Matlab-Simscape(初级)- 10 - 基于COMSOLSimulink 凸轮机构的控制仿真

**

玩转Matlab-Simscape(初级)- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真

**


目录

    • 玩转Matlab-Simscape(初级)- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真
  • 前言
  • 一、简介
  • 二、在Solidworks中创建3D模型,并导入Simulink
    • 2.1 Solidworks中建模
    • 2.2 、将xml模型导入simulink
  • 三、在COMSOL中创建模型,并导入Simulink
    • 3.1 模型简介
    • 3.2 模型搭建
    • 3.3 在Simulink中创建模型
  • 总结


前言

在产品开发中,多体动力学控制仿真是一种常见方法,本文从初学者的角度一点点掀开应用Maltab simscape对多体进行仿真的面纱。写这篇博文是为后续做旋翼无人机的多体系统仿真打基础。欢迎各位小伙伴关注、赞赞、留言和收藏。
本文进一步深入学习构建复杂一点点的凸轮机构的建模过程。


一、简介

本文研究柴油机气门机构。该系统所有组成零件全部假定为刚体。模型的输出包括气门从动件的位移和速度,模型输入为旋转凸轮转速。凸轮3D结构如下所示。

在这里插入图片描述

二、在Solidworks中创建3D模型,并导入Simulink

2.1 Solidworks中建模

当我们按照从下到上的方式,将一个个创建完零件再装配起来。
该机构的运动组件是:

  • 凸轮和凸轮轴
  • 气门
    固定组件是:
  • 导程、销轴、凸轮轴承

有时候从Solidworks中利用插件导出*.xml文件时会遇到一些问题,如在装配体中,如果使用“凸轮配合相切”、‘铰链’等配合方式来联结3D模型汇总的凸轮与推杆,摇臂与销轴时,会在导出Samscape Multibody模型的xml文件时出错。如下图所示。
在这里插入图片描述
在这里插入图片描述
这通常意味着你正在尝试导出的某些约束类型不被Simscape Multibody所支持。Simscape Multibody支持多种标准的机械约束,如固定连接、铰链、滑块、齿轮等,但对于一些更复杂或自定义的约束,如机械配合中涉及的“凸轮配合相切”,可能无法直接转换成Simscape Multibody中可用的约束类型。
解决方法1:忽略这种错误
手动创建凸轮:•在MATLAB/Simscape Multibody环境中,使用内置的凸轮组件(如果有的话)来重新创建凸轮机构。这可能需要手动输入凸轮轮廓的数据。
解决方法2:在SW中用其他约束来替换“凸轮配合相切”这种约束尝试使用Simscape Multibody支持的标准约束来代替你的凸轮配合。
这两种方法都不太友好,后续我对SimSacpe了解多了,再补上这块内容。

2.2 、将xml模型导入simulink

在matlab 命令窗中,利用命令smimport(‘*.xml’)语句,导入在SW中生成的xml模型文件,并运行仿真。

三、在COMSOL中创建模型,并导入Simulink

上面2.1 ~2.2讲到的方式,对于新手处理起那些复杂模型问题来,非常困难,下面讲述另一种简单的方法。

3.1 模型简介

该机构中,凸轮旋转是指定的,弹簧联结到气门,以限制其运动,由此,可以计算给定凸轮转速条件下,从动件的位移、速度和加速度;计算凸轮-推杆的连接力(单独在comsol中求解这个力是很容易收敛的,但与simulink进行协同仿真时,很难收敛。协同仿真时,我把求解连接力这部分给取消了,协同仿真模型很容易得到了收敛)。
将弹簧安装到气门上的目的是迫使气门跟随凸轮的轮廓运动,并避免凸轮与气门之间的间歇性接触。因此,弹簧刚度的最佳值是使凸轮与从动件始终保持接触,同时,使凸轮轴旋转所需的扭矩最小。

3.2 模型搭建

  • 将Solidworks中创建的CamFollwer装配体模型导入进COMSOL几何中。在这里插入图片描述

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

  • 划分网格

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

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

注意:
1.在COMSOL中如果要输出协同仿真模块(Cosimulation for Simulink节点),一般需要先创建“全局变量探针”,该探针变量用于探测模型的输入量、输出量在整个求解过程中的变化。
2.“研究”设置中“辅助扫描”功能,不支持协同仿真模块(Cosimulation for Simulink)的导出,因此,在“研究”中,不能设置“辅助扫描”参数。

3.3 在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进行协同仿真的整个建模流程。一种方法,从SW将3D模型导入Matlab Simscape中,另一种方法,将3D模型从SW导入Comsol生成协同仿真模块,再进入Simulink进行控制仿真;两种方法各有长短。后续会一步步再深入研究。【赠人玫瑰,手留余香】欢迎各位小伙伴关注、赞赞、留言和收藏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PPT可以转换成Word吗?归纳了三种转换方式

PPT可以转换成Word吗?在当今快节奏的工作和学习环境中,不同格式文件之间的转换变得日益重要。PPT作为演示文稿制作的首选工具,广泛应用于会议演讲、教育培训等多个场景,而Word则是文档编辑与编排的基石。为了便于进一步编辑、分享…

远程桌面无法连接,远程桌面连接登录没有成功

在信息技术领域,远程桌面连接作为一种便捷的管理和操作工具,对于企业和个人用户而言都具有极其重要的价值。然而,在实际使用过程中,远程桌面无法连接的问题时常出现,这不仅影响了工作效率,还可能对数据安全…

房间灰尘多怎么办?资深保洁推荐除尘最有效的空气净化器

家中的灰尘问题一直是许多人的烦恼,尤其是对尘螨过敏的人来说,灰尘简直是“心头之患”。常言道:“家有尘埃,心头有累。”每天打扫灰尘成了许多人的烦恼,尤其是对尘螨过敏的人来说,灰尘简直是“心头之患”。…

酷得智能 电子方案开发 单片机方案定制

手持小风扇电子方案开发,东莞酷得智能科技有限公司为您服务 东莞市酷得智能科技有限公司 在消费类电子市场深耕多年,依托于市场团队对市场的敏锐度、工程团队的技术积累、结合自身的创新以及和上游原厂深度合作,在2.4G通信、BLE、语音、马达…

基于TCAD与紧凑模型结合方法探究陷阱对AlGaN/GaN HEMTs功率附加效率及线性度的影响

来源:Investigation of Traps Impact on PAE and Linearity of AlGaN/GaN HEMTs Relying on a Combined TCAD–Compact Model Approach(TED 24年) 摘要 本文提出了一种新型建模方法,用于分析GaN HEMTs的微波功率性能。通过结合工…

Vue 表格动态添加行/删除行

<template><div class"elife-container"><el-row :gutter"10" class"mb8"><el-col :span"1.5"><el-button type"primary" plain size"mini" click"handleAdd">新增</…

企业微信集成策略:打破壁垒,驱动企业数字化转型

随着全球化和数字化的快速推进&#xff0c;企业如何在激烈的市场竞争中脱颖而出&#xff0c;成为每个企业家和决策者关注的焦点。腾讯推出的企业微信&#xff0c;作为一款集沟通、协作、管理于一体的企业通讯与办公工具&#xff0c;正逐步成为企业数字化转型的得力助手。NetFar…

武汉工程大学24计算机考研数据,有学硕招收调剂,而专硕不招收调剂!

武汉工程大学是一所以工为主&#xff0c;覆盖工、理、管、经、文、法、艺术、医学、教育学等九大学科门类的多科性教学研究型大学&#xff0c;是湖北省重点建设高校、湖北省国内一流学科建设高校&#xff0c;入选卓越工程师教育培养计划、中西部高校基础能力建设工程、“新工科…

spring boot接入nacos 配置中心

再接入nacos配置中心时&#xff0c;需要确认几点&#xff1a; 1. spring boot 版本 (spring boot 2.x ) 2. nacos 配置中心 服务端 版本 (1.1.4) 3. nacos client 客户端版本 (1.1.4) 方式一 1. 启动 nacos 服务端&#xff0c;这里不做解释 在配置中心中加入几个配置 2. 在…

吴恩达机器学习 第三课 week1 无监督机器学习(下)

目录 01 学习目标 02 异常检测算法 2.1 异常检测算法的概念 2.2 基于高斯模型的异常检测 03 利用异常检测算法检测网络服务器的故障 3.1 问题描述 3.2 算法实现 3.3 问题升级 04 总结 01 学习目标 &#xff08;1&#xff09;理解异常检测算法&#xff08;Anomaly Dete…

详解工业网关在线探测功能及用途

详解工业网关在线探测功能及用途 工业网关作为工业物联网&#xff08;IIoT&#xff09;架构中的关键组件&#xff0c;扮演着桥梁的角色&#xff0c;它连接了现场的各类传感器、执行器以及更高级别的云平台或企业系统。在线探测功能是工业网关诸多能力中的一项重要特性&#xf…

2024年文化、艺术设计与社会科学国际学术会议(ICCADSS 2024)

2024年文化、艺术设计与社会科学国际学术会议&#xff08;ICCADSS 2024&#xff09; 重要信息 会议官网&#xff1a;http://www.iccadss.com 会议地址&#xff1a;北京 收录检索&#xff1a;EI,CPCI,CNKI,Google Scholar 投稿邮箱&#xff1a;society_info163.com 投稿标题&am…

clean code-代码整洁之道 阅读笔记(第十一章)

第十一章 系统 “复杂要人命,它消磨开发者的生命&#xff0c;让产品难以规划、构建和测试。” --RayOzzie&#xff0c;微软公司首席技术官 11.1 如何建造一个城市 每个城市都有一组组人管理不同的部分&#xff0c;有些人负责全局&#xff0c;其他人负责细节。 城市能运转&#…

如何解决 torch.cuda.is_available()是False

目录 1. 问题2. 解决方法2.1 安装torch的CUDA版本2.1.1 查看安装的torch是什么版本2.1.2 下载GPU版本的torch 2.2 安装 NVIDIA CUDA2.2.1 下载CUDA Toolkit2.2.2 安装CUDA Toolkit 最终效果 1. 问题 在Python中&#xff0c;使用Pytorch时&#xff0c;往往会选择使用CUDA模块&a…

行业唯一!三翼鸟场景品牌战略推动价值凸显

文 | 智能相对论 作者 | 佘凯文 当你的一只羊跑进别人的羊群中&#xff0c;怎么才能找到它&#xff1f; 从前人们为了区分自己的财产&#xff0c;会用烧红的铁块印在动物身上作为标记。在中世纪的欧洲&#xff0c;手工艺匠人用这种烧灼的方法在自己的手工艺品上烙下标记&…

「Python-docx 专栏」docx 设置页面边距、页眉页脚高度

本文目录 前言一、docx 页面边距在哪里二、对 <w:pgMar> 的详细说明1、上边距的说明2、右边距的说明3、下边距的说明4、左边距的说明5、页眉高度的说明6、页脚高度的说明三、设置 docx 页边距、页眉页脚高度1、完整代码2、代码执行效果图四、补充一些内容1、页面边距的两…

[面试题]RabbitMQ

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

成为AIGC人才,是职场人当下的必修课?

随着科技的飞速进步&#xff0c;人工智能和机器学习技术正逐渐渗透到我们生活的每一个角落&#xff0c;其中&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;更是以其独特的魅力和广泛的应用前景&#xff0c;成为当下科技领域的热门话题。在这样的背景下&#xff0c;…

Matlab个性化绘图第3期—带三维球标记的折线图

前段时间有会员在群里问该如何绘制下面这种带三维球标记的折线图&#xff1a; 本期内容就来分享一下带三维球标记的折线图的Matlab绘制思路。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载。有需…

JavaScript的学习之旅(6.20)

目录 一、认识三个常见的js代码 二、js写入的第二种方式 三、js里内外部文件 一、认识三个常见的js代码 <script>//写入js位置的第一个地方// 控制浏览器弹出一个警告框alert("这是一个警告");// 在计算机页面输入一个内容&#xff08;写入body中&#xff…