基金项目:十一五民口配套项目(JPPT-115-1366)
作者简介:庄宿国(1986—),男,工程师,研究领域为液体火箭发动机机械密封设计
(Xi’an Aerospace Propulsion Institute, Xi’an 710100, China)
系统阐述了涨圈密封的基本理论和结构特点,深入探讨了涨圈密封参数化设计的意义和现状。在此基础上,在AutoCAD 2008平台下,采用C++编程语言,在ObjectARX 2008环境下成功开发了用于涨圈密封设计的参数化CAD软件,实现了涨圈密封的参数化设计,提高了涨圈密封设计的效率和质量,设计实例表明,软件界面友好,使用简单,设计结果可靠,经试验验证,研制的涨圈密封各项指标均满足产品性能需求。
The basic theory and structure characteristics of ring seal are illustrated systematically. The significance and current situation of the parametric design of ring seal are deeply discussed. On this basis, the CAD software for ring seal was developed by using C++ programming language and ObjectARX 2008 based on AutoCAD 2008. The parametric design of ring seal was realized. The design efficiency and quality of ring seal were improved. The design example indicates that the software is reliable and easy to use, and its interface is friendly. It was verified by the test. The verification result shows that all the indexes of the ring seal made with the software can meet the performance requirements of the product.
涨圈密封广泛应用于航天航空领域,是传动系统的关键元件,如果涨圈密封损坏,则液压控制系统将发生故障,从而导致操纵失效[1]。20世纪30年代,德国Simme发明了世界上第一个变速箱旋转轴动密封装置,解决了高速旋转条件下轴的润滑与密封问题。Smith在实验基础上证实了密封接触面间存在油膜,油膜的刚度关系到密封的泄漏和润滑[2]。刘哲文对不同材料的涨圈密封进行了仿真计算和试验研究,分析了不同材料在高PV值下的性能[3]。李涛设计开发了涨圈密封试验台,并就相关产品进行了密封性能试验[4]。洪军华、胡纪滨及魏超根据涨圈密封的实际结构和工作形式建立了运动状态控制模型,导出了自由切口间隙的计算公式,并分析了相关因素对切口间隙取值范围的影响[5]。上述研究主要针对于涨圈密封的参数设计、性能计算及泄漏机理等进行了研究,但未涉及到涨圈密封的数字化设计领域。
目前,随着我国航天技术的不断发展,对大推力、高转速、重复使用的动力系统需求日益迫切,对涨圈的摩擦系数、泄漏量及寿命等要求越来越高,传统的设计手段已无法满足传动系统涨圈密封的高性能要求,也无法适应目前新型号传动系统高效、高可靠性的研发要求[6]。因此,需要开发高效精确的涨圈密封数字化设计平台,在此基础上进一步开展高转速、低摩擦系数、微泄漏、长寿命涨圈的研制。
本研究采用C++为编程语言、ObjectARX 2008为二次开发工具,对AutoCAD 2008进行二次开发。依据涨圈的设计准则,开发了涨圈的专用参数化设计软件,实现了涨圈的参数化设计,提高了涨圈设计效率和质量。
涨圈密封工作原理见图1。
在工作过程中,壳体衬套静止,轴相对壳体衬套转动,涨圈密封安装于轴的密封槽内,涨圈C面受油压Δp的作用,使其A面与密封槽右侧贴紧,形成主密封面;通过自身的弹力以及油压Δp的作用,使涨圈向着径向外侧涨开,B面压紧在壳体衬套上,形成辅助密封面,上述两个密封面保证涨圈密封的密封性能。
涨圈密封依靠切口间隙来保证具有良好的弹力,但弹力太小涨圈密封将随轴转动且密不易安装,弹力过大涨圈密封容易失效且搭扣处容易发生断裂,并且切口间隙还直接影响到涨圈密封的摩擦力和功耗等。因此,为确保涨圈密封稳定、可靠工作,必须合理设计涨圈密封自由间隙。
涨圈密封自由状态下切口的最小间隙计算公式为:
涨圈密封自由状态下切口的最大间隙计算公式为:
式中:E为弹性模量;σs为屈服强度;nb为安全系数。
在工作过程中,涨圈密封应依靠自身的弹力卡紧在壳体衬套上,保证其不随轴一起转动,即M2≥M1,为此,涨圈密封平均弹力为(假设
f2=f1)[7]:
涨圈密封A面与轴配合,B面与壳体衬套配合,其摩擦力矩分为以下两种:
1)A端面的摩擦力矩
2)B端面的摩擦力矩
式中:f1为A面的摩擦系数;f2为B面的摩擦系数;P2为涨圈的弹力。
3)摩擦功率
涨圈密封的摩擦功率计算公式为:
式中n为轴的转速。
ObjectARX是AutoCAD提供的一个面向对象的开发环境。它以C/C++为开发语言,ARX库为开发工具,具有面向对象编程方式的数据可封装性、可继承性及多态性等特点,且支持MFC编程[8]。
ObjectARX应用程序经过在Visual C++环境下编译链接后,生成“.ARX”为扩展名的动态链接库文件(DLL),一个ARX应用程序是一个动态链接库,与AutoCAD共享地址空间,直接调用AutoCAD内核函数,程序运行快。涨圈参数化设计CAD软件采用C++为编程语言、ObjectARX 2008为二次开发工具,对AutoCAD 2008进行二次开发[9-10]。
图2为涨圈密封参数化CAD软件开发流程,按照设计流程执行,首先输入设计参数,然后依次确定主要尺寸、搭扣切口尺寸、端面流槽,最终校核弹力和摩擦力矩。图样设计完成后,进行图框及标题栏签署。
1)建立ARX应用程序的工程文件,工程名称为ring,用Visual C++环境的AppWizard向导创建ObjectARX 应用程序框架,自动生成所创建工程的文件,如ring.def,ring.h,ring.cpp,StdAfx.h,StdAfx.cpp,Resourch.h等。
2)设置ARX应用程序的初始化部分。在ring.cpp文件中添加需要包含的头文件、函数声明、接口函数说明及用户程序主体函数等部分。
如在接口函数部分中,使用了3个关键的函数,即加载函数initApp()、卸载函数unloadApp()和调用函数acrxEntryPoint。部分函数代码如下:
void ring()//主函数
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());//创建DLL模块状态
CRINGDLG dlg;//创建主对话框界面对象
Dlg.DoModal();//显示对话框
……}
void initApp()//加载函数
{
acedRegCmds->addCommand(_T("ring_COMMANDS"),
_T("r"),
_T("r"),
ACRX_CMD_TRANSPARENT,
ring);
……
}
void unloadApp()//卸载函数
{
acedRegCmds->removeGroup(_T("ring_COMMANDS"));
……
}
3)依据涨圈密封参数化设计开发流程,依次创建设计参数输入、主要尺寸确定、搭扣切口尺寸设计、性能校核及图纸设置等界面,分别添加各界面相应的控件,关键是定义相应的消息处理函数及各界面的初始化函数。设计参数输入界面初始化程序代码如下:
BOOL CRINGDLG::OnInitDialog()
{
CDialog::OnInitDialog();
static BOOL d=false;
if(d==false)
{
YT=1;
((CButton *)GetDlgItem(IDC_HKHT))->SetCheck(TRUE);//选上
m_P1=2.5;
m_n1=5000;
m_W1=2.8;
m_R11=104;
m_R51=120;
m_R31=118;
d=true;
}
else
{
if(YT==1)
{
((CButton *)GetDlgItem(IDC_HKHT))->SetCheck(TRUE);//选上
}
else if(YT==2)
{
((CButton *)GetDlgItem(IDC_TKZJ))->SetCheck(TRUE);//选上
}
else if(YT==3)
{
((CButton *)GetDlgItem(IDC_GCJX))->SetCheck(TRUE);//选上
}
else if(YT==4)
{
((CButton *)GetDlgItem(IDC_QT))->SetCheck(TRUE);//选上
}
}
P.Format(_T("%.2f"),m_P1);
n.Format(_T("%.2f"),m_n1);
W.Format(_T("%.2f"),m_W1);
R1.Format(_T("%.2f"),m_R11);
R5.Format(_T("%.2f"),m_R51);
R3.Format(_T("%.2f"),m_R31);
m_P.SetWindowText(P);
m_n.SetWindowText(n);
m_W.SetWindowText(W);
m_R1.SetWindowText(R1);
m_R5.SetWindowText(R5);
m_R3.SetWindowText(R3);
erase();
this->SetWindowPos(NULL,0,120,0,0,SWP_NOZORDER|SWP_NOSIZE); //移动对话框位置
return TRUE; // return TRUE unless you set the focus to a control
}
定义主要典型图样绘制程序如下[11]:
直线:
acedCommand(RTSTR,_T("LINE"),RT3DPOINT,pt1,RT3DPOINT,pt2,RTSTR,_T(""),0);
圆:acedCommand(RTSTR,_T("CIRCLE"),RT3DPOINT,pt_c,RTREAL,r,0);
圆弧:
acedCommand(RTSTR,_T("ARC"),RT3DPOINT,pt1,RTSTR,_T("E"),RT3DPOINT,pt2,RTSTR,_T("R"),RTREAL,r,0);
样条曲线:
acedCommand(RTSTR,_T("SPLINE"),RT3DPOINT,pt1,RT3DPOINT,pt2,RTSTR,_T(""),RTSTR,_T(""),RTSTR,_T(""),0);
4)编译、链接应用程序(ring.arx)。
1)设计参数输入模块
用户可以根据用途选择涨圈设计模式,然后输入传动装置的相关性能参数及尺寸空间,如图3所示。
2)尺寸设计模块
如图4所示,首先主要尺寸界面中给出了涨圈密封与传动装置空间配合几何参数的优化值,然后进入搭扣切口尺寸界面,设计搭扣总长度、切口宽度及切口间隙长度等参数,最后进入端面刻槽界面,确定流槽种类、流槽尺寸及流槽数量等参数,用户均可根据经验对上述设计参数进行修改。
3)性能校核模块
根据设计参数计算涨圈的性能参数,如果对设计结果不满意,可以返回上一步,进行参数的修改,如图5(a)所示。
4)图框签署模块
设计完成后,进入如图5(b)所示的图幅和标题栏设置对话框,初始图幅和布置方式为A3、横置。绘图比例是根据绘制的图形和A3图框之间比值进行自动换算的一个比例。输入标题栏中的“单位名称”、“图纸名称”、“材料名称”以及“重量”等。
阐述了涨圈的基本理论和结构特点,在此基础上,采用C++编程语言,以ObjectARX 2008为二次开发工具,在AutoCAD 2008开发平台上开发了用于涨圈设计的参数化CAD软件,提高了涨圈密封设计的工作效率。经试验验证,研制的涨圈密封各项指标均满足产品性能需求,为后续型号产品设计质量的提升提供了依据。