李 偉,趙玉剛,張來賓,李科展,張 輝
LI Wei1,ZHAO Yu-gang1,ZHANG Lai-bin2,LI Ke-zhan3,ZHANG Hui4
(1. 山東理工大學(xué) 機械工程學(xué)院,淄博 255049;2.滕州市產(chǎn)品質(zhì)量監(jiān)督檢驗所,滕州 277500;3. 中國重汽集團(tuán) 濟(jì)南橋箱有限公司,濟(jì)南 250116;4. 中國石化齊魯石油化工公司 熱電廠,淄博,255400)
插補是數(shù)據(jù)密化的過程。在數(shù)控系統(tǒng)明確起點和終點后,系統(tǒng)根據(jù)線段的特征(直線、圓弧、漸開線等),運用一定的算法,在起終點之間計算出一系列的數(shù)據(jù),從而自動地對各坐標(biāo)軸進(jìn)行分配,使機床加工出所要求的輪廓曲線[1]。
文獻(xiàn)[1]提出了一種最小偏差法,改進(jìn)的算法雖然精度有所提高,但只能用于要求不高的開環(huán)控制系統(tǒng)中。文獻(xiàn)[2]和文獻(xiàn)[3]只是基于數(shù)控插樸特征原理,提供了數(shù)控加工橢圓曲線的有益方案,沒有具體實現(xiàn)數(shù)控加工及仿真;文獻(xiàn)[4]介紹了脈沖增量式插補算法的特點,基于vHDL語言編程實現(xiàn)了多種常用脈沖增量式插補算法的硬件插補器。
本文運用矢量法解決了起點、終點、半徑確定圓心的問題,簡化了計算過程,使計算值有了明確的取舍;基于脈沖增量插補原理推導(dǎo)出了橢圓的逐點比較法的判別函數(shù),并在C++ Builder開發(fā)環(huán)境下,編制出橢圓的插補計算程序,實現(xiàn)了橢圓的數(shù)控加工仿真。
逐點比較法是脈沖增量插補方法的一種,其特點是每經(jīng)過一個插補周期僅產(chǎn)生一個行程增量,在插補計算過程中不斷向各個坐標(biāo)發(fā)出相互協(xié)調(diào)的進(jìn)給脈沖,驅(qū)動各個坐標(biāo)的電動機運動。
1)若點P正好在橢圓弧上,則:

2)若P在橢圓弧外側(cè),則:

3)若P在橢圓弧內(nèi)側(cè),則:

取加工偏差判別式:

當(dāng)P在橢圓弧外側(cè)或橢圓弧上時Fi,j≥0,需向X軸負(fù)方向進(jìn)給一個脈沖當(dāng)量,到新的加工點上P(xi+1,yj);其加工偏差為:

若P在橢圓弧內(nèi)側(cè)時Fi,j<0,需向Y軸正方向進(jìn)給一個脈沖當(dāng)量;其加工偏差為:

由此可看出,新一點的偏差值可以用前一點的偏差值遞推出來,計算簡單,可實現(xiàn)高速插補。在橢圓插補過程中,動點坐標(biāo)的絕對值總是一個增大,另一個減小。如第一象限逆插補時,x減小,y增大。
偏差判別公式是基于圓心在原點的基礎(chǔ)上推導(dǎo)出的,因此在進(jìn)行插補前要對輸入的數(shù)據(jù)進(jìn)行預(yù)處理。預(yù)處理的工作包括:起點終點的處理,圓心的確定,優(yōu)劣弧的判斷,判別函數(shù)的確定等。
已知圓弧起點 A(x1,y1),終點 B(x2,y2),半徑為R,求圓心坐標(biāo)(x,y)。

圖1 插補程序框圖
聯(lián)立方程組

得到的圓心坐標(biāo)有兩個,圓心的取舍與起點、終點所在的象限、優(yōu)劣弧有關(guān)。
矢量法確定圓心的思想:先任意選定計算出的一個圓心O1,設(shè)O1A是圓心到起點的向量,AB是起點到終點的向量,然后把這兩個向量做叉乘,若 O1A×AB>0,則 O1是 A到 B逆圓弧劣弧的圓心,同時也是A到B順圓弧優(yōu)弧的圓心;若O1A×AB<0, 則 O1是 A 到B順圓弧劣弧的圓心,同時也是A到B逆圓弧優(yōu)弧的圓心。程序框圖如圖1右預(yù)處理部分。其中,R代表是劣弧,-R代表優(yōu)弧。
根據(jù)以上算法,在C++Builder環(huán)境中編寫代碼實現(xiàn)了橢圓插補。插補程序框圖如1所示,輸入?yún)?shù),就可以插補計算,并且可以實現(xiàn)動畫效果。

圖2 插補仿真圖
本文在C++ Builder開發(fā)環(huán)境下,編制出橢圓的插補計算程序。推導(dǎo)出了橢圓的插補判別公式,可以有效的實現(xiàn)橢圓的逼近,并進(jìn)行了模擬。在牽扯到圓心坐標(biāo)的取舍的問題上,本文采取一種矢量法,使簡化了計算過程,使計算值有了明確的取舍,使繁瑣過程變得簡單,簡化了計算量,具有較高的使用價值。
[1] 欒芝蕓,孫雷,等. 一種新型的插補方法——自動過象限卡諾圖最小偏差法[J]. 測控技術(shù),2000,(11):51-52.
[2] 逄啟壽,楊杰,等.數(shù)控加工中兩種插補原理及對應(yīng)算法[J].機械工程師,2007,(2): 121-122.
[3] 李衛(wèi)京,李文斌.橢圓曲線插補算法研究[J].山西機械,20033,(1): 18-19.
[4] 朱昊,劉化君,等. 基于VHDL的脈沖增量式多功能插補器的設(shè)計與實現(xiàn)[J]. 中國制造業(yè)信息化,2007,10,(19): 38-42.
[5] 趙玉剛,宋現(xiàn)春. 數(shù)控技術(shù)[M]. 北京: 機械工業(yè)出版社,2003.