彭 琳,吳 暐
(1. 江西中醫(yī)學(xué)院 南昌 330004;2. 江西藍(lán)天學(xué)院 南昌 330000)
平面二次包絡(luò)環(huán)面蝸桿副這種優(yōu)良的傳動形式一直不能得到廣泛應(yīng)用的原因就在于其設(shè)計參數(shù)多、加工工藝復(fù)雜,并且對誤差很敏感。保證該型蝸桿副嚙合型面高精度、高質(zhì)量的關(guān)鍵是將嚙合型面以適合于計算機(jī)表達(dá)的、全數(shù)字的形式描述,并在此基礎(chǔ)上實(shí)現(xiàn)對蝸桿副的數(shù)字制造。目前加工常采用的圖形交互式數(shù)控系統(tǒng),比如時下流行的UG、Pro/E等自動編程軟件是離線編程,需要先畫出零件圖形,然后根據(jù)圖形生成加工程序,即使是簡單的零件圖形,經(jīng)過后置處理得到的加工程序容量也是非常大的,同時在加工精度和加工效率方面很難得到統(tǒng)一。在推導(dǎo)出的數(shù)學(xué)公式的基礎(chǔ)上編寫自動編程軟件,可以獲得準(zhǔn)確的輪齒表面,加工過程中不需要頻繁的更換刀具,工序比較簡單,在保證加工精度的同時也提高了生產(chǎn)率,經(jīng)過實(shí)際生產(chǎn)檢驗(yàn)效果良好。
按照要求,該軟件的總體模塊結(jié)構(gòu)設(shè)計如圖1所示。軟件主要實(shí)現(xiàn)以下三部分工作。
這部分主要實(shí)現(xiàn)加工對象文件(該文件內(nèi)容包括加工對象的各種參數(shù)、加工刀具參數(shù)、工藝參數(shù)等信息)的新建、調(diào)入、保存,加工對象的顯示、加工過程中的刀具中心軌跡的顯示等。為了方便用戶對所顯示信息的觀察,可以實(shí)現(xiàn)對圖形進(jìn)行放大、縮小、平移、旋轉(zhuǎn)處理等功能,使用戶可以從各個角度對加工對象和加工軌跡進(jìn)行觀察。
根據(jù)要求,在設(shè)置好有關(guān)加工對象的參數(shù)后,通過顯示控制模塊顯示所要求加工的對象,確定加工對象正確時,在完成對工藝參數(shù)的設(shè)置后便可以實(shí)現(xiàn)對該對象的加工仿真。
加工仿真模塊實(shí)現(xiàn)的功能主要有:
1)刀具中心軌跡的顯示;
2)仿真加工后可以自動生成針對該加工對象的零件加工程序;

圖1 在線自動編程軟件總體模塊結(jié)構(gòu)
3)可以實(shí)現(xiàn)在該對象加工完成后,對插補(bǔ)步長變化情況及誤差進(jìn)行分析。
在計算機(jī)上通過加工軌跡的圖形顯示及誤差分析可較直觀地對相關(guān)算法進(jìn)行驗(yàn)證,為了更進(jìn)一步地對仿真軟件所生成的零件加工程序進(jìn)行校驗(yàn),軟件增加了一個通信模塊,該模塊可以實(shí)現(xiàn)串行通信。通過該模塊,可以將零件加工程序傳送到數(shù)控機(jī)床上的數(shù)控系統(tǒng),這樣便可在數(shù)控機(jī)床上通過數(shù)控系統(tǒng)驗(yàn)證該零件加工程序的語法、格式及結(jié)構(gòu)是否正確。若為PC平臺的計算機(jī),數(shù)控裝置則可直接仿真。
在編寫在線自動編程軟件時首先必須對相關(guān)的參數(shù)進(jìn)行定義,這里要定義的參數(shù)主要通過數(shù)據(jù)結(jié)構(gòu)來定義的,主要的數(shù)據(jù)結(jié)構(gòu)如下:
刀具軌跡的生成和編輯需要將刀具軌跡中的所有數(shù)據(jù)有規(guī)則地存放在一個數(shù)據(jù)結(jié)構(gòu)中,該數(shù)據(jù)結(jié)構(gòu)的設(shè)計是否合理,直接影響到刀具軌跡的生成和編輯。
因?yàn)榧庸こ绦蚨螢槲淖值刂烦绦蚨蔚母袷剑摳袷娇梢圆捎脭?shù)據(jù)結(jié)構(gòu)的形式把它規(guī)范成一個變量。首先數(shù)控代碼段用一個字符串變量來定義(char* LineStr),輸出口數(shù)據(jù)定義為一個包含各種信息量的結(jié)構(gòu)。
在多文檔中繪制OpenGL圖形,相對來說比較復(fù)雜,其主要步驟與關(guān)鍵技術(shù)是:
1)由于多文檔中有多個窗口需要繪制,而當(dāng)前的OpenGL繪制描述表只能有一個,因此,在窗口的圖形繪制完成后,必須將OpenGL繪制描述表釋放,以備其他窗口使用。
2)在視圖類中對Windows設(shè)備描述表和OpenGL的繪制描述表進(jìn)行管理,而應(yīng)用程序中的其他各視圖均從該類中派生。
3)定義一個OpenGL繪圖的函數(shù),在視圖類中進(jìn)行重載,也就可以在應(yīng)用程序中的視圖類中直接調(diào)用OpenGL命令繪圖。
參數(shù)設(shè)定模塊提供了比較方便的人機(jī)交互方式,用戶可根據(jù)界面,輸入對應(yīng)的數(shù)據(jù)。系統(tǒng)為每一個參數(shù)數(shù)據(jù)設(shè)計了存儲單元,用規(guī)定的格式存入,形成了數(shù)據(jù)文件。
軟件的編寫基礎(chǔ)為平面二包蝸桿的齒面方程。軟件根據(jù)設(shè)置的參數(shù),運(yùn)用方程計算得到數(shù)據(jù)點(diǎn)組。再根據(jù)加工精度,設(shè)定加工步長,離散化以上曲線數(shù)據(jù)點(diǎn),得到最終的符合G代碼指令的NC圖形數(shù)據(jù)。
經(jīng)過數(shù)據(jù)運(yùn)算處理模塊后得到的NC圖形數(shù)據(jù),三維圖形顯示模塊會利用這些數(shù)據(jù),自動生成刀具與工件的相對運(yùn)動軌跡,利用該軌跡得到描述轉(zhuǎn)向蝸桿幾何形狀的幾何參數(shù),再利用OpenGL實(shí)現(xiàn)高品質(zhì)、交互式的三維轉(zhuǎn)向蝸桿圖形顯示。
OpenGL的流程框圖如下:

其中,轉(zhuǎn)向蝸桿螺旋面的最終顯示是用每三個點(diǎn)就組成一個三角形面片,分別求出每個面片的法向量,這個法向量決定該面片接受光的強(qiáng)度。最后調(diào)用OpenGL函數(shù)逐一將這些面片繪出,由這些面片逼近出轉(zhuǎn)向蝸桿螺旋面,得到轉(zhuǎn)向蝸桿的三維圖形。
該模塊的工作原理是:當(dāng)執(zhí)行該模塊時,首先對編輯控件內(nèi)的數(shù)控源代碼逐行掃描。如果有分號或回車符,認(rèn)為該行結(jié)束,并計算行數(shù);如果沒有行結(jié)束符,則提示用戶修正。逐行掃描以后,對每行進(jìn)行單詞分解,查找出預(yù)先設(shè)定的參數(shù)數(shù)值。識別出功能代碼后,轉(zhuǎn)到相應(yīng)的程序,進(jìn)行編號識別,例如識別出是G代碼后,要判斷隨后的數(shù)字,并將這些數(shù)字存儲到程序中設(shè)定的參數(shù)中。模塊接著根據(jù)讀到的數(shù)字,執(zhí)行各功能代碼,轉(zhuǎn)移到具體指令執(zhí)行程序,如畫圓和直線等。比如G00 X100 Y100,仿真時則把刀具快速移動到坐標(biāo)是X100 Y100的點(diǎn)。
該模塊最終根據(jù)讀到的數(shù)字,模擬加工顯示刀具實(shí)時的軌跡。
系統(tǒng)采用的后置處理方法是一種較普遍的專用化形式,根據(jù)不同的數(shù)控系統(tǒng)的編碼寫出風(fēng)格給出了具體的數(shù)控代碼接口程序。即由NC圖形數(shù)據(jù)得到在線加工轉(zhuǎn)向蝸桿的數(shù)控加工程序,并通過該模塊的通訊接口子模塊,完成將NC代碼發(fā)送到數(shù)控銑床。
從加工對象菜單或工具圖標(biāo)欄中選擇所要創(chuàng)建的加工對象,在設(shè)置完對話框中的參數(shù)之后,便可以在視圖區(qū)顯示所要加工的對象。
在參數(shù)設(shè)置對話框中設(shè)置在計算中的基本數(shù)據(jù):中心距、傳動比、蝸輪齒數(shù)、壓力角、母平面傾角和蝸桿分度圓直徑系數(shù)。然后在視圖區(qū)會顯示蝸桿的曲線模型。同時,在信息顯示菜單中,可以得到《平面二次包絡(luò)環(huán)面蝸桿副屬性.txt》的文件,便于后續(xù)設(shè)計改進(jìn)。

圖2 蝸桿副屬性
在設(shè)置了“機(jī)床品牌”、“機(jī)床參數(shù)”和“刀具參數(shù)”后,可以生成數(shù)控加工程序,同時也生成了“ 加工信息.txt ”文件,便于操作者了解對參數(shù)的設(shè)置是否正確。
在圖形顯示區(qū)會實(shí)時的顯示圖形精度,設(shè)置好加工余量后,生成加工路線,得到程序文件,之后可采用軟盤方式或串行通訊的方式送入加工設(shè)備。

圖 3 加工信息
通過本系統(tǒng)生成的平面二包蝸桿數(shù)控加工代碼通過系統(tǒng)的后置處理模塊輸送到了我校的MCV-1250加工中心中進(jìn)行實(shí)際加工,得到了完全合格的產(chǎn)品。
利用VC和OpenGL開發(fā)的基于Windows的平面二包蝸桿數(shù)控在線自動系統(tǒng),是采用面向?qū)ο蟪绦蛟O(shè)計方法,使所開發(fā)的程序具有封裝、繼承、多態(tài)等優(yōu)點(diǎn),減少了程序的數(shù)據(jù)污染,增加了程序的易開發(fā)性、可讀性和可維護(hù)性,大大提高了系統(tǒng)的編程效率,本系統(tǒng)界面友好,操作易學(xué),通過與MCV-1250數(shù)控加工中心結(jié)合使用效果良好。同時通過該加工中心試用該系統(tǒng)表明:可以生成較為正確,實(shí)用的數(shù)控加工代碼;數(shù)控代碼仿真能動態(tài)、直觀地顯示出刀具切削運(yùn)動軌跡,及時、準(zhǔn)確地發(fā)現(xiàn)錯誤代碼,實(shí)現(xiàn)了非實(shí)際切削加工中的數(shù)控程序驗(yàn)正。
[1] 羅良玲.轉(zhuǎn)向蝸桿的等間距法編程[J].南昌大學(xué)學(xué)報(工科版),1997 .
[1] 杜厚金,江有渝.平面二次包絡(luò)環(huán)面蝸桿傳動制造工藝[M].四川科學(xué)技術(shù)出版社,1988.
[1] 王德發(fā).基于Windows數(shù)控仿真系統(tǒng)的研究與開發(fā)[J].沈陽工業(yè)大學(xué)學(xué)報,2004.05.