文章快速检索     高级检索
  北京化工大学学报(自然科学版)  2018, Vol. 45 Issue (3): 101-106   DOI: 10.13543/j.bhxbzr.2018.03.016
0

引用本文  

邓琨, 赵罘, 林建邦. 基于MATLAB和SolidWorks的高阶椭圆齿轮参数化建模系统[J]. 北京化工大学学报(自然科学版), 2018, 45(3): 101-106. DOI: 10.13543/j.bhxbzr.2018.03.016.
DENG Kun, ZHAO Fu, LIN JianBang. A high order elliptic gear parametric modeling system based on matlab and solidworks[J]. Journal of Beijing University of Chemical Technology (Natural Science), 2018, 45(3): 101-106. DOI: 10.13543/j.bhxbzr.2018.03.016.

第一作者

邓琨, 男, 1992年生, 硕士生.

通信联系人

赵罘, E-mail:zhaof@btbu.edu.cn

文章历史

收稿日期:2018-01-23
基于MATLAB和SolidWorks的高阶椭圆齿轮参数化建模系统
邓琨 , 赵罘 , 林建邦     
北京工商大学 材料与机械工程学院, 北京 100048
摘要:针对高阶椭圆齿轮设计与建模过程比较繁琐的问题,进行高阶椭圆齿轮参数化设计与建模系统的研究。根据齿轮拟合传动特性推导出节曲线数学模型,依据加工原理法推导出齿轮齿廓的数学模型;使用MATLAB对节曲线和齿轮齿廓进行仿真,仿真结果用于程序参数校验以保证齿轮设计参数满足啮合要求;采用组件对象模型技术(COM)技术对SolidWorks进行二次开发,使程序能够根据仿真结果自动绘制齿轮三维模型;通过GUI完善交互界面的设计,使程序能够独立地驱动SolidWorks和MATLAB。以实际工程问题为例,计算并绘制出一对高阶椭圆齿轮拟合的三维模型,结果表明开发的程序能够大大节省高阶椭圆齿轮设计的时间,提高机械设计效率。
关键词高阶椭圆齿轮    节曲线数学模型    MATLAB GUI    SolidWorks二次开发    三维建模    
A high order elliptic gear parametric modeling system based on MATLAB and SolidWorks
DENG Kun , ZHAO Fu , LIN JianBang     
Materials and Mechanical Engineering College, Beijing Technology and Business University, Beijing 100048, China
Abstract: The design and modeling of high order elliptical gears have been studied. According to the gear fitting transmission characteristics, a mathematical model of the section curve was derived, and a mathematical model of the gear tooth profile was deduced according to the machining principle.Using MATLAB to simulate the pitch curve and gear tooth profile, the simulation results were used for program parameter calibration to ensure that the gear design parameters meet the meshing requirements. Using component object model (COM) technology for the subsequent development of SolidWorks, the program can automatically draw the gear three-dimensional model according to the simulation results. The design of an interactive interface through GUI enables the program to drive SolidWorks and MATLAB independently. When employed in practical engineering problems, for example, calculation and drawing of the fitting of a high order elliptic gear three-dimensional model, the new program can greatly save time, and improve the efficiency of the mechanical design of high order elliptic gear systems.
Key words: high-order elliptic gears    curve mathematical model    MATLAB GUI    SolidWorks redevelopment    3D-modeling    
引言

非圆齿轮发展至今,已基本形成一套可靠的理论体系,目前的研究方向多集中于开发特定工况下的非圆齿轮computer aided design & computer aided making (CAD/CAM)系统。椭圆齿轮是一种常见的非圆齿轮形式,可以实现变传动比传动,广泛应用于纺织机械、造纸机械、卷烟和往复输送机等机械结构中。

高阶椭圆齿轮是椭圆齿轮的一种高级形式,目前关于高阶非圆齿轮的仿真设计已有很多研究。焉兆超等[1]以SolidWorks为开发平台研制了高阶椭圆齿轮副节曲线设计系统,能够完成参数化设计、齿轮检验和曲线绘制的功能;张健等[2]通过将MATLAB和Pro/E平台结合进行非圆齿轮的仿真加工及分析,有效地解决了非圆齿轮设计及加工困难的问题;郭守存等[3]基于MATLAB对4~6型非圆行星齿轮的节曲线和齿廓进行设计并完成建模,最后在建模的基础上对齿轮进行了特性分析。但是当前的研究工作大多数都着手于参数化设计,后续根据仿真结果进行建模的研究较少。为了满足工业上设计与建模一体化的要求,简化根据不同参数条件设计高阶椭圆齿轮的过程,本文在参数化设计的基础上,通过对SolidWorks二次开发,得到相应的设计与建模程序,实现了将高阶椭圆齿轮的参数化设计和三维建模统一,极大地简化了机械设计周期,可以普遍应用于批量设计与生产中。通过使用MATLAB对参数结果进行仿真,保证了程序的准确性与实用性,最后开发了交互界面, 方便设计人员操作使用。

1 数学模型的建立 1.1 高阶椭圆齿轮节曲线的数学模型

图 1所示为一对椭圆齿轮啮合传动的关系图,根据啮合传动的特性可以推导出传动比函数为

$ {i_{12}} = \frac{{{\omega _1}}}{{{\omega _2}}} = \frac{{{r_2}}}{{{r_1}}} = \frac{{a - {r_1}}}{{{r_1}}} $ (1)
图 1 一对椭圆齿轮啮合图 Fig.1 A pair of elliptic gear meshes

式中,ω1ω2分别为小齿轮和大齿轮的角速度;r1r2分别为小齿轮和大齿轮的分度圆半径;a为大小齿轮的中心距。

由式(1)可得主动轮的节曲线方程为

$ {r_1}\left( {{\varphi _1}} \right) = \frac{a}{{{i_{12}} + 1}} = f\left( {{\varphi _1}} \right) $ (2)

式中,φ1为小齿轮转过的角度。

根据主动轮和从动轮的传动关系可以推导出从动轮的节曲线方程为

$ \left\{ \begin{array}{l} {r_2} = a - {r_1} = \frac{{a{i_{12}}}}{{1 + {i_{12}}}}\\ {\varphi _2} = \int_0^{{\varphi _1}} {\frac{1}{{{i_{12}}}}{\rm{d}}{\varphi _1}} = \int_0^{{\varphi _1}} {\frac{1}{{f\left( {{\varphi _1}} \right)}}{\rm{d}}{\varphi _1}} \end{array} \right. $ (3)

式中,φ2为大齿轮转过的角度。

对于阶数大于1的非圆齿轮,统称为高阶非圆齿轮[4]。高阶椭圆齿轮是将一阶椭圆的极径保持不变,极角变为相应的倍数,因此可以推导出高阶椭圆齿轮主动轮的节曲线方程为

$ \left\{ \begin{array}{l} {r_1} = \frac{{{p_1}}}{{1 - {k_1}\cos {n_1}{\theta _1}}}\\ {p_1} = {A_1}\left( {1 - k_1^2} \right) \end{array} \right. $ (4)

式中,k1为椭圆的偏心率,n1为齿轮阶数,A1为高阶椭圆长半轴半径,p1为局部辅助变量。

将式(3)与式(4)联立,可以得到从动轮2的节曲线方程为

$ \left\{ \begin{array}{l} {r_2} = \frac{{{p_2}}}{{1 - {k_2}\cos {n_2}{\varphi _2}}}\\ {\varphi _2} = \int_0^{{\varphi _1}} {\frac{{{p_1}}}{{a\left( {1 - {k_1}\cos {n_1}{\varphi _1}} \right) - {p_1}}}{\rm{d}}{\theta _1}} \\ {p_2} = \frac{{{n^2}{p_1}}}{{\sqrt {{n^2} - k_1^2\left( {{n^2} - 1} \right)} }}\\ {k_2} = \frac{{{k_1}}}{{\sqrt {{n^2} - k_1^2\left( {{n^2} - 1} \right)} }} \end{array} \right. $ (5)

式中,$n = \frac{{{n_1}}}{{{n_2}}} $,即主动轮与从动轮阶数之比;p2k2为局部辅助变量。

为使从动轮的节曲线满足封闭性条件,应满足

$ \frac{{2{\rm{ \mathsf{ π} }}}}{{{n^2}}} = \int_0^{2{\rm{ \mathsf{ π} }}} {\frac{{{r_1}}}{{a - {r_1}}}{\rm{d}}{\theta _1}} = \int_0^{\frac{{2{\rm{ \mathsf{ π} }}}}{{{n_1}}}} {\frac{{{p_1}}}{{a\left( {1 - {k_1}\cos {\theta _1}} \right) - {p_1}}}{\rm{d}}{\theta _1}} $ (6)

解出中心距的值为

$ a = {A_1}\left( {1 + \sqrt {{n^2} - k_1^2\left( {{n^2} - 1} \right)} } \right) $ (7)
1.2 渐开线高阶椭圆齿轮齿廓的数学模型

与圆柱齿轮不同的是,非圆齿轮每一个齿的齿形均互不相同,故不能用简单的函数解析式来表达,只能通过齿轮的啮合原理推导而成。求解非圆齿轮齿形的方法主要有渐开线作图法、解析法、由加工原理推导齿形方程法等[5-8],为了方便将推导的齿廓模型编写入程序中并且同时保证较高的精确度,本文采用加工原理推导齿形方程法。

已知在使用齿条刀具加工齿轮时,椭圆齿轮在齿条上作纯滚动,其节曲线与齿条的切点P在坐标系XOY中位置的数学模型为

$ \left\{ \begin{array}{l} {x_P} = - \frac{{r{\rm{d}}r/{\rm{d}}\varphi }}{{\sqrt {{r^2} + {{\left( {{\rm{d}}r/{\rm{d}}\varphi } \right)}^2}} }}\\ {y_P} = \frac{{{r^2}}}{{\sqrt {{r^2} + {{\left( {{\rm{d}}r/{\rm{d}}\varphi } \right)}^2}} }}\\ \theta = \varphi + \arctan \left( { - \frac{{{\rm{d}}r/{\rm{d}}\varphi }}{r}} \right)\\ \begin{array}{*{20}{c}} {S = \int_0^\varphi {\sqrt {{r^2} + {{\left( {{\rm{d}}r/{\rm{d}}\varphi } \right)}^2}} {\rm{d}}\varphi } - }\\ {\frac{{r{\rm{d}}r/{\rm{d}}\varphi }}{{\sqrt {{r^2} + {{\left( {{\rm{d}}r/{\rm{d}}\varphi } \right)}^2}} }}} \end{array} \end{array} \right. $ (8)

其中,φ为齿轮转角,r(φ)为节曲线方程,S为齿条水平移动量。

文献[7]介绍了齿形刀具的数学模型,与齿廓的数学模型相同都是分段函数,Litvin[9]提出了齿轮的啮合方程,将刀具模型和齿轮啮合方程与式(5)联立可以得到分段表达的齿形数学模型,具体为

0段和8段

$ \left\{ \begin{array}{l} {{x'}_i} = {x_P}\sin \theta + \left( {{y_P} + {h_{\rm{a}}}} \right)\cos \theta \\ {{y'}_i} = - {x_P}\cos \theta + \left( {{y_P} + {h_{\rm{a}}}} \right)\sin \theta \end{array} \right. $ (9)

式中,ha为齿顶高。

1段和7段

$ \left\{ \begin{array}{l} {{x'}_i} = \left( {{x_P} \pm {h_i}\tan {\lambda _i}} \right)\sin \theta + \left( {{y_P} + {h_i}} \right)\cos \theta \\ {{y'}_i} = - \left( {{x_P} \pm {h_i}\tan {\lambda _i}} \right)\cos \theta + \left( {{y_P} + {h_i}} \right)\sin \theta \\ {\lambda _i} = m\arcsin \left[ {\left( {S - {S_{i,s}}} \right)/{r_1}} \right]\\ {h_i} = {r_1}\cos {\lambda _i} \end{array} \right. $ (10)

式中,λihi为局部辅助变量,Si, s为水平位移量的初始值,m为模数。

2段和6段

$ \left\{ \begin{array}{l} {{x'}_i} = {x_P}\sin \theta + {y_P}m{h_i}\cos \theta \\ {{y'}_i} = - {x_P}\cos \theta + {y_P}m{h_i}\sin \theta \\ {h_i} = \left( {S \pm {\rm{ \mathsf{ π} }}m/4} \right)\sin \alpha \cos \alpha \end{array} \right. $ (11)

4段

$ \left\{ \begin{array}{l} {{x'}_i} = {x_P}\sin \theta + \left( {{y_P} - {h_{\rm{f}}}} \right)\cos \theta \\ {{y'}_i} = - {x_P}\cos \theta + \left( {{y_P} - {h_{\rm{f}}}} \right)\sin \theta \end{array} \right. $ (12)

式中,hf为齿根高。

3段和5段

$ \left\{ \begin{array}{l} {{x'}_i} = \left( {{x_P}m{h_{i1}}\tan {\lambda _i}} \right)\sin \theta + \left( {{y_P} - {h_i}} \right)\cos \theta \\ {{y'}_i} = - \left( {{x_P}m{h_{i1}}\tan {\lambda _i}} \right)\cos \theta + \left( {{y_P} - {h_i}} \right)\sin \theta \\ {h_i} = {h_{\rm{f}}} - {r_0} + {r_0}\cos {\lambda _i}\\ {h_{i1}} = {r_0}\cos {\lambda _i}\\ {\lambda _i} = \arcsin \left( {\frac{{S - {S_{i,s}}}}{{{r_0}}}} \right) \end{array} \right. $ (13)
2 MATLAB仿真节曲线与齿廓

已知数学模型就可以定义相应的参数值,使用MATLAB进行仿真进而证明模型的正确性。

根据推导的齿轮节曲线方程,给定参数Kmn的值,可以仿真出节曲线的形状如图 23所示。

图 2 k=0.12、m=3、n=4的齿轮节曲线 Fig.2 Gear section curve when k=0.12, m=3, n=4
图 3 k=0.12、m=3、n=3的齿轮节曲线 Fig.3 Gear section curve when k=0.12, m=3, n=3

根据齿廓的曲线方程,在节曲线参数的基础上定义hahfα的数值可以得到齿形仿真曲线如图 4所示。

图 4 ha=3、hf=3.75、α=π/9的齿廓仿真 Fig.4 Tooth profile simulation when ha=3, hf=3.75, α=π/9

将齿轮节曲线方程式(4)、(5)和齿形方程式(9)~(13)联立可以得到相应的齿轮仿真模型,如图 56所示。

图 5 二阶齿轮仿真模型 Fig.5 Second order gear simulation model
图 6 三阶齿轮仿真模型 Fig.6 Third order gear simulation model
3 高阶椭圆齿轮参数化建模系统开发

图 7所示为高阶椭圆齿轮参数化建模系统开发流程图,系统开发思路如下。

图 7 程序开发示意图 Fig.7 Schematic diagram of program development

(1) 开发交互程序界面,提供用户输入工况条件的窗口。将推导的高阶椭圆齿轮节曲线的数学模型编写至程序后台,并提供MATLAB的节曲线仿真结果示意图。

(2) 根据仿真结果进行参数校验,校验的内容包括:封闭性校验,保证齿轮以一定的传动比函数进行周期性运动;凹凸性校验,确定加工方法;压力角校验和根切性校验,保证不发生根切。

(3) 程序后台编写高阶椭圆齿轮齿廓线数学模型,根据确定无误的节曲线模型计算齿廓线,并进行MATLAB仿真。

(4) 程序运行结束后产生两个TXT文件,即高阶椭圆齿轮的数据模型,可用于验证SolidWorks二次开发的建模系统的准确性。

(5) 进行SolidWorks二次开发,根据仿真计算结果,即齿轮数据模型创建主动轮和从动轮零件。

程序开发语言选用VB.NET,这是因为它和SolidWorks宏录制的VBA语言有一定的相似性,方便对录制的程序进行修改。本文对SolidWorks二次开发的方法主要是基于组件对象模型技术(component object model,COM),使用此方法开发的程序独立于SolidWorks之外,用户使用时能够自动打开建模软件并生成三维模型。这种方法的优点在于能够编辑更多的交互界面,方便使用。

建模程序开发示意图如图 8所示。

图 8 建模程序开发示意图 Fig.8 Schematic diagram of modeling program development

SolidWorks二次开发原理主要是通过对其提供的数以百计的API函数的重载与调用,来定义相应的功能命令,实现对SolidWorks的基本操作。SolidWorks提供的API函数的事件基本可以满足用户的所有操作,只要用户对这些函数的调用顺序准确,对某一个函数的调用语法正确,就可实现草图绘制、特征生成、尺寸修改等操作,为参数化系统设计提供可能性条件。表 1介绍了主要函数与其相应的功能。

下载CSV 表 1 功能函数 Table 1 Performance functions
4 设计实例

已知设计参数为m=3、k=0.12、z1=30、n1=2、n2=4,系统能够根据基本参数计算得出从动轮齿数及中心距值并显示于文本框中,分别点击主动轮参数校验、从动轮参数校验两个命令按钮,系统会在文本框中显示判断结果。此时,可得出这对齿轮的输入参数满足设计要求,再点击绘制主、从动轮齿形命令按钮,坐标轴会仿真出二阶椭圆齿轮和四阶椭圆齿轮啮合的齿形图,如图 9所示。同时,程序运行结束后,在保存该GUI的文件夹中会生成两个TXT格式文件,名为F1的文件保存有主动轮齿形的坐标值点,名为F2的文件保存有从动轮齿形的坐标值点,如图 10所示。

图 9 GUI程序界面示意图 Fig.9 Schematic diagram of the GUI program interface
图 10 齿廓坐标 Fig.10 Coordinates of profile

分别选择由GUI程序生成的名为F1和F2的TXT格式文件,绘制零件图,如图 11所示。最后根据计算参数自动将两个零件图装配成一对相互配合的齿轮,如图 12所示。

图 11 主动轮零件示意图 Fig.11 Schematic diagram of active wheel parts
图 12 一对高阶椭圆齿轮装配体 Fig.12 A high-order elliptic gear pair assembly
5 结论

(1) 探索了一套高阶齿轮参数化设计与建模一体化的方法,开发出的程序能够完成相应的设计要求和建模要求,简化了繁琐的设计过程。在程序开发过程中,充分利用SolidWorks的二次开发理念得到程序基本框架,大大简化了建模系统的研发过程。

(2) 根据齿条加工齿轮原理推导出非圆齿轮齿廓线数学模型,与解析法和折算齿形法相比,该方法的程序可控性强且运算精度较高。

参考文献
[1]
焉兆超, 管殿柱, 陈洋, 等. 基于SolidWorks的高阶椭圆齿轮副节曲线设计系统[J]. 机械传动, 2017, 41(1): 169-172.
YAN Z C, CUAN D Z, CHEN Y, et al. Design system of the high order elliptic gear pair curve base on the SolidWorks[J]. Mechanical Transmission, 2017, 41(1): 169-172. (in Chinese)
[2]
张健, 鲁骏, 起雪梅, 等. 非圆齿轮的仿真加工及分析[J]. 机械研究与应用, 2017, 30(6): 103-105.
ZHANG J, LU J, QI X M, et al. Simulation processing and analysis on the non-circular gear[J]. Mechanical Reasearch and Application, 2017, 30(6): 103-105. (in Chinese)
[3]
郭守存, 李殿起, 尚志强, 等. 基于MATLAB的非圆行星齿轮结构设计[J]. 重型机械, 2016(4): 49-52.
GUO S C, LI D Q, SHANG Z Q, et al. Structural design of non-circular planetary gear based on MATLAB[J]. Heavy Machinery, 2016(4): 49-52. (in Chinese)
[4]
刘永平, 孟鹏飞. 基于MATLAB的高阶椭圆齿轮副节曲线的设计[J]. 计算机应用技术, 2010, 37(2): 39-42.
LIU Y P, MENG P F. Design of the pitch curves of higer-order elliptic gears based on MATLAB[J]. Computer Application Technology, 2010, 37(2): 39-42. (in Chinese)
[5]
李福生, 尹种芳, 张遵连, 等. 非圆齿轮与特种齿轮传动设计[M]. 北京: 机械工业出版社, 1983.
LI F S, YIN Z F, ZHANG Z L, et al. Non-circular gear and special gear drive design[M]. Beijing: China Machine Press, 1983. (in Chinese)
[6]
周利锋. 一种新型摆线齿轮减速器[D]. 北京: 北京邮电大学, 2012.
ZHOU L F. A new type of cycloidal gear reducer[D]. Beijing: Beijing University of Posts and Telecommunications, 2012. (in Chinese)
[7]
杨健. 直齿圆柱齿轮啮合副的齿廓修形研究[D]. 沈阳: 东北大学, 2014.
YANG J. Research on tooth profile modification of spur gear engagement pair[D]. Shenyang: Northeastern University, 2014. (in Chinese)
[8]
徐锐, 陈兵奎, 王振荣. 运用AutoCAD的滚齿加工仿真[J]. 现代制造工程, 2011(7): 66-70.
XU R, CHEN B K, WANG Z R. Gear hobbing simulation by AutoCAD[J]. Modern Manufacturing Engineering, 2011(7): 66-70. (in Chinese)
[9]
LITVIN F L. Gear geometry and applied theory[M]. Upper Saddle River: Prentice-Hall, 1994.