彭鳴 PENG Ming
(上海筑東機(jī)電工程技術(shù)服務(wù)有限公司,上海 201206)
在我國(guó)制造業(yè)向高端轉(zhuǎn)型背景下,對(duì)工業(yè)零件的柔性化和精密化加工要求越來(lái)越高。數(shù)控機(jī)床不僅實(shí)現(xiàn)了自動(dòng)化加工,而且能大幅度提升零件加工精度。其中,伺服性能、結(jié)構(gòu)參數(shù)、傳動(dòng)特性、生產(chǎn)環(huán)境等因素都會(huì)對(duì)數(shù)控機(jī)床的加工精度產(chǎn)生影響。要想實(shí)現(xiàn)超精密加工,現(xiàn)階段常用的方法有誤差防止和誤差補(bǔ)償兩種。前者是通過(guò)提高各項(xiàng)精度指標(biāo),例如機(jī)床運(yùn)動(dòng)部件的設(shè)計(jì)精度、加工精度、運(yùn)動(dòng)精度,將誤差控制在允許范圍之內(nèi),其成本較高。相比之下,誤差補(bǔ)償則是在掌握機(jī)床誤差數(shù)據(jù)的前提下,修改數(shù)控加工代碼補(bǔ)償加工誤差,操作起來(lái)更加方便,實(shí)用性更強(qiáng)。
超精密數(shù)控機(jī)床誤差補(bǔ)償主要分為兩種形式,即硬件誤差補(bǔ)償、軟件誤差補(bǔ)償。在生產(chǎn)實(shí)踐中,硬件誤差補(bǔ)償受到諸多限制,例如需要更改機(jī)械結(jié)構(gòu),增加了成本;加工精度的優(yōu)化范圍有限,經(jīng)常會(huì)出現(xiàn)補(bǔ)償之后仍然達(dá)不到精度要求的情況。相比之下,軟件誤差補(bǔ)償則具有操作簡(jiǎn)便、成本較低、精度提升明顯等一系列優(yōu)勢(shì)。其補(bǔ)償原理為:在不改變數(shù)控機(jī)床機(jī)械結(jié)構(gòu)的前提下,測(cè)量獲得機(jī)床誤差數(shù)據(jù),將誤差補(bǔ)償量運(yùn)算到修改加工代碼中,通過(guò)軟件控制實(shí)現(xiàn)對(duì)加工誤差的補(bǔ)償。軟件誤差補(bǔ)償中綜合運(yùn)用了傳感器技術(shù)、數(shù)控技術(shù)、計(jì)算機(jī)技術(shù),在保證加工精度符合要求的基礎(chǔ)上,可以實(shí)現(xiàn)零件的高效率、批量化生產(chǎn)。本文所述的超精密數(shù)控機(jī)床誤差補(bǔ)償流程如圖1 所示。
圖1 數(shù)控機(jī)床誤差補(bǔ)償流程圖
在應(yīng)用軟件誤差補(bǔ)償技術(shù)時(shí),首先要根據(jù)待加工零件的外形輪廓,規(guī)劃走刀路線。按照該路線可以得到理想狀態(tài)下的數(shù)控機(jī)床加工指令,但是該數(shù)控指令中并不包含機(jī)床實(shí)際加工時(shí)存在的運(yùn)動(dòng)誤差。因此,還需要通過(guò)誤差補(bǔ)償技術(shù)計(jì)算出運(yùn)動(dòng)誤差,以便于提高誤差補(bǔ)償效果。刀具路線得到數(shù)控指令后,查詢各點(diǎn)運(yùn)動(dòng)數(shù)值處的誤差值,即可生成機(jī)床的實(shí)際運(yùn)動(dòng)模型。對(duì)比刀具的實(shí)際運(yùn)動(dòng)軌跡和理想運(yùn)動(dòng)軌跡,即可直觀地判斷兩者之間存在的誤差。然后執(zhí)行一次判斷程序,判斷實(shí)際測(cè)得誤差是否小于允許誤差。如果判斷結(jié)果為“否(N)”,則修改數(shù)控指令后,重新構(gòu)建實(shí)際機(jī)床運(yùn)動(dòng)模型,重復(fù)上述步驟并進(jìn)行再次對(duì)比,直到判斷結(jié)果為“是(Y)”,說(shuō)明加工精度達(dá)到要求,則終止此次誤差補(bǔ)償。
為了進(jìn)一步驗(yàn)證軟件誤差補(bǔ)償?shù)膽?yīng)用效果,在仿真軟件上進(jìn)行了模擬試驗(yàn)。仿真軟件的參數(shù)設(shè)置界面上,可手動(dòng)輸入對(duì)刀坐標(biāo)(x,y)、理想工件坐標(biāo)系原點(diǎn)(Fx,F(xiàn)y,F(xiàn)z)、工件坐標(biāo)系中坐標(biāo)(Gx,Gy,Gz)等。在仿真實(shí)驗(yàn)開(kāi)始后,首先輸入對(duì)刀坐標(biāo)、工件輪廓坐標(biāo),這樣通過(guò)軟件自動(dòng)計(jì)算后可以得出理想工件坐標(biāo)系中的坐標(biāo)原點(diǎn)以及實(shí)際工件坐標(biāo)系原點(diǎn)。通過(guò)數(shù)控機(jī)床誤差辨識(shí),得到對(duì)應(yīng)機(jī)床坐標(biāo)的X 軸6 項(xiàng)誤差和Z 軸6 項(xiàng)誤差。根據(jù)仿真軟件計(jì)算、提供的工件坐標(biāo)系原點(diǎn)和各項(xiàng)運(yùn)動(dòng)誤差,可以根據(jù)工件所需的加工精度,進(jìn)行補(bǔ)償計(jì)算并得出實(shí)際刀具路徑。另外,在補(bǔ)償計(jì)算中還能得到補(bǔ)償前、補(bǔ)償后待加工零件在機(jī)床坐標(biāo)系、工件坐標(biāo)系中的具體坐標(biāo)。這樣一來(lái),就可以在仿真軟件的顯示頁(yè)面上直觀地了解補(bǔ)償前后工件坐標(biāo)變化。在完成補(bǔ)償計(jì)算后,還能通過(guò)誤差辨識(shí)數(shù)據(jù)庫(kù)模塊,調(diào)用內(nèi)部數(shù)據(jù)并進(jìn)行線性擬合,得到各項(xiàng)誤差的擬合曲線。設(shè)定某零件的加工路徑為“沿X 軸行進(jìn)30mm,沿Z 軸行進(jìn)30mm”,可以達(dá)到一條與X 軸呈45°角的直線,每隔1mm取點(diǎn)進(jìn)行補(bǔ)償計(jì)算,將補(bǔ)償前后的走刀軌跡與理想的走刀軌跡進(jìn)行對(duì)比,如圖2 所示。
圖2 理想、補(bǔ)償后及未補(bǔ)償軌跡圖示(放大5000 倍)
結(jié)合圖2 可知,在誤差補(bǔ)償前數(shù)控機(jī)床的走刀軌跡與理想軌跡相差明顯;在誤差補(bǔ)償后,數(shù)控機(jī)床的走刀軌跡向理想軌跡靠攏,說(shuō)明工件實(shí)際加工精度趨近于預(yù)期精度,誤差補(bǔ)償效果良好。
UMAC 是Delta Tau 的系統(tǒng)級(jí)控制器,可根據(jù)用戶需要配置個(gè)性化的UMAC 系統(tǒng),同時(shí)還能提供高速SUB、MACRO 等完備的通訊方式,保證UMAC 控制器與主計(jì)算機(jī)之間進(jìn)行穩(wěn)定的信息傳遞。本文設(shè)計(jì)的超精密數(shù)控機(jī)床系統(tǒng)采用UMAC 控制器搭建全閉環(huán)伺服系統(tǒng)。其中,UMAC 控制器共有4 個(gè)運(yùn)動(dòng)軸通道,系統(tǒng)設(shè)計(jì)中選擇3 個(gè)通道,分別對(duì)應(yīng)了機(jī)床的X 軸、Z 軸和電動(dòng)軸。確保UMAC控制器發(fā)出的控制指令能夠從通道快速傳遞至運(yùn)動(dòng)軸,完成相應(yīng)的動(dòng)作。三軸運(yùn)動(dòng)裝置控制系統(tǒng)的結(jié)構(gòu)組成如圖3所示。
圖3 三軸運(yùn)動(dòng)裝置控制系統(tǒng)
該控制系統(tǒng)中,X 軸和Z 軸分別沿著導(dǎo)軌做定向的直線運(yùn)動(dòng)。導(dǎo)軌上安裝有光柵尺,可以用于采集導(dǎo)軌上X 軸與Z 軸的運(yùn)動(dòng)信息。同時(shí)利用通信裝置將采集到的位置信息實(shí)時(shí)反饋給該系統(tǒng)中的控制器、驅(qū)動(dòng)器,形成閉環(huán)控制。
為了保證超精密數(shù)控機(jī)床的運(yùn)動(dòng)特性、伺服特性達(dá)到理想狀態(tài),需要借助于UMAC 控制器對(duì)各個(gè)控制環(huán)節(jié)的變量進(jìn)行調(diào)節(jié),本文提出了一種基于PID 控制算法的UMAC 控制器參數(shù)調(diào)節(jié)方法。PID 控制算法作為一種尋求最佳系統(tǒng)控制特性的常用算法,其原理是:設(shè)定積分環(huán)節(jié)是否加入的條件,如果出現(xiàn)大的偏差,則不加入積分環(huán)節(jié),并通過(guò)參數(shù)調(diào)節(jié)的方式縮小偏差。當(dāng)大偏差減小到一定程度后,再次進(jìn)行判定,如果偏差(|e(k)|)在允許的閾值(ε)之內(nèi),則加入積分環(huán)節(jié)。PID 控制算法可表示為:
上式中,Kd表示微分系數(shù),Kp表示比例系數(shù),Ki表示積分系數(shù)。K 為變量,表示在該系統(tǒng)中進(jìn)行積分處理的時(shí)間。
基于PID 控制算法的UMAC 控制器被廣泛應(yīng)用于數(shù)控機(jī)床的多軸控制中,并且能夠做到效率與精度的兼顧。在PID 參數(shù)調(diào)整中,可支持手動(dòng)、自動(dòng)兩種模式。在實(shí)際生產(chǎn)中,自動(dòng)整定雖然能夠快速得到一組理想PID 參數(shù),但是也有可能存在整定參數(shù)超出電機(jī)額定性能的情況,電機(jī)長(zhǎng)時(shí)間處于超負(fù)荷運(yùn)行狀態(tài)將會(huì)增加發(fā)生故障的概率。因此PID 參數(shù)整定中一般選擇手動(dòng)調(diào)節(jié)。另外,考慮到本文設(shè)計(jì)的數(shù)控機(jī)床三軸統(tǒng)一采用了氣浮機(jī)構(gòu),因此在每次開(kāi)機(jī)運(yùn)行前必須要認(rèn)真檢查X 軸、Z 軸、電動(dòng)軸是否均已通氣。對(duì)于不能正常通氣的要排查故障、在完成通氣后再運(yùn)行。之后檢查UMAC 控制器和主計(jì)算機(jī)之間的通信是否正常,確定不存在異常后開(kāi)始啟動(dòng)PID 進(jìn)行軟件調(diào)試。根據(jù)調(diào)試結(jié)果重新修改PID 參數(shù)。調(diào)試軟件支持階躍信號(hào)、斜坡信號(hào)、梯形信號(hào)等七種信號(hào)源,用戶可根據(jù)實(shí)際情況自定義選擇。本系統(tǒng)為了提高動(dòng)態(tài)性能選擇了階躍信號(hào)(Position Step),其優(yōu)勢(shì)在于調(diào)節(jié)測(cè)試系統(tǒng)的跟隨誤差,保證速度前饋系數(shù)和加速度前饋系統(tǒng)能夠靈活調(diào)節(jié)。
基于UMAC 控制器開(kāi)發(fā)超精密數(shù)控機(jī)床系統(tǒng)。由于UMAC 控制器配套的Pcomm32.dll 動(dòng)態(tài)鏈接庫(kù)中包含了許多類函數(shù),為系統(tǒng)開(kāi)發(fā)提供了便利,在VC++10.0 環(huán)境下完成系統(tǒng)開(kāi)發(fā)。其中UMAC 卡與PC 機(jī)之間用通訊裝置完成指令的下達(dá)和信息的反饋,另外還提供了板卡開(kāi)閉、狀態(tài)顯示等功能。整個(gè)數(shù)控系統(tǒng)可提供的功能有電機(jī)回零、電機(jī)電動(dòng)、運(yùn)行狀態(tài)監(jiān)視、NC 代碼下載、自動(dòng)運(yùn)行控制等。系統(tǒng)整體架構(gòu)如圖4 所示。
圖4 基于UMAC 控制器的數(shù)控系統(tǒng)結(jié)構(gòu)圖
在完成系統(tǒng)搭建后,逐步進(jìn)行各功能驗(yàn)證:
①上位機(jī)與下位機(jī)之間的通訊功能。調(diào)用動(dòng)態(tài)鏈接庫(kù)中的Open Pmac Device9()函數(shù)檢查通訊功能。在上位機(jī)上編輯并發(fā)送指令,如暫停運(yùn)行指令,下位機(jī)接收該指令后運(yùn)行數(shù)控程序中的暫停程序,正在進(jìn)行工件加工的刀具暫停運(yùn)行。同時(shí)觀察UMAC 面板上“運(yùn)動(dòng)狀態(tài)”一欄顯示“暫?!?。說(shuō)明上位機(jī)可以正常向下位機(jī)發(fā)送控制指令,下位機(jī)能夠正常反饋指令執(zhí)行情況,相互之間通訊正常。
②數(shù)控系統(tǒng)的點(diǎn)動(dòng)功能。進(jìn)入系統(tǒng)的點(diǎn)動(dòng)功能菜單,涵蓋了X 軸正方向運(yùn)動(dòng)“X+”、X 軸負(fù)方向運(yùn)動(dòng)“X-”、Z 軸正方向運(yùn)動(dòng)“Z+”和Z 軸反方向運(yùn)動(dòng)“Z-”四個(gè)選項(xiàng)。驗(yàn)證功能時(shí),從菜單中點(diǎn)擊“X+”時(shí),觀察到X 軸沿著導(dǎo)軌向正方向運(yùn)動(dòng)一段距離,松開(kāi)按鈕后X 軸停止運(yùn)動(dòng),其他3 個(gè)選項(xiàng)同樣如此,說(shuō)明數(shù)控系統(tǒng)的點(diǎn)動(dòng)功能正常。
③運(yùn)行狀態(tài)監(jiān)視功能。監(jiān)視內(nèi)容包括運(yùn)動(dòng)軸狀態(tài)信息和安全信息。當(dāng)機(jī)床運(yùn)動(dòng)軸在機(jī)床坐標(biāo)系中的位置、速度發(fā)生變化后,在UMAC 顯示界面可同步展示變化后的位置信息、速度信息。同時(shí),在運(yùn)動(dòng)軸正常運(yùn)行時(shí)顯示為綠色,到運(yùn)動(dòng)軸達(dá)到最大行程后顯示紅色,同時(shí)強(qiáng)制執(zhí)行電機(jī)停機(jī)指令,防止電機(jī)燒壞。
超精密數(shù)控機(jī)床由于對(duì)工件的加工精度有更高的要求,因此在實(shí)際生產(chǎn)中需要借助于誤差補(bǔ)償技術(shù),通過(guò)實(shí)時(shí)收集刀具的實(shí)際運(yùn)動(dòng)軌跡,與理想運(yùn)動(dòng)軌跡進(jìn)行對(duì)比。如果兩者之間的誤差太大,則重新修改參數(shù),再次進(jìn)行加工,經(jīng)過(guò)反復(fù)多次的誤差補(bǔ)償后,直到實(shí)際運(yùn)動(dòng)軌跡趨近于理想運(yùn)動(dòng)軌跡,兩者之間的誤差符合加工精度要求。在此基礎(chǔ)上基于UMAC 控制器搭建數(shù)控系統(tǒng),在保持加工精度的前提下,可以實(shí)現(xiàn)點(diǎn)動(dòng)加工、自動(dòng)回零、狀態(tài)監(jiān)視等功能,進(jìn)一步提高了數(shù)控機(jī)床高精度、自動(dòng)化加工水平。