金 星, 李向廣
(長春工業(yè)大學(xué)電氣與電子工程學(xué)院,吉林長春 130012)
在二維平面上自由移動是各種數(shù)控加工系統(tǒng)的重要功能,二自由度運動平臺在各種數(shù)控加工系統(tǒng)中的應(yīng)用也十分廣泛。單片機具有體積小、價格低、性能可靠等優(yōu)點,步進電機在位移控制方面有著獨到的優(yōu)勢。因此,基于單片機和步進電機設(shè)計二自由度運動平臺系統(tǒng)是一種重要的方法和手段,該系統(tǒng)可以實現(xiàn)在二維平面上作高精度、高可靠性自由移動,并且有較高的實際使用價值[1]。
本運動平臺機械結(jié)構(gòu)如圖1所示。
包括:X平臺、Y平臺及安裝在Y平臺之上的工作臺,X,Y平臺均包括步進電機、滾珠絲杠和支撐工作臺的圓柱導(dǎo)軌。X平臺上的步進電機轉(zhuǎn)動,帶動滾珠絲杠旋轉(zhuǎn),Y平臺和工作臺便可在X軸向上自由移動。同理,Y平臺上絲杠轉(zhuǎn)動可以帶動工作平臺在Y軸向上自由移動。安裝在最上層的工作平臺可以在X和Y這兩個相互垂直的軸向上自由移動,所以,工作平臺能夠在二維平面上自由移動。
圖1 平臺機械結(jié)構(gòu)
本系統(tǒng)采用閉環(huán)控制,系統(tǒng)的結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
包括單片機控制模塊、電機驅(qū)動模塊、光柵尺反饋光耦限位模塊、按鍵顯示、通信模塊等。上位機通過串口發(fā)送命令,單片機輸出兩路步進電機控制信號,滾珠絲杠將步進電機的旋轉(zhuǎn)運動轉(zhuǎn)換為直線運動,實現(xiàn)工作平臺的二自由度平面運動[2]。平臺運動,X,Y軸向的光柵尺輸出兩路脈沖信號將工作臺的絕對位置反饋給處理器。平臺的運動極限位置分別用4個光耦標定X,Y軸向的零位和滿位,防止電機運動到極限位置因堵轉(zhuǎn)而損壞。在上位機無指令的情況下,可用按鍵控制平臺運動,液晶實時顯示平臺的運動模式和X,Y軸的坐標。
系統(tǒng)軟件部分由上位機軟件和下位機軟件構(gòu)成。
上位機軟件采用Visual C++6.0編寫,其主要功能是為操作人員提供一個簡單便捷的操作界面,方便用戶設(shè)定平臺的運動模式,設(shè)置平臺運動參數(shù)[3]。
下位機軟件使用C語言編寫,其實現(xiàn)功能有:
1)與上位機通信;
2)對步進電機實時控制并將運動模式和坐標顯示到液晶上;
3)讀取光柵尺、光耦等反饋信號。
下位機軟件系統(tǒng)流程如圖3所示。
圖3 系統(tǒng)軟件流程圖
上電后系統(tǒng)進行初始化,初始化結(jié)束后等待上位機命令。下位機接收上位機命令后,確定運動方式、運行參數(shù)后驅(qū)動電機做相應(yīng)運動,并通過光柵尺反饋信號進行精確定位和控制。任務(wù)結(jié)束后,可以重新設(shè)定運行模式和參數(shù),也可以通過按鍵使平臺回到X,Y零位,即回到坐標原點。
平臺每行進一步都要進行:判別偏差、進給坐標、計算新偏差和終點判別4個步驟。
系統(tǒng)采用的是改進的逐點比較直線插補算法,以避免單片機進行較復(fù)雜的數(shù)學(xué)運算?,F(xiàn)以第一象限為例求其偏差公式。
直線插補過程如圖4所示。
圖4 直線插補過程
設(shè)平臺沿直線OA運動,以原點O為起點,以A為終點,P(xi,yi)為工作點,設(shè)偏差判別函數(shù)為:
通過式(1)計算Fi,j的值就可以判別P點與的相對位置,從而運動臺作出相應(yīng)的反應(yīng)趨向,每前進一步判別一次Fi,j,然后控制運動臺向靠近,逐點比較,逐步前進,逐點靠近[4]。當?shù)竭_A點后,發(fā)出信號,停止運動。由于平臺每前進一步都要進行偏差判別、進給坐標,計算新偏差和終點判別,按照式(1)的思想進行下位機軟件設(shè)計,要進行乘法和減法計算,同時單片機還要讓液晶實時顯示坐標,其運算量較大,嚴重影響系統(tǒng)的實時性和精度。因此本設(shè)計采用改進的插補算法,用前一步的偏差計算本次偏差:
若Fi,j≥0時,平臺需向+x方向前進一步,平臺從(xi,yj)到達新點P(xi+1,yj),新點坐標為xi+1=xi+1,yj=y(tǒng)j,因此新點P(xi+1,yj)的偏差值為:
若Fi,j<0,則平臺需向+y方向前進一步,新點坐標為xi=xi,yj+1=y(tǒng)j+1,新點P(xi,yj+1)的偏差值為:
由式(2)和式(3)可以看出,后一點的坐標偏差可以由前一點的偏差值計算得出,只需做簡單的加減法,對于適合做加減法的單片機而言,此方法比其它直線插補算法運算簡單、程序編寫容易且不失精度[5]。
圓的軌跡運動核心思想是把點到圓心的距離和此圓的半徑進行比較來反映運行偏差。下面以第一象限逆圓弧為例求偏差計算公式[6]。
圓弧插補過程如圖5所示。
圖5 圓弧插補過程
求Fi,j的過程中含有4個平方計算,非常不便于單片機的軟件設(shè)計,系統(tǒng)響應(yīng)慢,實時性低,為了降低運算的復(fù)雜性,需要對偏差判別式進行簡化來計算新的運行偏差。
設(shè)P(xi,yj)在圓弧外側(cè)或圓弧上,則偏差為Fi,j≥0,x坐標需向負向前進一步,移到新點P(xi+1,yj),此時新點橫坐標為xi-1,縱坐標值仍為yi,新點P(xi+1,yj)的運動偏差為:
同理,當點p(xi,yj)在圓弧的內(nèi)側(cè)時,F(xiàn)i,j<0,那么,縱坐標需向正方向前進一步,移到新點p(xi,yj+1),此時新點的橫坐標不變?nèi)詾閤i,縱坐標則變?yōu)閥j+1,新點p(xi,yj+1)的運動偏差為:
由式(5)和式(6)可知,通過前一點運動偏差可以避開復(fù)雜的平方運算,輕松得到當前點的運動偏差,且不失精度。
本項目采用的終點判別方法是設(shè)置一個終點減法計數(shù)器E,插補運算開始前記入該程序x及y坐標的加工總長(即x和y的位移總步數(shù)),在插補過程中,x或y向每走一步,就從總步數(shù)中減去1,直至E中存數(shù)被減為零,表示到達終點。
選用的步進電機型號為56BYG250D步進角為1.8°,采用2細分步進電機驅(qū)動器[7-8],滾珠絲杠螺距為4 mm;光柵尺型號為SR-4N-T-5X-350-0-0,平臺在X或Y軸向上每移動1 mm產(chǎn)生250個脈沖,經(jīng)過倍頻電路后產(chǎn)生500個脈沖。通過上位機設(shè)置起止點坐標,平臺按“矩形-斜線-圓”軌跡運動,測得試驗結(jié)果如圖6所示。
圖6 試驗結(jié)果
由試驗結(jié)果可以看出,即使將試驗畫筆的機械誤差疊加上,平臺在連續(xù)動作后的累積誤差也保持在0.5 mm以內(nèi),這樣的精度對于高可靠性、低成本的單片機控制的二維自由運動平臺來說已是很高。
由于采用如此高精度的光柵尺來定位平臺運動的絕對位置,可以避免電機因平臺過重導(dǎo)致的失步而使精度下降的問題。高精度的機械結(jié)構(gòu)加上改進的逐點比較插補算法,可以確保整個平臺的高精度運行。
[1] 董永謙,狄希遠,張志耀,等.高速精密運動平臺研制[J].電子工藝技術(shù),2011,32(3):173-176.
[2] 王曉明.電動機的單片機控制[M].北京:北京航空航天大學(xué)出版社,2002.
[3] 于建清,龔德俊,徐永平,等.步進電動機控制二維運動平臺系統(tǒng)的軟件設(shè)計[J].電機與控制應(yīng)用,2008,35(3):18-20.
[4] 唐慧鋒.改進逐點比較法圓弧插補的研究與仿真[J].微計算機信息,2006,22(15):240-241.
[5] 楊威,應(yīng)保勝.逐點比較直線算法的優(yōu)化[J].武漢科技大學(xué)學(xué)報:自然科學(xué)版,2012,35(3):222-224.
[6] 浦艷敏.關(guān)于數(shù)據(jù)采樣圓弧插補算法的研究[J]. 2009,15(5):54-56.
[7] 安志勇,楊帆,曹秒,等.STC單片機和絕對式編碼器的步進電機控制算法[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2013,34(1):64-68.
[8] 鄭振華,郭慶,吳國鋮.基于插補算法的二維數(shù)控平臺研究與設(shè)計[J].測控技術(shù),2010,29(6):58-61.