連海山,劉偉杰,張林鵬,2,陳小軍
(1.嶺南師范學(xué)院機(jī)電工程學(xué)院,廣東湛江 524048;2.廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣東廣州 510006)
隨著消費(fèi)者對產(chǎn)品的要求更加趨向輕量化、小型化,微細(xì)加工得到了更多的發(fā)展,其在機(jī)加工行業(yè)所占的比重也越來越大[1]。微細(xì)切削技術(shù)可以實(shí)現(xiàn)多種材料任意形狀微型三維零件的加工,近年來,在航空航天[2]、生物醫(yī)學(xué)[3]、機(jī)械制造[4]等領(lǐng)域得到了廣泛應(yīng)用。微細(xì)車削加工因其在精密微小型回轉(zhuǎn)體類零件的加工中獨(dú)具優(yōu)勢,現(xiàn)已發(fā)展成為克服MEMS技術(shù)局限性的重要使能技術(shù)之一。機(jī)加工具有生產(chǎn)效率高、靈活、能加工任意三維特征的零件及多種材料的優(yōu)勢[5-6]。微細(xì)車削加工是在傳統(tǒng)金屬切削基礎(chǔ)上,面向微小型系統(tǒng)中各種材料結(jié)構(gòu)件的加工需求,向微型化發(fā)展、衍生而來[7]。
文獻(xiàn)[8]開發(fā)了世界上第一臺微型車床,長32 mm、寬25 mm、高30.5 mm,質(zhì)量為100 g。用該機(jī)床切削黃銅,進(jìn)給方向表面粗糙度為1.5 μm,功率損耗僅為普通車床的1/500。
文獻(xiàn)[9]介紹了哈爾濱工業(yè)大學(xué)精密工程研究所自主研發(fā)的HCM-1亞微米超精密車床和我國第一臺大型非球曲面光學(xué)零件超精密機(jī)床。文獻(xiàn)[10]開展并完成了關(guān)于微細(xì)軸類工件車削加工形狀誤差、切削力的預(yù)測建模,為提高微細(xì)軸類工件的加工精度提供了技術(shù)基礎(chǔ)。
文獻(xiàn)[11]基于Python開展系統(tǒng)的時(shí)域、復(fù)域和頻域仿真以及系統(tǒng)的校正與設(shè)計(jì)仿真,仿真結(jié)果與專業(yè)的商業(yè)數(shù)學(xué)軟件MATLAB并無明顯區(qū)別。文獻(xiàn)[12]基于Python,配合傳感器及工業(yè)PLC實(shí)現(xiàn)了故障預(yù)警功能。文獻(xiàn)[13]針對飲料行業(yè)漏裝問題,使用Python進(jìn)行圖像檢測,實(shí)現(xiàn)準(zhǔn)確識別箱中瓶裝水的個(gè)數(shù),代替人工質(zhì)檢的功能。
文獻(xiàn)[14]設(shè)計(jì)了基于LabVIEW的多任務(wù)實(shí)時(shí)測控系統(tǒng),實(shí)現(xiàn)了人機(jī)交互、清晰直觀的現(xiàn)場數(shù)據(jù)監(jiān)控、安全可靠的數(shù)據(jù)處理等功能。文獻(xiàn)[15-16]設(shè)計(jì)了基于LabVIEW的過程控制實(shí)驗(yàn)平臺,通過分程控制達(dá)到了實(shí)時(shí)控制的目的。
基于LabVIEW開發(fā)微細(xì)車削加工控制系統(tǒng),對微細(xì)車削的發(fā)展有重要意義?;赑ython設(shè)計(jì)的微細(xì)車削G代碼自動生成軟件,有利于提升微細(xì)車削加工編程效率。
文中構(gòu)建的微細(xì)車削加工系統(tǒng)如圖1所示,硬件部分主要由微三維運(yùn)動平臺、電主軸、車刀夾具以及車刀等組成。
微三維運(yùn)動平臺由德國PI公司生產(chǎn),如圖2所示,其行程為102 mm×102 mm×25 mm,各軸的最小分辨率都為0.1 μm。微三維運(yùn)動平臺的運(yùn)動控制采用“PC+運(yùn)動控制器”的方案,通用性強(qiáng)且可靈活編程,利用LabVIEW提供的庫函數(shù),可以較簡單、精準(zhǔn)地做到對微三維運(yùn)動平臺的運(yùn)動控制。電主軸由日本NSK公司生產(chǎn),轉(zhuǎn)速1 000~80 000 r/min連續(xù)可調(diào)。
圖2 微三維運(yùn)動平臺
微細(xì)車削控制系統(tǒng)架構(gòu)如圖3所示。使用者將切削基本參數(shù)、加工參數(shù)輸入G代碼自動生成系統(tǒng)內(nèi),程序自動進(jìn)行坐標(biāo)計(jì)算,并導(dǎo)出LabVIEW程序待加工使用。初始化和定位對刀完成后,G代碼加工模塊將解析后的坐標(biāo)點(diǎn)發(fā)送到運(yùn)動控制器,控制微三維運(yùn)動平臺運(yùn)動,并實(shí)時(shí)反饋當(dāng)前坐標(biāo)點(diǎn),顯示在加工系統(tǒng)人機(jī)界面。
圖3 微細(xì)車削控制系統(tǒng)
G代碼自動生成軟件系統(tǒng)界面如圖4所示,該系統(tǒng)包括參數(shù)設(shè)置模塊、切削設(shè)置模塊以及G代碼生成模塊。
圖4 G代碼自動生成系統(tǒng)界面
基于Python開發(fā)軟件,通過導(dǎo)入sys、os等模塊,借助Tkinter模塊搭建可視化的用戶界面,再調(diào)用math、decimal等模塊計(jì)算出車削的走刀坐標(biāo)點(diǎn),通過字符串拼接的方式輸出所有G代碼行。
3.1.1 Tkinter用戶界面搭建
為了讓界面清晰易懂,使用LabelFrame標(biāo)簽框架控件,根據(jù)不同的功能來劃分區(qū)域。根據(jù)需求,引入Label標(biāo)簽、Entry輸入框、Button按鈕、Text文本框以及TreeView樹形列表。對輸入數(shù)據(jù)或按鈕按下后觸發(fā)的動作函數(shù)進(jìn)行逐個(gè)設(shè)定,如按下“保存”按鈕,將“棒料直徑”輸入框中的數(shù)值存入切削設(shè)置區(qū);按下“刪除”按鈕,將樹形列表中被選中的值刪除。
3.1.2 切削設(shè)置模塊
使用者按照加工順序選擇對應(yīng)的按鈕,并在圖5所示的窗口輸入切削參數(shù)。輸入完成后,點(diǎn)擊“確定參數(shù)”按鈕,上述參數(shù)將會存放到樹形列表中。
圖5 切削參數(shù)輸入窗口界面
3.1.3 G代碼生成模塊
完成所有切削參數(shù)設(shè)置后,點(diǎn)擊切削設(shè)置區(qū)的“生成循環(huán)切削G代碼”按鈕,將進(jìn)行以下操作:
(1)通過已獲取的直徑和零點(diǎn)坐標(biāo)參數(shù),計(jì)算出工件邊界坐標(biāo)、定位點(diǎn)坐標(biāo);
(2)逐行讀取切削設(shè)置區(qū)的樹形列表,并賦值對應(yīng)變量;
(3)識別到標(biāo)識符,并跳轉(zhuǎn)到相對應(yīng)的數(shù)據(jù)處理模塊,如斜面切削、順圓切削等;
(4)單次進(jìn)給車削分為3個(gè)步驟,進(jìn)刀、切削、退刀到安全坐標(biāo)。單次進(jìn)給切削完成后,計(jì)算X方向剩余量,判斷下一次進(jìn)給是否小于剩余量。若是,則X方向繼續(xù)進(jìn)給給定的單次進(jìn)給量;若否,則X方向進(jìn)給到終點(diǎn)坐標(biāo);
(5)所有G代碼行通過字符串拼接的方式整合并輸出,同時(shí)添加必要的文字注釋以方便使用者檢查;
(6)使用者檢查后按下“加行號”按鈕,自動刪除所有注釋,并為每一行G代碼前面加上順序號字;
(7)使用者按下“一鍵復(fù)制”按鈕,將所有G代碼復(fù)制到剪貼板;按下“保存”按鈕,可生成txt格式的文本文檔,并把G代碼保存到其中。
G代碼自動生成流程如圖6所示。使用者按照加工要求,設(shè)定好切削基本參數(shù)和加工參數(shù)后,系統(tǒng)根據(jù)各參數(shù)進(jìn)行單次切削三坐標(biāo)(切削起點(diǎn)、切削終點(diǎn)、定位點(diǎn))的計(jì)算。若加工余量大于單次進(jìn)給量,則繼續(xù)計(jì)算單次切削三坐標(biāo),否則直接進(jìn)給到循環(huán)切削終點(diǎn);若還有其他切削函數(shù),則重復(fù)上述步驟,否則輸出所有生成的G代碼。
圖6 G代碼自動生成流程
車削加工控制系統(tǒng)包括初始化模塊、定位對刀模塊、G代碼加工模塊和實(shí)時(shí)顯示模塊。
初始化模塊的作用是建立LabVIEW與微三維運(yùn)動平臺的通信,并在建立通信后自動運(yùn)動到機(jī)床原點(diǎn)。
定位對刀模塊的作用是控制微三維平臺運(yùn)動到目標(biāo)位置,通過試切法確定零點(diǎn)坐標(biāo),即程序原點(diǎn)。
實(shí)時(shí)坐標(biāo)顯示模塊獨(dú)立于其他各模塊,位于整個(gè)控制系統(tǒng)架構(gòu)的最外層,保證無論切換到任意模塊,都可實(shí)時(shí)顯示當(dāng)前坐標(biāo)。
(1)G01直線插補(bǔ)
控制系統(tǒng)直線插補(bǔ)使用了一種類似直線函數(shù)法的設(shè)計(jì)方法——速度比例法。其原理為:由加工起點(diǎn)、終點(diǎn)可得兩軸各自的位移量,當(dāng)給定一軸速度時(shí),由于運(yùn)動時(shí)間相同,所以可算得另一軸的速度,計(jì)算公式如式(1)所示,其中vz為Z軸進(jìn)給速度,vx為X軸進(jìn)給速度,Ze為Z軸進(jìn)給終點(diǎn)坐標(biāo),Zs為Z軸進(jìn)給起點(diǎn)坐標(biāo),Xe為X軸進(jìn)給終點(diǎn)坐標(biāo),Xs為X軸進(jìn)給起點(diǎn)坐標(biāo)。
(1)
具體實(shí)施時(shí),僅需要給定X、Z兩軸的起點(diǎn)、終點(diǎn)和任一軸的進(jìn)給速度,便可完成任意斜線的運(yùn)動軌跡。此系統(tǒng)給定X軸進(jìn)給速度值,Z軸進(jìn)給速度值可由計(jì)算得到,直線插補(bǔ)程序框圖如圖7所示。
圖7 直線插補(bǔ)程序框圖
(2)G02、G03圓弧插補(bǔ)
G02順圓弧、G03逆圓弧使用逐點(diǎn)比較法進(jìn)行插補(bǔ),具有運(yùn)算直觀、插補(bǔ)誤差小(不超過一個(gè)脈沖當(dāng)量)、脈沖調(diào)節(jié)方便、輸出均勻等特性[17]。逐點(diǎn)比較法插補(bǔ)不同象限順、逆圓弧的進(jìn)給方向如圖8所示。
圖8 圓弧插補(bǔ)進(jìn)給方向
其插補(bǔ)過程包括4步:
偏差判斷:如式(2)所示,由偏差計(jì)算結(jié)果判斷當(dāng)前點(diǎn)坐標(biāo)在圓內(nèi)還是圓外。
坐標(biāo)進(jìn)給:若當(dāng)前點(diǎn)在圓外,則向圓內(nèi)進(jìn)給一步;若當(dāng)前點(diǎn)在圓內(nèi),則向圓外進(jìn)給一步。
偏差計(jì)算:如式(3)所示,計(jì)算當(dāng)前點(diǎn)到圓心的距離。
終點(diǎn)判斷:如式(4)所示,每完成一次坐標(biāo)進(jìn)給,E就減1,直至等于0,程序結(jié)束。
(2)
(3)
(4)
由于不同象限順、逆圓弧僅是進(jìn)給方向發(fā)生改變,所以僅以第一象限逆圓弧為例展示編程。程序如圖9所示,其中I是X軸向的圓心坐標(biāo)值、K是Z軸向的圓心坐標(biāo)值,最小步距ds設(shè)定為0.001 mm。
圖9 第一象限逆圓弧插補(bǔ)程序
(3)G92螺紋插補(bǔ)
讀取螺距P、轉(zhuǎn)速S,加工所需進(jìn)給速度vf如式(5)所示計(jì)算。G92螺紋切削程序框圖如圖10所示。
圖10 螺紋切削程序框圖
(5)
加工系統(tǒng)人機(jī)界面如圖11所示,該系統(tǒng)由初始化模塊、定位對刀模塊、G代碼加工模塊和實(shí)時(shí)坐標(biāo)顯示模塊組成,當(dāng)操作者選擇其中任意一個(gè)模塊進(jìn)行操作時(shí),除實(shí)時(shí)坐標(biāo)顯示模塊外,其他模塊的功能和按鍵將不起作用。
圖11 加工系統(tǒng)人機(jī)界面
試驗(yàn)皆使用直徑為3 mm的6061鋁合金棒料進(jìn)行加工,刀具為滬豪VCGT160404鋁用車刀。
設(shè)計(jì)并加工一個(gè)階梯數(shù)為5、由φ3 mm到φ1.0 mm逐級遞減的階梯軸,工件工程圖及加工成品如圖12所示。
圖12 階梯軸
仿照圓珠筆,設(shè)計(jì)并加工圓珠筆頭形的工件,工件工程圖及加工成品如圖13所示。
圖13 圓珠筆頭
使用G92加工帶有圓弧以及螺紋的工件,工件工程圖及加工成品如圖14所示。
圖14 微細(xì)螺紋
基于Python開發(fā)出車削G代碼自動生成系統(tǒng),可自動生成用于加工的G代碼,大大提高了循環(huán)車削加工的編程效率。
基于LabVIEW開發(fā)出微細(xì)車削加工控制系統(tǒng),該系統(tǒng)包括初始化模塊、定位對刀模塊、G代碼加工模塊和實(shí)時(shí)坐標(biāo)顯示模塊,可識別、解析G代碼指令,并按照代碼編寫的走刀路徑完成加工任務(wù),解決了微三維運(yùn)動平臺三軸聯(lián)動的控制問題。
利用上述兩個(gè)系統(tǒng)進(jìn)行切削實(shí)驗(yàn),使用G代碼自動生成軟件生成加工所需的G代碼,將G代碼導(dǎo)入微細(xì)車削加工控制系統(tǒng),分別加工出了階梯軸工件、圓珠筆頭工件和微細(xì)螺紋工件。