劉忠超 肖東岳 翟天嵩
(南陽理工學院電子與電氣工程學院,河南 南陽 473004)
AVR單片機控制的多軸機械臂系統(tǒng)設計
劉忠超 肖東岳 翟天嵩
(南陽理工學院電子與電氣工程學院,河南 南陽 473004)
以Atmel公司的AVR 1280單片機為核心控制器,設計研制了六自由度多軸機械臂,對機械臂控制系統(tǒng)進行了硬件和軟件設計。采用D-H法建立了六自由度機械臂數(shù)學建模,在Matlab中實現(xiàn)了運動仿真,并通過LabVIEW軟件完成了上位機監(jiān)控程序的設計。調(diào)試結(jié)果表明,系統(tǒng)整體運動靈活,協(xié)調(diào)性較好,能夠?qū)崿F(xiàn)機械臂遠程控制以及軌跡規(guī)劃功能,有著非常廣闊的應用前景。
AVR單片機 機械臂 D-H法 Matlab建模 LabVIEW 軌跡規(guī)劃
根據(jù)國際標準化組織(ISO)的定義,工業(yè)機器人是指通過自動控制而具有操作功能和移動功能,以及可以通過編程來完成各種作業(yè)的機器[1]。多軸機械臂在設備裝配、焊接、自動噴漆、自動化生產(chǎn)線等領域有著極其廣泛的應用,它采用機械手來替代傳統(tǒng)的人工作業(yè)方式,大大減輕了勞動強度,提高了生產(chǎn)效率,并且可以減少因人工疏忽造成的安全事故[2]。
以Atmel公司的AVR 1280單片機為核心控制器,通過人機接口模塊、語音模塊以及伺服電機,設計了六自由度機械臂的控制系統(tǒng)以及舵機控制系統(tǒng)。通過控制系統(tǒng)主程序以及LabVIEW上位機監(jiān)控界面的編寫,實現(xiàn)了六自由度多軸機械臂單自由度、多自由度以及軌跡規(guī)劃功能,并能實現(xiàn)對運動位姿的遠程監(jiān)控。
系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 多軸機械臂系統(tǒng)框圖
機械臂的硬件系統(tǒng)主要由上位機PC監(jiān)控部分、AVR1280主控板部分以及機械臂舵機控制板組成。其控制系統(tǒng)以Atmega1280控制器為核心,外部硬件模塊主要有語音模塊、顯示模塊、按鍵模塊、無線收發(fā)模塊以及電源模塊。其工作原理為Atmega1280主控板通過RS-232與上位機監(jiān)控計算機通信,在PC上選擇相應的功能模式,經(jīng)過RS-232通信協(xié)議發(fā)送控制數(shù)據(jù)給AVR主控板。主控板分析出要進行的運動形式及各種參數(shù),通過RF無線傳輸把數(shù)據(jù)發(fā)送給六自由度舵機控制板來產(chǎn)生PWM信號。通過發(fā)送不同的控制時序,從而來驅(qū)動六個伺服舵機配合完成相應的動作。
1.1 Atmega1280微處理器
Atmega1280是Atmel公司推出的一款8位低能耗、高性能的微控制器。該控制器功能強大,具有非常豐富的片上資源。Atmega1280有多達86個I/O、16個通道的10位ADC、4個USART、4 kB的EEPROM,同時還具有SPI串行接口以及JTAG仿真等功能,能給程序的編寫調(diào)試帶來很大的方便[3-4]。
1.2 JQ5600語音模塊
JQ5600是集單片機和語音電路于一體的可編輯語音芯片,完美集成了MP3、WMV的硬解碼。該模塊的外部管腳中,K1~K5為按鍵模式時,觸發(fā)播放相應的5段音頻;管腳ADKEY是A/D口;管腳BUSY是播放指示燈,當有音頻輸出時BUSY指示燈亮,無音頻輸出時BUSY指示燈滅;管腳RX和TX用于和單片機進行UART串行通信;管腳SPK-和SPK+用于外接喇叭功放,可以直接驅(qū)動1W/8R以下喇叭。
1.3 伺服電機選擇
多軸機械臂主要以舵機作為關節(jié)連接體,硬件系統(tǒng)中選用輝盛牌MG995和MG996R型金屬銅齒伺服舵機,其中MG995的輸出力矩為11 kg/cm(6 V),而MG996R的輸出力矩為15 kg/cm(6 V),可見MG996R比MG9955的輸出力矩要大很多[5]。結(jié)合機械臂整個系統(tǒng)結(jié)構(gòu)來考慮,兩種型號的舵機配合起來使用是可行的。在底座和手腕等受力比較小的部位可以使用MG995,而在手臂部分的關節(jié)可以使用MG996R。這樣既能滿足系統(tǒng)的整體控制需求,也節(jié)約了系統(tǒng)成本。
1.4 舵機控制板
舵機控制板采用Arduino舵機擴展板,其專門是為控制多自由度機械臂而設計的[6]。該擴展板支持的通信接口為USB/TTL,可以方便地和AVR主控制板進行連接。其驅(qū)動舵機的分辨率達到1 μs,即為0.09°,可以同時控制16路舵機。
1.5 RF無線控制
無線數(shù)據(jù)傳輸采用433 MHz 的RF射頻模塊FHL0611,其最大發(fā)射功率10 mW,可以實現(xiàn)收、發(fā)模塊之間遠距離傳輸,其可靠傳輸距離可達1 000 m。設計中采用TTL電平方式與AVR單片機相連接,通過無線收發(fā)模塊能夠?qū)崿F(xiàn)AVR上位控制機和舵機控制板之間的通信,在上位機上實現(xiàn)對機械臂的控制。
1.6 電源電路
多軸機械臂控制系統(tǒng)采用7.4 V的鋰電池供電,鋰電池比鎳氫電池供電電流大,足以讓舵機正常工作。系統(tǒng)中單片機供電電壓為5 V,而舵機供電電壓為6 V。因此,一路采用7.4 V轉(zhuǎn)6 V的降壓器單獨給6個舵機進行供電。該降壓器額定壓降為1.4 V,在輸出開路或者不接負載的時候沒有降壓功能,可以延長電池的使用時間,當有輸出電流時才有降壓功能。另一路采用LM2576開關型降壓穩(wěn)壓電路給AVR 1280主控板和Arduino舵機擴展板提供+5 V的工作電壓。
2.1 機械臂模型構(gòu)建
設計的六自由度機械臂結(jié)構(gòu)如圖2所示,圖2中的關節(jié)均用伺服電機來實現(xiàn)。其中舵機1在固定底座與連桿1之間,固定基座是用來描述操作臂其他連桿運動的關鍵。為了便于建立模型,關節(jié)1變量為零時,基座0和關節(jié)1的坐標系重合。后面的5個關節(jié)依次順序連接。舵機1、2、3主要用來確定末端執(zhí)行機構(gòu)的位置,舵機4、5、6用來確定末端執(zhí)行機構(gòu)的方位。
圖2 多軸機械臂結(jié)構(gòu)圖
2.2 數(shù)學模型構(gòu)建
多軸機械臂主要研究的是機械臂各個連桿間的位移關系,該機械臂主要通過Denavit-Hartenberg參數(shù)表來描述機械臂各個連桿間的位移關系[7]。利用D-H理論,可以在空間中為機械臂的每一個連桿建立一個坐標系或相對于機械臂底座的相對坐標系,進而確定每一個桿件的位置和方向。
2.3 Matlab的運動仿真
機械臂的模型仿真,采用Matlab平臺下的Robotics Toolbox工具箱。運用Robotics Toolbox工具箱,可以很方便地對機器人運動學的理論進行學習和驗證[8]。機械臂仿真模型構(gòu)建主要調(diào)用Link函數(shù)和Robot函數(shù)兩個功能函數(shù),實現(xiàn)對機械臂的運動仿真。
3.1 軟件系統(tǒng)總體框架
系統(tǒng)軟件設計采用模塊化的設計方式,將功能進行分解設計,從而使思路清晰、移植性強,且易于查錯與修改。六自由度機械臂軟件系統(tǒng)組成框圖如圖3所示,主要由上位機監(jiān)控部分、主控制板控制程序和舵機控制板程序組成。
圖3 軟件系統(tǒng)框圖
3.2 上位機監(jiān)控界面設計
上位機監(jiān)控軟件由LabVIEW編寫實現(xiàn)。LabVIEW是圖形化編程軟件代表,采用G語言進行軟件設計具有表達形象、便于理解的優(yōu)點[9]。根據(jù)需求選擇合適控件并進行合理的布局,就可以構(gòu)建一個美觀的儀器儀表界面[10]。LabVIEW開發(fā)的上位機負責發(fā)送監(jiān)控命令和輸出執(zhí)行的任務。開發(fā)的上位機監(jiān)控界面中,通過六個舵機控制盤能實時對多軸機械臂的位姿進行調(diào)節(jié)和監(jiān)控,其中舵機轉(zhuǎn)盤上的數(shù)值代表脈寬值,其可以調(diào)整的范圍為0.5~2.5 ms,代表對應關節(jié)的舵機角度為-90°~+90°。
功能測試主要給出軌跡規(guī)劃功能模式的實現(xiàn)。在空間給定兩點A(0,0,0)和B(3,2,0)的圖板上,指定機械臂末端夾持器從A點到B點畫一條直線,根據(jù)機械臂控制算法計算出來的關節(jié)角,依照笛卡爾直線插補算法進行直線的繪制。圖4是繪制之前和繪制之后圖板上直線軌跡的對比。從圖4可以看出,機械臂末端的夾持器可以按照預先規(guī)劃的軌跡來走,實現(xiàn)軌跡規(guī)劃功能。
圖4 軌跡前后對比圖
本文主要完成了六自由度多軸機械臂本體及控制系統(tǒng)的設計與制作。系統(tǒng)硬件部分設計了AVR控制板以及舵機控制板,系統(tǒng)軟件部分建立了系統(tǒng)的運動模型以及仿真模型,并設計了系統(tǒng)的監(jiān)控界面。最后給出了實際的測試結(jié)果。
測試結(jié)果表明,設計的多軸機械臂性能穩(wěn)定,成本較低,控制調(diào)節(jié)簡單方便,并且能夠?qū)ψ藨B(tài)進行遠程實時的采集和控制,在工業(yè)自動化裝配、焊接、搬運等領域具有廣闊的應用前景。
[1] 肖南峰.工業(yè)機器人[M].北京:機械工業(yè)出版社,2011:101-102.
[2] 田海波,馬宏偉,魏娟.串聯(lián)機器人機械臂工作空間與結(jié)構(gòu)參數(shù)研究[J].農(nóng)業(yè)機械學報,2013(4):196-201.
[3] 劉忠超,翟天嵩.基于AVR的智能儀表的嵌入式以太網(wǎng)接口設計[J].中國農(nóng)機化,2012(1):169-172.
[4] 劉忠超,劉勇軍.基于AVR單片機的網(wǎng)絡化溫室控制器的設計[J].中國農(nóng)機化,2011(5):102-104.
[5] 李紅巖,高陽東.基于LPC2131的RF遙控多關節(jié)蛇形機器人[J].自動化與儀表,2014(6):1-4.
[6] 蔡睿妍.基于Arduino的舵機控制系統(tǒng)設計[J].電腦知識與技術,2011(8):3719-3720.
[7] 梁安陽,王蘭美.基于D-H坐標系法的移動噴漆機器人運動學分析[J].機械工程與自動化,2011(5):125-126.
[8] 謝斌,蔡自興.基于MATLAB Robotics Toolbox的機器人學仿真實驗教學[J].計算機教育,2010(19):140-143.
[9] 張琛,原思聰,王蓉,等.小波閾值去噪技術及其在LabVIEW上的實現(xiàn)[J].自動化儀表,2013,34(11):17-20.
[10]陳清培,周松,廖繼明,等.機械加工中LabVIEW測試系統(tǒng)的設計與應用[J].自動化儀表,2013,34(10):74-76.
Design of the Multi-Axis Manipulator System Controlled by AVR MCU
With the AVR 1280 MCU from Atmel Corp. as the core controller, the multi-axis manipulator with six degrees of freedom has been designed and developed, and the hardware and software of the control system for the manipulator are designed. By using D-H method, the mathematical model of the six degrees of freedom manipulator is established, the motion simulation is implemented in Matlab, and the design of PC monitoring program is completed through LabVIEW software. The result of debugging shows that the overall motion of the system is flexible with good coordination. The system can realize remote control of the manipulator and the function of trajectory planning, so it possesses very broad applicable prospects.
AVR MCU Manipulator Denavit-Hartenberg method Matlab modeling LabVIEW Trajectory planning
河南省重點科技攻關基金資助項目(編號:132102210102)。
劉忠超(1979-),男,2007年畢業(yè)于西北農(nóng)林科技大學農(nóng)業(yè)電氣化與自動化專業(yè),獲碩士學位,講師;主要從事機器人、智能化檢測與控制的研究。
TM571;TP311
A
10.16086/j.cnki.issn1000-0380.201505010
修改稿收到日期:2014-12-05。