APP下载

高速凸轮摆杆机构参数化设计技术研究

2021-09-19蔡小尧车文刚陈文兵

图学学报 2021年4期
关键词:角加速度凸轮表达式

蔡小尧,车文刚,陈文兵

(1.昆明理工大学信息工程与自动化学院,云南 昆明 650500;2.云南烟草机械有限责任公司,云南 昆明 650106)

高速凸轮摆杆机构在汽车发动机、包装机、纺织机械等设备中具有广泛应用,由于高速凸轮在运转过程中容易产生振动、噪音及磨损等问题,因此凸轮摆杆机构的设计需要在满足摆杆运动的角速度、角加速度和跃度曲线都连续等约束条件下,尽可能降低角加速度。

由于凸轮机构形式多样,设计计算复杂,目前的机械设计软件均未开发凸轮设计模块。UG(Unigraphics NX)是目前比较通用的三维机械设计软件,具有强大的数字化设计、数字化验证和数字化制造等功能,同时也具有较强的二次开发功能[1],可以通过二次开发实现功能拓展。文献[2]利用UG 二次开发技术及程序调用模型数据,将对话框和模型联系起来,通过对话框输入参数,自动生成或更新麻花钻模型,提高了产品设计和修改效率。智能虚拟装配技术[3-5]的引入能够根据获取到的三维形体特征自动捕捉设计者意图,减少手动装配造成的多余劳动,减少零件研发时间,降低花费,提高装配效率。

曹澍等[6]通过NX/Open 应用程序开发接口结合VS 开发了适用于弧面分度凸轮机构快速建模的参数化设计系统,实现了弧面分度凸轮机构的可视化交互设计,极大地缩短了设计时间和减少了繁琐的重复劳动,证明了参数化设计的优越性和可行性。目前凸轮摆杆机构设计主要采用第三方设计软件或工具设计完成后转成通用文件导入三维机械设计软件中实现凸轮建模,再进行后续的结构设计和运动仿真[7]。该方法由于涉及到多个软件之间数据格式转换,其过程会产生一定的误差,并且转换格式后的数据无法在产品设计后期更改,造成产品设计和更改效率低下。参数化设计技术是指根据用户设置的参数和约束条件,对应生成相应的模型和几何形状,当模型参数和约束条件发生变化时,将对几何体模型进行形状重建和更新,将参数化设计引入盘形凸轮摆杆机构设计过程中,有望进一步提高凸轮摆杆机构设计的效率和精度、缩短相关产品的开发周期[8-9]。

本文以改进正弦运动规律为例,基于UG 表达式和UG 二次开发实现了高速凸轮摆杆机构的参数化设计,主要有以下4 点创新:

(1) 利用凸轮摆杆机构解析法原理,针对高速凸轮摆杆机构参数化设计过程中从动件摆动引起的凸轮转角偏移问题,分析了凸轮转角偏移问题产生的原因及影响。结果表明:推程阶段和回程阶段凸轮轮廓曲线对应的圆心角对比凸轮转角都发生了不同程度的偏移;

(2) 通过引入转角补偿量,设计了基于转角补偿量的凸轮参数化设计数学模型,运动仿真结果表明,该设计可以降低从动件的最大加速度;

(3) 结合UG 规律曲线和NX/Open 二次开发,实现了凸轮摆杆机构参数化设计和修改,用户只需通过人机交互界面修改关键参数即可完成修改,方便用户在整个产品开发周期中进行参数的调整;

(4) 利用C#窗体和图表功能与NX/Open 结合,实现凸轮摆杆机构的角加速度、角速度以及位移曲线的可视化,方便用户一键生成上述特征曲线,并通过UG 运动学仿真模块验证其正确性。

1 参数化设计方法概述

参数化设计是指零件的形状相对固定,模型的几何形状由用户设定的参数和约束来定义。当给定不同的参数序列值和不同的约束条件时,可以驱动新的目标几何体,设计结果就是包含设计信息的模型。参数化为产品模型的可变性、重用性和并行设计提供了一种手段。使用户可以方便地利用已有模型进行重构,在遵循原设计意图的前提下,方便地修改系列产品模型,大大提高了设计效率[10-11]。

1.1 传统凸轮参数化设计方法

传统凸轮参数化设计方法往往需要多个设计工具或软件之间进行设计数据转换和传递,转换格式后的数据无法在产品设计后期更改,产品设计发生修改时会产生大量的重复步骤和工作,极大的影响了产品开发设计的效率[7],传统参数化设计流程如图1 所示。

图1 传统凸轮参数化设计流程 Fig.1 Traditional parametric design process of cam

1.2 基于UG 二次开发的凸轮参数化设计方法

在UG 软件上进行参数化设计的主要方法有:尺寸驱动法、编程方法和表达式方法等[6]。由于凸轮轮廓曲线精度要求高、特征复杂,难以用简单的尺寸和约束关系描述,因此本文采用表达式法来实现凸轮摆杆机构的特征参数到凸轮轮廓曲线的映射,并利用编程法开发了人机交互设计和修改界面,实现了凸轮摆杆机构速度和加速度等特征曲线的一键可视化,为凸轮摆杆机构的设计提供参考。本文基于UG 二次开发的凸轮参数化设计流程如图2 所示,对比传统凸轮参数化设计方法,基于表达式的参数化设计方法简化了设计修改流程从而提高设计效率。

图2 基于UG 二次开发的凸轮参数化设计流程 Fig.2 Parametric design process of cam based on UG secondary development

2 基于转角补偿量的凸轮摆杆机构参数化设计数学模型

本文以改进正弦运动规律为例建立凸轮摆杆机构参数化设计数学模型,针对摆杆摆动对凸轮转角的影响(即各运动阶段凸轮理论转角与凸轮轮廓曲线对应的角度不相等,存在一定的偏移量),提出了基于转角补偿量的凸轮参数化设计数学模型。假定凸轮朝顺时针方向旋转,推程角大小为A1,远休止角大小为A2,回程角大小为A3,近休止角大小为A4,基圆半径大小为R0,凸轮升程为H,摆杆长度为RG,滚子半径大小为R1,D0为摆杆旋转中心与凸轮旋转中心的距离,凸轮转速为w(r/min)。

图3 为凸轮摆杆机构示意图,以改进正弦运动规律中回程第一阶段(0≤T1≤1/8×A3)为例构建数学模型。点O为凸轮旋转中心,点O1为摆杆旋转中心,点Pi为凸轮转过某角度T1(0≤T1≤1/8×A3)时从动件所在位置。摆杆初始角度θ0、最大角度θmax及摆杆总行程θ计算如下

图3 凸轮摆杆机构参数示意图 Fig.3 Parameter diagram of cam swing bar mechanism

对于其他区间的计算方法与此类似,只需根据改进正弦运动规律调整θi计算公式,基于上述数学模型用UG 表达式生成凸轮轮廓曲线模板,如图4 所示。

图4 UG 表达式生成的凸轮轮廓曲线模板 Fig.4 Cam profile curve template generated by UG expression

3 参数化设计系统应用框架与开发

3.1 UG 二次开发概述

UG 二次开发是指基于UG 软件平台,用户针对自身需求,融合相关的行业经验和知识,开发面向行业和面向设计过程的应用工具。UG 软件通过内部程序规定了应用程序开发和扩展的方式为动态链接库(dynamic link library,DLL)技术。UG 启动时,系统自动加载DLL 文件或通过菜单、工具条启动应用程序和对话框,由对话框和相应的内部接口函数实现相应的程序调用,实现应用程序与UG 平台的无缝集成。

3.2 参数化设计应用程序框架

凸轮摆杆机构参数化设计系统应用程序与框架如图5 所示,通过Menu Script 工具开发的菜单和工具条文件对应的扩展名分别是*.men 和*.tbr,这些文件放在参数化设计系统目录下的Startup 子文件夹中,UG 启动时会自动加载该子文件夹下的文件,凸轮摆杆机构参数化设计系统的菜单工具条如图6 所示。

图5 凸轮摆杆机构参数化设计系统框架 Fig.5 Framework of parametric design system for cam swing bar mechanism

图6 凸轮摆杆机构参数化设计系统菜单工具 Fig.6 Menu tool of parametric design system for cam swing bar mechanism

通过Block UI Styler 工具开发的对话框工具文件扩展名为*.dlx,同时会自动生成对话框对应的*.cpp 和*.hpp 文件,根据应用程序功能对*.cpp 和*.hpp 文件在编程开发环境中进行编辑添加相应的函数和功能,经编译调试生成对应的DLL 文件。DLX 和DLL 这2 类文件放在参数化设计系统目录下的Application 子文件夹中,当应用程序进入这些对话框对应的DLL 应用程序时,系统通过相应的菜单工具或操作按钮实现这些特定应用模块相关的文件调用。Data 子目录下存放模板文件(*.prt),模板文件,模板文件中存储了根据凸轮摆杆机构参数化数学模型设计的表达式,供应用程序在创建凸轮模型时调用。

该参数化设计系统中,创建凸轮模型对应的应用程序为createModel.dll 和createModel.dlx,应用程序通过UF_PART_import()函数导入模板文件,通过UF_ASSEM_ask_work_part()函数获取当前工作零件的tag,通过UF_MODL_ask_exps_of _part()函数获取表达式,通过UF_MODL_edit_exp()函数对表达式进行编辑,从而实现了一键创建凸轮摆杆模型,创建凸轮模型对话框如图7 所示。编辑凸轮模型对应的应用程序为editModel.dll 和editModel.dlx,该应用程序通过UF_MODL_ask_ exps_of_part()函数获取表达式,通过UF_MODL_edit_exp()函数对表达式进行编辑,从而实现通过对话框对凸轮摆杆模型进行编辑。

3.3 参数化建模与凸轮转角偏移示例

以图7 中给定的参数为例,假定凸轮沿顺时针方向旋转,生成的凸轮模型如图8 所示。生成的模型对应的凸轮转角与轮廓曲线角度对比见表1,推程阶段和回程阶段凸轮轮廓曲线对应的圆心角对比凸轮转角都发生了不同程度的偏移。

图8 参数化建模效果 Fig.8 Parametric modeling results

表1 凸轮转角与轮廓曲线角度对比(°) Table 1 Comparison of cam angle and profile curve angle (°)

3.4 凸轮特征曲线可视化

由于UG 自带的二次开发对话框不具有图表显示功能,因此本研究通过将C#窗体与NX Open 结合实现从动件角加速度、角速度和摆动角度的可视化。特征曲线可视化应用程序以NX Open C 作为编程接口,通过在C#窗体中引用NX Open,应用NXOpen.Session.GetSession()和FindObject()函数获取当前工作部件的tag 和表达式。利用获取的模型参数值通过式(11)~(13)分别计算得到从动件角加速度、角速度和摆动角度,再将计算结果通过C#窗体的图表功能显示出来。调试后的源程序经编译执行后生成plotForCurve.dll,该文件存放到Application目录下,供UG 菜单和工具条调用,从而实现凸轮摆杆机构的角加速度、角速度以及位移曲线的一键可视化。以图7 给定的参数为例,角加速度可视化效果如图9 所示。

图9 凸轮特征曲线可视化(角加速度) Fig.9 Visualization of cam characteristic curve (angular acceleration)

4 模型运动仿真验证

以图7 给定的参数为例,分别用基于转角补偿量的凸轮参数化设计数学模型和不带转角补偿的数学模型创建生成凸轮模型,在UG 仿真环境下运动仿真,仿真生成角加速度曲线如图10 (基于转角补偿量模型的加速度曲线)和图11 (无转角补偿量模型的加速度曲线)所示。基于转角补偿量的凸轮参数化设计数学模型生成的凸轮模型最大角加速度为175 500 °/s²,无转角补偿量的凸轮参数化设计数学模型生成的凸轮模型最大角加速度为242 600 °/s²,基于转角补偿量的凸轮参数化设计数学模型生成的凸轮模型最大角加速度下降了27.2%。

图11 无转角补偿量模型的加速度曲线(400 r/min) Fig.11 Acceleration curve without angular compensation (400 r/min)

对比图9 和图10 可以看出,由凸轮曲线可视化生成的角加速度曲线与基于转角补偿量模型的运动仿真角加速度曲线一致,验证了基于转角补偿量的凸轮参数化设计数学模型的准确性。

图10 基于转角补偿量模型的加速度曲线(400 r/min) Fig.10 Acceleration curve based on angular compensation (400 r/min)

5 结束语

本文以凸轮摆杆机构基本参数为基础,应用和凸轮解析法和平面几何理论,分析了凸轮摆杆机构参数化设计过程中凸轮转角偏移问题产生的原因及影响,提出了基于转角补偿量的凸轮参数化设计数学模型,并利用UG 表达式实现了凸轮摆杆机构到凸轮轮廓曲线的映射。利用NX Open C 作为编程接口,在Microsoft Visual Studio 编程环境下实现了操作界面、模板模型与用户模型之间的参数交互访问和修改、表达式访问和导入。通过UF_MODL_ ask_exps_of_part()函数获取模型表达式的tag 和数量,利用 UF_PART_import()和 UF_MODL_edit_ exp()函数实现表达式的导入和参数的编辑。通过在C#窗体中引用NX Open,应用NXOpen.Session.GetSession()和FindObject()函数获取当前工作部件的tag 和表达式,将模型参数传递到C#窗体的图表中,从而实现凸轮摆杆机构的角加速度、速度以及位移曲线的一键可视化。

研究结果表明,推程阶段和回程阶段凸轮轮廓曲线对应的圆心角对比凸轮转角都发生了不同程度的偏移,基于UG 表达式并引入转角补偿量的凸轮参数化设计方法对比没有考虑转角补偿的方法可以降低从动件的最大加速度,实现凸轮轮廓曲线的精确设计。相比通过其他软件编写曲线方程生成曲线点云的方法,本文方法在实现凸轮轮廓曲线的精确参数化设计的前提下,简化了凸轮摆杆机构的设计和修改流程,提高了产品设计效率,同时对实现产品的标准化、系列化设计也有着广泛的应用价值。

猜你喜欢

角加速度凸轮表达式
灵活选用二次函数表达式
表达式转换及求值探析
光纤陀螺跟踪角加速度模型建模与研究
浅析C语言运算符及表达式的教学误区
基于ANSYSWorkbench对凸轮结构动力学分析
自行车刹车问题研究
探讨角量的矢量性
浅谈共轭凸轮机构设计的方法
某型伺服系统执行电机的选择和校核
凸轮检测方法的误差分析