符愛(ài)周 韓震宇 葛伊倫
(四川大學(xué)機(jī)械工程學(xué)院,四川 成都 610065)
20世紀(jì)80年代末以來(lái),計(jì)算機(jī)運(yùn)行速度等性能逐漸提高,為適應(yīng)市場(chǎng)對(duì)多樣化制造產(chǎn)品的需求,數(shù)控系統(tǒng)朝著開(kāi)放式趨勢(shì)發(fā)展[1]。為達(dá)到開(kāi)放式數(shù)控系統(tǒng)高速、高精的性能目標(biāo),必須保證進(jìn)給速度在加工過(guò)程中變化平穩(wěn)。
在數(shù)控機(jī)床加工過(guò)程中,電機(jī)啟停、刀具軌跡方向變化等都會(huì)造成進(jìn)給速度突變。因此,這些過(guò)程均需要進(jìn)行加減速控制。根據(jù)在數(shù)控系統(tǒng)運(yùn)行過(guò)程中的不同階段對(duì)速度進(jìn)行控制,分為前加減速控制和后加減速控制[2]。其中,前加減速控制在插補(bǔ)前進(jìn)行,是對(duì)進(jìn)給合速度控制,不會(huì)影響位置精度,但需要提前確定減速點(diǎn),計(jì)算量大;后加減速控制在插補(bǔ)后進(jìn)行,是對(duì)各軸進(jìn)給速度分別控制,位置精度低,不需要提前確定減速點(diǎn),計(jì)算量較小。開(kāi)放式數(shù)控系統(tǒng)的加減速控制算法在PC機(jī)上執(zhí)行,克服了計(jì)算量大的難點(diǎn),為保證加工精度,本文采用前加減速控制策略,但不總是控制合速度?;跁r(shí)間分割法插補(bǔ)原理,三次多項(xiàng)式的速度變化規(guī)律以及前瞻速度控制即為本文的速度控制模型。
時(shí)間分割法是數(shù)據(jù)采樣插補(bǔ)中的典型方法[2]。此插補(bǔ)算法根據(jù)進(jìn)給速度和插補(bǔ)周期計(jì)算輪廓步長(zhǎng),即ΔL=V×T。其中,V為進(jìn)給速度,即經(jīng)過(guò)加減速控制后的速度;T為插補(bǔ)周期;ΔL為輪廓步長(zhǎng),即位移增量。時(shí)間分割法圓弧插補(bǔ)的基本思想是以直代曲,即用弦線(xiàn)或割線(xiàn)代替圓弧,實(shí)現(xiàn)微直線(xiàn)進(jìn)給。插補(bǔ)計(jì)算的任務(wù)是根據(jù)輪廓步長(zhǎng),在已知當(dāng)前節(jié)點(diǎn)坐標(biāo)的前提下,根據(jù)曲線(xiàn)類(lèi)型,計(jì)算下一節(jié)點(diǎn)的坐標(biāo)。最后通過(guò)兩節(jié)點(diǎn)的斜率,計(jì)算各軸在本插補(bǔ)周期內(nèi)的位移增量。運(yùn)動(dòng)控制器根據(jù)微位移增量控制各軸電動(dòng)機(jī)轉(zhuǎn)動(dòng)可加工出預(yù)定軌跡。
在三次多項(xiàng)式加減速控制的速度控制模型中,速度的計(jì)算公式為三次多項(xiàng)式其對(duì)應(yīng)的加速度為二次項(xiàng),與直線(xiàn)、三角函數(shù)和S曲線(xiàn)等常用加減速控制算法相比,不會(huì)突變,故該速度控制算法有較大的柔性,適用于高速高精的開(kāi)放式數(shù)控系統(tǒng)。但與更高次的速度控制算法相比,其柔性度還不夠高。綜合計(jì)算復(fù)雜度和柔性度兩種因素,本文選用三次多項(xiàng)式的加減速控制模型。
關(guān)于三次多項(xiàng)式加減速控制算法本身的研究,包括具體算法的推導(dǎo)過(guò)程,浙江大學(xué)的冷洪濱等提出的三次多項(xiàng)式型段內(nèi)加減速控制新方法[5]中對(duì)其進(jìn)行了較為詳細(xì)的敘述,本文就不再贅述,僅給出在速度控制過(guò)程中需要用到的關(guān)鍵公式。
在基于時(shí)間分割法的速度控制算法中,不同插補(bǔ)周期內(nèi)的速度可能不同。這就意味著,插補(bǔ)周期是速度在時(shí)間尺度上變化的最小依據(jù),即速度是離散的。速度V的離散化數(shù)學(xué)模型如式(1)。
(1)
式中:Vs為起點(diǎn)速度;Ve為終點(diǎn)速度;i表示第i個(gè)插補(bǔ)周期;N為整數(shù)且1≤i≤N,表示加速或減速過(guò)程中總的插補(bǔ)次數(shù)。其中,Vs和Ve可由當(dāng)前進(jìn)給速度和G代碼中的指令速度獲得,N可由加速或減速過(guò)程中所需的時(shí)間tm除以插補(bǔ)周期T再取整獲得,即N=ceil(tm/T),而加減速所需時(shí)間為
(2)
式中:Amax為機(jī)床的最大加速度,屬于系統(tǒng)參數(shù),可由選用的電動(dòng)機(jī)獲得。理論加減速距離Sd的計(jì)算公式為
(3)
不同形狀的軌跡如直線(xiàn)、圓弧等以及軌跡間的過(guò)渡段,在計(jì)算復(fù)雜度和加工精度的不同要求下,具體的速度控制方法存在一定的差異。下面將具體介紹數(shù)控車(chē)床中直線(xiàn)和圓弧兩種常規(guī)軌跡以及兩者之間不同組合的過(guò)渡線(xiàn)段的速度控制策略,即三次多項(xiàng)式加減速控制算法的應(yīng)用過(guò)程。
如圖1,加工軌跡為兩直線(xiàn)段OA和AB,加工方向如圖中箭頭所示。其中,直線(xiàn)OA與Z軸的夾角為α,直線(xiàn)AB與Z軸平行。假設(shè)OA段的指令速度為F1,AB段的指令速度為F2。
對(duì)于OA段,其速度控制過(guò)程分為3個(gè)階段,分別為起始階段、勻速階段和過(guò)渡階段。
在起始階段,假設(shè)O點(diǎn)為刀具起點(diǎn),則該階段為加速階段。其加速過(guò)程的起點(diǎn)速度Vs=0,終點(diǎn)速度Ve=F1。系統(tǒng)的最大加速度Amax已知,則由式(2)可得該階段總的插補(bǔ)周期N1。將Vs和Ve代入(1)式可得各插補(bǔ)周期對(duì)應(yīng)的合進(jìn)給速度Vi,即
(4)
在勻速階段,總的勻速距離Sd2=LOA-Sd1-Sd3,LOA為軌跡OA的長(zhǎng)度,則總的插補(bǔ)次數(shù)N2=ceil(Sd2/F1),各插補(bǔ)周期對(duì)應(yīng)的合進(jìn)給速度為F1,X軸速度Vix=F1×sinα,Z軸速度Viz=|F1×cosα|。
對(duì)于AB段,因?yàn)樵贠A段的過(guò)渡階段已將速度變化到AB段中A點(diǎn)速度F2,所以在該段軌跡的起始階段不需要進(jìn)行加減速控制,即沒(méi)有起始階段,其勻速階段和過(guò)渡階段的速度控制情況由下一軌跡段而定。
如圖2,加工軌跡為直線(xiàn)段PC、圓弧CD和直線(xiàn)段DE,加工方向與圖中箭頭方向相同。線(xiàn)段PC與Z軸平行,圓弧CD的首端與X軸方向相切,末端與Z軸相切,其切線(xiàn)與下一直線(xiàn)軌跡DE的夾角為α,半徑為r。PC段、CD段和DE段的指令速度分別為F1、F2和F3。
對(duì)于PC段,其起始階段和勻速階段的速度控制算法可參照?qǐng)D1中的OA段。在過(guò)渡階段,采用分速度加減速控制方法。X軸的起點(diǎn)速度Vsx=0,終點(diǎn)速度Vex=F2;Z軸的起點(diǎn)速度Vsz=F1,終點(diǎn)速度Vez=0。已知系統(tǒng)的最大加速度Amax,則該階段的速度控制過(guò)程可參考直線(xiàn)與直線(xiàn)間的加減速控制部分。
對(duì)于CD段,圓弧插補(bǔ)以直代曲的做法導(dǎo)致每個(gè)插補(bǔ)周期對(duì)應(yīng)的弦線(xiàn)方向都發(fā)生變化,但由于這些相鄰弦線(xiàn)的夾角近似于180°,各軸分速度變化很小,滿(mǎn)足速度平穩(wěn)變化的要求,故不需要每個(gè)插補(bǔ)周期都進(jìn)行加減速控制。又因?yàn)镻C段的速度規(guī)劃使得C點(diǎn)的速度等于F2,因此,CD段只有勻速階段和過(guò)渡階段的速度控制。考慮到在圓弧上進(jìn)行拐角處速度處理的算法復(fù)雜度較高,故將該部分放在DE段的起始階段。這就意味著,CD段只有勻速階段,D點(diǎn)的合速度為F2,分速度等于該段最后一個(gè)插補(bǔ)周期的分速度,而與DE段的速度和斜率無(wú)關(guān)。因此,DE段的起始階段的速度控制采用分速度控制的方法。CD段的速度計(jì)算過(guò)程如下:
設(shè)C點(diǎn)坐標(biāo)為(Z0,X0),D點(diǎn)坐標(biāo)為(Zn,Xn),第i個(gè)插補(bǔ)周期的節(jié)點(diǎn)坐標(biāo)為(Zi,Xi)。
在進(jìn)行加減速控制的過(guò)程中,如果某一線(xiàn)段的長(zhǎng)度無(wú)法滿(mǎn)足完整的起始階段、勻速階段和過(guò)渡階段速度規(guī)劃所需的距離,則該線(xiàn)段稱(chēng)為微小線(xiàn)段。為避免程序運(yùn)行出錯(cuò),在調(diào)用加減速控制算法之前,需要判斷當(dāng)前軌跡是否是微小線(xiàn)段。如果是微小線(xiàn)段,則不能按通常的加減速控制算法對(duì)該軌跡進(jìn)行速度規(guī)劃,而應(yīng)該根據(jù)線(xiàn)段的長(zhǎng)度采取不同的速度控制策略。假設(shè)加減速控制的起始階段、勻速階段和過(guò)渡階段的距離分別為Sd1、Sd2和Sd3,當(dāng)前軌跡的長(zhǎng)度為L(zhǎng),則存在如下幾種情況:
(1)L=Sd1+Sd3:當(dāng)前軌跡長(zhǎng)度正好等于起始階段和過(guò)渡階段的距離之和,表明該軌跡沒(méi)有勻速階段,在進(jìn)行起始階段的速度控制后應(yīng)立即調(diào)用過(guò)渡階段的速度控制算法。
(2)L≥Sd1且L (3)L 在2.2節(jié)已經(jīng)分析過(guò),某些軌跡段不需要進(jìn)行完整的速度控制過(guò)程,即未完整包含起始階段、勻速階段和過(guò)渡階段。因此,在對(duì)微小線(xiàn)段進(jìn)行速度控制時(shí),應(yīng)根據(jù)實(shí)際情況采取對(duì)應(yīng)的控制策略。 綜上,三次多項(xiàng)式加減速控制算法的應(yīng)用流程如下:首先通過(guò)系統(tǒng)允許的最大加速度計(jì)算加減速時(shí)間,從而獲得總的插補(bǔ)次數(shù);接著通過(guò)軌跡長(zhǎng)度判斷是否進(jìn)入微小線(xiàn)段的加減速控制;然后通過(guò)軌跡類(lèi)型以及過(guò)渡段判斷當(dāng)前速度的控制階段以及是采用合速度還是分速度控制方法;隨后根據(jù)起點(diǎn)速度和終點(diǎn)速度計(jì)算各插補(bǔ)周期內(nèi)的速度;最后根據(jù)軌跡斜率計(jì)算各軸分速度或合速度。 以圖3中的零件為例,圖中尺寸單位為mm,對(duì)本文研究的加減速控制算法在實(shí)際加工中的應(yīng)用效果進(jìn)行說(shuō)明。 考慮到在本系統(tǒng)中,速度轉(zhuǎn)換成位移的截?cái)嗾`差、位移轉(zhuǎn)為脈沖數(shù)的量化誤差以執(zhí)行器的執(zhí)行誤差等都會(huì)造成實(shí)際的進(jìn)給速度與理論速度存在差異,而此差異不會(huì)影響速度的柔性變化規(guī)律,也未能體現(xiàn)本文研究的速度控制策略的精度。因此,接下來(lái)的實(shí)驗(yàn)部分只提供仿真結(jié)果。 本系統(tǒng)允許的最大加速度Amax=20 mm/s2,輪廓AB的長(zhǎng)度L=20 mm,起點(diǎn)速度Vs=0,終點(diǎn)速度Ve=100 mm/min,插補(bǔ)周期T=8 ms,采用2.2節(jié)的速度控制策略,可知該軌跡的起始階段是加速階段,總的插補(bǔ)次數(shù)N=32。因?yàn)樵撥壽E的斜率為零,Z軸進(jìn)給速度等于合速度,X軸速度為零,故表1只給出該過(guò)程中不同插補(bǔ)周期內(nèi)的部分合速度。 軌跡BC的指令速度為F=150 mm/min,軌跡AB與軌跡BC的過(guò)渡階段采用分速度控制方法,X軸的起點(diǎn)速度Vsx=0,終點(diǎn)速度Vex=150 mm/min;Z軸起點(diǎn)速度Vsz=100 mm/min,終點(diǎn)速度Vez=0。對(duì)于X軸,該過(guò)程為加速過(guò)程,總的插補(bǔ)次數(shù)Nx=47;對(duì)于Z軸,該過(guò)程為減速過(guò)程,總的插補(bǔ)次數(shù)Nz=32。表2給出了X軸和Z軸進(jìn)給速度隨插補(bǔ)次數(shù)變化的部分結(jié)果。 表1 軌跡AB的起始階段隨插補(bǔ)次數(shù)變化的合速度 表2 軌跡AB的過(guò)渡階段隨插補(bǔ)次數(shù)變化的分速度 從表1和表2可以看出,速度隨離散化的時(shí)間,即不同插補(bǔ)次數(shù),平穩(wěn)變化。這說(shuō)明實(shí)驗(yàn)結(jié)果與預(yù)期相符,從而驗(yàn)證了基于時(shí)間分割法的三次多項(xiàng)式加減速控制算法的可行性。 本文研究的加減速控制算法用C++語(yǔ)言,借助VS2017編譯環(huán)境,在Windows平臺(tái)上編程實(shí)現(xiàn),并最終應(yīng)用在本人參與研發(fā)的開(kāi)放式數(shù)控系統(tǒng)中。該系統(tǒng)控制下的三軸兩聯(lián)動(dòng)的桌面型ET100-ZT數(shù)控裝調(diào)實(shí)訓(xùn)車(chē)床的加工過(guò)程如圖4所示。 本文在基于時(shí)間分割法原理的基礎(chǔ)上,采用三次多項(xiàng)式加減速控制算法對(duì)數(shù)控機(jī)床加工過(guò)程中的進(jìn)給速度進(jìn)行控制,保證了速度變化的平穩(wěn)性。在加工起點(diǎn),采用合速度控制方法,速度按照三次多項(xiàng)式算法的變化規(guī)律升高或降低,保證了輪廓精度;在軌跡拐角處,采用分速度控制方法,提前預(yù)測(cè)各軸減速點(diǎn),避免電機(jī)頻繁啟停,提高了加工效率。如果是圓弧軌跡,將其過(guò)渡階段放到下一軌跡的起始階段完成,在對(duì)輪廓精度影響不大的情況下,降低了算法的復(fù)雜度。此外,本文采用加減速距離與軌跡長(zhǎng)度比較的方法對(duì)微小線(xiàn)段進(jìn)行判斷,并在下一軌跡的起始階段繼續(xù)加速或減速,解決了在微小線(xiàn)段上難以加速或減速到指令速度的問(wèn)題。以上速度控制策略最終在筆者參與研究的開(kāi)放式數(shù)控系統(tǒng)上應(yīng)用,切實(shí)驗(yàn)證了算法的可行性。3 實(shí)驗(yàn)結(jié)果
4 結(jié)語(yǔ)