彭 琳,吳 暐
(1. 江西中醫(yī)學(xué)院 南昌 330004;2. 江西藍(lán)天學(xué)院 南昌 330000)
平面二次包絡(luò)環(huán)面蝸桿副這種優(yōu)良的傳動(dòng)形式一直不能得到廣泛應(yīng)用的原因就在于其設(shè)計(jì)參數(shù)多、加工工藝復(fù)雜,并且對(duì)誤差很敏感。保證該型蝸桿副嚙合型面高精度、高質(zhì)量的關(guān)鍵是將嚙合型面以適合于計(jì)算機(jī)表達(dá)的、全數(shù)字的形式描述,并在此基礎(chǔ)上實(shí)現(xiàn)對(duì)蝸桿副的數(shù)字制造。目前加工常采用的圖形交互式數(shù)控系統(tǒng),比如時(shí)下流行的UG、Pro/E等自動(dòng)編程軟件是離線編程,需要先畫(huà)出零件圖形,然后根據(jù)圖形生成加工程序,即使是簡(jiǎn)單的零件圖形,經(jīng)過(guò)后置處理得到的加工程序容量也是非常大的,同時(shí)在加工精度和加工效率方面很難得到統(tǒng)一。在推導(dǎo)出的數(shù)學(xué)公式的基礎(chǔ)上編寫(xiě)自動(dòng)編程軟件,可以獲得準(zhǔn)確的輪齒表面,加工過(guò)程中不需要頻繁的更換刀具,工序比較簡(jiǎn)單,在保證加工精度的同時(shí)也提高了生產(chǎn)率,經(jīng)過(guò)實(shí)際生產(chǎn)檢驗(yàn)效果良好。
按照要求,該軟件的總體模塊結(jié)構(gòu)設(shè)計(jì)如圖1所示。軟件主要實(shí)現(xiàn)以下三部分工作。
這部分主要實(shí)現(xiàn)加工對(duì)象文件(該文件內(nèi)容包括加工對(duì)象的各種參數(shù)、加工刀具參數(shù)、工藝參數(shù)等信息)的新建、調(diào)入、保存,加工對(duì)象的顯示、加工過(guò)程中的刀具中心軌跡的顯示等。為了方便用戶對(duì)所顯示信息的觀察,可以實(shí)現(xiàn)對(duì)圖形進(jìn)行放大、縮小、平移、旋轉(zhuǎn)處理等功能,使用戶可以從各個(gè)角度對(duì)加工對(duì)象和加工軌跡進(jìn)行觀察。
根據(jù)要求,在設(shè)置好有關(guān)加工對(duì)象的參數(shù)后,通過(guò)顯示控制模塊顯示所要求加工的對(duì)象,確定加工對(duì)象正確時(shí),在完成對(duì)工藝參數(shù)的設(shè)置后便可以實(shí)現(xiàn)對(duì)該對(duì)象的加工仿真。
加工仿真模塊實(shí)現(xiàn)的功能主要有:
1)刀具中心軌跡的顯示;
2)仿真加工后可以自動(dòng)生成針對(duì)該加工對(duì)象的零件加工程序;
圖1 在線自動(dòng)編程軟件總體模塊結(jié)構(gòu)
3)可以實(shí)現(xiàn)在該對(duì)象加工完成后,對(duì)插補(bǔ)步長(zhǎng)變化情況及誤差進(jìn)行分析。
在計(jì)算機(jī)上通過(guò)加工軌跡的圖形顯示及誤差分析可較直觀地對(duì)相關(guān)算法進(jìn)行驗(yàn)證,為了更進(jìn)一步地對(duì)仿真軟件所生成的零件加工程序進(jìn)行校驗(yàn),軟件增加了一個(gè)通信模塊,該模塊可以實(shí)現(xiàn)串行通信。通過(guò)該模塊,可以將零件加工程序傳送到數(shù)控機(jī)床上的數(shù)控系統(tǒng),這樣便可在數(shù)控機(jī)床上通過(guò)數(shù)控系統(tǒng)驗(yàn)證該零件加工程序的語(yǔ)法、格式及結(jié)構(gòu)是否正確。若為PC平臺(tái)的計(jì)算機(jī),數(shù)控裝置則可直接仿真。
在編寫(xiě)在線自動(dòng)編程軟件時(shí)首先必須對(duì)相關(guān)的參數(shù)進(jìn)行定義,這里要定義的參數(shù)主要通過(guò)數(shù)據(jù)結(jié)構(gòu)來(lái)定義的,主要的數(shù)據(jù)結(jié)構(gòu)如下:
刀具軌跡的生成和編輯需要將刀具軌跡中的所有數(shù)據(jù)有規(guī)則地存放在一個(gè)數(shù)據(jù)結(jié)構(gòu)中,該數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)是否合理,直接影響到刀具軌跡的生成和編輯。
因?yàn)榧庸こ绦蚨螢槲淖值刂烦绦蚨蔚母袷?,該格式可以采用?shù)據(jù)結(jié)構(gòu)的形式把它規(guī)范成一個(gè)變量。首先數(shù)控代碼段用一個(gè)字符串變量來(lái)定義(char* LineStr),輸出口數(shù)據(jù)定義為一個(gè)包含各種信息量的結(jié)構(gòu)。
在多文檔中繪制OpenGL圖形,相對(duì)來(lái)說(shuō)比較復(fù)雜,其主要步驟與關(guān)鍵技術(shù)是:
1)由于多文檔中有多個(gè)窗口需要繪制,而當(dāng)前的OpenGL繪制描述表只能有一個(gè),因此,在窗口的圖形繪制完成后,必須將OpenGL繪制描述表釋放,以備其他窗口使用。
2)在視圖類中對(duì)Windows設(shè)備描述表和OpenGL的繪制描述表進(jìn)行管理,而應(yīng)用程序中的其他各視圖均從該類中派生。
3)定義一個(gè)OpenGL繪圖的函數(shù),在視圖類中進(jìn)行重載,也就可以在應(yīng)用程序中的視圖類中直接調(diào)用OpenGL命令繪圖。
參數(shù)設(shè)定模塊提供了比較方便的人機(jī)交互方式,用戶可根據(jù)界面,輸入對(duì)應(yīng)的數(shù)據(jù)。系統(tǒng)為每一個(gè)參數(shù)數(shù)據(jù)設(shè)計(jì)了存儲(chǔ)單元,用規(guī)定的格式存入,形成了數(shù)據(jù)文件。
軟件的編寫(xiě)基礎(chǔ)為平面二包蝸桿的齒面方程。軟件根據(jù)設(shè)置的參數(shù),運(yùn)用方程計(jì)算得到數(shù)據(jù)點(diǎn)組。再根據(jù)加工精度,設(shè)定加工步長(zhǎng),離散化以上曲線數(shù)據(jù)點(diǎn),得到最終的符合G代碼指令的NC圖形數(shù)據(jù)。
經(jīng)過(guò)數(shù)據(jù)運(yùn)算處理模塊后得到的NC圖形數(shù)據(jù),三維圖形顯示模塊會(huì)利用這些數(shù)據(jù),自動(dòng)生成刀具與工件的相對(duì)運(yùn)動(dòng)軌跡,利用該軌跡得到描述轉(zhuǎn)向蝸桿幾何形狀的幾何參數(shù),再利用OpenGL實(shí)現(xiàn)高品質(zhì)、交互式的三維轉(zhuǎn)向蝸桿圖形顯示。
OpenGL的流程框圖如下:
其中,轉(zhuǎn)向蝸桿螺旋面的最終顯示是用每三個(gè)點(diǎn)就組成一個(gè)三角形面片,分別求出每個(gè)面片的法向量,這個(gè)法向量決定該面片接受光的強(qiáng)度。最后調(diào)用OpenGL函數(shù)逐一將這些面片繪出,由這些面片逼近出轉(zhuǎn)向蝸桿螺旋面,得到轉(zhuǎn)向蝸桿的三維圖形。
該模塊的工作原理是:當(dāng)執(zhí)行該模塊時(shí),首先對(duì)編輯控件內(nèi)的數(shù)控源代碼逐行掃描。如果有分號(hào)或回車符,認(rèn)為該行結(jié)束,并計(jì)算行數(shù);如果沒(méi)有行結(jié)束符,則提示用戶修正。逐行掃描以后,對(duì)每行進(jìn)行單詞分解,查找出預(yù)先設(shè)定的參數(shù)數(shù)值。識(shí)別出功能代碼后,轉(zhuǎn)到相應(yīng)的程序,進(jìn)行編號(hào)識(shí)別,例如識(shí)別出是G代碼后,要判斷隨后的數(shù)字,并將這些數(shù)字存儲(chǔ)到程序中設(shè)定的參數(shù)中。模塊接著根據(jù)讀到的數(shù)字,執(zhí)行各功能代碼,轉(zhuǎn)移到具體指令執(zhí)行程序,如畫(huà)圓和直線等。比如G00 X100 Y100,仿真時(shí)則把刀具快速移動(dòng)到坐標(biāo)是X100 Y100的點(diǎn)。
該模塊最終根據(jù)讀到的數(shù)字,模擬加工顯示刀具實(shí)時(shí)的軌跡。
系統(tǒng)采用的后置處理方法是一種較普遍的專用化形式,根據(jù)不同的數(shù)控系統(tǒng)的編碼寫(xiě)出風(fēng)格給出了具體的數(shù)控代碼接口程序。即由NC圖形數(shù)據(jù)得到在線加工轉(zhuǎn)向蝸桿的數(shù)控加工程序,并通過(guò)該模塊的通訊接口子模塊,完成將NC代碼發(fā)送到數(shù)控銑床。
從加工對(duì)象菜單或工具圖標(biāo)欄中選擇所要?jiǎng)?chuàng)建的加工對(duì)象,在設(shè)置完對(duì)話框中的參數(shù)之后,便可以在視圖區(qū)顯示所要加工的對(duì)象。
在參數(shù)設(shè)置對(duì)話框中設(shè)置在計(jì)算中的基本數(shù)據(jù):中心距、傳動(dòng)比、蝸輪齒數(shù)、壓力角、母平面傾角和蝸桿分度圓直徑系數(shù)。然后在視圖區(qū)會(huì)顯示蝸桿的曲線模型。同時(shí),在信息顯示菜單中,可以得到《平面二次包絡(luò)環(huán)面蝸桿副屬性.txt》的文件,便于后續(xù)設(shè)計(jì)改進(jìn)。
圖2 蝸桿副屬性
在設(shè)置了“機(jī)床品牌”、“機(jī)床參數(shù)”和“刀具參數(shù)”后,可以生成數(shù)控加工程序,同時(shí)也生成了“ 加工信息.txt ”文件,便于操作者了解對(duì)參數(shù)的設(shè)置是否正確。
在圖形顯示區(qū)會(huì)實(shí)時(shí)的顯示圖形精度,設(shè)置好加工余量后,生成加工路線,得到程序文件,之后可采用軟盤(pán)方式或串行通訊的方式送入加工設(shè)備。
圖 3 加工信息
通過(guò)本系統(tǒng)生成的平面二包蝸桿數(shù)控加工代碼通過(guò)系統(tǒng)的后置處理模塊輸送到了我校的MCV-1250加工中心中進(jìn)行實(shí)際加工,得到了完全合格的產(chǎn)品。
利用VC和OpenGL開(kāi)發(fā)的基于Windows的平面二包蝸桿數(shù)控在線自動(dòng)系統(tǒng),是采用面向?qū)ο蟪绦蛟O(shè)計(jì)方法,使所開(kāi)發(fā)的程序具有封裝、繼承、多態(tài)等優(yōu)點(diǎn),減少了程序的數(shù)據(jù)污染,增加了程序的易開(kāi)發(fā)性、可讀性和可維護(hù)性,大大提高了系統(tǒng)的編程效率,本系統(tǒng)界面友好,操作易學(xué),通過(guò)與MCV-1250數(shù)控加工中心結(jié)合使用效果良好。同時(shí)通過(guò)該加工中心試用該系統(tǒng)表明:可以生成較為正確,實(shí)用的數(shù)控加工代碼;數(shù)控代碼仿真能動(dòng)態(tài)、直觀地顯示出刀具切削運(yùn)動(dòng)軌跡,及時(shí)、準(zhǔn)確地發(fā)現(xiàn)錯(cuò)誤代碼,實(shí)現(xiàn)了非實(shí)際切削加工中的數(shù)控程序驗(yàn)正。
[1] 羅良玲.轉(zhuǎn)向蝸桿的等間距法編程[J].南昌大學(xué)學(xué)報(bào)(工科版),1997 .
[1] 杜厚金,江有渝.平面二次包絡(luò)環(huán)面蝸桿傳動(dòng)制造工藝[M].四川科學(xué)技術(shù)出版社,1988.
[1] 王德發(fā).基于Windows數(shù)控仿真系統(tǒng)的研究與開(kāi)發(fā)[J].沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào),2004.05.