六自由度機器人報告書
《六自由度機器人報告書》由會員分享,可在線閱讀,更多相關《六自由度機器人報告書(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 六自由度機械手設計 課程名稱: 機電系統(tǒng)設計 學 院: 機械工程學院 專 業(yè):機械設計制造及其自動化 姓 名: 學 號: 年 級: 任課教師: 2013年 1 月 5 日 目 錄 第一章 緒論....................................................3 1.1 工業(yè)機械手
2、的介紹……………………………………………………3 1.2 工業(yè)機械手應用前景………………………………………………... 3 第二章 六自由度機械手系統(tǒng)簡介……………………………………………5 2.1、機械手系統(tǒng)簡介…………………………………………………….5 2.2、機械手系統(tǒng)的組成及其控制過程………………………………….5 2.3 六自由度機械手總體方案框圖設計……………………………….6 第三章 機器手的機械系統(tǒng)………………………………………………….7 3.1、機械系統(tǒng)結構簡圖………………………………………………….7 3.2、關節(jié)布置和結構特點……………………………
3、………………….9 第四章 機械手的控制系統(tǒng)………………………………………………….10 4.1 控制系統(tǒng)…………………………………………………………….10 4.1.1 控制系統(tǒng)的基本組成框圖……………………………………10 4.1.2 晶振電路 ……………………………………………………11 4.1.3 AT89S52單片機……………………………………………12 4.2 驅(qū)動系統(tǒng)……………………………………………………………13 4.2.1 L298N芯片…………………………………………………13 4.3 控制系統(tǒng)整體接線圖………………………………………..16 第五
4、章 總結.................................................17 第六章 程序.................................................18 參考文獻 …………………………………………………………………24 第一章 緒論 1.1 工業(yè)機械手的介紹 隨著現(xiàn)代科技和現(xiàn)代工業(yè)的發(fā)展,工業(yè)的自動化程度越來越高。工業(yè)的自動化中機械手發(fā)揮了相當大的作用,小到機床的自動換刀機械手,大到整個的全自動無人值守工廠,無一不能看到機械手的身影。機械手在工業(yè)中的應用可以確保運轉(zhuǎn)周期的連貫,提高品質(zhì)。
5、另外,由于機械手的控制精確,還可以提高零件的精度。機械手在工業(yè)中的應用十分廣泛,如: 1、以提高生產(chǎn)過程中的自動化程度 應用機械手有利于實現(xiàn)材料的傳送、工件的裝卸、刀具的更換以及機器的裝配等的自動化的程度,從而可以提高勞動生產(chǎn)率和降低生產(chǎn)成本。 2、以改善勞動條件,避免人身事故 在高溫、高壓、低溫、低壓、有灰塵、噪聲、臭味、有放射性或有其他毒性污染以及工作空間狹窄的場合中,用人手直接操作是有危險或根本不可能的,而應用機械手即可部分或全部代替人安全的完成作業(yè),使勞動條件得以改善。 在一些簡單、重復,特別是較笨重的操作中,以機械手代替人進行工作,可以避免由于操作疲勞或疏忽而造成的人身
6、事故。 3、可以減輕人力,并便于有節(jié)奏的生產(chǎn) 應用機械手代替人進行工作,這是直接減少人力的一個側面,同時由于應用機械手可以連續(xù)的工作,這是減少人力的另一個側面。因此,在自動化機床的綜合加工自動線上,目前幾乎都設有機械手,以減少人力和更準確的控制生產(chǎn)的節(jié)拍,便于有節(jié)奏的進行工作生產(chǎn)。 1.2 工業(yè)機械手應用前景 工業(yè)機械手是近幾十年發(fā)展起來的一種高科技自動化生產(chǎn)設備。工業(yè)機械手的是工業(yè)機器人的一個重要分支。它的特點是可通過編程來完成各種預期的作業(yè)任務,在構造和性能上兼有人和機器各自的優(yōu)點,尤其體現(xiàn)了人的智能和適應性。機械手作業(yè)的準確性和各種環(huán)境中完成作業(yè)的能力,在國民經(jīng)濟各領域
7、有著廣闊的發(fā)展前景。 機械手是在機械化,自動化生產(chǎn)過程中發(fā)展起來的一種新型裝置。在現(xiàn)代生產(chǎn)過程中,機械手被廣泛的運用于自動生產(chǎn)線中,機械人的研制和生產(chǎn)已成為高技術鄰域內(nèi),迅速發(fā)殿起來的一門新興的技術,它更加促進了機械手的發(fā)展,使得機械手能更好地實現(xiàn)與機械化和自動化的有機結合。機械手雖然目前還不如人手那樣靈活,但它具有能不斷重復工作和勞動,不知疲勞,不怕危險,抓舉重物的力量比人手力大的特點,因此,機械手已受到許多部門的重視,并越來越廣泛地得到了應用 第二章 六自由度機械手系統(tǒng)簡介 2.1、機械手系統(tǒng)簡
8、介 機械手是一種具有高度的能動性和高度靈活性的自動化機器,是一種復雜的機電一體化設備。 本實驗采用AT89S52單片機直接控制,但單片機的輸出電流太小,不能直接與步進電機相連,需要增加驅(qū)動電路,通過驅(qū)動電路形成控制系統(tǒng),通過控制電機的轉(zhuǎn)動角度,以實現(xiàn)機械手的不同功能。 該機器手采用串聯(lián)式開鏈結構,機器手各連桿由旋轉(zhuǎn)關節(jié)關節(jié)串聯(lián)連接,各關節(jié)軸線相互平行或垂直。關節(jié)的作用是使相互聯(lián)接的兩個連桿產(chǎn)生相對運動。機器手各關節(jié)采用步進電機驅(qū)動,并通過軟件編程和單片機實現(xiàn)對機器人的控制,使機器手能夠在工作空間內(nèi)任意位置精確定位。 2.2、機械手系統(tǒng)的組成及其控制過程 實驗機械手由6個步進電機組成,
9、實現(xiàn)機械手六自由度運動。以AT89S52單片機作為系統(tǒng)控制核心,基于軟件模擬串行通信程序,實現(xiàn)AT89S52串行通信,使其與電機驅(qū)動系統(tǒng)進行串行通信,同步的、連續(xù)的、精確的控制步進電機的轉(zhuǎn)動,以實現(xiàn)精確定位、連續(xù)動作。 該機械手主要由三大部分組成:(1)執(zhí)行系統(tǒng):底座、鋁質(zhì)手臂、末端夾取裝置等組成。(2)驅(qū)動系統(tǒng):光電耦合器,功率放大器,脈沖發(fā)生器等組成。(3)控制系統(tǒng):AT89S52單片機,晶振電路等組成。 機械手系統(tǒng)具體的操作過程:在計算機上編號程序,利用keil軟件編譯生成hex文件,通過轉(zhuǎn)串口下載線將計算機USB端口與機械人的控制主單元AT89S52單片機的下載端口連接,使用轉(zhuǎn)串口
10、燒程序軟件將編好的程序下載燒錄到單片機中,AT89S52單片機產(chǎn)生PWM脈沖控制驅(qū)動系統(tǒng),通過驅(qū)動系統(tǒng)在各個端口產(chǎn)生PWM信號,利用占空比的不同驅(qū)動六個關節(jié)的電機到指定的位置,實現(xiàn)機械手到不同位置,不同姿態(tài)的控制。 2.3 六自由度機械手總體方案框圖設計 根據(jù)系統(tǒng)要求畫出基于AT89S52單片機控制的總體方案框圖如圖2-1所示: 圖2-1 第三章 機器手的機械系統(tǒng) 3.1、機械系統(tǒng)結構簡圖 該機器手的機械部分主要由三大部分構成:機座、手臂(包括手腕)、手部(末端操作器)。如圖3-1所示: 圖3-1
11、三維機械結構簡圖 (1)、機座: 機座是機械手的基礎部分,機械手執(zhí)行機構的各部件和驅(qū)動系統(tǒng)均安裝于機座上,故起支撐和連接的作用。 該實驗中所用機器手機座用于實現(xiàn)回轉(zhuǎn)運動,有一個自由度,如圖3-2所示。 圖3-2 (2)、手部: 即與物件接觸的部件。由于與物件接觸的形式不同,可分為夾持式和吸附式手在本課題中我們采用夾持式手部結構。夾持式手部由手指(或手爪)和傳力機構所構成。手指是與物件直接接觸的構件,常用的手指運動形式有回轉(zhuǎn)型和平移型。回轉(zhuǎn)型手指結構簡單,制造容易,故應用較廣泛。平移型應用較少,其原因是結構比較復雜,但平移型手指夾持圓形零件時,工件直徑變化不影響其軸心的位置,因此
12、適宜夾持直徑變化范圍大的工件。手指結構取決于被抓取物件的表面形狀、被抓部位(是外廓或是內(nèi)孔) 和物件的重量及尺寸。常用的指形有平面的、V形面的和曲面的:手指有外夾式和內(nèi)撐式;指數(shù)有雙指式、多指式和雙手雙指式等。而傳力機構則通過手指產(chǎn)生夾緊力來完成夾放物件的任務。傳力機構型式較多時常用的有:滑槽杠桿式、連桿杠桿式、斜面杠桿式、齒輪齒條式、絲杠螺母彈簧式和重力式等。 該實驗中的手爪為外夾鉗爪式手部的夾取方式的平行連桿式鉗爪。如圖3-3所示。 圖3-3 (3)、手臂: 手臂是支承被抓物件、手部、手腕的重要部件。手臂的作用是帶動手指去抓取物件,并按預定要求將其搬運到指定的位置.工業(yè)機械
13、手的手臂通常由驅(qū)動手臂運動的部件(如油缸、氣缸、齒輪齒條機構、連桿機構、螺旋機構和凸輪機構等)與驅(qū)動源(如液壓、氣壓或電機等)相配合,以實現(xiàn)手臂的各種運動。手腕是連接手部和手臂的部件,并可用來調(diào)整被抓取物件的方位(即姿勢)。 該實驗中機器手有上臂和前臂實現(xiàn)兩個俯仰運動兩自由度如圖3-4所示。 圖3-4 3.2、關節(jié)布置和結構特點 關節(jié)布置如圖3-5所示。 圖3-5 該機械手的關節(jié)都是轉(zhuǎn)動副,只有一個自由度。前三個關節(jié)為機械手臂的定位關節(jié),決定了機械手腕在空間的位置和作業(yè)范圍;手腕兩個關節(jié)為機械手臂的定向機構,決定了機械手腕在空間的方向和姿態(tài);機械手臂關節(jié)用于控制機械手抓握工
14、件。 第四章 機械手的控制系統(tǒng) 4.1 控制系統(tǒng) 機器人控制器系統(tǒng)是用來收集和處理各路信號,并根據(jù)各種信號發(fā)出相應控制指令,根據(jù)指令以及傳感信息控制機器人完成一定動作或作業(yè)任務的裝置??刂破魇菣C器人的核心部分,它的智能化發(fā)展也必將標志著智能機器人的發(fā)展。 4.1.1 控制系統(tǒng)的基本組成框圖 基于AT89S52單片機的控制步進電機的控制框圖如圖4-1所示。 圖4-1 1、其系統(tǒng)實物組成圖如圖4-2、圖4-3所示: 圖4-2 圖4-3 2、控制系統(tǒng)硬件結構組成如圖4-4所示: 圖4-4 ①—串行接口,用于連接到計算機下載程序;②—ISP接口;③—電源接口;④
15、—三位開關;⑤—綠色LED電源指示燈;⑥—AT89C52單片機;⑦—“Reset”復位按鈕;⑧—面包板;⑨—專用電機控制接口插座,用來連接到電機控制器上從而控制電機的運動; 4.1.2 晶振電路 晶振是晶體振蕩器的簡稱。它是一種能把電能和機械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩,通過基準頻率來控制電路中的頻率的準確性。 AT89S52單片機有一個用于構成內(nèi)部振蕩器的反相放大器,XTAL1 和XTAL2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構成自激振蕩器。 晶振模塊自帶振蕩器、提供低阻方波輸出,并且能夠在一定條件下保證運行。最常用的兩
16、種類型是晶振模塊和集成RC振蕩器(硅振蕩器)。晶振模塊提供與分立晶振相同的精度。硅振蕩器的精度要比分立RC振蕩器高,多數(shù)情況下能夠提供與陶瓷諧振槽路相當?shù)木取?圖4-5為晶振電路。 圖4-5 4.1.3 AT89S52單片機 AT89S52單片機,是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈
17、活、有效的解決方案。AT89S52引腳結構圖如圖4-5所示: 圖4-6 4.2 驅(qū)動系統(tǒng) 驅(qū)動系統(tǒng)的作用是控制步進電機的旋轉(zhuǎn)角度和運轉(zhuǎn)速度,以此來實現(xiàn)對占空比的控制,達到對怠速的控制。其中包括光電耦合器,功率放大器,脈沖發(fā)生器等。 4.2.1 L298N芯片 L298N芯片內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標準TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。本實驗中L298N起到功率放大作用。其外部管腳見圖4-7、圖4-8所示。 圖4-7 圖4-8 功率放大電路如圖4-9所示。 圖
18、4-9 4.3 控制系統(tǒng)整體接線圖 1、整個系統(tǒng)的信息流動方向如圖4-11所示: 圖4-11 2、系統(tǒng)接線圖如圖4-12所示 圖4-12 第五章 總結 有了前面對該實驗的分析了解,這次做起來就容易多了,先對它的機械結構進行分析并且繪出了它的結構簡圖,其次從動作設計、軟件調(diào)試、動作調(diào)試,最終經(jīng)過長時間的調(diào)試改進、動作測試,確定了最終的控制程序。其間需要考慮很多問題,比如:各連桿之間是否會發(fā)生干涉,每個連桿的轉(zhuǎn)動或移動的范圍。最后,我們把程序燒錄到單片機上,是機械手運動了起來。 這次實驗同時涉及單片機及舵機控制的運用,需要我們對單片機的通信和舵機控制性能有一定的了解,還涉及
19、到的是編寫程序,需要我們對編程語言有所掌握,以及各個關節(jié)間的相互協(xié)調(diào)動作,所以這次實驗對我們來說是一個比較綜合的實驗。 通過這次試驗,我發(fā)現(xiàn)自己所掌握的知識遠遠不夠,而且不能把理論很好的運用到實踐中去,而且實驗設備也出現(xiàn)很多的問題。雖然現(xiàn)在還是有很多東西不清楚,但是對于類似的機械設備的運動控制不再陌生了??傮w來講,通過本次實驗,我的收獲還還蠻多的。 第六章 程序 使用該機械手時,應先用電機調(diào)試程序調(diào)試各個電機,若正常??蛇M行下一步實驗。所以,有2個程序:電機調(diào)試程序、抓取物體程序或者任意動作程序。本次實驗編寫的任意動作程序為:肘部電
20、機運動,其余電機不動程序。
電機調(diào)試程序如下:
#include
21、yte(uchar in ) { uchar i=8; TXD=(bit)0; //發(fā)送啟始位 Delay2cp(183); //發(fā)送8位數(shù)據(jù)位 while(i--) { TXD=(bit)(in &0x01); //先傳低位 Delay2cp(176); in =in >>1; } //發(fā)送校驗位(無) TXD=(bit)1; //發(fā)送結束
22、位 Delay2cp(190); } //從串口讀一個字節(jié) uchar RByte(void) { uchar Out =0; uchar i=8; uchar temp=RDDYN; //發(fā)送8位數(shù)據(jù)位 while ( RXD ); Delay2cp(187); //此處注意,等過起始位 Delay2cp(94); while(i--) { Out >>=1; if(RXD) Out |=0x80; //先收低位
23、 Delay2cp(179); //(96-26)/2,循環(huán)共占用26個指令周期 } while(--temp) //在指定的時間內(nèi)搜尋結束位。 { Delay2cp(1); if(RXD) break; //收到結束位便退出 } return Out ; } int motormove(char channel, char ramp, int position) { un
24、signed char i; uchar cmd[8] ="!SC"; cmd[3] = channel; cmd[4] = ramp; cmd[5] = position; cmd[6] = position>>8; cmd[7] = 0x0D; for(i=0; i<8; i++) { WByte(cmd[i]); } } // Bse Bcpt elbw wrst wrstR grppr int code armdata[]=
25、{ 800, 800, 800, 540, 750, 1000,//5號電機 800, 800, 800, 540, 750, 900, 800, 800, 800, 540, 750, 950,//4號電機 800, 800, 800, 540, 800, 950, 800, 800, 800, 540, 700, 950, 800,
26、 800, 800, 540, 750, 950,//3號電機 800, 800, 800, 590, 750, 950, 800, 800, 800, 490, 750, 950, 800, 800, 800, 540, 750, 950,//2號電機 800, 800, 850, 540, 750, 950, 800, 800,
27、 750, 540, 750, 950, 800, 800, 800, 540, 750, 950,//1號電機 800, 850, 800, 540, 750, 950, 800, 750, 800, 540, 750, 950, 800, 800, 800, 540, 750, 950,0xff};//0號電機不動 int code delay[] = { 20
28、,20,15,20,30,10,10,10,30,20,10,30,10,10,20}; int robotmove(int i, int* movedata) { uchar j; while(*movedata!=0xff) { for(j=0; j
29、 motormove(0x02,15,*movedata++); delay_nms(delay[j/6]); motormove(0x03,12,*movedata++); delay_nms(delay[j/6]); motormove(0x04,15,*movedata++); delay_nms(delay[j/6]); motormove(0x05,15,*movedata++); delay_nms(delay[j/6]); delay_nms(2000); //讓所有動作執(zhí)行完 }
30、 }
}
int main(void)
{
uart_Init();
robotmove(90,armdata);
delay_nms(100);
}
肘部電機運動程序:
#include
31、ned char i) { while(--i); //剛好兩個指令周期。 } //往串口寫一個字節(jié) void WByte(uchar in ) { uchar i=8; TXD=(bit)0; //發(fā)送啟始位 Delay2cp(183); //發(fā)送8位數(shù)據(jù)位 while(i--) { TXD=(bit)(in &0x01); //先傳低位 Delay2cp(176)
32、; in =in >>1; } //發(fā)送校驗位(無) TXD=(bit)1; //發(fā)送結束位 Delay2cp(190); } //從串口讀一個字節(jié) uchar RByte(void) { uchar Out =0; uchar i=8; uchar temp=RDDYN; //發(fā)送8位數(shù)據(jù)位 while ( RXD ); Delay2cp(187); //此處注意,等過起始位 Delay2cp(94);
33、 while(i--) { Out >>=1; if(RXD) Out |=0x80; //先收低位 Delay2cp(179); //(96-26)/2,循環(huán)共占用26個指令周期 } while(--temp) //在指定的時間內(nèi)搜尋結束位。 { Delay2cp(1); if(RXD) break; //收到結束位便退出 }
34、 return Out ; } int motormove(char channel, char ramp, int position) { unsigned char i; uchar cmd[8] ="!SC"; cmd[3] = channel; cmd[4] = ramp; cmd[5] = position; cmd[6] = position>>8; cmd[7] = 0x0D; for(i=0; i<8; i++) { WByte(cmd[i]); } }
35、 // Bse Bcpt elbw wrst wrstR grppr int code armdata[] = { 450, 800, 800, 540, 750, 1250,//不動 450, 800, 800, 540, 750, 1250,//不動 450, 800, 650, 540, 750, 1250,//逆時針轉(zhuǎn)動 450, 800
36、, 650, 540, 750, 1250,//不動 450, 800, 800, 540, 750, 1250,//順時針轉(zhuǎn)動 450, 800, 650, 540, 750, 1250,//逆時針轉(zhuǎn)動 450, 800, 650, 540, 750, 1250,//不動 450, 800, 800, 540, 750, 1250,//順時針轉(zhuǎn)動
37、 450, 800, 630, 540, 750, 1250,//逆時針轉(zhuǎn)動 450, 800, 640, 540, 750, 1250,//順時針只是 450, 800, 800, 540, 750, 1250,//順時針轉(zhuǎn)動 450, 800, 800, 540, 750, 1250,//不動 450, 800, 640, 540, 750, 1250,//
38、逆時針轉(zhuǎn)動 450, 800, 640, 540, 750, 1250,//不動 450, 800, 800, 540, 750, 1250,0xff};//順時針轉(zhuǎn)動 int code delay[] = { 20,20,15,20,30,10,10,10,30,20,10,30,10,10,10}; int robotmove(int i, int* movedata) { uchar j; while(*movedata!=0xff) {
39、 for(j=0; j
40、(0x04,15,*movedata++); delay_nms(delay[j/6]); motormove(0x05,15,*movedata++); delay_nms(delay[j/6]); delay_nms(2000); //讓所有動作執(zhí)行完 } } } int main(void) { uart_Init(); robotmove(90,armdata); delay_nms(100); } 參考文獻 1、 2、 韓建海 《工業(yè)機器人》第二版 華中科技大學出版社 2012年6月 3、 張建民 《機電一體化系統(tǒng)設計》修訂版 北京理工大學出版社 2012年5月 4、 《六自由度機械手用戶手冊》 《AT89S52_cn》 (試驗自帶的手冊) 5、
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。