1. Adams运动学分析


2. Matlab运动学分析


Matlab里推杆位移曲线画出来怎么看都跟Adams对不上,Adams里推杆最大速度比Matlab高了差不多12%,查了一下午发现是Adams的凸轮接触定义问题,凸轮和推杆之间设了IMPACT函数,接触刚度给1e5,推杆在运动过程中有微小穿透,速度曲线被接触力的波动污染了,Matlab里纯运动学算的是理论值,没有接触柔度。
Matlab这边凸轮轮廓用解析法算,从动件运动规律用多项式或者简谐,等加速等减速的话推杆位移s=h*(2θ/θ0)^2,0到θ0/2,后半段反过来,速度v=ds/dθ*ω,加速度a=d²s/dθ²*ω²,把θ离散成360个点,每个点算一遍,画s-v-a三张图,十来行代码就完事了。余弦加速度位移s=h/2*(1-cos(πθ/θ0)),速度是h*π/(2θ0)*sin(πθ/θ0)*ω,加速度是h*π²/(2θ0²)*cos(πθ/θ0)*ω²,注意ω单位是rad/s,Matlab里度数转弧度别忘了。
Adams建模是另一条路,凸轮用3D实体或者直接用2D轮廓线,推杆用一个小圆柱或者直接用一个part加contact,接触定义影响很大,接触刚度不是越大越好,太大了积分困难,太小了穿透量肉眼可见,推杆位移曲线在上升段和下降段出现非物理的抖动,这就是接触柔度带来的附加动力学。做纯运动学分析的话,Adams里不用接触,用点线约束,凸轮轮廓线跟推杆底部的marker点做point-on-curve,这是纯几何约束没有力,位移和速度跟Matlab理论解能对上。
做动力学分析的时候接触就不能省,但要对结果有个判断,接触刚度1e5到1e6之间试几下,刚度越大接触力峰值越大,接触时间越短,推杆的加速度曲线越陡,Matlab里没有这个效应,纯运动学假设凸轮和推杆是刚性接触。如果实际系统里推杆是钢的凸轮是钢的,接触刚度可以按赫兹接触理论算一个值,钢对钢线接触K大概是1e5N/mm量级,这个数代进Adams里跟Matlab的加速度曲线对比,差异主要出在加速度峰值附近。
联合仿真的做法是Matlab算理论曲线存成csv,Adams后处理里用File→Import→Spreadsheet把Matlab的数据导进来,跟Adams仿真结果画在同一张图上,横轴对时间或者对凸轮转角,纵轴对位移速度加速度,一眼能看出哪儿对哪儿不对。Matlab的plot和Adams的XY plot坐标轴刻度有时候对不上,导出数据统一用mm和s,Adams里MMKS单位制,Matlab里算的时候也统一到mm和s,别一边用m一边用mm。
凸轮轮廓反过来从Adams里取也行,Adams里凸轮实体导出成IGES,Matlab里读进来做后续分析,但IGES里的样条曲线跟原始解析轮廓有偏差,取点密度不够的话曲线不平滑。更好的做法是把Adams里凸轮旋转角度和推杆位移的对应关系导出来,在Matlab里拟合出运动规律,反算出凸轮轮廓的极坐标,跟设计值对比,偏差超过0.01mm就要查Adams里的接触参数或者约束是不是有问题。
有一次对不上是因为Adams里凸轮旋转轴跟推杆轴线不垂直,装配的时候有点偏,推杆在运动过程中除了上下还有侧向摆动,位移曲线在回程段多了一个小鼓包,Matlab里根本模拟不出这个。这种误差用纯运动学模型跑一下,看看侧向位移是不是零,不是零的话回去调装配约束。Adams的好处就在这里,Matlab算不出来的装配误差和间隙效应它能反映出来,代价就是接触参数得调对,不然计算误差混在里面分不清哪个是真实效应哪个是数值噪声。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删