袁俊杰,王錦濤,郭無極
(1.廣西大學(xué)機械工程學(xué)院,廣西 南寧 530004;2.南京農(nóng)業(yè)大學(xué)工學(xué)院,江蘇 南京210031)
目前,隨著虛擬樣機技術(shù)即機械系統(tǒng)動態(tài)仿真技術(shù)在數(shù)字化設(shè)計及多體動力學(xué)仿真領(lǐng)域的運用,可以讓設(shè)計人員在各種虛擬環(huán)境下對產(chǎn)品的整體運動進行仿真,通過對虛擬樣機添加相關(guān)約束、載荷條件和驅(qū)動,模擬樣機真實運動時的情況,便于觀察運動時樣機相關(guān)部件的受力情況,對設(shè)計方案進行分析。利用虛擬樣機對產(chǎn)品進行開發(fā)時,不僅能代替物理樣機進行試驗驗證,減少返工,還能設(shè)定多種工作情況、開展試驗設(shè)計對某一部件尺寸或者性能進行優(yōu)化,縮短了樣機的可開發(fā)周期,提高了設(shè)計的效率和質(zhì)量[1-2]。
在虛擬樣機仿真軟件Adams中,對機械系統(tǒng)進行仿真建模時,常常會因為物料的個數(shù)太多,而必須對物料進行重復(fù)建模,如在物料輸送過程中,物料與物料之間會發(fā)生碰撞,同時物料與樣機模型部件之間也會發(fā)生碰撞,但是在Adams軟件界面中對于相互碰撞的物體,一次只能對兩個相互碰撞的物體進行碰撞關(guān)系的設(shè)定,要想對每個物料與其他物料之間的碰撞關(guān)系以及每個物料與所接觸的部件之間的碰撞關(guān)系進行設(shè)定,只能依次點擊如圖1所示的碰撞力設(shè)置窗口進行參數(shù)設(shè)定,十分繁瑣。
圖1 碰撞力設(shè)置窗口
如圖2所示的甘蔗排種器,在其左側(cè)的儲種箱內(nèi)儲有150根甘蔗等待排出,若不采用宏命令進行建模,則必須在Adams中連續(xù)建立150根甘蔗模型或?qū)?50根甘蔗模型,再依次對這些甘蔗模型進行彈性模量、密度、泊松比的設(shè)置,之后對150根甘蔗之間的兩兩碰撞關(guān)系進行設(shè)定,則需要進行11325次操作,對于150根甘蔗與其發(fā)生碰撞的12個樣機部件進行碰撞關(guān)系的設(shè)定,則需要1 800次操作,所以在物料輸送機械建模仿真時,若不采用宏命令進行建模,操作將十分不便。
圖2 液壓系統(tǒng)原理
針對此問題,將利用Adams宏命令,對以甘蔗排種器為代表的物料輸送機械建模過程中各材料參數(shù)和碰撞力的設(shè)定問題進行深入探索和解決。
宏命令是包含于Adams/view的命令集,它可以執(zhí)行大量繁瑣、重復(fù)、連串的命令。在宏命令中可以對模型的一系列參數(shù)進行設(shè)定,實現(xiàn)宏命令與模型之間的數(shù)據(jù)交換。宏命令可以在Adams/View中的命令窗口、宏命令、對話框、菜單、按鈕命令中使用。
主要功能[3]:
(1)連續(xù)執(zhí)行重復(fù)性操作;
(2)進行參數(shù)設(shè)定,與View界面模型實現(xiàn)數(shù)據(jù)交換;
(3)自動完成模型的建立、復(fù)制、移動;
(4)迅速建立建模所需變量。
以甘蔗排種器排出的物料甘蔗為例,甘蔗模型為圓柱體,甘蔗種類為新臺糖22號,通過采用文獻[4]中方法對甘蔗進行采樣、分組、測量,確定甘蔗模型的尺寸為直徑為29.84 mm,其莖節(jié)凸起約1.5 mm,取其莖節(jié)處直徑為33 mm,確定模型長度為270 mm,為如圖3所示。
圖3 甘蔗模型
首先,在適當(dāng)?shù)奈恢媒⑹讉€甘蔗模型;隨后,對所繪制的首根甘蔗模型進行復(fù)制(此操作同時復(fù)制模型形狀和參數(shù)),生成余下149根甘蔗模型;同時,在模型復(fù)制的過程中,注意對復(fù)制出的甘蔗模型進行移動操作,將150根甘蔗排布整齊,如圖4所示。
圖4 150根甘蔗模型
點開Adams/View工具欄的Tool選項,依次點擊Marco→Edit→New,創(chuàng)建宏命令,如 Marco_1,之后點擊Wrap in uodo→Yes,保證該命令可以被撤銷,便于修改。
完成上述操作的宏命令程序如下:
defaults model model_name=.MODEL_1注釋:項目名稱
variable create variable_name=ip&注釋:創(chuàng)建變量
integer_value=1變量初始賦值
while condition=(ip<150)注釋:在首根甘蔗模型的位置創(chuàng)建其余149根甘蔗模型
part copy part=.MODEL_1.PART_1&
new_part=(unique_name("PART"))
variable modify variable_name=ip&
integer_value=(eval(ip+1))
end
variable delete variable_name=ip注釋:消去變量
defaults model part_name=.MODEL_1.PART_1
variable create variable_name=ip&
integer_value=1
while condition=(ip<150) 注釋:將其余甘蔗模型進行移動
move object part_name=&注釋:同行甘蔗相鄰質(zhì)心之間距離為33mm
(eval(".MODEL_1.PART_"http://(ip+1)))&
c1=33 c2=0 c3=0&
cspart_name=&
(eval(".MODEL_1.PART_"http://(ip)))
variable create variable_name=ip1&
integer_value=1
while condition=(ip1<135) 注釋:同列甘蔗相鄰質(zhì)心之間距離為33mm
move object part_name=&
(eval(".MODEL_1.PART_"http://(ip1+15)))&
c1=0 c2=33 c3=0&
cspart_name=&
(eval(".MODEL_1.PART_"http://(ip1)))
variable modify variable_name=ip1&
integer_value=(eval(ip1+15))
end
variable delete variable_name=ip1
variable modify variable_name=ip&
integer_value=(eval(ip+1))
end
variable delete variable_name=ip
依次點擊Tool MarcoDebug Marco,選擇宏命令Marco_1,點擊Run運行宏命令。
通過創(chuàng)建統(tǒng)一的材料屬性,再采用循環(huán)結(jié)構(gòu)將此材料屬性賦給全部物料模型。
依文獻方法[4]中方法測得新臺唐22號甘蔗密度為1.11e-6,彈性模量為122.45,泊松比為0.3.
創(chuàng)建名為ganzhe_1的材料屬性。建立宏命令Marco_2并運行,宏命令如下:
defaults model model_name=.MODEL_1
material create material_name=&
(eval(".MODEL_1.MATERIAL_"http://"ganzhe_"http://(1)))&
density=1110&
youngs_modulus=1.2245E8&
poissons_ratio=0.3
將材料屬性賦予全部物料模型。建立宏命令Marco_3.并運行,宏命令如下:
defaults model model_name=.MODEL_1
for variable_name =tempreal start_value =1 end_value=60
part modify rigid mass_properties&
part_name=(eval(".MODEL_1.PART_"http://rtoi(tempreal)))&
material_type=.MODEL_1.MATERIAL_ganzhe_1
end
此時150根甘蔗已經(jīng)全部定義完成,但它們還只是彼此獨立的模型,不存在任何接觸關(guān)系,若就此運行Adams進行仿真,甘蔗模型之間會出現(xiàn)彼此完全穿透的現(xiàn)象,所以要對每兩個甘蔗模型之間的碰撞參數(shù)進行設(shè)定。
本文采用impact函數(shù)模型對碰撞關(guān)系進行設(shè)定。
式中:K為接觸剛度系數(shù);x1為位移開關(guān)量,用于確定單側(cè)碰撞是否起作用;x為接觸物體之間的實際位移;d為阻尼最大時兩接觸物體的穿透深度;Cmax為最大接觸阻尼;x˙為穿透速度;n為非線性彈簧力指數(shù)。
當(dāng) x>x1時,兩物體不發(fā)生接觸,接觸力為0,當(dāng)x<x1時,兩物體接觸,接觸力大小與接觸剛度系數(shù)、非線性指數(shù)、阻尼系數(shù)以及兩物體距離的改變量即穿透量有關(guān)[1]。
Adams中的碰撞關(guān)系的設(shè)定是基于Hertz彈性碰撞定律的,根據(jù)Hertz定律[5]。
式(2)、(3)、(4)中:R2為甘蔗半徑,取 15mm,Ei為弾性模型,μi為泊松比。
在定義甘蔗之間和甘蔗與鋼板之間的碰撞時,對于e(Force Exponent)為力的指數(shù),剛度項的貢獻因子,都取默認值2.2;C(Damping)為阻尼系數(shù),單位為N*sec/m,通常取剛度值的0.1%~1%,本文前三者取10 N*sec/m;δ為穿透深度,對應(yīng)Adams取最大阻尼系數(shù)時的穿透深度,取δ=0.1 mm.
根據(jù)文獻[6]所述方法測得,甘蔗與甘蔗之間靜摩擦系數(shù)為0.66,動摩擦系數(shù)取0.46.
建立宏命令Marco_4并運行,編寫的宏命令如下:
defaults model model_name=.MODEL_1
variable create variable_name=ip&
integer_value=1
while condition=(ip<150)
variable create variable_name=ip1&
integer_value=2
variable create variable_name=paiming&
integer_value=1
while condition=(ip1<151)
if condition=(ip contact create contact_name=(eval("CGZ_"http://(ip)//"_"http://(paiming+1)))&i_geometry_name=(eval(".MODEL_1.PART_"http://(ip)//".SOLID16"))& j_geometry_name=(eval(".MODEL_1.PART_"http://(ip1)//".SOLID16"))& stiffness=245.6677727&注釋:剛度系數(shù) damping=1.0E+001&注釋:阻尼系數(shù) exponent=2.2&注釋:力的指數(shù) dmax=1.0E-001&注釋:最大穿透深度 coulomb_friction=on&注釋:庫倫摩擦力 mu_static=0.66&注釋:靜摩擦力系數(shù) mu_dynamic=0.46&注釋:動摩擦力系數(shù)stiction_transition_velocity =100& friction_transition_velocity=1000 else end variable modify variable_name=paiming& integer_value=(eval(paiming+1)) variable modify variable_name=ip1& integer_value=(eval(ip1+1)) end variable delete variable_name=ip1 variable delete variable_name=paiming variable modify variable_name=ip& integer_value=(eval(ip+1)) end variable delete variable_name=ip 運行上述宏命令后,自動完成如圖5所示的150根甘蔗之間的11325個碰撞關(guān)系設(shè)定。 圖5 50根甘蔗之間的碰撞關(guān)系 根據(jù)文獻[6]所述方法測得,測得甘蔗與鋼板之間靜摩擦力系數(shù)為0.59,動摩擦力系數(shù)取0.39. 建立宏命令Marco_4并運行,編寫的宏命令如下: defaults model model_name=.MODEL_1 variable create variable_name=ip& integer_value=1 while condition=(ip<61) contact create contact_name=(eval("C_"http://(ip)//(ip) //"_"http://(1713)))&i_geometry_name=(eval(".MODEL_1.PART_"http://(ip)//".SOLID16"))&j_geometry_name=(eval (".MODEL_1.PRT0001_1"http://".SOLID1713"))& stiffness=209.381517& exponent=2.2& 此時150根甘蔗之間的碰撞關(guān)系已經(jīng)全部定義完成,但它們都還沒有與接觸部件之間建立聯(lián)系,不存在任何接觸關(guān)系,此時運行Adams進行仿真,甘蔗模型與部件之間就會出現(xiàn)彼此完全穿透的現(xiàn)象,所以要對每個甘蔗模型與部件之間之間的碰撞參數(shù)進行設(shè)定,將部件材料為鋼。 根據(jù)公式(1)、(2)、(3),取 R1=15 mm,R3=1.5 mm,E3=2.07e5 N/m2則 h1=2.356e-3 mm2/N,h3 mping=1.0E+001& dmax=1.0E-001& coulomb_friction=on& mu_static=0.59& mu_dynamic=0.39& stiction_transition_velocity=100& friction_transition_velocity=1000 ……(其余部件與甘蔗模型之間的碰撞關(guān)系同上) variable modify variable_name=ip& integer_value=(eval(ip+1)) end variable delete variable_name=ip 運行上述宏命令后,自動完成如圖6所示的150根甘蔗與機器部件之間的1800個碰撞關(guān)系設(shè)定。 圖6 150根甘與機器部件之間的碰撞關(guān)系 本文針對物料輸送機械在Adams的仿真過程中,出現(xiàn)的物料模型重復(fù)建立、各種材料屬性和碰撞關(guān)系重復(fù)設(shè)立所造成工作量浩大繁瑣的問題,以甘蔗排種器為研究對象,編寫了相關(guān)的宏命令,從而實現(xiàn)了模型的快速復(fù)制以及材料屬性和各種碰撞關(guān)系的一次性施加,大大減少了仿真中建模所需的時間,提高了建模效率,為后續(xù)模型的仿真、分析創(chuàng)造了前提條件,也為類似物料輸送機械的建模與宏命令的應(yīng)用提供了參考依據(jù)。2.4 物料與部件之間碰撞關(guān)系的設(shè)定
3 結(jié)論