張靈芝
摘 要: 在點(diǎn)膠機(jī)器人的使用過(guò)程中,手持示教器系統(tǒng)是不可或缺的重要部分,其性能決定了點(diǎn)膠機(jī)器人的使用效果。設(shè)計(jì)了一種以NUC120單片機(jī)為核心的點(diǎn)膠機(jī)器人手持示教器,該示教器使用薄膜按鍵和點(diǎn)陣液晶顯示屏實(shí)現(xiàn)人機(jī)接口界面設(shè)計(jì),使用串口方式和點(diǎn)膠機(jī)器人運(yùn)動(dòng)控制卡通信。所設(shè)計(jì)的示教盒通過(guò)輸入作業(yè)和相關(guān)參數(shù)信息,結(jié)合配置參數(shù),可以自動(dòng)轉(zhuǎn)換成點(diǎn)膠機(jī)器人可識(shí)別的指令,從而實(shí)現(xiàn)人機(jī)交互功能,使機(jī)器人的示教過(guò)程簡(jiǎn)單直觀。
關(guān)鍵詞: 點(diǎn)膠機(jī)器人; 單片機(jī); 嵌入式操作系統(tǒng); 串口通信
中圖分類號(hào):G710 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)09-37-04
0 引言
隨著點(diǎn)膠機(jī)器人在工業(yè)自動(dòng)化生產(chǎn)中的普遍應(yīng)用,點(diǎn)膠機(jī)器人工作任務(wù)的現(xiàn)場(chǎng)編程和運(yùn)動(dòng)操作控制成為了一個(gè)重要的環(huán)節(jié)。目前,點(diǎn)膠機(jī)器人的工作任務(wù)主要通過(guò)示教編程來(lái)實(shí)現(xiàn),部分高性能的點(diǎn)膠機(jī)器人也支持使用圖形導(dǎo)入的方式來(lái)實(shí)現(xiàn),因此使用手持示教器實(shí)現(xiàn)示教編程已經(jīng)成為點(diǎn)膠機(jī)器人控制系統(tǒng)的主要組成部分,該示教器的人機(jī)界面設(shè)計(jì)的易用性直接決定了整個(gè)點(diǎn)膠機(jī)器人的系統(tǒng)性能。
手持示教器用于現(xiàn)場(chǎng)控制點(diǎn)膠機(jī)器人三軸獨(dú)立運(yùn)動(dòng),并可以實(shí)現(xiàn)加工指令的組合編程,生成點(diǎn)膠運(yùn)動(dòng)和膠槍控制指令文件并以文件方式保存,使用時(shí)可以根據(jù)實(shí)際應(yīng)用選擇合適的文件,然后下載到運(yùn)動(dòng)控制卡,從而實(shí)現(xiàn)現(xiàn)場(chǎng)示教編程、示教文件編輯、示教文件保存和示教文件下載等主要功能。操作者通過(guò)手持示教器可以實(shí)現(xiàn)電機(jī)復(fù)位、端口輸出、等待輸入、延時(shí)暫停、膠槍開關(guān)控制、直線移動(dòng)等功能,使用示教器可以很好地向操作者反饋點(diǎn)膠機(jī)器人的工作狀態(tài)信息,使生產(chǎn)加工以準(zhǔn)確高效的狀態(tài)進(jìn)行。
傳統(tǒng)的示教器使用直接編輯G代碼的方式生成點(diǎn)膠機(jī)運(yùn)動(dòng)控制文件,該方式要求使用者熟悉G代碼語(yǔ)言,并且需要人工計(jì)算圓弧中心和半徑。隨著點(diǎn)膠機(jī)器人的普遍應(yīng)用,操作復(fù)雜的示教方式已經(jīng)不能滿足實(shí)際需要,使用方便、容易操作的手持示教器對(duì)點(diǎn)膠機(jī)器人的快速推廣應(yīng)用有著決定性的作用[1]。
本文基于NUC120設(shè)計(jì)了一款低成本、多功能、圖形界面的點(diǎn)膠機(jī)示教器,可以為操作者提供良好的、可靠的人機(jī)交互界面,能夠使操作者在菜單提示和其他信息的提示下,設(shè)置運(yùn)行參數(shù),新建、編輯、保存和刪除點(diǎn)膠運(yùn)動(dòng)軌跡文件,可以根據(jù)示教操作步驟自動(dòng)生成相應(yīng)的G代碼,降低了操作者對(duì)專業(yè)知識(shí)的要求,使操作者可以更加方便地根據(jù)實(shí)際應(yīng)用完成示教過(guò)程。同時(shí),本文設(shè)計(jì)的示教器還具有USB通信接口,通過(guò)和電腦相連可以方便地導(dǎo)入導(dǎo)出示教文件,使用一個(gè)示教器就可以操作、控制多個(gè)點(diǎn)膠機(jī)器人,實(shí)現(xiàn)統(tǒng)一化管理功能。
1 手持示教器的硬件設(shè)計(jì)
手持示教器需要具有良好的人機(jī)交互界面,包括參數(shù)設(shè)置、文件編輯、運(yùn)動(dòng)控制、運(yùn)行狀態(tài)反饋等信息,使用點(diǎn)陣顯示屏可以很好地顯示多種信息,使用點(diǎn)陣顯示屏顯示漢字和圖形可以很好地實(shí)現(xiàn)信息提示和人機(jī)對(duì)話。為了實(shí)現(xiàn)多種功能和數(shù)字輸入,需要較多的按鍵,本設(shè)計(jì)選用薄膜按鍵[2]。手持示教器由殼體、鍵盤、液晶顯示屏、控制電路板等組成。示教器的硬件系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
本系統(tǒng)硬件使用NUC120LD3AN處理器作為核心控制器,該單片機(jī)使用當(dāng)前流行的Cortex-M0內(nèi)核,最高允許頻率可達(dá)50MHz,擁有獨(dú)立的64 KB flash和16K的RAM,2路UART,1路USB,2路I2C,1路SPI,8路12位片內(nèi)ADC,4個(gè)24bit定時(shí)器,采用LQFP封裝,共有31個(gè)IO口,MCU核心部分電路圖,如圖2所示。
系統(tǒng)時(shí)鐘控制器采用片外12MHz晶振,經(jīng)過(guò)片內(nèi)倍頻到48M為系統(tǒng)提供運(yùn)行頻率。本設(shè)計(jì)針對(duì)工業(yè)應(yīng)用場(chǎng)合設(shè)計(jì),為確保系統(tǒng)在任何環(huán)境均能正常上電復(fù)位并啟動(dòng),電源監(jiān)視芯片采用了CATALYST公司的CAT809s芯片,該芯片門檻電壓為2.93V,監(jiān)視電壓為3.3V。本設(shè)計(jì)將CAT809s的輸出串聯(lián)上一個(gè)阻值為100的電阻,即可以減小灌電流輸入,還可以在電源電壓下降的狀況下對(duì)MCU進(jìn)行有效的復(fù)位,通過(guò)實(shí)驗(yàn)證明,該方法是切實(shí)可行的。
電容C11,C12,C13,C54為單片機(jī)電源的去耦電容,可以減少系統(tǒng)電路中產(chǎn)生的高頻干擾信號(hào)影響MCU正常運(yùn)行,從而可以確保MCU在穩(wěn)定的電源狀態(tài)下穩(wěn)定工作,增強(qiáng)系統(tǒng)的抗干擾性。
P310芯接頭為SW調(diào)試接口,可以通過(guò)JLINK或者其他支持SW調(diào)試接口的在線調(diào)試器對(duì)系統(tǒng)進(jìn)行跟蹤調(diào)試。使用SW調(diào)試接口對(duì)查找系統(tǒng)軟件方面的問(wèn)題非常方便。
本設(shè)計(jì)選用的MCU自帶USB接口,所以本設(shè)計(jì)使用自帶的USB接口和MINIUSB物理接口與計(jì)算機(jī)互聯(lián),完成數(shù)據(jù)通信。
本設(shè)計(jì)采用128*64點(diǎn)陣液晶屏,點(diǎn)陣液晶屏的接口方式為8位并行接口,第3腳為V0液晶顯示屏對(duì)比度調(diào)制端,第4腳為RS端,是并行模式的指令/數(shù)據(jù)選擇信號(hào),連接MCU的PA8,第5腳為RW端,是并行的讀寫選擇信號(hào),連接MCU的PA9,第6腳為En端,是并行模式的使能信號(hào),與MCU的PA10相連,第7-14腳為8位并行數(shù)據(jù)總線端,與MCU的PA0-PA7相連,第15腳為串行并行選擇腳,連接高電平時(shí)選擇并行接口,第17腳為液晶屏復(fù)位信號(hào),低電平有效,第19腳為背光源正極,第20腳為背光源負(fù)極,本設(shè)計(jì)采用背光常亮的方式連接。液晶屏部分電路圖如圖3中的P2所示。
本設(shè)計(jì)采用薄膜按鍵作為按鍵輸入裝置,按鍵總數(shù)為28個(gè),如果采用并行連接,會(huì)占用大量的IO口,所以本設(shè)計(jì)采用了行列掃描方式,一共4行7列,如圖3中的P4所示。
本設(shè)計(jì)選用9針串口和運(yùn)動(dòng)控制板卡互聯(lián),實(shí)現(xiàn)數(shù)據(jù)通信,由于MCU的電平為TTL電平,所以需要使用MAX232實(shí)現(xiàn)電平轉(zhuǎn)換,把TTL電平轉(zhuǎn)換為RS232電平。為了實(shí)現(xiàn)多個(gè)文件的存儲(chǔ)和編輯,本設(shè)計(jì)選用SPI接口flash作為外部存儲(chǔ)器,AT45DB321D為Atmel公司生產(chǎn)的32Mbit閃存,采用SPI接口與MCU互聯(lián)。
2 手持示教器軟件設(shè)計(jì)
本設(shè)計(jì)為了實(shí)現(xiàn)增強(qiáng)系統(tǒng)的實(shí)時(shí)性和軟件模塊間的獨(dú)立性,選用了嵌入式實(shí)時(shí)操作系統(tǒng)COOS,該操作系統(tǒng)是一款針對(duì)cortex-M系列芯片而設(shè)計(jì)的實(shí)時(shí)系統(tǒng)內(nèi)核,免費(fèi)且開源,具有高度可剪裁性,支持優(yōu)先級(jí)搶占和時(shí)間片流轉(zhuǎn),中斷延時(shí)時(shí)間趨近于零,通信方式支持信號(hào)量、郵箱、隊(duì)列、時(shí)間標(biāo)志和互斥等方式。
本設(shè)計(jì)依據(jù)官方提供Nuvoton NUC140示例代碼,完成了Nuvoton NUC120系列單片機(jī)的移植和操作系統(tǒng)的運(yùn)行。
本設(shè)計(jì)的軟件程序啟動(dòng)和運(yùn)行程序流程圖如圖4所示。系統(tǒng)上電后,首先進(jìn)行硬件MCU硬件初始化包括串口通信初始化、USB初始化,然后對(duì)系統(tǒng)的時(shí)鐘進(jìn)行初始化設(shè)置,待MCU硬件初始化完成后,對(duì)COOS進(jìn)行初始化設(shè)置,然后創(chuàng)建起始任務(wù),在起始任務(wù)中對(duì)液晶屏和SPI FLASH進(jìn)行初始化通信,然后依次創(chuàng)建應(yīng)用任務(wù),待任務(wù)創(chuàng)建完成后,主任務(wù)執(zhí)行CoExitTask();退出任務(wù),然后用啟動(dòng)COOS操作系統(tǒng),最后進(jìn)入while(1);循環(huán)。針對(duì)本產(chǎn)品的軟件功能特點(diǎn),本設(shè)計(jì)使用COOS創(chuàng)建了按鍵檢測(cè)讀取任務(wù)、液晶屏顯示任務(wù),串口通信任務(wù)和USB通信任務(wù)四個(gè)主要任務(wù)[3]。
[系統(tǒng)上電][硬件初始化和串
口通信參數(shù)設(shè)置][系統(tǒng)時(shí)鐘初始化設(shè)置][COOS系統(tǒng)初始化][創(chuàng)建起始任務(wù)][依次創(chuàng)建四個(gè)應(yīng)用任務(wù)][啟動(dòng)COOS][While(1);循環(huán)]
由于本設(shè)計(jì)選用的點(diǎn)陣顯示屏為單色點(diǎn)陣顯示屏,顯示內(nèi)容也基本是漢字菜單和數(shù)字、字母的顯示和輸入,所以不需要復(fù)雜的GUI軟件庫(kù),本設(shè)計(jì)針對(duì)系統(tǒng)的特點(diǎn)設(shè)計(jì)了專用的GUI軟件函數(shù),分別為劃線函數(shù)、字符串顯示函數(shù),字符串顯示函數(shù)根據(jù)ASCII碼和漢字內(nèi)碼的編碼特點(diǎn),在機(jī)內(nèi)碼編碼中,漢字的機(jī)內(nèi)碼最高位為1,ASCII碼最高位為0,根據(jù)最高位自動(dòng)識(shí)別ASCII碼和漢字,然后分別從漢字點(diǎn)陣庫(kù)和ASCII點(diǎn)陣庫(kù)讀取相應(yīng)的點(diǎn)陣數(shù)據(jù)并更新到顯示屏進(jìn)行顯示。
本設(shè)計(jì)的手持示教器軟件具有設(shè)置運(yùn)行參數(shù),新建、編輯、保存和刪除點(diǎn)膠運(yùn)動(dòng)軌跡文件,USB通信,串口通信等功能,在液晶菜單設(shè)計(jì)采用層次化設(shè)計(jì),共分四層界面,如圖5所示。
在示教編輯中的文件編輯界面,點(diǎn)編輯功能包括點(diǎn)膠、走軌跡、延時(shí)、變速、暫停等,點(diǎn)類型包含孤立點(diǎn)、直線起點(diǎn)、直線終點(diǎn)、圓弧起點(diǎn)、圓弧中點(diǎn)、圓弧終點(diǎn)、整圓起點(diǎn)、整圓中點(diǎn)、整圓終點(diǎn)、暫停點(diǎn)、吹氣點(diǎn)、速度點(diǎn)等點(diǎn)型。文件參數(shù)包含陣列參數(shù),具體有陣列方式、陣列行數(shù)、陣列列數(shù)、陣列行偏移和陣列列偏移五項(xiàng)參數(shù),速度參數(shù)包含空移速度、加工速度、拉絲速度和上抬速度四項(xiàng)參數(shù),距離參數(shù)包含上抬高度、拉絲高度和關(guān)膠距離三項(xiàng)參數(shù),時(shí)間參數(shù)包含開膠延時(shí)和關(guān)膠延時(shí)兩項(xiàng)參數(shù)[4]。
點(diǎn)編輯功能和文件參數(shù)最終轉(zhuǎn)換為純文本格式的G代碼和M代碼,并進(jìn)行保存。常用的G代碼如G0、G1、G2、G3為運(yùn)動(dòng)控制指令,G8/G9加速/減速指令、G4延時(shí)指令、M0、M1暫停指令、M2、M30程序結(jié)束指令、M98/M99子程序調(diào)用/返回/循環(huán)指令和其他IO讀寫指令等。
文件編輯完成后為文件編輯序號(hào),針對(duì)本系統(tǒng)只有4M字節(jié)的存儲(chǔ)空間,每設(shè)計(jì)最多存儲(chǔ)100個(gè)文件,每個(gè)文件使用固定空間大小,每個(gè)文件占用40K的空間,文件序號(hào)采用0-99進(jìn)行編碼,根據(jù)文件編碼計(jì)算存儲(chǔ)地址并保存到相應(yīng)存儲(chǔ)位置。
在文件下載界面,采用按鍵輸入待下載文件的序號(hào),然后選擇下載,就可以自動(dòng)啟動(dòng)串口通信功能,把該序號(hào)對(duì)應(yīng)的由G代碼和M代碼組成的加工文件下載到點(diǎn)膠機(jī)運(yùn)動(dòng)控制板。下載完成后,在文件加工界面就可以啟動(dòng)加工功能,從而實(shí)現(xiàn)示教編輯、文件保存管理、文件下載和加工控制等功能[5]。
為了方便與上位機(jī)通信,進(jìn)行示教文件的導(dǎo)出讀取,設(shè)計(jì)了USB通信接口,當(dāng)使用USB接口連接計(jì)算機(jī)和點(diǎn)膠機(jī)器人示教器時(shí),直接從USB電源取電,并把USB口虛擬成串口,然后使用上位機(jī)專用的點(diǎn)膠機(jī)示教文件讀取下載軟件,通過(guò)該虛擬串口實(shí)現(xiàn)文件的讀取、刪除和替換等功能。
3 應(yīng)用和發(fā)展前景
本文基于NUC120設(shè)計(jì)的點(diǎn)膠機(jī)示教器成本低、功能多、界面圖形化,既可以為操作者提供良好的人機(jī)交互界面,又可以利用液晶屏為操作者提供足夠的操作提示和狀態(tài)提示,方便進(jìn)行運(yùn)行參數(shù)設(shè)置;點(diǎn)膠運(yùn)動(dòng)軌跡文件的新建、編輯、保存和刪除,根據(jù)插入點(diǎn)選擇自動(dòng)生成相應(yīng)的G代碼,使用USB通信接口,通過(guò)和電腦相連可以方便地導(dǎo)入導(dǎo)出示教文件,從而實(shí)現(xiàn)使用一個(gè)示教器操作控制多個(gè)點(diǎn)膠機(jī)器人,實(shí)施統(tǒng)一化管理的功能。本文設(shè)計(jì)的點(diǎn)膠機(jī)器人控制器可以大大增強(qiáng)點(diǎn)膠機(jī)器人的使用便捷性,具有很好的應(yīng)用前景。
參考文獻(xiàn):
[1] 劉思勝,李松生,陳萍.數(shù)控G代碼解釋器和仿真模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2012.1:172-174
[2] 謝建華,劉海波,劉瑞芳.基ARM Cortex-M3的動(dòng)態(tài)心電圖機(jī)設(shè)計(jì)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2012.3:245-249
[3] 楊敏,王品,鄭玉虎.人機(jī)會(huì)話方式的機(jī)器人示教盒的設(shè)計(jì)[J] .組合機(jī)床與自動(dòng)化加工技術(shù),2013.2:127-129
[4] 周偉,徐方.基于Wince的機(jī)器人示教盒的設(shè)計(jì)與開發(fā)[J].機(jī)械設(shè)計(jì)與制造,2012,3:9-11
[5] http://www.coocox.org/CN/CoOS.htm