1.概述
Adams在进行系统的仿真分析过程中,存在动态过程中某些运动副失效与激活的情况。例如,在做四连杆系统的动力学分析时(如下图1所示),在特定的条件下(红圈内的转动副所受合力大于等于13N)将转动副进行失效处理,同时继续进行接下来的仿真分析。本文针对该类运动中失效连接的情况,介绍了应用Adams软件实现该功能的方法。文中讲述了两种方法,分别是基于传感器结合仿真脚本的方法以及传感器结合SENVAL函数的方法。
图1 四连杆机构的动力学分析
2.传感器结合仿真脚本
该方法采用理想的运动副进行物体约束,应用传感器感知图1中红圈转动副的所受的合力Fm。检测运动副受力的函数包括JOINT函数、FIELD函数等,本传感器检测该受力采用JOINT函数,具体的函数表达式如下:JOINT(JOI1, 0, 1, 0)。本函数的表达式的定义方式如下图2所示:
图2 运动副合力公式的定义
定义的传感器如下图3所示。包括了传感器的函数表达式定义、阈值的定义、容差定义以及接下来的动作定义。由于该方法需要应用脚本的仿真方式进行仿真,同时需要在脚本中应用ACF命令文件进行运动副的失效定义和传感器的失效定义,如下图4所示。
图3 传感器定义
图4 脚本定义
最后应用脚本仿真的方式,进行上述脚本SIM_SCRIPT_1的仿真。当传感器SEN1检测到JOI1的合力大于等于13N时,终止当前仿真,失效JOI1以及传感器SEN1,进行接下来的仿真。
使用传感器结合脚本的方法,可以通过脚本的功能方便地实现复杂的工况的定义,例如改变驱动函数、改变部件质量以及其它力与约束的失效与激活。通过该方法实现上述连接的断开,该方法在Adams的高级用户中应用较为普遍,但该方法存在一定的弊端。第一,需要创建脚本;第二,多约束的失效应用较为复杂;第三,进行约束的反复失效与激活十分复杂。
3.传感器结合SENVAL函数
针对传感器结合脚本的方法中的弊端,本文提出第二种方法,即传感器结合SENVAL函数的方法。该种方法的建模相对于第一种方法有一定的差异,需要应用GFORCE代替约束
定义GFORCE中类似于衬套力的函数(考虑刚度和阻尼,例如:-1e6*DX(I_marker,J_marker)-1e5*VX(I_marker,J_marker))来定义不同的约束,这样保证了系统的运动与运动副的方式一致。
具体的建模方法如图5所示。
图5 GFORCE定义
通过该方式建立的传感器与上一种方法略有不同,由于要对失效的GFORCE进行与传感器的关联,故需要对传感器进行赋值,具体如下图6所示。同时需要对要失效的GFORCE进行函数表达式的更改,在GFORCE原函数后面进行(1-SENVAL(SEN1))的相乘。
SENVAL为提取传感器事件评估中的函数表达式或子程序的数值函数,具体如下图7所示,当传感器没有达到边界条件(JOI1_GFORCE_GFORCE的力等于13N)时,SENVAL(SEN1)的数值为初始值0,当达到边界条件后,SENVAL(SEN1)的结果为定义的表达式的数值1。
图6 传感器定义
图7 预失效GFORCE的函数修改
定义好上述传感器以及函数后,既可以应用交互式的方式或者简单的脚本方式进行仿真分析。该方法的仿真结果与第一种方法的结果一致,下图8红色和蓝色曲线分别为follower杆在JOINT连接和GFORCE连接下的质心x、y运动。
图8 follower杆质心的运动
4.备注
对于motion运动驱动的模型,在起始位置,有时会出现连接点的力过大的情况,从而迷惑传感器产生异常的运动,针对该情况,可以在SENSOR的函数表达式后面乘以STEP(time,0,0,1e-3,1)函数,避免该问题的发生。
JOINT模型文件:
break_connection_with_JOINT
GFORCE模型文件:
break_connection_with_GFORCE
(导入模型前去掉扩展名txt。)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删