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