石欣雨,文國軍,吳 川,白江浩
SHI Xin-yu1,WEN Guo-jun1,WU Chuan2,BAI Jiang-hao1
(1.中國地質大學(武漢)機械與電子信息學院,武漢 430074;2.中國地質大學(武漢)工程學院,武漢 430074)
動力頭主軸是非開挖鉆機的核心部件,同時也是其工作時主要的受力件[1]。隨著工況的日益復雜化,影響其性能的設計參數越來越多,限制約束條件愈來愈苛刻和復雜,同時性能要求卻越來越高。而傳統的三維設計方法中,設計人員僅僅依靠原有的經驗和專業知識來調整結構設計參數,在三維軟件中進行手動繪圖的做法,不僅設計周期大大增加,而且很難對眾多的設計參數進行正確的選擇,導致設計精度降低[2]。由此設計出來的動力頭主軸,往往不易達到設計要求;或者雖然滿足了設計要求,但在結構形式、材料使用等方面存在著不合理性和不經濟性,且結構的綜合性能不能達到理想狀態。因此,在滿足安全要求的前提下,提高設計精度、最大限度地降低成本、縮短設計周期具有重要的意義。
綜合上述考慮,提出了非開挖鉆機動力頭主軸三維自動優化設計,闡述了該設計方法的思路及實現過程,并對該設計方法進行了實例驗證,確定了該設計方法的可行性。
該設計方法是以VB 軟件優良的人機界面為平臺,將MATLAB軟件的優化設計功能與SolidWorks軟件的三維設計功能集成于一體,根據設計要求輸入相應的參數,即可實現動力頭主軸三維設計的最優化和自動化[3,4]。其運行流程圖如圖1所示,其中虛線框中的流程在后臺運行。

圖1 非開挖鉆機動力頭主軸三維自動優化設計運行流程圖
建立優化模型的目的是要使非開挖鉆機動力頭主軸在滿足設計要求的條件(足剛度要求、強度要求以及邊界限制的條件)下質量最小,這樣就提高了動力頭主軸的設計精度,節約了材料,降低了設計成本。
非開挖鉆機動力頭主軸一般為兩支承空心階梯軸。鉆機工作時鉆架與水平方向有一定的傾角,且其最大受力狀態為水平方向的回拖力(或進給力)F,同時還受到液壓馬達提供的最大扭矩T[5]。為便于使用材料力學公式進行結構分析,可將其簡化成以當量直徑D表示的等截面軸,以沿鉆架方向為X方向,垂直鉆架方向為Y方向建立坐標系,其受力變形與截面簡化圖如圖2所示。

圖2 動力頭主軸變形情況及主軸截面簡圖
由圖2建立動力頭主軸的力學方程,并按上述優化設計要求將這些方程用函數表達式規格化,則動力頭主軸優化設計的數學模型可表示為:

式中d為主軸內徑、D為主軸外徑,L為主軸軸長,a為主軸外伸端長度,ρ為主軸的材料密度、[y]為主軸許用撓度,J為主軸慣性力矩,[θ]為主軸許用轉角,Jp為主軸圓截面的極慣性矩,[τ]為主軸許用切應力,T為主軸扭矩,Wn為主軸抗扭截面模量,Dmin為主軸最小外徑,Dmax為主軸最大外徑,Lmin為主軸最小軸長,Lmax為最大軸長。
根據建立的主軸優化模型,可知動力頭主軸優化設計問題屬于單目標多變量非線性約束優化問題。目前,對于非線性約束優化問題的解法很多,但這些算法僅能解決一類特殊的非線性規劃問題,通用性不強。而MATLAB優化工具箱可采用序列二次規劃法(Sequential Quadratic Programming SQP)求解約束優化問題,具有很高的效率,它是將原問題化為一系列的二次規劃子問題進行求解,通過使用擬牛頓法更新程序對Kuhn-Tucker方程累積二階信息,以保證超線性的收斂,調用fmincon函數求解約束優化問題[4~6]。因此,采用MATLAB優化工具箱中的fmincon優化模塊進行動力頭主軸優化設計,其部分設計程序如下:

由于動力頭主軸的三維結構和幾何形狀比較復雜,因此將動力頭主軸的三維設計采用分步宏錄制的方法來生成動力頭主軸的三維設計代碼。分步宏錄制方法是根據動力頭主軸的結構和幾何形狀,將動力頭主軸宏錄制過程劃分成幾個部分(以變換草圖基準面為劃分標準)來進行[4]。所錄制的宏代碼中就包含了一些符合要求的SolidWorks的API函數,只需對其進行復制,將相關的設計參數都用當量直徑D及軸長L進行表達,即:

式中:Di為主軸第i段階梯的軸徑,Li為主軸第i段階梯的軸長,δi為主軸第i段階梯當量直徑系數,λi為主軸第i段階梯軸長系數,其中δi、λi由主軸各階梯零件裝配關系確定。
然后將代碼在VB軟件中進行編輯、修改,從而達到準確的自動生成動力頭主軸的三維圖。
人機界面不但是用戶輸入數據、瀏覽數據等信息的途徑,也是啟動MATLAB進行數據傳輸、運算及調用SolidWorks進行自動繪圖的平臺。根據上述所確定的動力頭主軸設計參數,定義人機界面,并在人機界面的功能控件中添加相應的代碼。
設計好人機交互界面后,還需要建立VB與MATLAB及SolidWorks間的連接,實現以VB為主控程序及編程語言將優化設計與自動繪圖集成于一體。建立軟件連接的具體過程為:
1)建立VB與MATLAB之間的連接進行優化設計參數的傳輸及運算;
2)建立VB與SolidWorks之間的連接實現VB調用SolidWorks自動繪制動力頭主軸的三維圖。
2.5.1 建立VB與MATLAB的連接
在VB創建的具有參數輸入功能的人機交互界面中,建立VB與MATLAB的自動連接,便可實現在VB編寫的應用程序中調用MATLAB編寫的優化設計程序。具體實現方法是在VB的變量聲明時定義:Dim MATLAB As Object;隨后在Form_Load部分用Set語句建立VB和MATLAB的連接:

隨后使用Execute方法,便可實現MATLAB對VB輸入數據正確的接收[5~8]。MATLAB接受VB輸入數據并進行計算后,調用MATLAB中的內置函數csvwrite將計算結果保存為文本文件,隨后利用VB中的Open語句打開文件,用Input#語句讀取數據,通過這種方式便實現了VB與MATLAB的數據傳輸。
2.5.2 建立VB與SolidWorks的連接
通過建立VB與MATLAB間的連接,實現了優化設計參數的傳輸及運算。接下來需建立VB與MATLAB的連接,實現VB調用SolidWorks,利用優化后的設計參數自動繪制動力頭的主軸三維圖。建立VB與SolidWorks的連接,具體實現方法是在VB中創建一個SolidWorks應用對象,格式為:


然后在上訴代碼后添加動力頭主軸三維自動化繪圖的程序,這樣,就可以在VB中調用SolidWorks進行動力頭主軸三維繪圖[9,10]。
ZT-18型非開挖鉆機是某公司生產量較大的機型之一,經過多年的改進優化,該機型的工作性能得到了很大的提高。因此,以該型號非開挖鉆機的動力頭主軸為驗證實例具有很好的代表性。
在設計界面中輸入相應的優化參數后單擊【數據輸出】,MATLAB軟件在接收輸入參數后便在后臺進行優化運算,隨后在設計界面輸出優化后的主軸直徑(當量直徑)D(mm)和優化后的主軸質量(最小質量)m(kg),運算后的輸出結果如圖3所示。

圖3 輸出優化后的軸直徑及主軸質量
由圖3可知優化后的主軸直徑、主軸長及主軸質量,對主軸現有設計結果(數據來自某公司)與優化設計后的結果進行對比如表1所示。

表1 優化結果比較
單擊【生成三維圖】,則系統根據優化后的主軸直徑(當量直徑)D(mm)及主軸軸長L(mm)調用SolidWorks自動生成優化后的主軸三維圖如圖4所示。

圖4 自動繪制的主軸三維圖
由表1及圖4可知,由該設計方法進行動力頭主軸三維設計,不但可以自動生成動力頭主軸的三維模型,而且所生成的動力頭主軸的當量直徑、軸長、質量比現有結果分別減小了2.5%、0.9%、12.5%。因此,該實例驗證了該設計方法對動力頭主軸進行三維設計的高效性和精確性。
闡述了非開挖鉆機動力頭主軸三維自動優化設計的思路及過程,并對該設計方法功能的實現過程進行了詳細的說明,指明了該使用該設計方法進行非開挖鉆機動力頭主軸三維設計有兩大優勢:高效性和精確性。
通過實例對非開挖鉆機動力頭主軸三維自動優化設計的兩大優勢進行了驗證,在設計界面輸入相關設計參數后,單擊界面上相應的按鈕,便可完成動力頭主軸的優化設計和三維建模。
通過實例驗證,非開挖鉆機動力頭主軸三維自動優化設計實現了預期的兩大目標,是一種非常有效的非開挖鉆機動力頭主軸三維設計方法。
[1]沙永柏,孫友宏,于萍,薛軍.JFK-150型非開挖導向鉆機給進機構的設計[J].機械設計與制造,2006(1):111-112.
[2]王建正,李建宏,郭希斌.三維CAD在重型機械中的應用[J].機械設計與制造,2004(2):48-49.
[3]陳皓亮,李華,姚進.基于特征造型的軸類零件設計系統[J].機械設計與制造,2012(2):189-191.
[4]王鴻鈞.典型機械零件參數化設計系統的研究與開發[J].制造業自動化,2009(7):36-38.
[5]席平原.應用MATLAB工具箱實現機械優化設計[J].機械設計與研究,2003,19(3):40-42.
[6]Optimization Toolbox User’s Guide.The Math Works Inc,2005.
[7]李健,靳龍,伍麗峰.開口空心齒輪軸的優化設計[J].機械設計與制造,2006(1):32-33.
[8]隗燕琳,陳進明.基于VB與Matlab的混合編程方法.計算機與數字工程[J].2013(8):1388-1389.
[9]索超,李玉翔,林樹忠.基于VB語言對SolidWorks參數化設計的二次開發[J].制造業自動化,2013(8):137-139.
[10]朱躍峰,朱敬超.基于SolidWorks的機械產品參數化設計研究[J].機械設計與制造,2008(6):50-51.