劉澤洋
(上海交通大學(xué)自動(dòng)化系,上海 200240)
現(xiàn)在一般伺服運(yùn)動(dòng)中,如果是控制電機(jī)走固定位置的方式,上位控制系統(tǒng)PLC 一般都是讓伺服走一個(gè)梯形的位置塊。這種模式都是單軸的運(yùn)動(dòng)模式,在這種情況下,每個(gè)軸的運(yùn)動(dòng)都是獨(dú)立的,而不是關(guān)聯(lián)的。在這類運(yùn)動(dòng)方式下,如果要將2個(gè)軸或者多個(gè)軸的運(yùn)動(dòng)建立聯(lián)系,只能通過上位PLC 將2個(gè)軸或多個(gè)軸進(jìn)行邏輯關(guān)聯(lián)。
例如在某個(gè)時(shí)間節(jié)點(diǎn),PLC 通過邏輯判斷要某2個(gè)軸一起運(yùn)動(dòng),則發(fā)出一個(gè)觸發(fā)信號,觸發(fā)2個(gè)軸開始運(yùn)行先前設(shè)定好的速度指令或者位置指令。但是在這個(gè)模式下,一旦PLC 發(fā)出觸發(fā)指令后,2個(gè)軸就開始各自進(jìn)行運(yùn)動(dòng),在完成當(dāng)前運(yùn)動(dòng)前,PLC 是無法進(jìn)行過程干預(yù),或者2個(gè)軸之間是無法進(jìn)行速度或者位置關(guān)聯(lián)的。所以,這類模式是無法保證過程中的2個(gè)軸的關(guān)聯(lián)性。
如果在運(yùn)行的過程中,任意一個(gè)軸的速度有變化,或者位置有波動(dòng),其他軸是無法獲知這個(gè)情況,還是會(huì)根據(jù)之前的設(shè)定繼續(xù)完成該步驟。
圖1 PLC 控制的2 軸運(yùn)動(dòng)方式圖
所以為了解決這個(gè)問題,市場上出現(xiàn)了運(yùn)動(dòng)控制器。運(yùn)動(dòng)控制器集成了原先PLC 的所有功能,同時(shí)增加了多軸的同步運(yùn)動(dòng)控制。
多軸的同步運(yùn)動(dòng)控制,就是將原先PLC 的軸和軸之前的邏輯關(guān)系,轉(zhuǎn)變成了一一對應(yīng)的位置關(guān)系。
圖2 走位置同步的從軸塊位移和速度曲線圖
圖2 顯示的就是一條同步運(yùn)動(dòng)中從軸相對于主軸的位置曲線。紅色的是位置曲線,藍(lán)色的是速度曲線。用戶先在程序中完成想要實(shí)現(xiàn)的曲線動(dòng)作,然后下載到運(yùn)動(dòng)控制器中,運(yùn)動(dòng)控制器在程序運(yùn)行的過程中,根據(jù)這條曲線來判斷主軸和從軸的位置關(guān)系,并實(shí)時(shí)地根據(jù)主軸反饋回來的位置信號,發(fā)送對應(yīng)的位置命令給從軸,從而實(shí)現(xiàn)了軸和軸之間的位置同步功能。
這個(gè)功能在市場上一部分運(yùn)動(dòng)控制器中都能夠?qū)崿F(xiàn)。但并不是說,使用了這個(gè)功能做出來的設(shè)備的效果,就一定非常好,非常完美了。
從圖2 中可以發(fā)現(xiàn),在伺服電機(jī)從位置零走到100%完成點(diǎn)的過程中,位移曲線實(shí)際上是一條由3段曲線拼接而成的。第一段是一條加速曲線,中間是段勻速區(qū)間,最后一段是條勻減速曲線。
相對應(yīng)的,速度曲線也是由3 段曲線拼接完成,第一段是斜率恒定的勻加速曲線,所以速度是從0開始加速上升的;中間段是勻速過程,所以速度值是一個(gè)恒定的值;最后一段是勻減速,所以速度從勻速值開始減速下來到0。
這條曲線初看起來好像挺不錯(cuò)的,位移曲線比較圓滑,速度是勻加速的,也沒有跳變。但是再進(jìn)一步分析之后,就會(huì)發(fā)現(xiàn)有問題存在。
圖3 走梯形位置塊速度和加速度曲線圖
圖3 中綠色的線是加速度曲線,可以發(fā)現(xiàn)加速度曲線也是分成3 段的,而速度曲線的加速和減速,實(shí)際上是因?yàn)榧铀俣惹€的改變。在速度曲線的勻加速段,加速度曲線有一個(gè)恒定的正向輸出值,從0時(shí)刻開始存在,一直到勻加速段結(jié)束。在勻速運(yùn)動(dòng)段,加速度為零。在勻減速段中,加速度值從0 變?yōu)樨?fù)值,是伺服電機(jī)的速度從勻速開始逐步減速到0。
這個(gè)時(shí)候問題就出現(xiàn)了,雖然位移和速度都是逐步變化,沒有跳變,但是對于加速度來說,則是一個(gè)跳變的過程。因?yàn)閺牧阄婚_始,加速度是從0 直接跳變到一個(gè)恒定值,中間沒有遞變過程;然后在要達(dá)到勻速運(yùn)動(dòng)的時(shí)候,又是一個(gè)加速度跳變,從恒定值直接跳變回0;在勻減速運(yùn)動(dòng)開始的時(shí)候,又從0 直接跳變成一個(gè)負(fù)值;最后在運(yùn)動(dòng)結(jié)束的時(shí)候,再次從負(fù)值直接跳變成0。
這樣問題就出來了:對于伺服系統(tǒng)來說,加速度對應(yīng)伺服電機(jī)的扭矩,加速度的變化對應(yīng)的實(shí)際上就是電機(jī)扭矩的變化。如果伺服系統(tǒng)的加速度跳變的話,對應(yīng)的伺服電機(jī)的扭矩就會(huì)跳變。上圖顯示的一個(gè)完整的運(yùn)動(dòng)過程中,一共有4 次加速度跳變,所以對于伺服電機(jī)來說,一個(gè)運(yùn)動(dòng)周期就會(huì)有4 次扭矩跳變。雖然扭矩的變化對于伺服電機(jī)來說比較正常,但是如果伺服系統(tǒng)帶的負(fù)載是一個(gè)比較大的設(shè)備,扭矩輸出很大;或者負(fù)載端是比較精密的設(shè)備,不允許有任何跳變引起的振動(dòng);又或者產(chǎn)品剛性比較差,不允許有扭矩的突變的話,這個(gè)時(shí)候,問題就比較麻煩了。
這樣回到最初的問題,因?yàn)楝F(xiàn)在的伺服系統(tǒng)基本都是采用這種運(yùn)動(dòng)方式來走定位,如果不能采用梯形位置塊模式,那還能采用什么模式呢?
通過查閱相關(guān)資料,加上一些研究,發(fā)現(xiàn)有一種類型的曲線,可以不受加速度跳變的限制,并且可以自由設(shè)定加速度值,甚至可以設(shè)定加速度的加速度,即加加速度。這種曲線就是5 次方曲線。
圖4 5 次方曲線圖
圖4 顯示的是一條標(biāo)準(zhǔn)的5 次方曲線,紅色的是位移曲線,藍(lán)色的是速度曲線,綠色的是加速度曲線,紫色的是加加速度曲線。可以發(fā)現(xiàn),和普通曲線相比,多了一條加加速度曲線,也正式因?yàn)橛辛诉@條加加速度曲線,加速度曲線才能不用跳變。
如果將5 次方曲線應(yīng)用在之前的梯形位移曲線上,效果會(huì)如何?
圖5 應(yīng)用5 次方曲線后的梯形位置塊
可以很明顯的發(fā)現(xiàn),在應(yīng)用了5 次方曲線之后,速度曲線、加速度曲線,都比之前的曲線更平滑柔順,沒有任何的階躍和跳變了。速度曲線和之前一樣,是從0 開始增加,一直增加到勻速段,之后勻速運(yùn)行到減速段,在逐步減速到0。
而加速度曲線則和之前的完全不同:之前的曲線,加速度是從0 直接跳變的,之后保持恒定值,直到勻速段后再突然跳變回0。而現(xiàn)在5 次方曲線中,加速度是從0 開始有弧度的增加,在達(dá)到拐點(diǎn)后再有弧度的減少,當(dāng)曲線要達(dá)到勻速運(yùn)行段的時(shí)候,加速度正好回復(fù)到0。這中間沒有一點(diǎn)階躍或者跳變,都是平滑的運(yùn)動(dòng)。減速段也是一樣,平滑地減速到0。
所以在用了5 次方曲線之后,就不用擔(dān)心因?yàn)榕ぞ仉A躍跳變而引起的負(fù)載突然變化,精度變差甚至損壞產(chǎn)品的問題發(fā)生了。
那么5 次方曲線到底是個(gè)什么曲線?為什么叫做5 次方曲線?曲線的方程式是什么?它又是如何影響曲線的速度,加速度和加加速度的呢?
5 次方曲線之所以叫做5 次方曲線,是因?yàn)樵谄湮灰品匠淌街?,對于自變量X 最高有5 次方指數(shù)來影響方程式結(jié)果的。5 次方的方程式具體結(jié)構(gòu)如下:
式中A、B、C、D、E 都是系數(shù),而X 代表的是時(shí)間,或者是主軸的位置;而Y 代表的是從軸(或者說是該伺服電機(jī)本身)的位置。
5 次方曲線按照上面方程式求出來的結(jié)果是位置值,也就是位移曲線;如果要求速度曲線,就必須將該方程式求導(dǎo),也就是將位移對時(shí)間求導(dǎo),得出速度曲線。所以5 次方曲線的速度曲線方程式是:
同樣的,加速度曲線的方程就是對速度曲線方程再求一次導(dǎo):
而加加速度的方程就是對加速度方程求導(dǎo):
現(xiàn)在方程式有了,但是方程式的系數(shù)ABCDE 都沒有確定,還是無法求出具體數(shù)值的。所以需要將特殊的點(diǎn)帶入方程式中,來求出系數(shù)ABCDE。
通常選取的特殊點(diǎn)是曲線的起始點(diǎn)和終點(diǎn)。比如起始點(diǎn)的起始位置是0,對應(yīng)的從軸位置也是0,起始速度是0,加速度是0,則對應(yīng)的求解方程就有:
根據(jù)這3個(gè)方程式,可以得出D 和E 的值是0。
但是知道這2個(gè)系數(shù)還不夠,還需要知道ABC的值才能最終確定方程式。所以我們需要終點(diǎn)的數(shù)據(jù):終點(diǎn)X 位置值1(100%),從軸位置1(100%),速度為0,加速度0。
同時(shí)帶入之前求得的D 和E,求出ABC 的值分別為:
A =6,B=-15,C=10。
所以按照之前給的設(shè)定條件,初始點(diǎn)和終點(diǎn)的具體值:
初始點(diǎn):主軸位 置0,從軸位置0,起始速度0,起始加速度0;
終點(diǎn):主軸位置1,從軸位置1,終點(diǎn)速度0,終點(diǎn)加速度0;
得到的5 次方曲線為:
這個(gè)就是條標(biāo)準(zhǔn)5 次方曲線的方程了,如果按照方程式畫出曲線來的樣子就如下:
圖6 5 次方曲線位置,速度,加速度和加加速度圖
但是有一點(diǎn)要確定的是,每條5 次方曲線都會(huì)因?yàn)槌跏紬l件的不同(起始點(diǎn)和終點(diǎn)的位置,速度,加速度),而是每條曲線的ABCDE 都不一樣。所以,只要前提條件變化了,就必須重新計(jì)算方程式,不然曲線就不是一樣平滑的5 次方曲線了。