(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
隨著人口紅利的消退和工業(yè)化的全面發(fā)展,“機(jī)器換人”已經(jīng)成為企業(yè)發(fā)展的必然趨勢(shì)[1-2]。針對(duì)企業(yè)的不同需求,各種類型的自動(dòng)化機(jī)器設(shè)備及系統(tǒng)層出不窮,如全自動(dòng)縫紉機(jī)[3]、手套機(jī)[4]、數(shù)控切片機(jī)[5]、上下料機(jī)械手[6]等。其中,上下料機(jī)械手作為最廣泛使用的設(shè)備之一,可用于數(shù)控機(jī)床加工[7]、沖床加工[8]、自動(dòng)生產(chǎn)線傳輸[9]等諸多場(chǎng)合。所以,一款性能穩(wěn)定、操作便捷、適用范圍廣的通用型上下料機(jī)械手被市場(chǎng)迫切需求??刂葡到y(tǒng)作為機(jī)械手的核心部件,是衡量機(jī)械手性能的關(guān)鍵。另一方面,控制系統(tǒng)的編程示教技術(shù)很大程度上決定了機(jī)械手的便捷性和通用性。
近年來(lái),通用型機(jī)械手及控制系統(tǒng)獲得了廣泛關(guān)注和研究。晏永紅基于PLC設(shè)計(jì)了二維通用機(jī)械手[10];徐立春研究了一種自動(dòng)上下料通用機(jī)械手系統(tǒng),基于液壓傳動(dòng)設(shè)計(jì)了機(jī)械結(jié)構(gòu),采用PLC進(jìn)行編程控制[11];裴崇探討了通用氣動(dòng)機(jī)械手的控制設(shè)計(jì)[12]。以上研究主要針對(duì)機(jī)械設(shè)備,未對(duì)編程示教進(jìn)行討論。呂亭強(qiáng)等研究了工業(yè)碼垛機(jī)器人的示教技術(shù),通過(guò)貨物信息和一點(diǎn)示教方式,提高示教效率[13];朱琳等設(shè)計(jì)了一種基于鍵盤(pán)和視頻信號(hào)遠(yuǎn)程傳輸?shù)耐ㄓ么a垛機(jī)器人示教器[14];何競(jìng)擇等針對(duì)拋光機(jī)器人設(shè)計(jì)了示教控制系統(tǒng),同時(shí)具有監(jiān)控、程序編譯等功能[15];田國(guó)富等基于WinCE 6.0嵌入式實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)示教器人機(jī)界面[16];楊杏基于ARM-Linux架構(gòu)開(kāi)發(fā)了機(jī)器人示教器系統(tǒng),以ABB機(jī)器人所使用的RAPID程序指令結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)了編程語(yǔ)言系統(tǒng)[17]。然而,上述示教都只針對(duì)特定對(duì)象或者生產(chǎn)工藝動(dòng)作,并且程序指令基于行業(yè)語(yǔ)言設(shè)計(jì),操作不夠直觀便捷,具有一定局限性。
本文基于STM32微處理器開(kāi)發(fā)了一款上下料機(jī)械手通用運(yùn)動(dòng)控制系統(tǒng),可適用于4軸及以下的上下料機(jī)械手。首先,設(shè)計(jì)制作了控制系統(tǒng)硬件電路,實(shí)現(xiàn)了高精度運(yùn)動(dòng)控制功能。其次,基于觸摸液晶屏,開(kāi)發(fā)了全中文編程示教系統(tǒng),可實(shí)現(xiàn)對(duì)加工工藝流程的在線編程和實(shí)時(shí)示教,具有簡(jiǎn)單便捷、快速高效等特點(diǎn)。此外,控制系統(tǒng)還開(kāi)發(fā)有程序存儲(chǔ)、系統(tǒng)離線升級(jí)、安全監(jiān)測(cè)、物料碼垛等功能。
上下料機(jī)械手通用控制系統(tǒng)主要包括兩個(gè)部分:運(yùn)動(dòng)控制器和手持示教器。前者基于STM32F103微處理器進(jìn)行設(shè)計(jì)開(kāi)發(fā),后者基于STM32F105微處理器進(jìn)行設(shè)計(jì)開(kāi)發(fā),兩者通過(guò)485總線進(jìn)行數(shù)據(jù)傳輸。運(yùn)動(dòng)控制器包含有電源模塊、I/O接口模塊、脈沖輸出模塊、CAN總線模塊、EEPROM存儲(chǔ)模塊、安全監(jiān)測(cè)等模塊;示教器主要包含有電源模塊、LCD顯示屏、USB接口、按鍵輸入、手輪微調(diào)等模塊??刂葡到y(tǒng)方案設(shè)計(jì)如圖1所示。
圖1 運(yùn)動(dòng)控制系統(tǒng)方案設(shè)計(jì)圖
LCD觸摸屏是控制系統(tǒng)的人機(jī)交互接口,采用7寸液晶屏,設(shè)計(jì)開(kāi)發(fā)了全中文的操作界面,可通過(guò)觸摸直接操作,方便快捷。此外,為了保證用戶體驗(yàn),設(shè)計(jì)觸控響應(yīng)時(shí)間tLCD≤ 0.2 s。按鍵輸入接口也可對(duì)操作界面上的指令控件進(jìn)行選擇操作,在觸屏意外失靈時(shí),可確保系統(tǒng)的正常運(yùn)行。USB接口提供程序文件拷貝和控制系統(tǒng)升級(jí)2種功能,一方面可實(shí)現(xiàn)程序的外部存儲(chǔ)以及在多臺(tái)控制系統(tǒng)間相互拷貝,另一方面可對(duì)控制系統(tǒng)固件進(jìn)行離線升級(jí),方便系統(tǒng)維護(hù)。手輪模塊主要在手動(dòng)調(diào)試以及示教時(shí)可以對(duì)位置進(jìn)行微小調(diào)整,最小調(diào)整精度為1個(gè)脈沖單位,從而實(shí)現(xiàn)精確定位??刂破鱅/O接口主要實(shí)現(xiàn)檢測(cè)輸入信號(hào)和控制信號(hào)輸出功能,設(shè)計(jì)了43路信號(hào)輸入檢測(cè)接口和39路信號(hào)輸出接口。脈沖輸出模塊實(shí)現(xiàn)對(duì)電機(jī)的位置控制,最多可連接4路電機(jī)。CAN總線模塊實(shí)現(xiàn)對(duì)總線電機(jī)的運(yùn)動(dòng)控制。根據(jù)加工需求,設(shè)計(jì)系統(tǒng)重復(fù)定位精度pr≤ 0.01 mm,系統(tǒng)運(yùn)行速度v≥ 1 m/s。EEPROM存儲(chǔ)模塊用于存儲(chǔ)系統(tǒng)參數(shù)和控制程序,設(shè)計(jì)可存儲(chǔ)10個(gè)控制程序包,每個(gè)程序規(guī)格最多為100條指令,此外,還可存儲(chǔ)最多20個(gè)示教點(diǎn)位數(shù)據(jù)。
下文從系統(tǒng)硬件設(shè)計(jì)、系統(tǒng)軟件設(shè)計(jì)兩個(gè)方面分別對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行介紹,并對(duì)編程示教功能進(jìn)行詳細(xì)說(shuō)明。
機(jī)械手運(yùn)動(dòng)控制器和手持示教器的內(nèi)部電源需求為5 V和3.3 V,本設(shè)計(jì)中采用24 V為輸入電源,由外部開(kāi)關(guān)電源供給,經(jīng)過(guò)保險(xiǎn)絲后,分別采用LM2596和SPX1117降壓芯片進(jìn)行電壓轉(zhuǎn)換。同時(shí),為了消除外部共模干擾對(duì)內(nèi)部電路的影響,在電源輸入端安裝了共模扼流圈。
控制器的電機(jī)驅(qū)動(dòng)方式包含有脈沖驅(qū)動(dòng)和總線驅(qū)動(dòng)2種。脈沖驅(qū)動(dòng)電路如圖2所示,該驅(qū)動(dòng)模式為PWM脈沖控制方式,其信號(hào)由STM32內(nèi)部定時(shí)器中斷產(chǎn)生,并通過(guò)74HC245芯片進(jìn)行功率放大。
圖2 電機(jī)脈沖驅(qū)動(dòng)電路圖
總線驅(qū)動(dòng)方式采用的是CAN總線控制。CAN總線是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),采用差分方式進(jìn)行數(shù)據(jù)傳輸,具有抗干擾能力強(qiáng)、傳輸穩(wěn)定、性價(jià)比高等優(yōu)點(diǎn)。CAN總線電路如圖3所示,采用TJA1050總線收發(fā)器進(jìn)行設(shè)計(jì)。目前,市場(chǎng)上大部分的伺服驅(qū)動(dòng)器都搭載有CAN總線驅(qū)動(dòng)模式,故控制器能滿足對(duì)此類伺服電機(jī)控制的需求。
圖3 CAN總線接口電路圖
控制器和手持示教器采用RS-485總線進(jìn)行雙向通信,采用差分方式進(jìn)行數(shù)據(jù)傳輸,穩(wěn)定可靠,總線電路設(shè)計(jì)如圖4所示。
圖4 RS-485總線接口電路圖
手持器和LCD液晶屏之間采用RS-232串行接口進(jìn)行數(shù)據(jù)傳輸,點(diǎn)擊液晶屏進(jìn)行操作時(shí),發(fā)送對(duì)應(yīng)指令信息至手持器,手持器接收數(shù)據(jù)并進(jìn)行處理,返回對(duì)應(yīng)的界面顯示指令,液晶屏接收到新的指令后進(jìn)行界面刷新。
IIC通信接口主要實(shí)現(xiàn)控制器和EEPROM存儲(chǔ)模塊之間的數(shù)據(jù)傳輸,將STM32內(nèi)部的雙向數(shù)據(jù)線SDA和時(shí)鐘線SCL連接至E2PROM芯片AT24C16的相應(yīng)引腳,控制器即可通過(guò)IIC總線接口對(duì)該E2PROM芯片進(jìn)行讀寫(xiě)操作,實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。
手持器實(shí)現(xiàn)人機(jī)交互功能,操作必須簡(jiǎn)單、便捷,且界面功能要全面,才能應(yīng)用于不同的生產(chǎn)場(chǎng)合,保證控制系統(tǒng)的通用性。手持器主要開(kāi)發(fā)有6個(gè)功能模塊:開(kāi)機(jī)界面、自由編程、IO調(diào)試、手動(dòng)調(diào)試、系統(tǒng)設(shè)置、報(bào)警歷史。開(kāi)機(jī)界面模塊設(shè)計(jì)有開(kāi)始、暫停、停止等常用操作指令,并顯示當(dāng)前運(yùn)行程序的實(shí)時(shí)步驟;自由編程模塊主要實(shí)現(xiàn)在線編程和示教;IO調(diào)試模塊用于控制器IO接口的信號(hào)輸入檢測(cè)和輸出顯示測(cè)驗(yàn)以及實(shí)時(shí)顯示;手動(dòng)調(diào)試模塊實(shí)現(xiàn)機(jī)械手各軸手動(dòng)模式下的運(yùn)動(dòng)控制,設(shè)計(jì)有連續(xù)運(yùn)行、步進(jìn)運(yùn)行和微調(diào)運(yùn)行3種運(yùn)動(dòng)方式,從而方便動(dòng)作測(cè)試和示教;系統(tǒng)設(shè)置模塊設(shè)計(jì)有用戶設(shè)置、存儲(chǔ)點(diǎn)管理、程序管理、IO設(shè)置、軟限位設(shè)置、安全區(qū)設(shè)置、功能設(shè)定和系統(tǒng)升級(jí)8個(gè)可設(shè)置功能,可針對(duì)不同控制對(duì)象進(jìn)行相關(guān)參數(shù)修改,從而增加系統(tǒng)的通用性;報(bào)警歷史模塊主要保存并顯示系統(tǒng)出現(xiàn)的報(bào)警狀態(tài)歷史信息,方便系統(tǒng)管理員進(jìn)行查看和檢查。
手持器控制程序流程設(shè)計(jì)如圖5所示。手持器開(kāi)機(jī)后首先檢測(cè)是否需要升級(jí)系統(tǒng),如果需要升級(jí)則通過(guò)U盤(pán)進(jìn)行程序?qū)懭敫?。其次,手持器系統(tǒng)進(jìn)行初始化,并檢測(cè)是否超出廠家設(shè)置的使用期限,如果超出,則根據(jù)界面顯示的數(shù)字編碼和新的授權(quán)期限生成密碼進(jìn)行解密。隨后,手持器與運(yùn)動(dòng)控制器進(jìn)行通信,確認(rèn)控制器完成初始化,并同步系統(tǒng)數(shù)據(jù)。最后,手持器初始化操作界面進(jìn)入正常運(yùn)行狀態(tài),實(shí)時(shí)響應(yīng)按鍵指令并對(duì)界面進(jìn)行顯示刷新,且過(guò)程中監(jiān)測(cè)系統(tǒng)狀態(tài)是否發(fā)生報(bào)警狀態(tài),確保系統(tǒng)的安全運(yùn)行。
圖5 手持示教器程序流程圖
此外,手持器系統(tǒng)還周期性掃描檢測(cè)外部按鈕,確保能及時(shí)響應(yīng)外部按鈕的控制指令。同時(shí),手持器與控制器周期性進(jìn)行通信握手,同步系統(tǒng)狀態(tài),保證系統(tǒng)通信穩(wěn)定。
運(yùn)動(dòng)控制器主要控制機(jī)械手完成生產(chǎn)工藝流程動(dòng)作,其程序流程設(shè)計(jì)如圖6所示??刂破麟娫唇油ㄒ院?,首先初始化系統(tǒng)配置,并從EEPROM存儲(chǔ)器中讀取系統(tǒng)參數(shù)。其次,與手持器進(jìn)行數(shù)據(jù)同步,將運(yùn)動(dòng)控制程序及參數(shù)發(fā)送給手持器,用于顯示、設(shè)置和操作。完成數(shù)據(jù)同步后,對(duì)機(jī)械手參數(shù)進(jìn)行開(kāi)機(jī)復(fù)位,確保機(jī)械手處于初始狀態(tài)。隨后,控制器進(jìn)入正常運(yùn)行循環(huán),主要實(shí)現(xiàn)回原點(diǎn)處理、異常監(jiān)測(cè)、通信處理、輸入信號(hào)檢測(cè)和機(jī)械手動(dòng)作控制5個(gè)主要功能。
圖6 運(yùn)動(dòng)控制器程序流程圖
運(yùn)動(dòng)控制器還設(shè)計(jì)有軟限位、安全區(qū)等多重安全保護(hù)和監(jiān)測(cè)機(jī)制,確保機(jī)械手的安全運(yùn)行。同時(shí),根據(jù)機(jī)械手運(yùn)動(dòng)動(dòng)作類型,在控制器中將其分解成了基本動(dòng)作指令,并與手持器程序編碼相對(duì)應(yīng),從而保證了在線編程示教的可實(shí)現(xiàn)性。控制器中還開(kāi)發(fā)有物料碼垛功能,根據(jù)參數(shù)設(shè)置可自動(dòng)計(jì)算得出多層矩陣料倉(cāng)的每個(gè)物料擺放位置,實(shí)現(xiàn)指定順序的物料碼垛功能。
控制系統(tǒng)的通用性很大程度上由其編程示教功能決定,如果針對(duì)不同的生產(chǎn)工藝流程,需要定制修改控制系統(tǒng)內(nèi)部程序,那么其通用性就受到了限制。本系統(tǒng)開(kāi)發(fā)設(shè)計(jì)了全中文的在線編程示教功能,可根據(jù)生產(chǎn)工藝流程,在手持器上對(duì)機(jī)械手的動(dòng)作流程進(jìn)行快速編輯,并且能對(duì)每條程序指令進(jìn)行實(shí)時(shí)示教,大大提高了系統(tǒng)的便捷性和通用性,使得機(jī)械手控制系統(tǒng)可適用于多種上下料生產(chǎn)加工場(chǎng)合。編程示教操作界面如圖7所示。
圖7 編程示教操作界面
編程示教界面主要有指令模塊、控件模塊和程序模塊。指令模塊又分為基本指令、軸控指令和IO指令,其中基本指令包含有程序的開(kāi)始、結(jié)束、延時(shí)等常規(guī)程序指令;軸控指令主要控制機(jī)械手各軸的運(yùn)動(dòng),包含有X軸、Y軸、Z軸、O軸;IO指令包含有輸入接口檢測(cè)和輸出接口控制??丶K有程序、調(diào)試、添加、刪除、修改、保存及清除控件,通過(guò)這些空間可以編輯新的控制程序,對(duì)程序指令參數(shù)進(jìn)行設(shè)置,并且可以實(shí)時(shí)調(diào)試程序指令,檢驗(yàn)程序運(yùn)動(dòng)的邏輯。程序模塊主要是顯示程序信息,可以對(duì)程序指令進(jìn)行選擇及查看,主要包括程序指令編號(hào)、名稱、參數(shù)3個(gè)部分。
編程示教是機(jī)械手運(yùn)動(dòng)控制中非常繁雜的一項(xiàng)工作,由于目前很多示教系統(tǒng)都是基于機(jī)器編程語(yǔ)言或者行業(yè)術(shù)語(yǔ)進(jìn)行設(shè)計(jì)開(kāi)發(fā),所以需要對(duì)操作人員進(jìn)行專業(yè)培訓(xùn),耗費(fèi)大量人力物力,不利于控制系統(tǒng)的推廣。本系統(tǒng)編程示教功能基于全中文方式設(shè)計(jì),可自由定義IO名稱,從而增加可閱讀性和便捷性,無(wú)需專業(yè)的培訓(xùn)即可根據(jù)工藝流程完成程序編輯。編程完成后保存程序時(shí),系統(tǒng)會(huì)校驗(yàn)程序的結(jié)構(gòu)邏輯,防止操作人員錯(cuò)誤編輯,確保程序的安全性。
控制系統(tǒng)硬件電路板設(shè)計(jì)為兩層的PCB??刂破鱅O接口分布于兩側(cè),方便接線,脈沖輸出口位于電路板右側(cè),并在絲印層對(duì)其進(jìn)行了標(biāo)注說(shuō)明。手持器基于7寸的液晶觸摸屏設(shè)計(jì),外殼上貼有薄膜按鍵,裝配有開(kāi)關(guān)鑰匙、微調(diào)手輪和急停按鈕部件??刂破骱褪殖制髦g通過(guò)屏蔽線連接,并加有磁環(huán),從而消除外部干擾,保證通信的穩(wěn)定性。
控制系統(tǒng)已經(jīng)成功應(yīng)用于機(jī)床加工上下料生產(chǎn)中,其主要設(shè)計(jì)及技術(shù)參數(shù)如表1所示。
表1 控制系統(tǒng)設(shè)計(jì)及技術(shù)參數(shù)
控制器主頻為72 M,脈沖控制輸出頻率最高設(shè)置為200 kHz,最小分辨率為1個(gè)脈沖單位,對(duì)應(yīng)精度為0.01 mm,最大速度為2 m/s。在部分對(duì)速度要求更高的場(chǎng)合,可以通過(guò)調(diào)整電子齒輪比提高運(yùn)行速度,但是會(huì)帶來(lái)控制精度的損失,如當(dāng)速度提高至4 m/s時(shí),控制精度降低為0.02 mm。
基于STM32微處理器開(kāi)發(fā)設(shè)計(jì)了一款上下料機(jī)械手通用控制系統(tǒng),系統(tǒng)主要包括運(yùn)動(dòng)控制器和手持示教器兩部分,設(shè)計(jì)了系統(tǒng)硬件電路和軟件程序,控制器可實(shí)現(xiàn)機(jī)械手的穩(wěn)定有序控制,示教器可實(shí)現(xiàn)人性化的人機(jī)交互,控制器和示教器通過(guò)串口進(jìn)行連接通訊。運(yùn)動(dòng)控制器搭載有脈沖驅(qū)動(dòng)和總線驅(qū)動(dòng)2種模式,可提供4路脈沖輸出接口,總線集成了CANopen協(xié)議,提高了系統(tǒng)的適應(yīng)性。系統(tǒng)重復(fù)定位精度可達(dá)0.01 mm,運(yùn)行速度可達(dá)2 m/s。另一方面,為了提高控制系統(tǒng)的便捷性和通用性,基于7寸觸摸液晶屏,開(kāi)發(fā)了基于全中文的在線編程示教功能,可根據(jù)生產(chǎn)工藝流程在手持器上快速編輯流程控制程序,且能實(shí)時(shí)示教每一步程序指令,確保程序邏輯的正確性,觸屏響應(yīng)時(shí)間最高可達(dá)0.08 s,可以大大提高操作效率,節(jié)省人力物力成本。此外,系統(tǒng)還開(kāi)發(fā)有硬件和軟件配合的多重安全監(jiān)測(cè)機(jī)制,保證系統(tǒng)運(yùn)行的穩(wěn)定性和生產(chǎn)的安全性。控制系統(tǒng)已投入小批量生產(chǎn),并取得初步市場(chǎng),由于系統(tǒng)具有非常好的通用性,故市場(chǎng)潛力巨大。同時(shí),本系統(tǒng)為通用運(yùn)動(dòng)控制系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)提供了良好的參考價(jià)值。