趙振旗,李濟(jì)順,隋新,2,馬偉,2,薛玉君,2
(1.河南科技大學(xué) 機(jī)電工程學(xué)院,河南 洛陽(yáng) 471003;2.河南省機(jī)械設(shè)計(jì)及傳動(dòng)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,河南 洛陽(yáng) 471003;3.礦山重型裝備國(guó)家重點(diǎn)實(shí)驗(yàn)室,河南 洛陽(yáng) 471003)
隨著主機(jī)對(duì)軸承壽命及可靠性要求的日益提高,對(duì)軸承保持架運(yùn)動(dòng)軌跡的研究愈加重視。文獻(xiàn)[1-3]對(duì)保持架質(zhì)心的不穩(wěn)定性、滾動(dòng)體和保持架之間的相互碰撞、保持架的自由振動(dòng)等進(jìn)行了深入探討,研究結(jié)果對(duì)于改善軸承結(jié)構(gòu)參數(shù)、分析軸承動(dòng)態(tài)性能、提高使用壽命等具有重要意義。通過(guò)研究已經(jīng)得到了保持架軌跡的穩(wěn)定性特點(diǎn),并通過(guò)不同工況下的影響因素得到了保持架質(zhì)心軌跡圖[1],也有通過(guò)特殊的測(cè)量方法得到保持架的質(zhì)心振動(dòng)特點(diǎn)[4]。但對(duì)保持架質(zhì)心軌跡的研究仍是二維平面的運(yùn)動(dòng),而對(duì)保持架軸心軌跡的研究是三維空間內(nèi)多自由度下的運(yùn)動(dòng),二維平面圖不能直接反映軸心軌跡的特征。
下文從保持架的運(yùn)動(dòng)軌跡著手,針對(duì)保持架軸心進(jìn)行三維空間內(nèi)動(dòng)態(tài)軌跡分析,期望通過(guò)三維顯示的方法,對(duì)保持架的軸心軌跡實(shí)現(xiàn)可視化,當(dāng)然最后通過(guò)一些顯示控制也可以進(jìn)行不同研究條件下保持架質(zhì)心軌跡的動(dòng)態(tài)可視化顯示。對(duì)保持架軸心軌跡的研究是基于保持架的幾何特征,在保持架的剛體假設(shè)基礎(chǔ)上,分析其自由度特點(diǎn),利用數(shù)學(xué)方法求解自由度,通過(guò)三維顯示的方法進(jìn)行保持架軸心軌跡的三維重構(gòu)。在Windows操作系統(tǒng)下,在C++Builder中通過(guò)對(duì)OpenGL函數(shù)庫(kù)的調(diào)用,利用計(jì)算機(jī)圖形學(xué)的知識(shí)和編程語(yǔ)言的方法,進(jìn)行軸承主要部件的圖形繪制,并顯示出各部件的運(yùn)動(dòng)關(guān)系,突出保持架的軸心軌跡變化。
保持架位于內(nèi)、外圈狹小的空間內(nèi),裝配時(shí)滾動(dòng)體被壓入保持架兜孔,滾動(dòng)體和保持架之間有一定的間隙,基于這種裝配關(guān)系,實(shí)際上保持架有6個(gè)自由度。保持架在三維坐標(biāo)中的自由度關(guān)系如圖1所示,在端面上建立徑向相互垂直的2個(gè)坐標(biāo)軸x1和y1,在軸線上建立z1軸。
圖1 保持架的自由度
保持架主要與滾動(dòng)體接觸,保持架在較小的運(yùn)動(dòng)范圍內(nèi)處于“自由”狀態(tài):在徑向方向,由于滾動(dòng)體和保持架之間的間隙,x1和y1方向上保持架具有2個(gè)平移自由度;由于受轉(zhuǎn)速和載荷的作用,保持架還具有繞x1和y1軸的微小偏轉(zhuǎn)角,在坐標(biāo)中表示就是x1和y1方向的旋轉(zhuǎn)自由度i和j;在軸線方向也即z1軸,保持架還具有沿著z1軸竄動(dòng)的自由度,此外在滾動(dòng)體的帶動(dòng)下,保持架在繞軸線公轉(zhuǎn)的同時(shí)還具有繞z1軸轉(zhuǎn)速波動(dòng)的自由度k,這就是保持架在這種特殊空間內(nèi)的“自由”狀態(tài)。
保持架自由度構(gòu)成的軌跡關(guān)系為
(1)
式中:dx,dy,dz分別為x1,y1,z1方向上各自平移自由度引起的位移;x1(j)為由y1軸旋轉(zhuǎn)自由度j引起的x1方向位移;y1(i)為由x1軸旋轉(zhuǎn)自由度i引起的y1方向位移;z1(i),z1(j)分別為x1,y1軸旋轉(zhuǎn)自由度引起的z1方向位移;dx1,dy1,dz1分別為x1,y1,z1方向的總位移,這5個(gè)自由度x,y,z,i,j構(gòu)成了保持架軌跡的變化。另外對(duì)于z1方向的旋轉(zhuǎn)自由度k是繞z1軸轉(zhuǎn)速的波動(dòng),并不會(huì)引起位移變化,不構(gòu)成保持架軌跡的變化。
把OpenGL相關(guān)文件添加到所用的操作系統(tǒng)和編程環(huán)境當(dāng)中[5],顯示的流程和必要的顯示環(huán)境渲染流程框圖如圖2所示。
圖2 程序設(shè)計(jì)流程框圖
用GLUquadricObj創(chuàng)建一個(gè)二次方程,在gluCylinder()中調(diào)用二次方程繪制部件中內(nèi)外圈以及保持架的圓柱面,用gluDisk()調(diào)用二次方程繪制部件中的端面,可以用glutSolidSphere()繪制實(shí)體滾動(dòng)體。需要注意的是,在這些繪制中均是創(chuàng)建實(shí)體圖形,必要時(shí)用glCullFace()選擇消除繪制圖形當(dāng)中處在實(shí)體內(nèi)部的面,當(dāng)然也可以用OpenGL中的基本圖元(比如說(shuō)三角形)結(jié)合一些編程語(yǔ)言的循環(huán)語(yǔ)句創(chuàng)建實(shí)體圖形。保持架的繪制是一個(gè)圓筒體和滾動(dòng)體之間的布爾運(yùn)算,也即用滾動(dòng)體切除圓筒體以得到保持架。為了使軸承零件的顯示更加真實(shí),須調(diào)用顏色函數(shù)顏色glColor3ub(r,g,b),這樣可以使零件的顏色更加多樣化,在深度緩沖、模板測(cè)試、光照處理等渲染中,色彩變化才能達(dá)到虛擬現(xiàn)實(shí)的效果。各零件的模型顯示效果如圖3所示。
圖3 軸承主要零件的顯示效果
要進(jìn)行軸承保持架軌跡的動(dòng)態(tài)顯示,必須解決保持架自由度的大量數(shù)據(jù)刷新和刷新頻率2個(gè)問(wèn)題。在OpenGL中雙緩沖(RC與DC)技術(shù)為大量數(shù)據(jù)的刷新提供了可行方法[6],可通過(guò)調(diào)用TimerFun()函數(shù)來(lái)調(diào)節(jié)合適的刷新時(shí)間。
裝配關(guān)系的動(dòng)態(tài)顯示,先調(diào)用glTranslatef()將各部件的裝配中心選擇在窗體中心位置;glRotatef()用于選擇各部件繞x1,y1,z1(圖1)的旋轉(zhuǎn)軸,即由(angle,i,j,k)決定的向量,分別改變其中的參數(shù)angle,用于表示各零件在坐標(biāo)系中繞z1軸公轉(zhuǎn)下不同的公轉(zhuǎn)轉(zhuǎn)速;對(duì)于滾動(dòng)體的轉(zhuǎn)動(dòng),先用glTranslatef()把繪圖中心確定在內(nèi)、外圈之間的中心位置,再用glRotatef()選擇平行于z1軸的旋轉(zhuǎn)軸,也即滾動(dòng)體的轉(zhuǎn)動(dòng)是由公轉(zhuǎn)和自轉(zhuǎn)組成。由保持架自由度所構(gòu)成的軌跡變化中,3個(gè)平移自由度分別用glTranslatef()改變其中對(duì)應(yīng)平移軸的位移參數(shù),以顯示所在軸線發(fā)生的平移位移;繞x1,y1的旋轉(zhuǎn)自由度,分別用glRotatef()改變其對(duì)應(yīng)軸線的偏轉(zhuǎn)角度;最后對(duì)保持架繞z1軸公轉(zhuǎn)時(shí)的轉(zhuǎn)速波動(dòng),用glRotatef()改變對(duì)應(yīng)z1軸的參數(shù)angle。這樣在同樣的時(shí)間函數(shù)調(diào)用下就可以形成6個(gè)自由度疊加所組成的保持架軌跡三維動(dòng)態(tài)重構(gòu)。保持架軌跡軸向總位移和徑向總位移分別如圖4和圖5所示。
圖4 軸向總位移 圖5 徑向總位移
為了更加清楚地觀察軸承保持架的三維軌跡變化,在窗體上還創(chuàng)建了功能鍵和菜單中的控制。菜單控制包括光源模式的選擇,紋理的選擇應(yīng)用,以及保持架軌跡的數(shù)據(jù)文件輸入接口。鍵盤(pán)的旋轉(zhuǎn)視角控制“U”和“D”,“L”和“R”分別表示繞x1軸和y1軸旋轉(zhuǎn)之后的視角,另外有平移、繞任意軸旋轉(zhuǎn)、放大縮小控件,這些快捷控制可以改變?nèi)我庖暯?,以便于觀察軸承運(yùn)轉(zhuǎn)中的細(xì)節(jié)過(guò)程。最終顯示的界面如圖6所示,圖中給出了保持架的三維軌跡圖,并進(jìn)行了相應(yīng)的三維動(dòng)態(tài)顯示。
圖6 顯示界面
分析了6自由度下保持架的三維軌跡構(gòu)成,介紹了利用OpenGL的函數(shù)庫(kù)和三維圖形動(dòng)態(tài)渲染原理,實(shí)現(xiàn)保持架運(yùn)動(dòng)軌跡重構(gòu)的方法;在C++Builder的編譯環(huán)境下,把保持架的自由度數(shù)據(jù)輸入程序,可以得到保持架軌跡的三維動(dòng)態(tài)顯示,為搭接虛擬現(xiàn)實(shí)試驗(yàn)平臺(tái),進(jìn)而實(shí)現(xiàn)保持架運(yùn)動(dòng)軌跡的可視化提出了可行方案。文中提出的空間軌跡提取和3D顯示方法可為進(jìn)一步研究保持架動(dòng)態(tài)軌跡提供參考。