齊山成,劉海華,劉 毅
(河南工學院 電氣工程與自動化學院,河南 新鄉(xiāng) 453003)
步進電機是一種將電脈沖轉(zhuǎn)換為機械角位移的機電元件,具有易精確控制、無累計誤差、成本低廉等優(yōu)點,在運動控制系統(tǒng)中應用廣泛。步進電機作為運動控制系統(tǒng)中的執(zhí)行機構(gòu),其機械角位移和轉(zhuǎn)速分別與輸入的脈沖個數(shù)和頻率成正比。對輸入脈沖的精確控制至關(guān)重要,相應的軟硬件設(shè)計一直都是步進電機控制的重點研究方向。目前,市面上的運動控制板卡多為通用型單軸控制板卡,難以滿足具有特定需求的多軸系統(tǒng)控制[1]。隨著嵌入式技術(shù)的快速發(fā)展,DSP控制芯片的性能有了大幅提升,將DSP用于多軸運動控制系統(tǒng)中,不僅可以提高實時性和可靠性,而且能夠降低系統(tǒng)成本。本文設(shè)計了一款多軸運動控制系統(tǒng),該系統(tǒng)以DSP為控制核心,采用正弦細分和恒流斬波并用的驅(qū)動方法,實現(xiàn)步進電機的閉環(huán)控制,通過直線插補算法和圓弧插補算法實現(xiàn)多軸聯(lián)動。此外,通過數(shù)碼管顯示步進電機的實時轉(zhuǎn)速和SCI串行總線將轉(zhuǎn)速信息上傳至上位機,實現(xiàn)多軸運動控制的遠程監(jiān)控。所設(shè)計的多軸運動控制系統(tǒng)能夠?qū)崿F(xiàn)多軸步進電機的獨立啟停、轉(zhuǎn)速控制、正反轉(zhuǎn)控制、轉(zhuǎn)速顯示、上位機通信等功能,具有控制穩(wěn)定、價格低廉等優(yōu)點。
本文所設(shè)計的基于DSP的多軸運動控制系統(tǒng)的原理框架如圖1所示。系統(tǒng)采用TI公司生產(chǎn)的專用電機控制DSP芯片TMS320F2812作為控制核心,實現(xiàn)對三臺步進電機的控制。系統(tǒng)硬件電路主要由數(shù)模轉(zhuǎn)換電路、恒流斬波電路、功率驅(qū)動采樣電路、SPI接口電路、SCI接口電路等組成。上位機通過SCI串行通信,將步數(shù)給定、啟停、正反轉(zhuǎn)、細分選擇等信號發(fā)送至DSP,而DSP則向上位機反饋各個軸電機的轉(zhuǎn)速。DSP自行產(chǎn)生脈沖信號,并實現(xiàn)環(huán)形分配,同時給出細分電流的數(shù)字給定信號,經(jīng)數(shù)模轉(zhuǎn)換器AD7528轉(zhuǎn)換為模擬信號,與采樣電路采得的繞組電流進行比較, 經(jīng)SG3525實現(xiàn)恒流斬
圖1 基于DSP的多軸運動控制系統(tǒng)的原理框架
波,產(chǎn)生功率驅(qū)動芯片LMD18201所需的PWM信號,在電流相序信號的共同作用下,最終驅(qū)動各個軸步進電機轉(zhuǎn)動[2-3]。
多軸運動控制系統(tǒng)采用TMS320F2812作為主控芯片,主要實現(xiàn)如下功能:(1)DSP響應并執(zhí)行各個軸電機的啟停、正反轉(zhuǎn)及細分選擇信號,三軸電機互不影響,可獨立運動,也可以同步運行;(2)DSP向外部輸出步進電機控制信號,包括八路細分電流給定信號、電流相序信號以及功率驅(qū)動芯片的制動信號;(3)實現(xiàn)過溫保護;(4)步進電機單軸運動的實現(xiàn),即電機的定位和加減速實現(xiàn);(5)利用SPI同步串行通信,實現(xiàn)各個軸電機的轉(zhuǎn)速顯示;(6)利用SCI異步串行通信,實現(xiàn)上下位機的通信。
本文采用正弦細分和恒流斬波并用的驅(qū)動方法對步進電機進行控制,該方法是一種電流控制技術(shù),給定的電流為正弦形階梯信號,給定電流信號與繞組電流比較,通過恒流斬波電路,實現(xiàn)電流的閉環(huán)控制。正弦細分電流的數(shù)字給定由DSP給出,通過AD7528轉(zhuǎn)換為模擬信號,恒流斬波電路通過集成模塊SG3525實現(xiàn),正弦細分恒波斬流電路原理如圖2所示。
圖2 正弦細分恒流斬波電路原理
AD7528輸出的模擬電流信號經(jīng)運放LM358轉(zhuǎn)換為模擬電壓信號,該信號作為SG3525的同相端輸入,而反相端輸入為經(jīng)A、B相電流采樣轉(zhuǎn)換得到的繞組電壓。
SG3525主要用來產(chǎn)生PWM波,它輸出的PWM波的最大占空比為50%,為了擴大占空比,將兩路信號經(jīng)過邏輯或,最終產(chǎn)生PWM波的占空比在4%—96%之間[4]。當繞組電流變小即反饋減小時,SG3525輸出的PWM波占空比增大,最終導致繞組電流增加;反之,占空比減小,繞組電流減小。
單軸運動包括電機的加、減速運動和定位實現(xiàn)。系統(tǒng)采用EVA、EVB里的周期中斷作為三個軸電機的脈沖源。本文采用梯形加減速模式,通過改變各自的周期值實現(xiàn)。
根據(jù)位移長短的不同,梯形加減速控制有以下三種方式:短距離控制(方式一)——以接近啟動頻率運行,只有恒速階段;中短距離控制(方式二)——只有加減速過程,速度曲線是三角形;中長距離控制(方式三)——不僅有加減速過程,還有恒速過程,速度時間曲線是標準的梯形曲線。而定位則是電機按照設(shè)定的步數(shù),自行判斷梯形加減速的方式,最終實現(xiàn)電機的定位。
單軸運動控制流程圖如圖3所示,采用查表法對速度進行控制,把事先計算好的周期值放在一個數(shù)組中,這些數(shù)值的獲得是通過頻率和轉(zhuǎn)速之間的關(guān)系再加上梯形控制曲線計算得來。用查表法簡化了運算過程,同時也提高了效率。
圖3 單軸運動實現(xiàn)流程圖
上面介紹了控制系統(tǒng)單軸運動的實現(xiàn),現(xiàn)對二軸聯(lián)動的插補算法進行詳細的介紹。本文采用最小偏差法實現(xiàn)插補[5-7],基本原理是選取變化快的坐標軸作為連動坐標,然后按偏差最小的原則判斷其他坐標軸是否運動。
3.2.1 直線插補算法
為獲得最小偏差,直線插補算法對步進電機進給方向作了以下規(guī)定:設(shè)目標直線AB位于第一象限,起點O(0,0),終點Z(xZ,yZ)。當xZ≥yZ時,向x方向或?qū)蔷€方向偏差小的方向進給;當xZ xZy-yZx=0 (1) 設(shè)加工點M(x,y),直線的偏差函數(shù)為: F=xZy-yZx (2) 進給Δx時, F(Δx)=xZy-yZ(x+1)=F-yZ (3) 進給(Δx,Δy)時, F(Δx,Δy)=xZ(y+1)-yZ(x+1) =F+xZ-yZ (4) 令f=F(Δx)+F(Δx,Δy),f為偏差比較函數(shù),將式(3)、式(4)代入得: f=2F+xZ-2yZ (5) 若f≥0,說明F(Δx)≤F(Δx,Δy)進給Δx;若f<0,說明F(Δx)>F(Δx,Δy)進給(Δx,Δy)。根據(jù)f的符號,便可確定下一步的進給方向。 下面利用Matlab軟件對最小偏差法直線插補算法進行編程仿真,在理論上對該算法進行驗證。設(shè)第一象限直線AB起點坐標A(0,0),終點坐標B(8,5),利用Matlab軟件進行直線插補模擬,對應的直線插補圖形如圖4的折線所示。 圖4 最小偏差法生成的直線AB 3.2.2 圓弧插補算法 現(xiàn)以圓心在原點的逆時針圓弧為例,說明最小偏差法圓弧插補原理。圓的方程為: x2+y2=R2 (6) 設(shè)加工點M(x,y),F(x,y)為加工點M(x,y)的偏差函數(shù),令: F(x,y)=x2+y2-R2 (7) 任一時刻加工點的偏差函數(shù)為: Fn=F(xn,yn) (8) Fn+1(Δy)=xn2+(yn+1)2-R2=Fn+2yn+1 (9) Fn+1(-Δx,Δy)=(xn-1)2+(yn+1)2-R2 =Fn-2xn+2yn+2 (10) 則偏差比較函數(shù)為: fn(x,y)=Fn+1(Δy)+Fn+1(-Δx,+Δy) =2Fn-2xn+4yn+3 (11) 若fn(x,y)≥0,則應走(-Δx,+Δy)步,否則,走+Δy步。根據(jù)fn的符號,便可確定下一步的進給方向。 圖5 最小偏差法生成的圓弧 3.3.1 SPI同步串行通信 為使電機的轉(zhuǎn)速顯示更加直觀明了,設(shè)計系統(tǒng)時采用了LED數(shù)碼顯示方式,通過按鍵選擇各軸向的電機,就可以顯示各個軸的轉(zhuǎn)速。顯示的實現(xiàn)通過SPI同步串行通信來完成。 3.3.2 SCI異步串行通信 本文采用DSP自帶的SCI串行通信接口,可以減少DSP的I/O口使用,也節(jié)約了資源,使控制器更加可靠[8-9]。上位機接收采用中斷方式進行,發(fā)送則采用查詢方式。 同時,采用VB6.0專業(yè)版提供的功能強大的ActiveX控件MSCOMM實現(xiàn)微機與DSP的通信。圖6為步進電機多軸控制的通信界面圖。 圖6 上下位機通信界面圖 圖7為研制的多軸控制器工作時的圖片,數(shù)碼管顯示Z軸步進電機的轉(zhuǎn)速為200r/min,旁邊的指示燈顯示電機為正轉(zhuǎn)。由程序可以實現(xiàn)選擇顯示任意一臺電機的轉(zhuǎn)速,電機轉(zhuǎn)向的顯示與轉(zhuǎn)速的顯示是同步的,指示燈亮時表示電機正轉(zhuǎn),反之,電機為反轉(zhuǎn)。 圖7 多軸控制器圖 圖8 二相電流相序圖 圖8為X軸二相混合式步進電機的A、B兩相電流相序信號。由相序波形圖知,電機實現(xiàn)了四步一循環(huán)的運行方式。本文電機的運行為雙四拍運行,即AB-/AB-/A/B-A/B,整步時換相。該運行方式可以充分利用電動機的容量,從而增大輸出轉(zhuǎn)矩。 圖9為Y軸電機的A、B兩相繞組4細分電流經(jīng)LM358轉(zhuǎn)換后的兩相繞組電壓信號,可以看出兩者互錯一定的角度,具體到本系統(tǒng)中為90°,電壓可達128細分。 圖9 由4細分電流轉(zhuǎn)換的電壓波形圖 實驗結(jié)果表明,本文所設(shè)計的多軸步進電動機運動控制系統(tǒng)不論是在硬件電路上,還是在軟件設(shè)計上,都達到了基本的性能要求,同時集成度高、可移植性好。利用DSP對多軸步進電機進行控制,實現(xiàn)簡單,控制靈活,整個控制系統(tǒng)具有豐富的接口和通訊功能,在機器人控制、數(shù)控等領(lǐng)域具有廣闊的應用前景。3.3 串行通信
4 實驗結(jié)果及分析
5 結(jié)語