高勇, 侯永濤, 孫慶勇, 張宇
(1.江蘇大力城電氣有限公司,江蘇 鎮(zhèn)江212211; 2.江蘇大學(xué) 機(jī)械工程學(xué)院,江蘇 鎮(zhèn)江212013)
恒力彈簧支吊架是一種在限定位移內(nèi)對被支吊物施以恒定荷載的裝置,起到支撐重力、平衡反力及避免附加應(yīng)力的作用,它廣泛于化工廠和電廠的管道系統(tǒng)、熱電站的鍋爐和燃燒器等場合[1]。
恒力彈簧支吊架的設(shè)計(jì)關(guān)鍵是凸輪曲線應(yīng)滿足恒定載荷的要求。通常以恒載為前提,通過分析機(jī)構(gòu)各參數(shù)之間的關(guān)系得到凸輪曲線的微分方程[2],再通過對微分方程求數(shù)值解得出曲線的圖像用于工業(yè)生產(chǎn)[3]。本文通過對一款扁平恒力彈簧支吊架的機(jī)構(gòu)進(jìn)行力學(xué)分析,在推導(dǎo)得出其凸輪曲線微分方程的基礎(chǔ)上,基于AutoCAD.NET集成MATLAB的微分方程求解功能,開發(fā)了一款軟件工具。軟件工具可直接在AutoCAD中生成凸輪輪廓的SPLINE曲線,有效提高了企業(yè)新產(chǎn)品開發(fā)的效率。
扁平恒力支吊架的結(jié)構(gòu)如圖1所示。其中,兩個凸輪在水平方向彼此以一定的角度對稱布置,這兩個凸輪分別與具有一定預(yù)載荷的兩個彈簧相互作用。外載荷F作用在半徑為R的滾輪上,滾輪在豎直方向的移動過程中,使凸輪繞其轉(zhuǎn)動中心O點(diǎn)轉(zhuǎn)動。凸輪與彈簧座在A點(diǎn)鉸接,凸輪轉(zhuǎn)動壓縮彈簧,持續(xù)變大的彈簧力通過杠杠及凸輪輪廓轉(zhuǎn)化為對滾輪在豎直方向上恒定的支撐力。

圖1 扁平恒力支吊架結(jié)構(gòu)原理圖
如圖1所示,將靜坐標(biāo)系XOY的原點(diǎn)定義在凸輪的轉(zhuǎn)動中心O點(diǎn),X軸正向水平向左,Y軸正向豎直向下。
設(shè)凸輪對滾輪的作用力為F1,凸輪曲線在與滾輪接觸點(diǎn)處的切線方向與X軸的夾角為α,滾輪所受外載荷為F。滾輪在Y軸方向受力平衡,則有

式中:d為凸輪轉(zhuǎn)動中心與滾輪中心沿X軸方向的距離;y為凸輪轉(zhuǎn)動中心與滾輪中心沿Y軸方向的距離。

圖2 滾輪對凸輪的力矩
如圖3所示,彈簧力F2一端通過彈簧座作用于凸輪上的A點(diǎn),另一端作用于機(jī)架上的C點(diǎn)。初始狀態(tài)下,AC兩點(diǎn)連線平行于X軸,C點(diǎn)與凸輪轉(zhuǎn)動中心O沿X軸方向的距離為,沿Y軸方向的距離為h;A點(diǎn)位置由圖3中初始設(shè)計(jì)角度φ確定。

圖3 彈簧力及對凸輪的力矩



式(17)即為求解凸輪輪廓曲線的微分方程。在式(17)中,M2可由式(11)計(jì)算得到,其中的β可由式(16)計(jì)算得到;y由式(14)計(jì)算得到。
凸輪輪廓曲線微分方程的求解可使用MATLAB的ode45()函 數(shù)[5],M 文 件 中 寫 為[u,v]=ode45(@consfun,[d:dataInterval:Xmax],y0)。其中,函數(shù)consfun()用于按式(17)求解凸輪曲線的一階導(dǎo)數(shù)即du/dv;(d,y0)是微分方程的初始條件即凸輪曲線所通過的點(diǎn);dataInterval是數(shù)據(jù)間隔,可按所需凸輪曲線的精度取0.1或0.01;Xmax是靜坐標(biāo)系下所需凸輪曲線X坐標(biāo)的最大值。ode45()采用四階-五階Runge-Kutta算法,用四階方法提供候選解,五階方法控制誤差,是一種精度較高、自適應(yīng)步長的常微分方程數(shù)值解法。
為方便M文件的使用,提高企業(yè)新產(chǎn)品的開發(fā)效率,開發(fā)了可在AutoCAD中自動生成該凸輪曲線的軟件工具,其工作界面如圖4所示。

圖4 “扁平恒力支吊架凸輪曲線設(shè)計(jì)”對話框
在調(diào)用MATLAB的微分方程求解功能,計(jì)算得到凸輪曲線的數(shù)據(jù)后,單擊“CAD繪制輪廓”按鈕,將要求用戶在AutoCAD的繪圖區(qū)中指定凸輪的旋轉(zhuǎn)中心O點(diǎn),隨后程序?qū)⒁設(shè)為坐標(biāo)原點(diǎn),繪制出凸輪輪廓的SPLINE曲線。單擊“輸出數(shù)據(jù)”按鈕,程序可將凸輪曲線的數(shù)據(jù)輸出到EXCEL文件中。
軟件工具的生成方法如圖5所示。在Visual Studio 2012集成開發(fā)環(huán)境中,需引用三類動態(tài)連接庫文件,其中AutoCAD.NET API的版本為2016,由此可使得程序在AutoCAD 2016及以上版本運(yùn)行;NPOI用于將凸輪曲線的數(shù)據(jù)輸出到EXCEL文件,其版本為2.4.1.0,NPOI的優(yōu)點(diǎn)是可在沒有安裝Office的情況下對EXCEL文件進(jìn)行讀寫操作;MATLAB對應(yīng)的版本為2016a,其中的MCamProCal.dll由用于求解凸輪曲線微分方程的M 文件,使用deploytool命令編譯[6]生成,編譯時(shí)應(yīng)設(shè)置生成類型為.NET Assembly,Microsoft Framework 為4.0。MWArray.dll為C#和MATLAB混合編程必須引用的動態(tài)連接庫文件,用于實(shí)現(xiàn)C#數(shù)據(jù)與MATLAB數(shù)據(jù)間的轉(zhuǎn)換。

圖5 軟件工具的生成
需要注意的是,調(diào)用ode45()函數(shù)生成的凸輪曲線是滾輪半徑R等于0時(shí)的數(shù)值解;若R不為0,則需按式(17)計(jì)算出凸輪曲線在每個點(diǎn)處的一階導(dǎo)數(shù)(切線方向),由此才能應(yīng)用等距曲線的計(jì)算公式,計(jì)算出滾輪為R時(shí),對應(yīng)凸輪的實(shí)際輪廓曲線。
程序的源代碼采用C#語言編寫,基于三類引用,編譯為可被AutoCAD調(diào)用的動態(tài)連接庫文件CamCalculate.dll。在使用軟件工具的計(jì)算機(jī)上,不需要安裝MATLAB 2016a,但需安裝對應(yīng)版本的MATLAB Runtime運(yùn)行環(huán)境。將相應(yīng)的dll復(fù)制到擴(kuò)展名為.bundle的文件夾中,并將其放置在本地驅(qū)動器一個名為ApplicationPlugins文件夾下,通過編寫PackageContents.xml文件[7],即可實(shí)現(xiàn)軟件工具的自動加載。
為驗(yàn)證軟件工具所生成凸輪輪廓曲線的正確性,在ADAMS中按圖4對話框中所示參數(shù),建立該款扁平恒力支吊架機(jī)構(gòu)的動力學(xué)模型,如圖6所示。

圖6 機(jī)構(gòu)動力學(xué)模型
模型中,凸輪曲線由軟件工具所生成的EXCEL文件另存為CSV(逗號分隔)文件導(dǎo)入到ADAMS中生成。凸輪與大地(機(jī)架)在MARKER_O處通過旋轉(zhuǎn)副連接,且在MARKER_C和MARKER_A處施加有大地對凸輪的彈簧力;從動件與滾輪通過旋轉(zhuǎn)副連接,從動件與大地通過移動副連接;在滾輪與凸輪間添加有Contact接觸力,接觸力類型為Circle to Curve,根據(jù)I MPact函數(shù)設(shè)置接觸剛度為1×106N/mm、阻尼系數(shù)[8]為60 N·s/mm、接觸力指數(shù)為1.5、滲透深度為0.1 mm。
在移動副上施加驅(qū)動,位移是仿真時(shí)間t的線性函數(shù),仿真得到凸輪和滾輪沿豎直Y方向接觸力隨滾輪位移的變化曲線,如圖7所示。查詢曲線的數(shù)據(jù)可知,滾輪位移在0.6 mm之后,Y方向接觸力趨近于5000 N,整個位移行程300 mm的過程中,Y方向接觸力的平均值為25 024.4035 N,基本為設(shè)計(jì)外載荷F=50000 N的二分之一。由此可知,通過軟件工具所得到的凸輪輪廓曲線,滿足設(shè)計(jì)要求。

圖7 Y向接觸力-滾輪位移變化曲線
1)基于對一款扁平恒力彈簧支吊架機(jī)構(gòu)的力學(xué)分析,推導(dǎo)了該款支吊架所用凸輪曲線的微分方程,給出了通過編寫MATLAB的M文件調(diào)用ode45()函數(shù)求解凸輪曲線微分方程的方法。
2)基于AutoCAD.NET,通過將用于求解凸輪曲線微分方程的M文件編輯成動態(tài)連接庫,開發(fā)了可在AutoCAD中生成凸輪輪廓SPLINE曲線的軟件工具,工具還具有將凸輪曲線數(shù)據(jù)輸出到EXCEL文件的功能。
3)基于ADAMS建立了該款扁平恒力支吊架機(jī)構(gòu)的動力學(xué)模型,仿真結(jié)果顯示軟件工具所生成的凸輪輪廓曲線滿足設(shè)計(jì)要求。