基于ARM Cortex-A8處理器的工業機器人示教器設計
摘要:本文提出了一種工業機器人示教器設計和實現方案。該示教器以TI的ARM Cortex-A8處理器AM3359為核心,擴展了2GB DDR3 SDRAM、4GB NAND Flash、8.4英寸LCD屏和觸摸屏、1000Mbps以太網通信接口、USB接口、搖桿、按鍵等外圍電路,并基于嵌入式Linux系統和Qt開發框架,對示教器軟件進行了模塊化設計。該示教器已經成功應用于6軸機器人本體。
本文引用地址:http://www.j9360.com/article/201607/294697.htm引言
工業機器人是集機械、電子、控制、計算機、傳感器和人工智能等多學科于一體的先進生產裝備[1],對未來生產和制造業的發展具有十分重要的意義,逐漸成為繼汽車、飛機、計算機之后出現的又一戰略性新興產業[2-3]。
示教器是工業機器人的重要組成部分,是實現機器人控制和人機交互的手持終端設備[4]。典型的示教過程是操作者觀察機器人及夾具相對于作業對象的位姿,通過操作示教器,反復調整示教點處的作業位姿和運動參數,然后將滿足作業要求的數據記錄下來,再轉入下一點示教。示教過程結束后,機器人使用這些被記錄的數據,經過插補運算就可以再現示教點上機器人位姿,進行重復作業,完成既定工作。
國外實力較強的機器人廠商如ABB、KUKA等,其示教器均為自行研發[5]。瑞士ABB公司的Flex Pendant具有7.7英寸顯示及觸摸屏,并配有3D搖桿、按鍵等操作部件,支持熱插拔,支持用戶授權系統。德國KUKA公司的smartPAD具有8.4英寸高分辨率防眩光顯示屏,可通過獨立的手動按鍵分別控制各個軸運動。國內機器人廠商所用的示教器多為定制采購。
本文面向通用6軸工業機器人,以TI公司的ARM CortexA8芯片AM3359為核心,自主研發了一款示教器。該示教器具有大尺寸顯示和觸摸屏,可以方便地進行操作;具有千兆以太網接口,可與機器人控制器進行高速通信;具有搖桿、按鍵等操作部件,可以方便地控制機器人的位姿;同時在示教器上設有三位安全開關和急停按鈕,保證作業時的人員和設備安全。
1 示教器總體設計
對于通用6軸工業機器人,考慮到功能完備性、操作便捷性和安全性,示教器應具備以下功能:
1)存儲功能:示教器應具有256MB以上的內存,保證系統的快速性;應具有256MB以上的非易失存儲空間,用于存儲系統鏡像、應用程序和配置參數。
2)顯示和觸摸輸入功能:示教器應具有顯示屏和觸摸屏,方便用戶進行程序編輯,并對位姿等信息進行顯示。
3)以太網通信功能:示教器應當具有100Mbps以上速率的以太網通信接口,和機器人主控制器進行高速通信,發送指令和接收狀態信息。
4)熱插拔:示教器應當具有熱插拔功能,方便在機器人運行時更換示教器,或者不需要時將其拔掉。
5)搖桿:示教器應當具有搖桿等操作部件,以便分別控制各個軸的運動,調整機器人位姿。
6)按鍵:為了方便地控制機器人啟動、停止、步進和步退,需要在示教器上設置按鍵。
7)USB接口:示教器應具有USB接口,以便連接U盤等外存設備,進行數據備份和配置加載。
8)安全功能:為保證安全,示教器上需設置三位安全開關和急停按鈕。三位安全開關保持在“電機開啟”狀態時才可以對機器人進行手動操作和程序調試。當出現緊急情況時,可通過按下急停按鈕停止機器人的運動,保證設備和人員安全。
根據以上功能需求,示教器總體設計方案如圖1所示。
2 示教器硬件設計與實現
2.1 CPU選型
CPU是示教器的核心器件,在對CPU選型時,為了簡化系統設計,應盡可能地減少外圍電路。結合示教器的功能需求,最好選用內部集成有以太網控制器、LCD控制器、觸屏控制器和SDRAM控制器的CPU。
綜合考慮,我們選取了TI公司的ARM Cortex-A8微處理器AM3359。該芯片主頻最高可達1GHz,具有DDR3控制器、LCD和觸屏控制器、2個USB2.0高速OTG端口和8路ADC轉換器;具有2個千兆以太網MAC控制器,支持RMII、RGMII等接口,支持NAND、NOR等通用存儲器。此外,AM3359還具有可編程實時單元和工業通信子系統,支持EtherCAT協議,方便今后將示教器擴展為工業機器人EtherCAT網絡中的一個節點。
2.2 電源電路設計與實現
示教器的電源輸入為直流24V,在此基礎上產生12V、5V、3.3V等電源,給外圍電路和LCD背光等供電。為了實現外部電源與示教器內部電源的隔離,采用金升陽公司的DC-DC模塊VRB2412LD實現24V到12V轉換,轉換時,在輸入端加入2A的保險絲進行過流保護。采用金升陽公司的K7805-2000開關型穩壓器,由12V變換出5V電源。選用TI公司的低壓差穩壓器TLV1117-3.3產生3.3V電源。
為實現示教器熱插拔功能,采用MAXIM公司的熱插拔控制器MAX5902,能夠限制浪涌電流,并提供過流保護。具體電路如圖2所示。該熱插拔電路簡單易用,外部器件只需要一個P溝道MOSFET管。
CPU供電方面,AM3359需要內核、MPU、DDR控制器、AD、USB模塊等多軌供電。電源種類繁多,在此選取TI公司的電源管理芯片(PMIC) TPS65910,該芯片能夠提供3路降壓轉換器、1路升壓轉換器和8路LDO,能夠滿足AM3359的供電需求,簡化了電路設計。
2.3 存儲電路設計與實現
AM3359具有DDR3控制器,在此基礎上擴展了2GB的DDR3 SDRAM存儲器,SDRAM選用Micron公司的MT41K256M16。具體實現時,SDRAM通過地址線DDR_A[14:0],地址線DDR_BA[2:0],數據線DDR_D[15:0]、行選線DDR_CAS、列選線DDR_RAS、寫使能DDR_WE等控制信號與AM3359連接。采用TI公司的終端穩壓器TPS51200為DDR3內存提供穩定的端接電源和參考電壓,具體電路如圖3所示。
通過AM3359的內置通用存儲控制器(GPMC),擴展了4GB的NAND Flash。在具體實現時,AM3359與Flash通過地址和數據線GPMC_AD[7:0]、寫使能GPMC_WEN、讀使能GMPC_REN、地址鎖存線GPMC_ALE和命令鎖存線GPMC_CLE進行連接。
2.4 顯示和觸摸輸入電路設計與實現
AM3359帶有LCD控制器,可支持24位數據輸出。在本設計中擴展了8.4英寸TFT LCD真彩色液晶屏。具體實現時,通過LVDS平板顯示發射器,將LCD_DATA[23:0]、LCD_PCLK、LCD_VSYNC、LCD_HSYNC、LCD_AC_BIAS_EN等28位LVTTL電平的并行LCD信號轉換為差分串行LVDS信號傳輸,提高了抗干擾能力。
另擴展一個8.4英寸4線電阻式觸摸屏,與AM3359的4線觸摸屏控制器(TSC)相連,占用AM3359的模擬輸入通道AIN[3:0]。
2.5 以太網通信電路設計與實現
在AM3359內置的千兆以太網控制器(MACs)基礎上,外部擴展PHY。選用ATHEROS公司的10/100/1000Mbps三速以太網PHY芯片AR8031實現。AM3359與AR8031接口方式為RGMII,采用4位數據接口,工作時鐘為125MHz,接口引腳有RXD[3:0]、TXD[3:0]、RXDV、RXCLK、TXCLK、GMII_COL、RESET等,共14根接口線。另外選用集成有網絡隔離變壓器的RJ45插座。
2.6 搖桿電路設計與實現
選用三軸霍爾型搖桿,支持X、Y、Z軸連續模擬量輸出以及1路按鈕開關量輸出。X、Y、Z軸輸出電壓范圍為0.5V~4.5V,通過電阻分壓電路轉換后,送入AM3359的ADC轉換通道AIN4-AIN6進行采集。按鍵開關量則通過AM3359的GPIO3_17讀取。
2.7 按鍵設計與實現
示教器上共有8個按鍵,其中4個分別為啟動、停止、步進和步退控制鍵,另外4個為自定義功能鍵,可由用戶自行定義。在實現時,采用4*2的矩陣式薄膜鍵盤,鍵盤的行掃描線接到AM3359的GPIO0_2~ GPIO0_5引腳上,列掃描線接到AM3359的GPIO3_20~ GPIO3_21引腳上,由AM3359掃描讀取各鍵值。
2.8 USB接口電路設計與實現
AM3359的USB2.0端口集成有PHY,因此,很方便擴展出USB接口。在實現時,用功率分配開關芯片TPS2051來控制5V電源和VBUS之間的通路和斷路。在USB數據線上放置共模濾波器來抑制噪聲。將AM3359的USB_ID腳接地,使USB PHY工作在host模式。具體電路如圖4所示。
3 示教器軟件設計與實現
3.1 示教器軟件功能模塊劃分
示教器軟件采用模塊化設計,按功能分為10個模塊,分別為:
1)通信模塊:負責與控制器進行通信,完成數據包的轉發和接收,并對數據包進行解析。
2)數據庫模塊:數據庫采用SQlite,存儲在控制器端。負責讀取和修改機器人控制系統的系統變量、通道變量、用戶管理信息及日志信息等。
3)變量管理模塊:存儲從數據庫讀取的各種變量數據,并將其顯示到變量界面。支持變量的讀取、修改、刪除。
4)日志管理模塊:負責將數據庫中日志信息讀取并顯示到界面上,并可根據日志級別、日志時間等進行篩選。
5)監視模塊:負責監視機器人各個軸當前位置及IO狀態,并可設置位置信息的格式。
6)程序編輯模塊:通過使用輔助編程工具,可添加、刪除和修改指令,完成對程序的編輯工作,并具備調試功能。
7)文件管理模塊:負責對程序文件的管理以及文件的備份和恢復。
8)用戶管理模塊:負責對示教器軟件系統用戶進行權限管理,防止越級操作或誤操作。
9)系統設置模塊:負責快速設置機械本體通道、運動模式等機器人屬性,以及工具和工件坐標系的標定。
10)其他輔助模塊。包括系統重啟以及輸入法等。
每個模塊又可分為不同的子模塊。
3.2 示教器軟件系統架構設計與實現
結合示教器軟件的功能劃分,對其進行了系統架構設計。架構圖如圖5所示。整個軟件系統架構分為四層,第4層為通信客戶端和數據庫;第3層為接口類層,主要負責實現數據通信和數據庫讀寫的接口操作功能;第2層為程序編輯器、監視、文件管理等功能模塊;最頂層為用戶界面。
示教器軟件基于Qt框架進行設計實現,采用C++語言開發。運行于嵌入式Linux系統中。
4 測試結果與討論
在通用6軸機器人樣機上,對所設計的示教器進行了測試,測試結果如下:
1)板上12V、5V電壓的紋波不超過±150mV,CPU內核、MPU等電壓紋波不超過±100mV。
2)DDR3內存工作于800MHz,讀寫無誤。
3)LCD數據的LVDS差分傳輸速率為87.5 MHz,LCD液晶屏顯示穩定,不受6個軸的電機轉動等干擾影響。
4)以太網RGMII工作時鐘為125MHz,通信速率為1000Mbps,通信穩定。
5)搖桿的3個方向均存在0.2V的死區電壓,通過軟件消除死區后,線性度良好。
6)從用戶在示教器上啟動某項功能到機器人系統開始執行功能的時間不超過300ms。
目前的示教器是通過集成電纜與機器人主控制器進行通訊。如果能夠在保證通訊可靠的前提下使示教器與主控制器通過無線方式進行連接,不僅可以大大減少工業現場布線,而且可以通過多點無線訪問方式實現一個示教器控制多個控制器。因此,研發能夠實時、可靠通訊的無線示教器,是今后的發展方向。
參考文獻:
[1]田濤,鄧雙城,楊朝嵐,等. 工業機器人的研究現狀與發展趨勢[J]. 新技術新工藝,2015(3):92-94.
[2]王田苗,陶永. 我國工業機器人的研究現狀與發展趨勢[J]. 機械工程學報,2014(5):1-13.
[3]趙剛,程建潤,林源園. 新興產業發展的戰略問題[J]. 科技創新與生產力,2010(8): 1-4.
[4]楊敏,王品,鄭玉虎. 人機會話方式的機器人示教盒的設計[J]. 組合機床與自動化加工技術,2013(2):127-129.
[5]劉進長,王偉,區和堅. 市場井噴帶來的機遇與挑戰--我國工業機器人發展的思考與建議[J]. 機器人技術與應用,2014(1):14-18.
本文來源于中國科技期刊《電子產品世界》2016年第7期第47頁,歡迎您寫論文時引用,并注明出處。
評論