基于Arduino控制的機械臂的運動與程序設計.pdf

基于Arduino控制的機械臂的運動與程序設計.pdf

ID:52969724

大小:470.02 KB

頁數(shù):3頁

時間:2020-04-05

基于Arduino控制的機械臂的運動與程序設計.pdf_第1頁
基于Arduino控制的機械臂的運動與程序設計.pdf_第2頁
基于Arduino控制的機械臂的運動與程序設計.pdf_第3頁
資源描述:

《基于Arduino控制的機械臂的運動與程序設計.pdf》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、基子Arduino控制的機械臂的運動與程序設計口盧光躍口吳濤昆明理工大學機電工程學院昆明650500摘要:設計了一個采用舵機進行驅動的機械臂裝置,應用Arduino程序系統(tǒng)和硬件對其進行運動控制,使其完成一個從低處取物放回高處的動作。實際應用中可用作生產(chǎn)線物料搬運以及機床的上下料等工作。通過對Arduino專門控制伺服電機的Servo庫函數(shù)創(chuàng)新編程,使機械臂完成設計動作。關鍵詞:Arduino機械臂舵機程序運動設計中圖分類號:TH122;TP242.3文獻標識碼:A文章編號:1000-4998f

2、2014)03—0050—03目前人們對各類機械臂的研究十分普遍.它對環(huán)境有較好的適應性,在實際生產(chǎn)應用中,可替代人工進行一些勞動強度大、有危險的工作。在機械臂這種需要對多個舵機同時控制的系統(tǒng)中.Arduino可實現(xiàn)對多個舵機轉動的角度精確控制,方法簡單,為機械臂的運動控制提供了新方式。本文著重研究了機械臂的工作姿態(tài)、運動控制等,應用Arduino對其進行運動控制。Arduino是意大利一個開放源代碼的硬件項目平臺,該平臺包括一塊具備I/O功能的電路板以及一其中1號舵機有繞Z軸轉動的自由度,初始

3、位置的角套程序開發(fā)環(huán)境軟件。度是90。;舵機2、3和4號有繞l,軸轉動的自由度;舵機5有繞軸轉動的自由度:舵機6在垂直于5號舵1機械臂機構設計機轉動軸的平面內有一個轉動自由度。因此,為實現(xiàn)機1.1機構的組成械臂的完整運動,每段臂的關節(jié)處各分配一個俯仰自機械臂的主體結構是由一套鋁合金支架、鋁合金由度。基座關節(jié)、腕關節(jié)和機械手爪關節(jié)各分配一個偏機械手爪、6個MG995舵機驅動組成,如圖1所示.1~轉自由度.共6個自由度。6號分別為6個舵機,A~F分別為每個舵機的轉動軸。1.3機械臂的執(zhí)行裝置其中:l

4、號舵機位于底座上,起到腰轉的作用:2號舵舵機是一種位置伺服的驅動器,具有閉環(huán)控制系機位于1號舵機之上,起到肩轉作用;3號舵機位于上統(tǒng)的機電結構,由小型直流電機、變速齒輪組、可調電臂末端,起到肘轉的作用;4號舵機位于機械手腕處,位器、控制板等組成。采用MG995型號通用舵機,工作起到機械手爪的俯仰作用:5號舵機位于4號舵機之電壓是5V,轉速轉矩適當,舵角不超過180。,可以實現(xiàn)上,起到機械手爪的偏轉作用;6號舵機位于機械手掌機械臂轉動角度的靈敏控制以及平穩(wěn)運動。處,起到控制機械手爪的開合作用。由于

5、舵機是以轉動2機械臂的運動分析形式提供機械能,所以該機構共有6個轉動副,其中每個轉動副為一個運動關節(jié)。2.1運動過程分解1.2機械臂自由度分配在機械臂運動過程中.第一步:通過初始化使各舵如圖2所示,該機械臂有3個方向的轉動自由度,機位于初始狀態(tài):第二步:底座腰轉關節(jié)旋轉至特定方向.腕關節(jié)旋轉,使機械手向上旋轉與臂處于同一方國家自然科學基金青年基金資助項目(編號:61203066)向。同時底座上端肩轉關節(jié)旋轉,使整個機械臂處于水云南省大學生創(chuàng)新計劃項目(編號:201310674232)收稿13期:

6、2013年12月平位置,機械手爪關節(jié)旋轉,使機械手爪打開;第三步:j圓2014/3機械制造52卷第595期在Arduino中,主函數(shù)在內部已定義了,只需要完成voidsetup()、voidloop()這兩個函數(shù)就能夠完成Arduino程序的編寫,這兩個函數(shù)分別負責Arduino程序的初始化部分和執(zhí)行部分。兩個函數(shù)均為無返回值的函數(shù)。setup()函數(shù)用于初始化,一般放在程序開頭,主要工作是用于設置一些引腳的輸出/輸入模式、初始化串口等.該函數(shù)只在上電或重啟時執(zhí)行一次;loop()函數(shù)則用于執(zhí)行

7、程序,它是一個死循環(huán),其中的代碼將被循環(huán)執(zhí)行,用于完成程序的功能。另外,筆者采用Servomyservo語句定義6個舵機,例如Servomyservo1;用attach函數(shù)為伺服電機指定一個引腳,例如:myservo1.a(chǎn)ttach(1)。該語句指1號舵機的引腳為1.即在1號舵機連線時將其接在擴展板的引腳1上。4.2子函數(shù)整段程序定義了6段子函數(shù),分別對應“2.1運動過程分解”中的6個步驟,依次用來實現(xiàn):初始化每個Arduino本身的Servo庫就是控制舵機的,單純調舵機角度為90。;轉向至一邊

8、、降低高度、旋轉手爪和用Servo庫可以實現(xiàn)對一路或者多路舵機的同時轉張開手爪;關閉手爪和上升高度;轉向至另一邊和張開動,但無法實現(xiàn)多路舵機分時驅動。為了實現(xiàn)機械手的正確運動.在原來函數(shù)結構的手爪;關閉手爪;轉向至中間、上升高度、旋轉手爪恢復基礎上,定義機械手每一步動作為一個分函數(shù),在loop至初始狀態(tài)。重要程序段摘取如下:()函數(shù)中,分別調用各個分函數(shù),中間加延時環(huán)節(jié),就voidone()可以實現(xiàn)機械手的連續(xù)穩(wěn)定運行(程序流程如圖7所{myservo1.write(90);示)。myservo

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。