姚 慶, 倪驍驊
(1. 江蘇大學 機械工程學院,鎮江 212013;2. 鹽城工學院 機械工程學院,鹽城 224051)
裝配機器手是用于裝配生產線上對零件或部件進行裝配作業的工業機器人的一種。由于裝配操作的多樣性,復雜性,單機操作的獨立性,多機操作的協同性等特點,除了機器手本體機械部分設計外,裝配機器手控制系統的硬軟件設計等方面均有較高的要求[1]。為了滿足多種類型的裝配要求,并便于工人的現場調整操作,故要求控制系統能夠針對不同的裝配要求自由選擇電機、處理器和軟件模塊等,實現模塊化的控制系統設計,從而縮短設計周期,改變系統“一種工況要求,一次重新設計”的設計方法,滿足多種工況下的控制要求,以便真正提高產品的性價比。
FPGA(Field Programmable Gate Array)技術為解決上述控制系統設計中的問題提供了相應的技術手段。FPGA的顯著特點是可重復利用并且研發周期短,用戶只需要用硬件描述語言編寫系統功能由EDA工具轉化成為BitStream下載文件,下載到FPGA中即可實現該系統功能[2]。如果要實現其他電路功能,只要修改源程序重新產生下載文件,從而達到在外圍電路不變的情況下用不同的硬件電路實現各異的功能。
其關鍵是在實際工作時由相關可重配置處理器對FPGA進行再配置,構造出相應的硬件功能滿足模塊化的控制要求。這種可進化硬件結構和可重配置處理器設計高度集成整個系統,實現SOPC設計,滿足模塊化機械手控制系統的設計要求。
XILINX是全球領先的FPGA供應商。XILINX的主流FPGA分兩類,一種側重低成本應用,容量中等,性能滿足一般設計要求的Spartan系列;另一種側重于高性能的應用,容量大,性能滿足各類高端應用的Virtex系列[3]。
本設計控制器核心配置XILINX Spartan3系列,型號為XC3S400的FPGA,采用PQ208表貼封裝,具有40萬等效門,已滿足控制設計要求,支持完整的XILINX platform開發,支持XILINX軟核MicroBlaze cpu,提供豐富的IP Core設計,方便應用模塊化的機械手控制系統設計[3]。
裝配機械手系統由操作機、視頻采集器、控制系統以及相關硬件組成。操作機就是機械手的機械本體,完成基本抓取、搬運和放置等動作,并要考慮多種工況和相應的拼裝要求。視頻采集器主要由CCD和視頻解碼芯片SAA7113及相關硬件組成。
機械手的控制系統主要包括:中央處理器、步進電機驅動接口、與上位機或多機的通訊接口、調試和下載接口、傳感器接口、輸入輸出的觸摸屏接口以及相關穩壓電源等部分。
1)中央處理器:以Spartan3系列的FPGA為機械手控制系統核心,完成模塊化機械手的控制要求。
2)步進電機驅動接口:采用兩相混合式步進電機39BYG系列,額定電壓24V,引線數4根。步進電機驅動器為96560A V3型CNC驅動器,其中采用的TB6560AHQ是東芝公司最新設計生產的單片正弦細分兩相步進電機驅動專用芯片。
3)上位機或多機的通訊接口:用FPGA軟核MicroBlaze實現控制串口通信。OPB UART Lite是EDK中為MicroBlaze提供的一個串行口控制器。
4)調試和下載接口:采用JTAG模式下載二進制下載文件。用XILINX公司的ISE軟件掃描出FPGA相應的下載鏈,以二進制下載文件(后綴為.bit)下載。
5)傳感器接口:讀取夾持器上經過A/D轉換的壓力傳感器信息。
6)輸入輸出的觸摸屏:K-TP178觸摸屏與FPGA是通過RS232接口相連的,來實現數據的共享和對FPGA的輸入、輸出控制。
根據機械手系統模塊化的要求,采用XILINX Spartan3系列,型號為XC3S400的FPGA,XILINX公司 Spartan3系列的結構由5個基本的可編程功能模塊組成,分別是:可配置邏輯模塊(CLB),輸入輸出模塊(IOB),BlockRAM,乘法器模塊和數字時鐘管理器(DCM)。
處理器系統采用MicroBlaze處理器,是XILINX公司針對嵌入式處理器開發應用的一種32位嵌入式處理器內核,MicroBlaze是一個高度靈活可以配置的軟核,可以根據自身設計需要,對MicroBlaze進行裁剪,用最少的資源完成設計需要。
MicroBlaze的基本特性:32個32位的通用寄存器,32位指令,3個操作數和兩種地址模式,32位地址和單流水線結構[4]。
處理器MicroBlaze可添加的外設包含有Timer/PMW,UART,GPIO,IIC等IP Core,并預留了USB2.0,Ethernet MAX和其他常用外設模塊,以便擴展,提高系統設計開放性。
使用XILINX ISE中的Xilinx Platform Studio(XPS)創建一個基于Spartan-3 XC3S400的處理器。完成硬件系統和軟件系統的框架設計,主要由下列IP核組成:


由于處理器MicroBlaze軟核特性,可以使用XPS,在一個已存在的處理器系統中添加額外的IP,擴展硬件系統,提高系統開放性,模塊化。如圖1所示。

圖1 中央處理器設計圖
基于FPGA的控制系統是一個軟硬件復合的系統,其設計采用模塊化的設計思想,圍繞FPGA中央處理器所設定系統功能,用模塊化方法實現。
1)初始化模塊:實現初始化FPGA芯片配置,初始化MicroBlaze核及各IP Core。
2)步進電機驅動模塊:數據輸入(data_input模塊)使用兩個撥碼開關及四個按鈕開關 做為輸入,對應h1_sel和in_allow兩個信號線,四個按鈕開關分別對應sw3,sw2,sw1,sw0。撥碼開關實現工作模式的選擇,按鈕實現數據輸入。數據輸出采用14位輸出,為data_out(13:0)。一方面輸出的data_out(13:0)數據傳輸給字符型液晶顯示屏1602顯示(lcd_display模塊),另一方面將data_out(13:0)數據傳輸給電機控制模塊(machine_ctl模塊),控制步進電機轉動。在ISE環境下用Verilog語言編寫module data_input,module lcd_display,module machine_ctl三個模塊:



圖2 RTL級視圖
并由指定的ISE綜合工具XST綜合出RTL級視圖,如圖2所示。
3)UART模塊:通過串行通訊接口達到與上位機或觸摸屏交流通信的目的。OPB UART Lite是為MicroBlaze提供的一個串行口控制器,提供了一個發送通道和一個接受通道(全雙工),16字符的發送FIFO和16字符的接收FIFO,并可配置波特率。根據具體的工況要求可與上位PC機或觸摸屏相連。
4)GPIO模塊:輸入輸出模塊具有開放性??梢愿鶕饨拥妮斎胼敵鲈O備進行擴展??梢苑奖愕膭摻ㄒ蛔远x的外圍設備,通過IO將其添加到硬件系統中。
5)IIC模塊:設計一個 IIC 總線控制器,其主要作用是提供 uC(Microcontroller,微控制器或單片機)和 IIC 總線之間的接口,為兩者之間的通信提供物理層協議的轉換。IIC 總線控制器包含兩個主要部分,一是微控制器接口,簡稱 uC 接口,二是 I2CMaster/Slave 接口,即 IIC 接口,通過這兩個接口,IIC 總線控制器實現了微控制器外圍總線和 IIC 總線的連接。
6)其他模塊:包括網絡連接模塊Ethernx Max、USB接口模塊和其他預留模塊。
本文提出基于FPGA的模塊化機械手控制系統,采用XILINX公司的Spartan3系列的FPGA,首先先用ISE軟件中的XPS搭建MicroBlaze軟核作為處理器核,構造各IP核,生成處理器系統和硬件IP網表。然后,基于FPGA可重構特性,利用IP核可重復使用,可自定義,獨立性強的特點,將相關電機控制模塊,通訊模塊等模塊從控制系統中添加或刪除,增減機械手的功能,以適應不同工況要求,而無需重新設計硬件系統,提高控制系統的開放性,達到模塊化設計要求。
[1] 倪驍驊,趙忠偉.嵌入式系統在裝配機器人中的應用[J].鹽城工學院學報(自然科學版),2009,22(2):8-11.
[2] 田耘,徐文波,胡彬,等.Xilinx ISE Design Suite 10.X FPGA開發指南[M].北京:人民郵電出版社,2008.
[3] Spartan3 Platform FPGA User Guide,Xilinx,2005.
[4] Xilinx.MicroBlaze Processor Guide EDK[Z].Http://www.xilinx.com.
[5] 龍霞飛,李仁發. MicroBlaze微處理器IP Core的結構及應用[J].微處理機,2004,(6):6-9.