姚慶,謝星,于瑋,管圖華
(南通大學(xué)工程訓(xùn)練中心,江蘇南通226000)
裝配機(jī)械手是用于裝配生產(chǎn)線上對零件或部件進(jìn)行裝配作業(yè)的工業(yè)機(jī)器人之一,是一種逐步實(shí)用化的裝配機(jī)器人,是裝配生產(chǎn)線上必不可少的設(shè)備[1]。裝配機(jī)械手是模擬人手臂的部分動作,按預(yù)定的程序、軌跡和要求實(shí)現(xiàn)抓取、搬運(yùn)和裝配工作的自動化裝置,在減輕人的勞動強(qiáng)度,提高裝配質(zhì)量和提高效率方面所起的作用是顯而易見的[2]。針對S195的柴油機(jī)連桿軸套的壓入裝配作業(yè)研制一臺平面關(guān)節(jié)型機(jī)械手,以改善工人的工作環(huán)境,提高企業(yè)生產(chǎn)效率,同時為了適應(yīng)多種工況的要求對機(jī)械手進(jìn)行模塊化控制系統(tǒng)設(shè)計(jì)。前期工作已完成模塊化裝配機(jī)械手機(jī)械本體的設(shè)計(jì)和制作。在實(shí)驗(yàn)室搭建了裝配機(jī)械手原理樣機(jī),如圖1所示。
圖1 實(shí)驗(yàn)室搭建的裝配機(jī)械手工作情況圖
基于嵌入式模塊化控制系統(tǒng)研究的思想主要體現(xiàn)在三方面:
1)硬件系統(tǒng)的模塊化設(shè)計(jì)。硬件設(shè)計(jì)以功能特征作為劃分模塊的依據(jù),分為基本功能模塊和預(yù)留功能模塊兩部分。考慮到硬件設(shè)計(jì)的獨(dú)特性,增設(shè)了輔助功能模塊。其中觸摸屏作為硬件和軟件交互、人機(jī)交互的平臺。
2)軟件系統(tǒng)的模塊化設(shè)計(jì)。在程序設(shè)計(jì)中采用模塊設(shè)計(jì)的方法。整體上軟件設(shè)計(jì)以功能特征作為劃分模塊的依據(jù),分為基本功能模塊和預(yù)留功能模塊兩大部分。程序中的各個模塊在C語言中用函數(shù)來實(shí)現(xiàn)。劃分模塊時體現(xiàn)模塊的獨(dú)立性,即使用一個模塊完成一項(xiàng)功能,耦合性越少越好[3]。
3)軟硬件交互工具——觸摸屏的設(shè)計(jì)。命令按鈕設(shè)置是模塊切換,模塊調(diào)用的關(guān)鍵。觸摸屏作為載體,通過命令按鈕采用如同VB式的事件觸發(fā)機(jī)制調(diào)用設(shè)計(jì)完成的功能模塊。由于選用的C8051F020單片機(jī)有64K字節(jié)在系統(tǒng)編程的FLASH存儲空間有充分的存儲空間編寫程序,由Keil uVision4軟件自動分配空間。此單片機(jī)有可尋址64K字節(jié)地址空間的外部數(shù)據(jù)存儲器,所以程序、數(shù)據(jù)存儲空間都是充裕的[4]。
系統(tǒng)總體模塊設(shè)計(jì)通過觸摸屏與單片機(jī)的串口通信,驅(qū)動外圍硬件電路,實(shí)現(xiàn)裝配機(jī)械手的功能:主要完成步進(jìn)電機(jī)的驅(qū)動,實(shí)現(xiàn)裝配機(jī)械手大小臂的旋轉(zhuǎn),立柱的升降,末端執(zhí)行器的抓取、放置等功能,如圖2所示。
圖2 控制系統(tǒng)總體結(jié)構(gòu)框圖
硬件上C8051F020單片機(jī)作為主控芯片,基本功能模塊部分分為串口電路模塊、JTAG接口模塊、步進(jìn)電機(jī)驅(qū)動兩關(guān)節(jié)模塊,輸出端子口J1模塊。預(yù)留功能模塊部分設(shè)計(jì)了12位電路轉(zhuǎn)換模塊、輸入端子口模塊、輸出端子口模塊、驅(qū)動三關(guān)節(jié)模塊等。其中12位模數(shù)轉(zhuǎn)換電路模塊的設(shè)計(jì)考慮到采集的視頻信號的輸入與轉(zhuǎn)換。輸入端子口模塊電路的預(yù)留是方便用開關(guān)按鍵對機(jī)械手的控制。輸出端子口的設(shè)計(jì)考慮到若手動按鍵時LCD可以顯示機(jī)械手運(yùn)動過程中的相關(guān)參數(shù)等。步進(jìn)電機(jī)驅(qū)動三關(guān)節(jié)是模塊化機(jī)械本體已設(shè)定的要求。輔助功能模塊部分有電源電路模塊和晶振復(fù)位電路模塊。硬件模塊化設(shè)計(jì)框圖,電路原理圖如圖3、圖4所示。
圖3 硬件模塊化設(shè)計(jì)框圖
圖4 裝配機(jī)械手控制系統(tǒng)電路原理圖
電路原理圖設(shè)計(jì)的目的是要制成一塊相應(yīng)的PCB板。當(dāng)基本電路原理圖完成后,要進(jìn)行PCB板的設(shè)計(jì)。本次PCB設(shè)計(jì)中采用雙面板。包括頂層(Top Layer)和底層(Bottom Layer)的電路板。制作完成的PCB如圖5所示。
圖5 制成的PCB板
模塊化軟件設(shè)計(jì)就是把大型軟件按照規(guī)定的原則劃分成若干個較小的,相對獨(dú)立但又相互關(guān)聯(lián)的模塊。用C語言在Keil環(huán)境下編寫模塊化程序關(guān)鍵是編寫好相應(yīng)的函數(shù)。理想的模塊化應(yīng)該可以看成是一個黑盒子,即只關(guān)心模塊提供的功能,而不注重模塊內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。軟件模塊的劃分應(yīng)滿足低耦合,高內(nèi)聚的要求。程序總體上有基本模塊和預(yù)留模塊兩部分組成。所有的模塊都寫在主程序main.C中,軟件模塊化設(shè)計(jì)框圖如圖6所示。
圖6 軟件模塊化設(shè)計(jì)框圖
本控制系統(tǒng)中觸摸屏作為整個控制系統(tǒng)人機(jī)交互的核心,同時也是軟硬件模塊交互的核心。通過觸摸屏發(fā)送命令給單片機(jī)調(diào)用單片機(jī)內(nèi)部的功能模塊,完成相應(yīng)動作,達(dá)到控制要求。所以觸摸屏是整個控制系統(tǒng)的關(guān)鍵。
觸摸屏使用北京迪文科技有限公司的以工業(yè)應(yīng)用為主的T系列203mm(8吋)800×600(分辨率)觸摸屏,型號為DMG80600T080_01W。觸摸屏兩根串口線與單片機(jī)相連,一根電源線[5]。
觸摸屏功能架構(gòu)是根據(jù)模塊化機(jī)械手本體來設(shè)定的,通過設(shè)計(jì)觸摸屏的界面和命令按鈕來達(dá)到。界面設(shè)計(jì)包括參數(shù)的設(shè)定,關(guān)節(jié)模式的選擇,工作方式選擇等界面。其中關(guān)節(jié)模式有兩關(guān)節(jié)模式和三關(guān)節(jié)模式,參數(shù)的設(shè)定是大小臂長度的設(shè)定,裝配點(diǎn),抓取點(diǎn)位置的設(shè)定,工作方式有手動和自動等。在設(shè)計(jì)觸摸屏的同時是與硬件模塊化相互參照,協(xié)同設(shè)計(jì),從而達(dá)到觸摸屏的界面和命令按鈕與硬件模塊相互吻合,實(shí)現(xiàn)預(yù)想的控制功能。設(shè)計(jì)完成的觸摸屏效果如圖7所示。
圖7 觸摸屏效果圖
在完成控制系統(tǒng)總體設(shè)計(jì),軟硬件模塊化設(shè)計(jì)后的重要工作就是實(shí)驗(yàn)調(diào)試與結(jié)果觀察。
a)硬件連接
將步進(jìn)電機(jī)安裝到機(jī)械手本體預(yù)留好的位置上,步進(jìn)電機(jī)與驅(qū)動器,觸摸屏與PCB板上串口的輸出端子等一系列相關(guān)接線連好。人機(jī)交互部分使用觸摸屏,啟動觸摸屏,先單獨(dú)測試觸摸屏的命令按鈕是否能按照設(shè)計(jì)的流程出現(xiàn)相關(guān)界面,再由PC機(jī)上Keil uVision4軟件通過USB串口與適配器再與設(shè)計(jì)好的PCB板相連。因?yàn)镴TAG強(qiáng)大的調(diào)試功能可以方便地進(jìn)行調(diào)試。
b)軟件調(diào)試
軟件調(diào)試有功能模塊子程序和主程序調(diào)試。
1)首先調(diào)試各功能模塊子程序。包括觸摸屏與單片機(jī)通信程序模塊、步進(jìn)電機(jī)驅(qū)動、繼電器使能等程序模塊,同時也要調(diào)試預(yù)留的相關(guān)程序。
2)聯(lián)機(jī)主程序調(diào)試:在所有相關(guān)的子程序模塊調(diào)試完畢后,還要將它們連在一起作為一個整體形成main.C()主程序。子程序模塊以頭文件.h形式調(diào)用到主程序中。只有通過整體的主程序調(diào)試才能檢查出各個模塊是否相互影響。主程序調(diào)試可以采用逐步加入的方法,每次增加一個子程序功能模塊,在調(diào)試達(dá)到要求后再加入下一個模塊,直至所有程序模塊加入,整體通過調(diào)試則說明軟件系統(tǒng)設(shè)計(jì)基本正確。若不能通過,則需要將加入出現(xiàn)錯誤的子程序模塊獨(dú)立出來重新測試并修改,直到發(fā)現(xiàn)錯誤原因,加以改正。
本文主要介紹裝配機(jī)械手控制系統(tǒng)的軟硬件模塊化設(shè)計(jì)與研究。首先采用模塊化設(shè)計(jì)思想完成軟硬件總設(shè)計(jì)方案,然后具體設(shè)計(jì)各個軟硬件模塊,其中軟硬件的交互,程序模塊的調(diào)用是通過觸摸屏界面設(shè)計(jì)和按鈕設(shè)置完成的。最后進(jìn)行硬件連接和軟件調(diào)試,進(jìn)行各模塊程序調(diào)試后再聯(lián)機(jī)調(diào)試,查看裝配機(jī)械手實(shí)現(xiàn)兩臂、三臂、夾持器抓夾、搬運(yùn)動作的情況,發(fā)現(xiàn)程序執(zhí)行順暢,裝配機(jī)械手運(yùn)轉(zhuǎn)正常。
[1]倪驍驊,趙忠偉.嵌入式系統(tǒng)在裝配機(jī)器人控制中的應(yīng)用[J].鹽城工學(xué)院學(xué)報(bào),2009,22(2):8-11.
[2]丁慶振.基于ARM與FPGA的機(jī)械手自動控制系統(tǒng)的研究[D].北京:中國農(nóng)業(yè)大學(xué),2007.
[3]譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2007.
[4]張俊謨.Soc單片機(jī)原理與應(yīng)用-基于C8051F系列[M].北京:北京航天航空大學(xué)出版社,2009.
[5]北京迪文科技有限公司.觸控觸控界面使用說明書[EB/OL].http://www.dwin.com.cn/Upfile/觸控觸控界面使用說明書.html,2011-8-8.