李正偉,徐鳳軍,高躍飛
(中北大學(xué) 機(jī)電工程學(xué)院,山西 太原 030051)
自動機(jī)作為高炮的核心,其好壞直接決定了高炮的性能。在自動機(jī)設(shè)計階段,為了得到各零部件的動力學(xué)響應(yīng),需要不斷地針對設(shè)計機(jī)構(gòu)建立虛擬樣機(jī)進(jìn)行動力學(xué)分析,且自動機(jī)零件繁多,結(jié)構(gòu)十分復(fù)雜,每次對結(jié)構(gòu)修改后,往往要對虛擬樣機(jī)進(jìn)行修改甚至重復(fù)建模,實現(xiàn)模型的參數(shù)化又很困難。而ADAMS除了具有很強(qiáng)的動力學(xué)分析功能外,還具有很強(qiáng)的二次開發(fā)功能,包括ADAMS/View界面的用戶化設(shè)計、利用cmd語言編輯宏命令實現(xiàn)自動處理和仿真控制、通過編制用戶子程序滿足用戶的某些特定需求,甚至可以拓展ADAMS的功能[1]。因此,為了簡化每次重復(fù)修改、建立虛擬樣機(jī)的工作,提高仿真效率,本文應(yīng)用ADAMS中的View模塊,開發(fā)了針對某高炮自動機(jī)的虛擬樣機(jī)動力學(xué)仿真平臺。
自動機(jī)是自動炮的重要組成部分,主要完成自動重復(fù)裝填和發(fā)射情況下發(fā)炮彈實現(xiàn)連發(fā)射擊[2]。該自動機(jī)結(jié)構(gòu)包括扣機(jī)部件、身管部件、進(jìn)彈機(jī)、輸彈機(jī)、炮閂部件和浮動機(jī)部件等部分,這些機(jī)構(gòu)依靠炮箱組成一個整體,并安裝在炮架上。
在對自動機(jī)結(jié)構(gòu)特點研究分析的基礎(chǔ)上,應(yīng)用UG建立自動機(jī)各零部件的三維模型,并按火炮行軍狀態(tài)時自動機(jī)各零件的相對位置裝配。裝配時,應(yīng)對自動機(jī)進(jìn)行必要的簡化,模型中一些次要的對結(jié)果基本不影響的零件可省略,不再裝配或應(yīng)用布爾工具合并到其固連的零部件上。
首先將簡化后的自動機(jī)裝配體導(dǎo)出Parasolid文件(.x_t),然后將該文件導(dǎo)入 ADAMS中;然后修改各零件的材料屬性,并根據(jù)自動機(jī)各零件的運(yùn)動及位置關(guān)系添加約束副。該自動機(jī)為導(dǎo)氣式自動機(jī),載荷主要有彈底壓力、炮膛合力、后效期作用力和導(dǎo)氣室壓力。其中導(dǎo)氣室壓力采用常用的布拉文經(jīng)驗公式法,因為其他載荷都與事先求得的p-t曲線有線性關(guān)系,所以先采用AKSPLINE函數(shù)擬合p-t曲線,然后乘以系數(shù)后轉(zhuǎn)化得到。
仿真平臺的功能主要包括:虛擬樣機(jī)中零部件的質(zhì)量、密度、轉(zhuǎn)動慣量的修改;載荷施加、查看與修改;接觸力參數(shù)、彈簧力參數(shù)的修改;零件替換功能;對部分變形量較大的零件進(jìn)行柔性化處理;對不同仿真參數(shù)的結(jié)果進(jìn)行對比分析。
該平臺主要包括啟動文件、初始化文件、模型文件、菜單文件、對話框文件和平臺幫助文件等。為了便于各文件的管理和讀取,將上述文件按層次結(jié)構(gòu)存放于同一目錄下,其組織結(jié)構(gòu)如圖1所示。
應(yīng)用文本文件編寫啟動程序,并將文件名改為
“start.dat”,主要程序語句為:
call load_h(yuǎn)elp.bat
call D:\MSC.Software\Adams\2012\common\mdi.bat aview ru-st i
啟動過程為:首先運(yùn)行start.bat文件,然后用start.bat調(diào)用load_h(yuǎn)elp.bat,將help文件夾中的幫助文件復(fù)制到ADAMS安裝目錄下的help文件夾中,隨后,啟動ADAMS安裝目錄下的mdi.bat文件打開ADAMS。虛擬樣機(jī)模型的二進(jìn)制文件命名為“aview.bin”,這樣打開的ADAMS便自動搜索到該文件并讀入打開。打開虛擬樣機(jī)模型后,還要將定制好的菜單和對話框讀入到虛擬樣機(jī)環(huán)境中,進(jìn)行動力學(xué)仿真平臺的初始化。初始化的文件命名為“aviewBS.cmd”,模型文件打開后,ADAMS自動讀入該cmd文件[3]。平臺初始化文件的主要程序語句為:
!界面改為經(jīng)典模式,便于菜單顯示
defaults interface style=classic
!讀入菜單文件
interface menubar read menubar
=.gui.main.mbar file=".\mnu\automat_cla.mnu"
!建立新對象庫“.my_gui”
library create library_name=.my_gui
!讀入一系列對話框文件
file command read file_name="./dia/create_part.cmd"
……
在ADAMS/View環(huán)境中,應(yīng)用Tools>Menu>Modify工具,遵照菜單語句的語法格式,添加用戶需要的菜單命令,并導(dǎo)出為“.mnu”文件,菜單結(jié)構(gòu)如圖2所示。
圖1 平臺組織結(jié)構(gòu)
圖2 用戶菜單結(jié)構(gòu)圖
2.5.1 參數(shù)修改對話框
仿真時,經(jīng)常需要對一些參數(shù)進(jìn)行修改,由于在模型樹中一一查找又很麻煩,因此建立如圖3所示的參數(shù)修改對話框。但自動機(jī)中零件繁多,接觸關(guān)系復(fù)雜,不可能將所有接觸力全部在對話框中呈現(xiàn)出來,所以圖中的接觸力和彈簧的參數(shù)對話框,只標(biāo)注出一些對仿真結(jié)果影響較大的接觸關(guān)系和彈簧力。仿真時,可方便地對參數(shù)進(jìn)行修改,對于其他接觸力的參數(shù)可通過提前定義好的設(shè)計變量統(tǒng)一修改,提高仿真效率。
2.5.2 載荷修改對話框
在ADAMS內(nèi)部對話框“Modifyspline”的基礎(chǔ)上添加了載荷單選框控件,建立載荷修改對話框,如圖4所示。
圖3 參數(shù)修改對話框
圖4 載荷修改對話框
2.5.3 零件替換
當(dāng)需要替換Part時,可用宏命令實現(xiàn)零件的自動替換,考慮到通用性只替換零件的Solid。而且零件的Mark點等質(zhì)量屬性信息保留,對約束副的i Mark和j Mark沒有影響,所以無需刪除零件間約束關(guān)系。零件替換的具體過程為:①刪除虛擬樣機(jī)內(nèi)所有的接觸力;②刪除需要替換零件的實體;③導(dǎo)入新的實體并重新命名;④重新添加原始接觸力。
2.5.4 仿真結(jié)果查看
仿真結(jié)束后,為了方便查看仿真結(jié)果,將需要重點關(guān)注的零件的動力學(xué)響應(yīng)曲線融合到如圖5所示的結(jié)果查看對話框中,用戶只需點擊相應(yīng)的按鈕,曲線就可顯示在繪圖區(qū)。
圖5 結(jié)果查看對話框
2.5.5 幫助文檔
為了方便用戶的使用,將各種功能的使用方法步驟編輯組織在一起形成“.mht”文件,保存在目錄下的help文件夾中,在平臺初始化時,通過批處理命令將該文件復(fù)制到ADAMS安裝目錄下的help文件夾中,用戶可通過用戶菜單項中的help打開。
以某高炮為例,在0°高低角、導(dǎo)氣室調(diào)節(jié)孔直徑為Φ2.8mm工況下對火炮循環(huán)射擊時自動機(jī)的動力學(xué)響應(yīng)進(jìn)行仿真分析,基礎(chǔ)構(gòu)件炮閂座的速度-時間曲線如圖6所示,炮閂座后坐最大速度為(17.4±0.3)m/s。將上述仿真結(jié)果與指標(biāo)數(shù)據(jù)[4,5]對比,誤差約為6.5%,滿足誤差要求,說明虛擬樣機(jī)可信,仿真結(jié)果具有一定的參考價值。
基于ADAMS二次開發(fā)技術(shù),針對某高炮自動機(jī)開發(fā)了動力學(xué)仿真平臺,簡化了虛擬樣機(jī)的修改過程,提高了動力學(xué)仿真的效率。但平臺只能針對該自動機(jī)動力學(xué)仿真,通用性差,有待改進(jìn)。
圖6 炮閂座的速度-時間曲線
[1] 陳立平,張云清,任衛(wèi)群,等.機(jī)械系統(tǒng)動力學(xué)分析及ADAMS應(yīng)用教程[M].北京:清華大學(xué)出社,2005.
[2] 王文記,趙國豪,趙勇,等.國內(nèi)外高炮浮動技術(shù)的現(xiàn)狀與發(fā)展趨勢[J].火炮發(fā)射與控制學(xué)報,2007(9):69-72.
[3] 劉吉成,張學(xué)紅,劉樹林,等.基于ADAMS的機(jī)械造穴工具二次開發(fā)平臺研究[J].機(jī)械設(shè)計,2011(10):41-44.
[4] 馮長根,溫波,王茂林,等.高炮發(fā)射動力學(xué)仿真技術(shù)研究[J].兵工學(xué)報,2001(5):145-148.
[5] 陳熙,張冠杰.35mm高炮技術(shù)基礎(chǔ)[M].北京:國防工業(yè)出版社,2002.