毛麗民,陳 煜,楊海萍
(常熟理工學院 電氣與自動化工程學院,常熟 215500)
碼垛機器人是根據特定要求,完成自動拿取、搬運和堆垛的自動化機器設備。在高溫、高壓、多粉塵等惡劣環(huán)境中,碼垛機器人可代替人工作業(yè),節(jié)省大量人力資源,大幅提高工作效率。
目前,面對人工成本增加、招工難的現象,很多制造企業(yè)希望用設備代替人工,從而實現無人化工廠的目標。但是動輒數萬元一套的機械手或者價格昂貴的非標設備,使得企業(yè)轉型遇到很大障礙。在這種情況下,低成本的三軸移動平臺就有了很大的應用前景,市場很多鎖螺絲機、點膠機、焊錫機、打標機等都是三軸平臺的應用。一臺三軸移動平臺,可以代替2~3人的作業(yè)。例如鎖螺絲機,一個點位的速度可以達到0.5 s以內,比人工效率至少高3倍以上。三軸移動平臺可以根據需求選擇不同的電機和傳動裝置,并且工作空間相比機械臂而言更大。
本文設計的碼垛機器人由2個X軸(運動軸與輔助軸)、1個Y軸和1個Z軸組成,底座有鋁型材支撐架空,從而在較大范圍內實現定位移動。三軸都是由帶編碼器的步進電動機驅動??刂破靼l(fā)送高低電平控制方向,發(fā)送頻率及個數都可改變的脈沖來調節(jié)3個步進電動機的轉速和旋轉圈數。利用加減速算法來提高系統的工作效率的同時,滿足穩(wěn)定性的要求[1]。碼垛上裝有9個光電限位開關,來配合控制器進行行程限制以及原點搜索。最后通過對末端執(zhí)行器的吸取或抓取控制來實現對物料的整齊堆垛[2-3]。圖1為碼垛機器人結構。
圖1 4軸龍門平臺結構圖
X,Y,Z軸都選用相同型號的MH45導軌,其中Y軸長1200mm(有效行程800mm)、兩個X軸長1 050 mm(有效行程800 mm)、Z軸長450 mm(有效行程200 mm),另外還有5個聯軸器、3個57系列步進電動機支架、1個T型連接板、4個地腳座、2個高腳座及1根長850 mm、直徑12 mm的傳動軸[4]。圖2為碼垛機器人控制系統示意圖。
圖2 碼垛機器人控制系統示意圖
本文控制器采用STM32,通過對通用定時器輸出比較模式下的自動重裝載ARR與輸出比較寄存器RCC的比較情況,判斷中斷的發(fā)生并實現對引腳電平的翻轉,從而輸出完整脈沖。系統的行程限制與原點搜索,是通過軸上的感應片接觸到光電開關產生的下降沿,觸發(fā)外部中斷,在該外部中斷所定義好的中斷處理函數中改變步進電動機的運行狀態(tài)。為了提升移動定位的速度、提高移動程序執(zhí)行的效率,在步進電動機的運動中加入實時計算的梯形加減速算法,更增加了系統高速運行時的穩(wěn)定性。
本文選用目前市面主流的帶編碼器的步進電動機,編碼器的加入可以使得電機具有反饋補償能力,從而使電機可以在一定程度上克服一些丟步或過沖現象,圖3為本文選用的帶編碼器步進電機。由于XY軸與Z軸帶載不同,所以XY軸采用力矩2.2 N·m的步進電動機,而Z軸是力矩1.5 N·m的步進電動機;表1是57系列不同型號步進電動機的技術參數。
圖3 帶編碼器步進電機
表1 步進電機技術參數
一般與步進電動機配套的驅動器都會采用默認的細分數,這種默認的細分設置是可以滿足大多數使用需求的。本文選擇一款可以兼容帶編碼器步進電動機的雷賽公司步進電機驅動器[5-6]。默認細分數為1 600,即1 600步為一整圈。
1.1.1 步進電機與驅動器的連線
電機與驅動器的接線如圖4所示。當編碼器所需電流Icc<50 mA時,可由HBS57內部自帶的5 V電壓直接供電,此時應將EGND接編碼器地,E+5 V接編碼器的VCC,編碼器A+、A-、B+、B-信號依次接至驅動器EA+、EA-、EB+、EB-端口。當編碼器所需電流Icc>50 mA時,則需外加5 V電源供電。
圖4 電機與驅動器接線圖
1.1.2 驅動器與控制器的接線
控制器信號輸入與步進電動機驅動器的接法通常有三種:差分方式控制、共陽接法、共陰接法。對于STM32來說,大多數I/O口輸入可以達到5 V。STM32輸出5 V有多種方法,如用三極管做開關,將I/O口3.3 V的輸出給三極管去控制開斷從而輸出5 V。但實際STM32本身GPIO支持一種開漏輸出模式,它只能輸出強低電平,需要通過上拉電阻接到5 V才能實現[7]。3個驅動器與STM32的接線如圖5所示。
圖5 驅動器與STM32接線圖
開漏模式下,將I/O口上拉到5 V時使用2 kΩ的電阻。通過輸出比較模式產生的脈沖電壓有效值實際只有3 V左右,所以STM32開漏輸出串接的電阻為2 kΩ,上拉電阻的5 V電壓也由板載的MP2359降壓得到[8]。
為了避免在調試過程中撞擊極限位置,本文使用光電限位開關,圖6(a)為槽形光電限位開關,圖6(b)為感應金屬片。本文使用了常開信號線。用2 kΩ的電阻接到了STM32的3.3 V電壓上,用3.3 V的電壓,就可以推挽輸出,而不需要設置為開漏模式再增加額外的上拉電阻。光電開關接線圖如圖7所示。
(a) 槽形光電限位開關
(b) 感應金屬片圖6 槽形光電限位開關與感應金屬片
圖7 光電開關接線圖
本文的3個移動軸需要相互獨立工作,各個軸的極限之間不能有干擾,因此接線選擇尾部數字都不一樣的GPIO引腳:PF0、PF1、PF2、PG3、PG4、PG5、PG6、PG7、PG8,這樣在程序調用時都是不同的中斷函數,運行過程中也不會出現同一時刻只有一個中斷被響應的情況。圖8為光電限位開關在三軸上實際的安裝位置。
圖8 實際安裝位置
真空泵的額定工作電壓是12 V,用三極管來控制繼電器,為避免電感類負載對電源電壓產生影響,本文使用光耦隔離,如圖9所示。
圖9 真空泵驅動電路圖
步進電動機對于速度變化較大,尤其是加減速較為頻繁的設備,會發(fā)生力矩不足或者失步的現象;如果勵磁頻率選擇不當,電機就不能夠移到新的位置,會發(fā)生失步或過沖現象。要解決該問題,通常采用加減速的方法,即在步進電機在起步時讓頻率逐步升高,減速時頻率逐步降低。
加速過程是由基礎頻率與跳變頻率組成加速過程的曲線。反之,降速過程一樣。加速曲線通常采用直線(梯形)、指數曲線或者S型曲線等。本文按直線方式(從起動速度到目標速度的加減速),以一定的比例進行加速/減速,如圖10所示。
圖10 加減速運行圖
當程序起動(復位后)或者步進電動機運動狀態(tài)在停止狀態(tài)時候,程序結束。當加速段移動步數計算完成,新的狀態(tài)就會被置位,同時定時器的中斷也會被起動。定位移動程序流程如圖11所示。
圖11 移動程序流程圖
主程序框圖如圖12所示。堆垛函數中共有6個有符號32位入口參數,它們分別是:拾取下降高度、返回高度、放置點X與Y軸位置、再次下降高度、再次返回高度。這些變量通過二維數組stack[][]以及主程序中的循環(huán)來傳遞。
圖12 主程序流程圖
第一層的堆垛數組,每次都是寫入6個參數,變量會保存每一次+1后的變量,然后與之匹配,再通過二維數組的組號,去調用不同數組的參數。最后當row加到27后,再對row的計數標志start置零,從而完成一次完整的堆垛。圖13為堆垛程序要實現的堆垛圖。
(a) 堆垛側視圖
(b) 堆垛俯視圖圖13 堆垛視圖
碼垛機器人實物如圖14所示。
圖14 碼垛機器人實物圖
圖15為整個碼垛機器人堆垛過程,吸盤每次都會在傳送帶固定的地點吸取木塊,然后讀取數組中的坐標位置將木塊放置在指定位置。圖15(a)為第一層第一列的堆垛;圖15(b)為第一層的堆垛;圖15(c)為第二層的堆垛;圖15(d)為堆垛結束。
(a) 第一層第一列
(b) 第一層
(c) 第二層
(d) 堆垛結束圖15 碼垛機器人堆垛過程
本文設計了一種小成本高精度的龍門碼垛平臺,根據成本和定位精度選擇使用帶補償的閉環(huán)步進電動機,控制器采用STM32單片機,相比PLC,成本降低了很多,采用了梯形加減速,運行良好,控制精度也滿足了要求。