高明華, 楊云秀, 許麗金, 肖佳豪, 朱 琳
(華東交通大學(xué) 信息工程學(xué)院,南昌 330013)
隨著機械自動化的廣泛應(yīng)用,機械手臂在人們視野中開始頻繁出現(xiàn)[1]。但多數(shù)機械手臂應(yīng)用于工業(yè)生產(chǎn)中,按照特定的程序完成工件的抓取,代替人類從事簡單、重復(fù)的工作或者在高危環(huán)境下作業(yè)[2]。人機交互概念的出現(xiàn)促使機械手臂向著智能化發(fā)展,產(chǎn)生了對智能繪圖儀的研究[3],涌現(xiàn)了一批寫字繪圖機械手臂[4-7]。書畫機械手臂設(shè)計與實現(xiàn)過程涉及圖片處理、信息傳遞、運動學(xué)等理論知識[8]。本系統(tǒng)中上位機對圖片進行處理后傳遞給下位機,下位機主控板Arduino板控制機械手臂完成繪制。該機械手臂成本低,經(jīng)過多次試驗,驗證輸出的穩(wěn)定性高、還原度高。
本系統(tǒng)主要由3部分組成:Web、上位機和下位機。其中Web主要功能是為用戶提供一個社交平臺,用戶可以在Web上注冊、登錄以及發(fā)表圖文動態(tài),Web對于管理人員來說是收集用戶需求,即圖片或者文字。上位機采用微雕大師軟件,對圖片或者文字進行處理,轉(zhuǎn)換為G代碼,通過串口傳輸給Arduino。下位機則是機械手臂及其控制系統(tǒng),步進電機驅(qū)動模塊驅(qū)動步進電機正反轉(zhuǎn),將畫筆移動到平面上的任意位置,舵機控制畫筆抬落。系統(tǒng)框圖如圖1所示:

圖1 系統(tǒng)框圖
整個系統(tǒng)可以分為硬件設(shè)計與軟件設(shè)計兩部分,其中硬件設(shè)計主要針對機械手臂的結(jié)構(gòu)以及下位機各個模塊的設(shè)計;軟件設(shè)計包括Web設(shè)計以及圖片的處理過程(集中在上位機)。
書畫機械手臂包括4個部分:主框架結(jié)構(gòu)、控制模塊、傳送模塊和執(zhí)行模塊[9]。主框架作為3個模塊的“身體”部分,電源部分作為3個模塊的“血液”部分。書畫機械手臂的供電方式是單獨的適配器進行供電。該適配器為電荷耦合元件(Charge Coupled Device,CCD)防雨監(jiān)控專用電源,輸入為AC100~260V、50/6 Hz,輸出為DC12V、2A。
在書畫機械手臂的設(shè)計與搭建過程中,主框架是由4個方向均有凹槽的鋁材搭建而成,關(guān)節(jié)部分是由自行設(shè)計的3D打印件制作而成[10]。書畫機械手臂框架示意圖如圖2所示。

圖2 書畫機械手臂示意圖
主框架有7根鋁材,X軸上、中、下各1根,Y軸左右各2根,遍布整個框架的是同步帶(皮帶)。控制系統(tǒng)固定在X軸上的鋁材上,1個步進電動機固定在X軸中的鋁材上控制左右運動,舵機同樣固定在X軸中的鋁材上控制抬筆落筆;2個步進電動機固定在Y軸左右兩側(cè)的鋁材上控制前后運動。
控制模塊由Arduino UNO板和Arduino CNC V3拓展板組成。
本系統(tǒng)硬件部分所使用的主控板為Arduino Uno板,是一塊基于原始開放代碼的Simple I/O 平臺的微處理器,Arduino屬于開源的電子開發(fā)平臺,可與大多數(shù)設(shè)備之間發(fā)送和接收消息[11]。
Arduino UNO板的接口眾多,可以匹配一系列的拓展板,而Arduino CNC V3是GBRL(Arduino G代碼處理器)專用的模塊,完全兼容Arduino UNO板和步進電動機驅(qū)動模塊A4988的接口,借助GBRL再加上一定的處理工作Arduino UNO板即可成為Arduino CNC控制器。
傳送模塊由步進電動機驅(qū)動模塊A4988、步進電動機、同步帶(皮帶,6 mm寬)、法蘭軸、軸承、螺絲、墊片和尼龍墊柱等組成。
A4988步進電動機驅(qū)動模塊是一款具備轉(zhuǎn)換器,并且提供過流保護的雙重擴散金屬氧化半導(dǎo)體(Double Diffused Metal Oxide Semiconductor,DMOS)微步驅(qū)動器,該產(chǎn)品在操作雙極步進電動機時有以下5種步進模式:全、半、1/4、1/8和1/16,其細分設(shè)置與CNC V3板上的3組排針是否短接有關(guān)。
步進電機的位置在前節(jié)中已經(jīng)提及,主要是完成畫筆在平面上的移動,運動至指定的坐標完成繪制[12]。
同步帶遍布整個框架,作用是當(dāng)步進電動機轉(zhuǎn)動時帶動X軸的鋁材運動時固定鋁材,避免鋁材運動過速或者離開框架。
法蘭軸和軸承應(yīng)用在固定步進電動機(帶輪軸)及畫筆(升降軸)上,主要負責(zé)在傳送過程中有個滾動的過程,使得整個運動過程變得平緩,而墊片和尼龍墊柱則是固定法蘭軸和軸承,彌補在寬度上的不足。
執(zhí)行模塊由舵機和畫筆組成,如圖3所示。舵機由CNC V3板直接控制,舵機收到的脈沖信號控制舵機轉(zhuǎn)動相應(yīng)的角度(具體關(guān)系見表1),在本系統(tǒng)中舵機對畫筆的控制只有抬落兩種狀態(tài),因此舵機只需要向上或下轉(zhuǎn)動相應(yīng)的角度,選用的是90°轉(zhuǎn)動的舵機SG90。
本系統(tǒng)對畫筆的選擇沒有硬性的要求(除毛筆外),只要筆能固定在3D打印件中即可,如簽字筆(各種粗細的筆尖)、原珠筆、馬克筆、鋼筆甚至粉筆。

圖3 執(zhí)行模塊

脈沖/ms角度/(°)0.501.0451.5902.01352.5180
本系統(tǒng)中軟件部分主要涉及:①Web平臺,為用戶提供交流平臺,實現(xiàn)可定制理念;②上位機,完成對圖片的處理;③下位機控制系統(tǒng),完成控制信息的傳輸。
Web作為一個社交平臺[13],是在Myeclipse企業(yè)級平臺上開發(fā)的。用戶可以通過該平臺發(fā)送圖文動態(tài),將繪制的圖案與需求發(fā)布到平臺上,管理者即可安排相應(yīng)的畫筆完成繪制。
用戶使用流程為注冊/登錄,然后發(fā)表圖文動態(tài),評論回復(fù)他人動態(tài);管理員使用admin賬號直接登錄,有3部分功能:管理用戶信息、管理圖文動態(tài)、管理評論回復(fù)內(nèi)容。
3.2.1G代碼
圖像圖像文件格式(Bitmap,BMP)(位圖)是由像素點陣構(gòu)成的圖像,每個像素都對應(yīng)相應(yīng)的灰度值。首先將位圖轉(zhuǎn)換為黑白圖像,其中黑為1、白為0,一幅圖像轉(zhuǎn)換成一串離散的脈沖信號。當(dāng)1時,保持落筆狀態(tài)下繪制;當(dāng)0時,抬筆并運動至下一黑色像素位置。
為了完成運動控制,在轉(zhuǎn)換過程中首先將圖像或者文字轉(zhuǎn)為G代碼。G代碼與M代碼廣泛應(yīng)用于數(shù)控中,G代碼通常由字母G和2個數(shù)字組成,數(shù)字表示指令碼[14]。本系統(tǒng)用到的指令碼有G00快速定位指令、G01直線插補指令、G02圓弧插補指令、G04暫停指令等。
3.2.2上位機
上位機的主要功能是將Web收集的圖像進行處理[15],轉(zhuǎn)為G代碼傳輸給下位機的主控板。本系統(tǒng)中上位機選用的是微雕大師,同時具有處理文字以及圖像的功能,上位機處理流程如圖4所示。輸出圖片形式有4種:實心(折線、逐行)、輪廓、灰度和逐點繪制;輸出文字有4種:實心、輪廓、單線、點陣書寫。

圖4 上位機處理流程
3.2.3主控板
下位機的主控板Arduino通過串口接收到G代碼,轉(zhuǎn)化為脈沖信號。脈沖信號分別控制步進電動機驅(qū)動模塊以及舵機進行相應(yīng)的運動。圖片轉(zhuǎn)化與運動實現(xiàn)之間的關(guān)系如圖5所示。

圖5 圖片處理過程
本部分設(shè)計的完成依托于Arduino IDE開發(fā)平臺。主程序grblUpload主要是對下位機軟件的整體頭文件的定義,主要包括coolant_contrl(散熱控制,當(dāng)程序運行時保證散熱處于打開狀態(tài))、cpu_map(執(zhí)行繪制,完成定位等)、defaults(默認設(shè)置)、eeprom(電可擦除只讀存儲器,數(shù)據(jù)緩沖區(qū))、gcode(G代碼)、grbl、limits(限制引腳更改中斷,去抖動處理)、motion_control(運動控制)、nuts_bolts(螺絲螺母基礎(chǔ))、planner(規(guī)劃)、print(打印)、probe(指針定位)、protocol(處理協(xié)議)、report(回告)、serial(串口)、setting(設(shè)置)、stepper(步進控制)、spindle_control(軸控制)、system(系統(tǒng)程序)。其中,圖6是運動控制流程圖。

圖6 運動控制流程圖
軟件的設(shè)計與實現(xiàn)驅(qū)動機械手臂開始運動,并完成書畫任務(wù)。在對各種輸出方式的測試中,機械手臂表現(xiàn)良好,圖7所示為CAD圖的實心繪制模式下的對比圖。

本文中設(shè)計了一款書畫機械手臂,有4種風(fēng)格選擇,可以實現(xiàn)在任何平面上繪制,甚至可用于公司logo打印、CAD圖輸出、黑板報制作等。為機械手臂在工業(yè)生產(chǎn)中切割技術(shù)提供了契機,也將藝術(shù)與機械化相結(jié)合實現(xiàn)數(shù)字化產(chǎn)物。
參考文獻(References):
[1] 魏 靜,蔡鎖寧. 智能機械手臂的設(shè)計研究[J]. 自動化與儀器儀表,2017(1):67-69.
[2] 龍王濤,吳昊陽,張鈞鼎. 基于51單片機的三爪機械臂設(shè)計[J]. 四川水泥,2016(10):192.
[3] 孟令旸. 一種繪圖儀控制系統(tǒng)研究與探討[J]. 科技信息,2010(10):354.
[4] 文懷興,雷曉麗. 四自由度繪圖機器人的控制系統(tǒng)設(shè)計[J]. 組合機床與自動化加工技術(shù),2010(11):64-67,70.
[5] 馬丹妮,李傳江,張自強. 基于遺傳算法的七自由度機器人軌跡規(guī)劃[J]. 實驗室研究與探索,2016,35(9):33-37.
[6] 陳 鵬,韓 博,張俊博. 書畫手臂的模型設(shè)計[J]. 山東工業(yè)技術(shù),2017(4):289-290.
[7] Sento A, Srisuk P, Kitjaidure Y. An intelligent system architecture for meal assistant robotic arm[C]//2017 9th International Conference on Knowledge and Smart Technology (KST). Chonburi, 2017: 166-171.
[8] 房立金,孫龍飛. 機械手臂結(jié)構(gòu)設(shè)計與其性能分析[J/OL]. 農(nóng)業(yè)機械學(xué)報,2017(8):1-10.
[9] 陳玉敏,謝 瑋,孟憲民,等. 智能寫字機器人設(shè)計[J]. 計算機測量與控制,2016,24(1):266-268.
[10] 楊 亮,李文生,傅 瑜,等. 基于3D打印技術(shù)的桌面足球機器人比賽系統(tǒng)[J]. 實驗室研究與探索,2016,35(12):65-68.
[11] 王 青. 單片機與PC機通信的設(shè)計與仿真[J]. 實驗室研究與探索,2016,35(12):100-103.
[12] 潘齊欣,唐型基. 基于步進電機控制的仿人機械手臂抓取移動系統(tǒng)設(shè)計[J]. 科技通報,2016,32(3):118-121.
[13] 吳宏森,李建洋. Android水產(chǎn)品營銷系統(tǒng)軟件設(shè)計[J]. 實驗室研究與探索,2016,35(7):149-153.
[14] 馬曉花,孔慶忠,馬衛(wèi)民,等. 四自由度寫字機器人軌跡規(guī)劃研究[J]. 機械工程與自動化,2010(5):161-163.
[15] 印 松,唐矯燕. 工業(yè)機器人綜合訓(xùn)練平臺[J]. 實驗室研究與探索,2016,35(2):55-58.