简介:本文将从以下几方面讲述(同时说明一下,我所使用的的软件版本分别为solidworks2016,adams2017,matlab2018a)该文章用到的相关文件在该连接中 链接https://pan.baidu.com/s/1Sv5wVeCF0CqMGv2waMdoMg 提取码:gvfr

  • solidworks建模和导出
    • 一、slidworks建模
    • 二、模型导出
      • 1.保存
      • 2.导出
  • adams模型导入和控制系统搭建和导出
    • 一、 adams模型导入
      • 1.打开Adams,点新建模型
      • 2.确定相关设置
      • 3.导入Parasolid文件
        • (1)选择目录中的文件>导入
        • (2)选择文件类型
        • (3)读取文件
        • (4)模型名称
        • (5)点击确定
        • (6)保存模型
    • 二、运动副添加
      • 1.添加转动副
    • 三、添加驱动
    • 四、系统单元创建
      • 1.驱动系统单元创建
      • 2.角度系统单元创建
    • 五、系统单元与驱动之间的关系建立
    • 六、控制系统导出
  • simuilink模型搭建及与adams联合仿真
    • 一、前期准备工作
    • 二、simulink控制模型搭建
    • 三、运行

链接https://pan.baidu.com/s/1Sv5wVeCF0CqMGv2waMdoMg
提取码:gvfr)

solidworks建模和导出

一、slidworks建模

这里不详细讲解solidworks2016如何建模,提供一些模型相关数据,或者有需要的,我会在文章末位提供网盘链接,本文章所有需要的模型和文件都会提供给大家。同时提醒一个问题,若是你的装配体中含有同名文件,建议最好改成不同名称的,因为在Adams中会将同名文件视作一个零件,在后面的运动副添加中容易出现问题。同时最好先在solidworks中添加好材料属性后再导入到Adams,若是未添加,则会在adams中零件不出现质心坐标,影响后续的相关操作。当然材料属性也可以在adams中再添加也可以。
1.选择右视基准面进行草图绘制

2.两侧对称拉伸

3.任选一个端面进行草图绘制

4.拉伸

二、模型导出

1.保存

将建好的模型保存为英文名并保存为纯英文路径(adams不支持中文路径和中文零件名)

2.导出

本来adams支持solidworks的.SLDPRT和.SLDASM文件,但使用中发现adams对该种文件支持不好,在使用过程中问题频出。所以更换另外一种支持更好的文件格式Parasolid格式,后缀为.x_t
solidworks中选另存为Parasolid(.x_t)格式,选择一个纯英文路径保存

到这一步我们完成了基本的模型准备工作。

adams模型导入和控制系统搭建和导出

一、 adams模型导入

1.打开Adams,点新建模型

2.确定相关设置


工作路径也为全英文路径,模型名称可默认,也可以根据自己喜好重新设置,单位选择国际单位
设置好后点击确定

3.导入Parasolid文件

(1)选择目录中的文件>导入

(2)选择文件类型

在跳出的File Import中选择文件类型为Parasolid

(3)读取文件

在读取文件的框中右键,而后选择浏览到之前保存的Parasolid文件

(4)模型名称

在对应的文本框中右键,而后选择 模型>浏览

在跳出的Database Navigator中选取模型后确定

(5)点击确定

而后单击确定(不要点应用,否则可能会出现一些奇怪的问题,尤其是当你的导入文件中包含多个零件时)

(6)保存模型

该模型将保存到之前设置的工作路径之中

二、运动副添加

运动副为零件之间的相对运动关系,点击工具栏中的连接,就可以看到Adams提供的运动副类型,将鼠标悬停在每个图标上一段时间后,便会弹出对该图标的解释

点击右下角的工具栏中的黄色球图标为模型在线架和实体之间转换

1.添加转动副

点击转动图标

在右侧跳出的属性栏中设置如下

而后,在软件界面的左下角将会提示你如何选择,我们选择零件,大地(空白无零件区域),而后选择杆中心为运动副连接点

经过如上步骤我们添加完成运动副

三、添加驱动

过程与添加运动副一样
选择转动驱动

根据左下角提示,选择之前的转动副

可以在左侧查看运动副和驱动是否添加上

仿真
我们可以用adams内置的仿真模块,简单观察以下模型及相关运动副驱动的添加是否正常

点击后跳出,调整步数为500(步数若是太少,计算精度容易不足)

点击绿色箭头,仿真,观察该物体是否绕着中心旋转,若是未如此运动,请按之前的步骤,重新添加运动副和驱动

四、系统单元创建

1.驱动系统单元创建

作为外部控制数据的接入口
(1)更换到单元工具栏,选择系统单元中的第一个,x,创建系统单元

(2)在跳出的对话框中,将名称设置为motion1

(3)点击应用,可以在右侧看到,motion1系统单元创建成功

2.角度系统单元创建

作为内部数据输出至外部用于观察和控制系统的反馈
(1)设置名称为angle1

(2)点击F(time,…)右侧的设置按钮
(3)进入设置界面后,先选择右上角为完整名称,而后在下拉函数列表中选择位移

(4)在位移函数中,选择Angle about z(因为,我们当前所设置的转动副为绕z轴旋转,在xy平面内转动)

(5)在上方的 定义运行时间函数 的编辑框内可以看到选择后的函数形式为AZ( To_Marker , From_Marker )(记得删掉原始的那个0,否则会报错)

To_Marker为参考系中的运动点,From_Marker为参考系,及从一个点到另一个点的矢量的意思。
(6)选大地为From_Marker,该模型质心为To_Marker.在获取对象数据的右边文本框中鼠标右键单击>标记点>浏览

(7)在跳出的Database Navigator中选择PART2下的MARKER_1,然后点击确定

(8)点击插入名称,将该对象名称插入到函数中,完成To_Marker的插入

(9)同样的步骤,选择大地为From_Marker插入(记得两个Marker中间加逗号分开),添加完成后点击右下角的验证,软件会判断语法和你的添加是否正确


(10)点击确定
(11)在Modify State variable 对话框中点击确定

五、系统单元与驱动之间的关系建立

之前创建的motion1为外部数据的输入系统单元,但是,该系统单元还未与系统内的驱动建立联系。如下便是联系建立过程
(1)在 驱动 中找到之前添加的驱动MOTION_1,鼠标右键,在跳出的菜单中选择修改

(2)在跳出的Joint Motion对话框中,在 类型 下拉框中选择加速度,而后点击 函数(时间) 右侧的设置按钮,进入函数设置

(3)删除原始函数,在下拉函数中选择 数据单元

(4)在数据单元函数中 选择Algebraic Variable Value

(5) 将函数中的 Algebraic_Variable_Name 换系统单元 motion1,选取方法仍和之前的步骤一致

(6)选择motion_1,而后确定

(7)插入对象,验证正确后,确定

(8)点击确定

(9)保存(跳出的对话框中原意为:该文件已存在,是否创建备份保存,不创建备份,所以点否)

六、控制系统导出

(1)进入机械系统导出界面

(2)机械系统输入选择 motion1

(3)机械系统输出选择 angle1

(4)选择目标软件未matlab,分析类型为 非线性,Adams Solver选项 选择FORTRAN(adams解法器最初用该语言书写,支持较好),而后点击确定

(5)查看,在工作路径下,便会导出相关文件(最后一个.bin文件为adams模型文件,不是控制系统导出文件)

simuilink模型搭建及与adams联合仿真

一、前期准备工作

(1)将adams工作路径添加到matlab路径下


(2)点击进入该文件夹内(必须在该文件夹路径下,因为,后期运行相关会产生相关文件,若不在该路径下,会报找不到某些文件的错误)

(3)运行 Controls_Plant2.m(你们的不一定是这个名称,只要运行产生文件中唯一的.m文件即可),运行成功后,便会有如下信息产生

(4)输入命令 adams_sys ,回车运行
(5)删除左面的两个模块(这两模块,目前系统用不到,不进行相关设置,若不删除,会报错)

(这两模块,目前系统用不到,不进行相关设置,若不删除,会报如下错误)

(6)进行仿真设置


设置Animation mode 为interactive(batch为simulink内部计算,不启动Adams联动观察,interactive为与adams联动,其余设置不变),点击ok

二、simulink控制模型搭建

simulink模块添加,可点击空白区域后文字输入添加(在知道该模块名称的前提下),也可以在库中选择
(1)constant 模块添加,并将值改为0

(2)添加 sum 模块

(3)更改sum模块接口符号,
双击该模块进入对话框

(4)PID模块搭建(虽然simulink中自带PID控制器,但是是增加滤波因子的改良型PID控制器,非最原始PID,所以为了与一些高校的课本接轨,自己手动搭建最原始的PID控制器)
a、三个 Gain 模块,作为Kp,KI,KD

b、积分器Integrator,微分器Derivative

(5)添加sum,并将接口改为三个正值输入

(6)连线

(7)因为之前设置的驱动输入为加速度,而我们需要高模型达到某个角度,又因为初始值为0度,若设置为0度,那么将看不到该系统的调节效果,所以我们更改constant模块的值为90度,也就是pi/4

三、运行

按上述参数设置(并未调整好,只是作为演示,有兴趣的可以尝试调一下),点击运行,adams将会启动,你将看到联合仿真的效果

反馈回的角度

solidworks_adams_simuilink联合仿真简易教程相关推荐

  1. Linux下VCS与Verdi联合仿真简易教程及例子示范

    VCS与Verdi联合仿真简易教程及例子示范 最近在公司实习,最近也恰好在学习Linux下的IC设计环境,涉及到了VCS与Verdi联合仿真等内容,也切身感觉到,和学校学习的内容是如此的不同,此篇便来 ...

  2. quartus和modelsim联合仿真详细教程

    利用quartus和modelsim联合仿真的功能,实现功能产生波形.详细步骤如下: 1.编辑verilog HDL语言 本次拟实现组合逻辑功能,其代码如下: 此为一组合逻辑电路,其原理图可在quar ...

  3. VCS+Verdi联合仿真demo教程

    公司仿真和看波形工具是VCS+Verdi,由于这两样工具结合在一起有着极高的效率,与在学校仅仅使用vivado软件跑整个流程相比,真的是小巫见大巫. 因此便在自己电脑的虚拟机中试着建立VCS+Verd ...

  4. Linux下VCS和Verdi的联合仿真实例教程

    首先得在Linux下配置好VCS和Verdi的环境,这个方面我就不再这里赘述了,你可以在命令行输下which vcs和which verdi看有没有信息,有信息的话就说明已经安装. 要在Linux下用 ...

  5. VCS+Verdi联合仿真教程

    最近由于在一家FPGA公司实习,公司的FPGA仿真和看波形工具是VCS+Verdi,由于这两样工具结合在一起有着极高的效率,也因此真切地感受到,与在学校仅仅使用vivado软件跑整个流程相比,真的是小 ...

  6. Adams与matlab联合仿真出现的问题

    Adams与matlab联合仿真出现的问题 找不到文件的问题 在运行simulink时MATLAB闪退 结论 在网上跟着教程学习Adams与MATLAB联合仿真,教程讲得挺详细,但是我跟着教程做不能实 ...

  7. 超详细 quartus 新建工程 及 quartus 和 modelsim 联合仿真 以及 modelsim 的简易教程

    文章目录 一.新建工程 1. 新建工程 2. 添加源文件以及ip核并编译 添加代码文件 添加IP核 编译 3. 自动生成testbench文件并添加路径到工程中 生成testbench文件 添加tes ...

  8. hfss和python_【技术分享】python和HFSS联合仿真微带天线的教程-射频/微波-与非网...

    我们知道 HFSS 是一款电磁仿真商用软件,用其进行天线的设计十分方便.而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软件进行控制,实现模型的建立.求解等等.由于后期可能会用到联合仿真,而大 ...

  9. 【单片机】Proteus安装、MDK5安装、Proteus与Keil联合仿真教程

    1.需要的文件 2. 文件"Proteus软件"的安装 参考:proteus7.8的安装.破解.汉化教程https://jingyan.baidu.com/article/86f4 ...

  10. Simplorer—Maxwell联合仿真注意事项(结合实例讲解,和其他的教程类的不一样)

    最近一直在做Simplorer-Maxwell联合仿真,这方面的资料实在少得可怜,只能自己总结一些经验.准备分享一下,同时也是以防以后再被类似的问题卡住. 1.关于电机外部电感.电阻的设置问题 很多人 ...

最新文章

  1. RobotFramework下的http接口自动化Set Request Body 关键字的使用
  2. 【JVM调优系列】----NewRatio与SurvivorRatio
  3. python实现简单爬虫功能(网站图片)
  4. 201521123014 《Java程序设计》第11周学习总结
  5. zend studio9.0.4正式版破解方法
  6. T-SQL select语句连接两个表
  7. 对称构型机器人轮直径校准思路
  8. 英语句型之综合运用篇
  9. 陕西2020行政区划调整_2020西安会成立直辖市
  10. oracle计算金融函数,ORACLE EXTRACT函数
  11. Python利用selenium实现自动登录网页qq
  12. Django使用manager.py 运行项目,或者uWSGI进行部署项目,使用Nginx进行负载均衡
  13. 从C++11到C++23(一) C++20圆周率、常数e和常见对数
  14. qt 实现MVC Api控制器开发 web api接口-连载【5】-企业级系统开发实战连载系列 -技术栈(vue、element-ui、qt、c++、sqlite)
  15. java wsdl 参数必填设置
  16. Java 获取当前服务器公网IP
  17. Kerberos协议简介
  18. 一阶、二阶和三阶随机占优
  19. 叶子结点和分支节点_树的度和结点数的关系
  20. 解决Duplicate entry '……

热门文章

  1. Proteus十字路口交通灯
  2. 远比系统看图更好的图片浏览器Honeyview,Picasa
  3. 显示最新的Picasaweb上传
  4. c语言蜂鸣器放音乐程序,单片机蜂鸣器C语言程序
  5. 基于樽海鞘群算法的线性规划求解matlab程序
  6. 【数据艺术科技1】基于pyhon的高维数据可视化。(1、2维)
  7. 鸿蒙天钟壁纸,鸿蒙2.0桌面小工具时钟,日历显示不出来
  8. 中标麒麟Linux系统串口,中标麒麟操作系统串口调试方法研究-嵌入式-电子工程世界网...
  9. 蒙特卡罗(Monte Carlo) 模拟
  10. 【Axure交互教程】拖动滑块确定评分区间效果