機械臂本科生畢業(yè)設計論文范文_第1頁
機械臂本科生畢業(yè)設計論文范文_第2頁
機械臂本科生畢業(yè)設計論文范文_第3頁
機械臂本科生畢業(yè)設計論文范文_第4頁
機械臂本科生畢業(yè)設計論文范文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于STM32的機械臂驅動系統(tǒng)設計摘要由于機械臂在各行各業(yè)中得到了愈來愈廣泛的應用,機械臂控制的多樣化、復雜化的需要也隨之日趨增多。作為當今科技領域研究的一個熱點,提高機械臂的控制精度、穩(wěn)定性、操作靈活性對于提高其應用水平有著十分重要的意義。本課題主要對四自由度機械臂控制系統(tǒng)進展了研究與設計。作為運動控制系統(tǒng)的一種,該控制系統(tǒng)主要面向底層,力爭開發(fā)出一套穩(wěn)定性高,可靠性強并且定位準確的工業(yè)機械臂系統(tǒng)。首先根據機械臂系統(tǒng)的控制要求,整體上設計出單CPU的系統(tǒng)控制方案,即通過控制主控制器輸出的PWM波的占空比實現(xiàn)對舵機轉動的控制,進而實現(xiàn)各個關節(jié)的位置控制。在硬件方面,主要論述了如何以ARM微處理器STM32F103ZET6、MG995舵機、MG945舵機、超聲波傳感器和電源模塊為主要器件,通過搭建硬件平臺和設計軟件控制程序構建關節(jié)運動控制系統(tǒng)。然后按照構造化設計的思想,依次對以上各局部的原理和設計方法進展了分析和探討,給出了實際的原理圖和電路圖。在軟件設計方面,按照模塊化的設計思想將控制程序分為初始化模塊和運行模塊,并分別對各個模塊的程序進展設計。實驗說明,該機械臂控制系統(tǒng)不僅具有很好的控制精度,還具有很好的穩(wěn)定性、準確性,而且在很大程度上改善了定位精度。關鍵詞:四自由度機械臂,STM32,Corte*-M3,脈沖寬度調制theDesignofManipulatorDriveSystemBasedonSTM32Author:***Tutor:***AbstractInrecentyears,robotarmiswidelyusedinindustrycontrol,specialrobot,medicaldeviceandhomeservicerobots.Researchofrobotarmcontrolsystemisafocusinrobotarea.Itismeaningfultoincreasetheperformanceinaccuracy,stabilityandfeasibility.Thispaperistheresearchanddesignaboutacontrolsystembasedonafourdegreesfreedom’sdesign.And,westrivetodevelopahighstability,reliabilityandaccuratecontrolsystem.Firstly,accordingtothecontrolrequirementsoftheroboticsystem,theoveralldesignofthesystemcontrolprogramisbasedonasingleCPU.TurnthesteeringcontroltoachievethecontrolofthedutycycleofthePWMwaveoutputbythemaincontroller,soastorealizethepositioncontrolofeachjoint.Intermsofhardware,thepapermainlydiscusseshowtousetheARMmicroprocessorSTM32F103ZET6,MG995Servo,MG945servos,ultrasonicsensorsandpowersupplymoduleasthemainponents,buildajointmotioncontrolsystembybuildinghardwareplatformsandsoftwarecontrolprogram.Thenfollowthestructureddesignideas,principlesanddesignmethodssequentiallyovereachpartisanalyzedanddiscussed,andthengivetheactualschematicorcircuitdiagram.Insoftwaredesign,thecontrolprogramisdividedintotherunmodulesandtheinitializationmoduleanddesignprogramofeachmoduleseparately.Controlsysteme*perimentsshowthatthesystemcansignificantlyimprovetheprecisionofcontrol,andimprovesystemstability,accuracy,sothatthepositioningaccuracyoftherobotarmhasbeengreatlyimprovedandenhanced.KeyWords:FourDegreesFreedomRobot,STM32,Corte*-M3,PulseWidthModulation目錄TOC\h\z\t"章標題,1,節(jié)標題,2,條標題,3,論文正文英文樣式,8,圖片樣式,8,圖片標注樣式,8,附錄一級樣式,1,附錄二級樣式,2"1緒論11.1機械臂概述1機械臂研究的意義1國內外機械臂的研究現(xiàn)狀及開展趨勢1機械臂的分類21.2機械臂控制的研究內容4機械臂的驅動方式4機械臂的機械構造4機械臂的控制器4機械臂的控制算法51.3嵌入式系統(tǒng)簡介51.4本文的主要工作62機械臂控制系統(tǒng)的總體方案設計72.1機械臂的機械構造設計7臂部構造設計原則7機械臂自由度確實定72.2工作對象簡介72.3機械臂關節(jié)控制的總體方案8機械臂控制器類型確實定8機械臂控制系統(tǒng)構造9關節(jié)控制系統(tǒng)的控制策略92.4本章小結93機械臂控制系統(tǒng)硬件設計113.1機械臂控制系統(tǒng)概述113.2微處理器選型113.3主控制模塊設計13電源電路13復位電路14時鐘電路153.3.4JTAG調試電路153.4驅動模塊設計163.5電源模塊設計173.6傳感器模塊設計193.7本章小結194機械臂控制系統(tǒng)軟件設計204.1初始化模塊設計20系統(tǒng)時鐘控制204.1.2SysTick定時器224.1.3TIM定時器23通用輸入輸出接口GPIO24超聲波傳感器模塊244.2運行模塊設計254.3本章小結265系統(tǒng)的整機調試275.1硬件調試275.2軟件調試285.3故障原因及解決方法315.4本章小結32結論33致謝34參考文獻35附錄37附錄A37附錄B46附錄C471緒論1.1機械臂概述1.1.1機械臂研究的意義早在幾千年前,人類就開場了機器人的制造,以解決人類繁重的勞動。例如,古希臘詩人荷馬在其長篇敘事詩"伊利亞特"中,描述了“火和鍛冶之神〞赫菲斯托斯用黃金鍛造出一個侍女[1]。一直以來,人們也一直致力于將這些美麗的神話變?yōu)楝F(xiàn)實。1958年世界上的第一臺機器人被創(chuàng)造以來,與工業(yè)機器人相關的技術得到了迅猛的開展,并且己經愈來愈廣泛的應用在機械、電子、汽車等行業(yè)[2]。如今,機器人技術已成為衡量一個國家科技水平的標志之一[3]。作為近幾十年來開展起來的一種自動設備,機械臂可以通過編寫軟件程序來完成目標任務,它不僅具有人和機器各自的很多優(yōu)點,而且特別具有人的智能性和適應性。在作業(yè)過程中,機械臂控制的準確性和對環(huán)境的適應性,已經使其在各個領域有著廣闊的開展前景。高級類型的機械臂,可以執(zhí)行更復雜的操作[4]。將機器臂運用于工業(yè)生產過程,除了可以提高生產率之外,還能夠減弱工人的勞動強度,使生產過程實現(xiàn)自動控制。因此機械臂在近幾年得到了愈來愈廣泛的應用[5]。1.1.2國內外機械臂的研究現(xiàn)狀及開展趨勢機器人的研究始于二戰(zhàn)后的美國。1958年第一臺數控工業(yè)機器人誕生后,機器人在工業(yè)上的應用不斷增加,日本、德國等國家也相繼開場機器人的研制。中國對現(xiàn)代機器人的研制始于上世紀70年代后期,80年代進入到飛速開展時期。尤其在國家成立了863方案后,機器人技術得到特別的重視,由此中國在機器人領域取得了飛速開展,相繼研制出示教再現(xiàn)型的搬運、焊接、噴漆、裝配等各種工業(yè)機器人,以及水下作業(yè)、軍事和特種機器人。機械臂開展狀況概括如下:第一代機械臂,即示教再現(xiàn)方式的機械臂。目前這種機械臂仍廣泛應用于各種場合。這種工作方式只能按照事先設置的位置進展重復的動作,但是不能感知周圍環(huán)境,其應用*圍因此受到一定的限制。這類機械臂主要工作于原料搬運、噴漆、焊接等工作場合。第二代機械臂,即具有視覺、觸覺等外部感覺功能的機械臂。這類機械臂可以根據周圍環(huán)境的變化進展自適應,故可以完成較為復雜的工作。圖1.1一汽“紅旗〞轎車機器人焊接生產線第三代機械臂,這類機械臂不僅具有第二代機械臂的感覺功能,而且還具有規(guī)劃和決策的功能。從而在環(huán)境發(fā)生變化時進展自主的工作。但是目前這類機械臂依然處于研究階段,還需要一段時間才能得到實際應用[6]。圖1.2演奏機器人從機械臂幾十年來的成長進程來看,高精度,多功能,集成化,系統(tǒng)化以及智能化是機械臂在以后多年中的開展方向。1.1.3機械臂的分類機械臂一般從運動坐標形式分為直角坐標式機械臂、圓柱坐標式機械臂、極坐標式機械臂和多關節(jié)式機械臂。直角坐標式機械臂:由三個線性關節(jié)來確定手爪的位置,通常還帶有附加的旋轉關節(jié)用來確定末端執(zhí)行器的姿勢。這類機械臂雖然控制位置精度高、簡單,但構造繁雜,占地面積大。圓柱坐標式機械臂:由兩個滑動關節(jié)以及一個旋轉關節(jié)來確定手爪的位置,也可以再附加一個旋轉關節(jié)來確定部件的位置。其位置精度僅次于直角坐標式機械臂,控制簡單,但構造龐大,移動軸的設計復雜。極坐標式機械臂:它由一個滑動關節(jié)以及兩個旋轉關節(jié)來確定手爪的位置,也可以附加一個旋轉關節(jié)來確定部件的姿勢。這類機械臂占地面積小,構造緊湊,但有平衡問題,位置誤差與臂長有關。多關節(jié)式機械臂:其關節(jié)都是旋轉的,類似于人的手臂,是工業(yè)機械臂中最常見的構型。該類機械臂構造緊湊,占地面積小,工作空間大,但是位置精度較差,控制存在耦合,比擬復雜。圖1.3~1.6分別對應以上四種機械臂。圖1.3直角坐標式機械臂圖1.4圓柱坐標式機械臂圖1.5極坐標式機械臂圖1.6多關節(jié)式機械臂1.2機械臂控制的研究內容1.2.1機械臂的驅動方式作為驅動方式,通常采用液壓驅動、氣壓驅動和電機驅動三種類型。液壓式:液壓驅動機械臂通常由液動機〔各種油缸、油馬達〕伺服閥、油泵、油箱等組成驅動系統(tǒng),由驅動機械臂的執(zhí)行機構進展工作[7]。氣壓式:其驅動系統(tǒng)通常由氣缸、氣閥、氣罐和空壓機組成。電動式:電力驅動的機械臂是目前應用最廣泛的一種類型。驅動電機一般采用步進電機、直流伺服電機或交流伺服電機,其中交流伺服電機為目前主要的驅動形式。由于電機速度高,通常還需要減速機構[8]。1.2.2機械臂的機械構造傳統(tǒng)的機械臂系統(tǒng)由于占地面積較大,所以在小空間的環(huán)境下不適用。在一些特殊的環(huán)境下,我們需要一種占地面積小而且活動靈敏的機械臂。要實現(xiàn)機械手臂的控制,首先要分析機械手臂的機械構造,其中動力源以及動力傳遞方法應被予以重視。現(xiàn)在,電力傳動的機械臂得到了廣泛的應用,在動力傳動方式上,有連桿式、齒輪式、繩索式等。以關節(jié)型為主流,80年代創(chuàng)造的適用于裝配作業(yè)的平面關節(jié)型機械臂約占總量的1/2[9]。鑒于汽車、建筑、橋梁等行業(yè)的需要,超大型機械臂應運而生。1.2.3機械臂的控制器選擇一個性能較好的控制器對控制功能的實現(xiàn)來說是十分必要的。工業(yè)控制技術、軟件和硬件技術的開展,為機械臂控制器的選擇提供的充分的條件??删幊炭刂破鳌睵LC〕由于抗干擾能力強,故障率較低,設備易于擴展、維護,開發(fā)周期短等特點,被廣泛應用于工業(yè)場合[10]。但是其本錢很高。數字信號處理器〔DSP〕采用數據和程序別離的哈佛構造和改良的哈佛構造,執(zhí)行指令速度更快,它以處理能力強、內置較大的存儲器、芯片功耗低及配置資源靈活等特點得到了廣泛的應用[11]。但是其本錢較高,高頻干擾很大,功率消耗也很大。FPGA〔Field-ProgrammableGateArray〕靈活,設計周期短的特點使其特別適合用于小批量系統(tǒng),提高系統(tǒng)的可靠性和集成度[12]。但是FPGA的功耗非常大,而且跟硬件的的聯(lián)系非常大,使用起來很有難度[13]。與上述各種微處理器相比,STM32F103ZET6處理器是意法半導體公司STM32系列芯片的一種,STM32F103ZET6采用ARM最新的Corte*-M3內核,具有低本錢、高集成度、低功耗等優(yōu)點[14]。ARM微處理器資源豐富,具有很好的通用性,在很多領域都得到了廣泛的應用。1.2.4機械臂的控制算法應用于機械臂系統(tǒng)控制方法多種多樣,包括傳統(tǒng)的PID控制,現(xiàn)代控制的軌跡控制、模糊控制、自適應控制等。PID控制的實用性很強。只要三個參數配適宜當,便可實現(xiàn)速敏捷、平穩(wěn)準確的控制。工業(yè)生產上的機械臂經常采用示教再現(xiàn)的方式。模糊控制和自適應控制精度高,是現(xiàn)代控制領域中應用廣泛的控制方法,尤其表達在軍工領域和航天領域中。機械臂的研究內容除以上主要內容外,智能化傳感器的應用、機器人的編程語言以及網絡通訊等技術對于機器人系統(tǒng)也有非常重要的意義。1.3嵌入式系統(tǒng)簡介在一般情況下,嵌入式系統(tǒng)是“執(zhí)行特殊功能并受內部控制器控制的設備或系統(tǒng)〞,即“嵌入到對象體系內的特定計算機系統(tǒng)〞?!扒度胄渊?、“專用性〞與“計算機系統(tǒng)〞是嵌入式系統(tǒng)的三個根本要素。它主要負責信號的控制,體積小,可作為一個部件嵌入到所控制的裝置中。它提供用戶接口、有關管理信息的輸入輸出等,使設備及應用系統(tǒng)有較高的智能和性價比。進入微型計算機機時代后,科技人員開場了嵌入式系統(tǒng)的研究,之后迅速進入到獨立開展的單片機時代,隨后又迅速進入到電子技術領域中[15]。嵌入式技術的開展不僅使機器人在微型化、智能化等方面具有更明顯的優(yōu)勢,同時又使機器人的價格大幅降低,實現(xiàn)了機器人在更多領域廣泛的應用。1.4本文的主要工作該設計主要負責四自由度機械臂控制系統(tǒng)相應的軟件、硬件的設計與開發(fā)。該設計以四自由度機械臂為控制根底,以STM32F103ZET6為主控芯片,設計的機械臂控制系統(tǒng),控制精度較高,穩(wěn)定性較強,具體的內容包括如下幾個方面:1.對機械臂系統(tǒng)的硬件設計進展分析,具體的電路以及芯片的選擇進展了較為詳細的介紹,并對其可靠性進展了深入的分析。2.對舵機的控制理論進展了深入的研究,分析討論了控制系統(tǒng)所涉及的主控芯片。3.根據四自由度機械臂需要完成的工作任務,編寫了系統(tǒng)的軟件控制程序,對初始化、運行等模塊展開了較為詳細的介紹,之后對整個系統(tǒng)進展了反復的調試,調試結果說明,所設計的機械臂控制系統(tǒng)可以實現(xiàn)較為準確的控制。2機械臂控制系統(tǒng)的總體方案設計2.1機械臂的機械構造設計臂部構造設計原則作為機械臂的一個重要組成局部,手臂不僅起到支撐被抓物體、手爪和其他關節(jié)的作用,而且還可以驅動手爪抓取物體,并根據事先預定的位置將物體搬運到指定地點[16]。機械臂的構造形式必須基于其運動形式、動作自由度、抓取質量、受力情況和其他的因素來確定,整個系統(tǒng)的總質量比擬大,受力也比擬復雜,其運動部件的質量直接影響到機械臂的剛度和強度。所以,進展手臂的設計時,一般應注意下述要求:〔1〕剛度要大。為了防止機械臂在運動過程中發(fā)生較大的形變,要合理選擇手臂的截面形狀。〔2〕導向性要好。為了防止機械臂在運動過程中發(fā)生不必要的相對運動,臂桿最好設計成方形或是花鍵等形式?!?〕偏重力矩要小。要盡可能減小機械臂運動局部的質量。該設計根據機械臂的功能及搬運工作的任務的特點以及類型,為了使其在一定程度上具有操作的靈活性和運行性能的良好,經過屢次的比擬、討論后,該設計選用多關節(jié)型的機械臂,它不僅具有動作的角度大的優(yōu)點,還可以使機械臂在更大的空間內的運動。2.1.2機械臂自由度確實定機械臂的自由度是一個非常重要的參數,取決于機械臂的類型及其構造,并且在很大程度上直接決定到機械臂能否完成預定的任務。一般來說是根據機械臂的用途來設計機械臂的自由度。自由度越多的機械臂,具有更大的運動的靈活性,通用性也越強,但構造較復雜,難以實現(xiàn)。所設計的搬運機械臂采用四個自由度就可以完成設定的搬運任務。其中機械臂的手臂的旋轉關節(jié)包括腰關節(jié)、肩關節(jié)、肘關節(jié)和腕關節(jié)四個關節(jié)以及末端手爪的開合。2.2工作對象簡介在工業(yè)現(xiàn)場采用機械臂進展的工作對象中袋裝物品和箱裝物品較為是常見的。在一般的情況下,箱裝物品由于具有規(guī)則的外形,多使用吸附式的手爪;而袋裝物品由于具有極易產生形變的特點,多使用夾鉗式或者插板式的手爪。在該設計中,由于受機械臂硬件條件的限制,選擇夾鉗式的手爪搬運箱裝物品。模擬的箱裝物品的長、寬、高分別是55mm、36mm和30mm。在進展工作對象的選擇過程中,共有3種型號可供選擇。其中長、寬、高分別是40mm、36mm、和30mm的工作對象由于超聲波傳感器的反射面較小,所以當其已經運動到指定搬運位置時,傳感器不能準確的檢測到物體,所以控制精度不夠高,放棄采用。而長、寬、高分別是65mm、36mm和30mm的工作對象對于該手爪來說尺寸較大,在抓取和搬運的過程中經常出現(xiàn)掉落的現(xiàn)象,所以沒有采用。2.3機械臂關節(jié)控制的總體方案2.3.1機械臂控制器類型確實定作為機械臂的心臟,機械臂控制器是根據程序指令和從傳感器獲得的傳感信息來控制機械臂完成事先預定的動作或任務的裝置,控制器的性能決定了機械臂控制性能的好壞。從計算機構造、控制方式方面來劃分,機械臂控制器大約可分為3種:單CPU集中控制方式、多CPU分布式控制方式、二級CPU主從式控制方式。〔1〕單CPU集中控制方式:單CPU集中控制系統(tǒng)必須是一個強大的控制系統(tǒng),它的全部控制功能是用一臺功能強大的計算機實現(xiàn)的。Hero-Ⅰ、Robot-Ⅰ等這些時代較早的機器人采用的就是這種單CPU集中控制方式的構造,但由于在控制的過程中需要進展大量的計算,因此這種控制方式的控制速度一般比擬慢?!?〕多CPU分布式控制方式:多CPU分布式控制系統(tǒng)的最大特點就是一個CPU負責控制一個關節(jié)軸,同時在上位機與單軸控制的CPU之間設計了一個并行接口,其主要負責上、下位機的通信,從而保證了數據的可靠傳輸。〔3〕二級主從式控制方式:該控制方式需要主從兩個CPU,即上位機和下位的單片機兩層構造。上位機負責運動軌跡的規(guī)劃、運動學計算等任務,根據預定的位置,計算出各個關節(jié)的運動量,以指令形式傳送給下位的微處理器。下位的微處理器根據指令對各關節(jié)進展運動控制。本課題所設計的機械臂系統(tǒng)基于STM32微處理器,利用STM32強大的運算和處理能力,采用單CPU集中控制方式即可滿足要求。2.3.2機械臂控制系統(tǒng)構造本課題研究的機械臂控制系統(tǒng)采用單CPU集中控制方式,系統(tǒng)框圖如下:計算機J-Link仿真器計算機J-Link仿真器舵機關節(jié)執(zhí)行機構STM32關節(jié)控制系統(tǒng)圖2.1機械臂控制系統(tǒng)構造圖計算機用于完成整個系統(tǒng)的管理、發(fā)送指令、運動軌跡規(guī)劃等。計算機通過J-Link仿真器將程序下載至STM32微處理器,向關節(jié)控制系統(tǒng)發(fā)出位置指令,STM32根據指令輸出PWM波,從而使機械臂的各個關節(jié)轉過指定的角度,進而使其按照預定的軌跡完成搬運任務。2.3.3關節(jié)控制系統(tǒng)的控制策略本課題設計的機械臂關節(jié)控制系統(tǒng)以STM32微處理器為核心,對直流伺服電機〔舵機〕進展較為準確的運動控制。關節(jié)控制系統(tǒng)的工作原理是:STM32微處理器內部的PWM單元產生PWM信號,驅動直流伺服電機旋轉。電機驅動舵機內部的齒輪組,其輸出端帶動一個線性的比例電位器作為位置檢測,該電位器把轉角坐標轉換為一比例電壓反響給控制線路板,控制線路板將其與輸入的控制脈沖信號比擬,產生糾正脈沖,并驅動電機正向或者反向的轉動,使齒輪組的輸出位置與期望值相符,令糾正脈沖最終趨于為0,從而到達使伺服電機的準確定位[17]。該關節(jié)控制系統(tǒng)的主要特點如下:〔1〕使用以Conte*-M3為內核的STM32F103ZET6作為系統(tǒng)的微控制器,與傳統(tǒng)的51單片機相比起來,具有功耗小,運算能力大大增強的優(yōu)點。〔2〕采用直流伺服電機驅動機械臂的各個關節(jié),根據STM32微控制器輸出的PWM控制信號的占空比來確定直流電動機的轉速和轉向,控制起來簡單,準確。2.4本章小結本章介紹了4自由度機械臂的構造形式,根據腰關節(jié)、肩關節(jié)、肘關節(jié)和腕關節(jié)4個旋轉關節(jié)的運動特點,從整體上確定了該機械臂控制系統(tǒng)的控制方案。首先確定了該關節(jié)控制系統(tǒng)采用單CPU集中控制方式,然后說明了關節(jié)控制系統(tǒng)的工作原理,最后介紹了本設計的關節(jié)控制系統(tǒng)的一些主要特點。3機械臂控制系統(tǒng)硬件設計3.1機械臂控制系統(tǒng)概述機械臂控制系統(tǒng)通常要滿足如下幾個根本的要求:〔1〕控制系統(tǒng)的微型化、輕型化和模塊化。因為機械臂的控制系統(tǒng)是安裝在機械臂上的,所以為了安裝的方便和減輕機械臂的負載,控制系統(tǒng)應盡可能實現(xiàn)微型化和輕型化;另外,為了到達系統(tǒng)的各單元之間有要求的獨立性的目的,要盡量實現(xiàn)模塊化?!?〕控制系統(tǒng)的實時性。為了滿足機械臂的輸入輸出信息量大,并且計算量大,同時要保證較高的控制精度的要求,機械臂控制系統(tǒng)必須具有較好的實時性?!?〕系統(tǒng)的穩(wěn)定性和開放性。穩(wěn)定是保證系統(tǒng)正常運行的前提和保證,所以機械臂控制系統(tǒng)必須具有一定的穩(wěn)定性以保證系統(tǒng)的低故障率。此外,為了實現(xiàn)控制系統(tǒng)以后的改良和可以方便的移植到其他的位置,這就要求控制系統(tǒng)具有好的開放性[18]。該機械臂控制系統(tǒng)由主控制模塊、電機驅動模塊和電源模塊組成,每個子模塊的功能如下:主控制模塊:作為該控制系統(tǒng)的核心,包括ARMCorte*-M3內核和有關外圍電路,主要負責完成PWM波〔控制信號〕的輸出。驅動模塊:負責機械臂各個關節(jié)的驅動,由舵機組成。電源模塊:機械臂控制系統(tǒng)采用雙電源供電模式,STM32單片機經過AMS1117-3.3V穩(wěn)壓芯片供電,舵機驅動模塊采用7.2V可充電電池經LM2596DC-DC可調降壓模塊實現(xiàn)供電。3.2微處理器選型微控制器作為機械臂運動控制系統(tǒng)的核心,其性能對控制效果起著至關重要的作用,因此高性能的CPU是必需的。微控制器的選擇對機械臂系統(tǒng)的設計影響很大,所以要在具體分析了該控制系統(tǒng)的特點和要求后選擇適宜的微控制器,應基于整個系統(tǒng)的控制速度及其智能水平兩個方面,以如下幾個方面為重點進展微控制器的選擇:·系統(tǒng)時鐘速度·運算速度·功能·電機控制方式·ROM及ROM的大小·控制板的構造尺寸目前,應用于機械臂的微控制器有很多種,最廣泛的有8/16位單片機和數字信號處理器兩種。選擇8/16位單片機進展控制系統(tǒng)的設計簡單,開發(fā)周期較短,但數據處理能力弱,需要附加很多的外部設備如PID調節(jié)器和PWM發(fā)生器等才能完成較為復雜的控制,而且系統(tǒng)的穩(wěn)定性不強,開發(fā)板尺寸較大。相比于8/16位單片機,數字信號處理器具有處理能力強、速度快、開發(fā)板體積小等特點,但在中斷處理、位處理方面,DSP不如單片機的資料多,而且芯片的價格以及其相應的開發(fā)軟件也比擬貴,針對性性比擬強,但是通用性一般比擬差。具有同等性能的ARM微處理器與DSP相比,資源更加的豐富,通用性明顯增強,它所具有的處理速度快、性價比高、功耗低等優(yōu)點使其得到了廣泛的應用。雖然作為32位的微處理器,但是由于ARM內部具有16位的Thumb指令集,這使其能夠作為16位的單片機使用,卻擁有了32位單片機的處理速度。所以,用單片機和DSP實現(xiàn)的系統(tǒng),ARM都可以實現(xiàn)。在上述分析的根底上,經過反復比擬,本設計采用意法半導體公司的STM32處理器,如圖3.1所示。STM32F103ZET6是基于32位ARMCorte*-M3內核的微處理器,不但支持實時仿真,而且嵌入了512KB的高速閃存。CPU的最高工作頻率為72MHz,支持Thumb-2。圖3.1STM32STM32的主要特性如下[19~22]:·內核為ARM32位的Corte*-M3CPU:·存儲器:512KB的閃存程序存儲器;64KB的SRAM;帶4個片選的靜態(tài)存儲器控制器。支持CF卡、SRAM、PSRAM、NOR和NAND存儲器?!r鐘、復位和電源管理:·低功耗:·3個12位的模/數轉換器:3倍采樣和保持功能;溫度傳感器?!?通道12位D/A轉換器?!?2通道DMA控制器:·調試模式:串行單線調試和JTAG接口;Cotte*-M3內嵌跟蹤模塊。·112個快速I/O端口。·11個定時器。·13個通信接口?!RC計算單元,96位的芯片唯一代碼。3.3主控制模塊設計該設計的主控制模塊的硬件系統(tǒng)包括電源電路、復位電路、系統(tǒng)時鐘電路以及JTAG調試電路四大組成局部。3.3.1電源電路在硬件電路的設計中,電源模塊的設計是非常重要的,如果不能妥善處理,不但會使電路不能正常工作,嚴重的還可能燒毀電路。因此,在設計電源時務必要注意如下幾點:〔1〕交流輸入和直流輸出盡可能保持更大的距離;〔2〕地線要足夠粗,單點和多點相結合,同時別離模擬地和數字地;〔3〕散熱要好,布局應適宜;圖3.2電源電路圖STM32開發(fā)板支持的供電方式主要有3種,分別是:·USB接口供電,最大為500mA·外部直流5V供電·JLINKV8電源,包括兩種方式5V和3.3V如上圖所示,當電源開關撥到下面時,開發(fā)板由外部接口供電。板上的電源轉換芯片將USB接口輸入的5V電源轉換成3.3V的電源,給處理器和相關外圍電路供電。當電源開關撥到上面時,開發(fā)板由USB接口供電。板上的電源轉換芯片將USB接口輸入的5V電源轉換成3.3V的電源,給處理器和相關外圍電路供電。3.3.2復位電路圖3.3復位電路圖如上圖所示,B1為整個板的復位按鈕,當按鈕被按下時,STM32處理器、液晶、以太網和音頻解碼芯片等都將復位。3.3.3時鐘電路STM32的VBAT的供電是由CR1220紐扣電池以及外部電源混合完成的,在有外部電源〔VCC3.3〕的情況下,CR1220紐扣電池不給VBAT供電而由外部電源實現(xiàn)供電。但是,當外部電源斷開的情況下,CR1220紐扣電池負責給VBAT供電。這樣,VBAT總是有電的,以保證RTC的走時以及后備存放器的內容不喪失。相關電路如下:圖3.4時鐘電路圖3.3.4JTAG調試電路軟件程序的編寫通常是需要屢次的修改才適用的,因此一些比擬先進的調試手段便應運而生。JTAG仿真調試手段作為其中的一種,是由ARM公司提出的。如下列圖所示:圖3.5JTAG調試電路圖通過JTAG接口,我們可以燒錄和調試程序,開發(fā)板的JTAG接口的硬件連接如上圖所示,可以與目前主流的JLINKV8仿真器配合使用。3.4驅動模塊設計該機械臂控制系統(tǒng)包括四個旋轉的腰關節(jié)、肩關節(jié)、肘關節(jié)和腕關節(jié),以及末端手爪的運動,相應的要五個動力源才能完成目標作業(yè)。如第一章所述,廣泛使用的驅動方式主要包括液壓驅動、氣壓驅動和電機驅動。三者各有自己的優(yōu)點和缺點,通常對機械臂的驅動系統(tǒng)的要求有:〔1〕驅動系統(tǒng)的質量不應太重,效率也應較高;〔2〕響應速度快;〔3〕動作靈活,位移偏差以及速度偏差均較??;〔4〕平安可靠;〔5〕操作和維護方便;〔6〕經濟合理,占地面積要盡可能的小?;谏鲜鲵寗酉到y(tǒng)的特點和該機械臂驅動系統(tǒng)的設計要求,該設計選用直流伺服電機負責機械臂各個關節(jié)的驅動。該設計選用的舵機型號為分別MG995、MG945,如圖3.2、3.3,其參數如下:MG995:〔1〕尺寸:40mm×20mm×36.5mm〔2〕重量:62g〔3〕技術參數:無負載速度0.17秒/60度(4.8V)、0.13秒/60度(6.0V)〔4〕扭矩:13KG〔5〕使用溫度:-30~~+60攝氏度圖3.6MG995舵機MG945:〔1〕尺寸:40mm×20mm×36.5mm〔2〕重量:70g〔3〕技術參數:無負載速度0.23秒/60度(4.8V)、0.20秒/60度(6.0V)〔4〕扭矩:13KG〔5〕使用溫度:-30~~+60攝氏度圖3.7MG945舵機一般來說,舵機是由舵盤、減速齒輪組、位置反響電位計、直流電機、控制電路板等幾個重要局部組成的。信號線把來自于微控制器的控制信號傳輸到舵機的控制電路板,控制電路板根據相應的控制信號控制電機的轉動,同時電機帶動齒輪組隨之轉動,經減速機構減速后傳動到輸出舵盤。由于舵機的輸出軸和位置反響電位計是連接在一起的,所以在舵盤轉動的時候會帶動位置反響電位計,電位計根據當前位置將一個電壓信號反響到控制電路板,然后控制電路板根據電位計反響回來的數據決定電機后續(xù)的轉動方向和速度,從而使舵機運動到指定的位置后停頓運動,可以實現(xiàn)對位置的準確控制。3.5電源模塊設計機械臂控制系統(tǒng)采用雙電源供電模式,STM32單片機經過AMS1117-3.3V穩(wěn)壓芯片供電,舵機驅動模塊采用7.2V可充電電池經LM2596DC-DC可調降壓模塊實現(xiàn)供電。AMS1117是正向低壓降的穩(wěn)壓器,在1A電流下產生1.2V的壓降。它的內部所集成有過熱保護和限流電路,因此是電池供電和便攜式計算機的最正確選擇。其特點是:固定的3.3V輸出電壓,具有1%的精度;低漏失電壓;限流功能;過熱切斷;溫度*圍-40°C~125°C。經常被應用于筆記本電腦,掌上電腦,電池充電器,手機,電池供電系統(tǒng),便攜式設備等。由AMS1117-3.3V芯片構成的3.3V穩(wěn)壓電路如圖3.8所示。圖3.83.3V穩(wěn)壓電路LM2596開關電壓調節(jié)器是降壓型電源管理單片集成電路,可以輸出最高達3A的驅動電流,同時也有良好的線性和負載調節(jié)特性??烧{型的LM2596甚至可以輸出低于37V的各種電壓。LM2596的特性如下:輸出電壓可調,可調*圍為1.2V~37V,誤差*圍4%;輸出特性有良好的線性,并且負載可以調節(jié);驅動能力較強,輸出電流可高達3A,輸入電壓可高達40V;采用150kHz的內部振蕩頻率,屬于第二代開關電壓調節(jié)器;功耗小、效率高,具有過熱保護和限流保護功能等。常用于高效率降壓調節(jié)器,單片開關電壓調節(jié)器,正、負電壓轉換器等。由LM2596構成的5V穩(wěn)壓電路如圖3.9所示。圖3.95V穩(wěn)壓電路3.6傳感器模塊設計本設計采用HC-SR04超聲波測距模塊,檢測物體距離超聲波傳感器的距離。當物體到達指定位置時,控制器發(fā)出指令,使機械臂完成動作。HC-SR04超聲波測距模塊由超聲波發(fā)射器、超聲波接收器與控制電路等三局部組成。它的根本工作原理如下:首先,采用TRIG端口觸發(fā)測距信號,產生至少10μs的高電平信號;然后,超聲波發(fā)射器自動發(fā)送8個40KHz的方波信號,接收器檢測是否有反射的信號返回;如果有信號返回,超聲波模塊通過ECHO端口輸出一個高電平,高電平的持續(xù)時間就是超聲波從發(fā)射到返回的時間。其時序圖如下。圖3.10超聲波時序圖3.7本章小結本章首先對機械臂的關節(jié)控制系統(tǒng)的硬件組成進展了說明,然后按照模塊化的設計思想,分別對以ARM微處理器STM32F103ZET6為核心的主控制模塊、由直流伺服電機組成的驅動模塊和采用7.2V可充電電池、AMS1117-3.3V穩(wěn)壓芯片和LM2596DC-DC可調降壓模塊組成的電源模塊和超聲波傳感器模塊的工作原理和設計進展了仔細的分析和討論,并給出了相應模塊的實際的電路圖或原理圖。4機械臂控制系統(tǒng)軟件設計如果將硬件比作是機械臂控制系統(tǒng)的身體,則就可以把軟件比作是是整個控制系統(tǒng)的大腦,將連接人的思維與系統(tǒng)硬件連接在一起。軟件系統(tǒng)的優(yōu)劣關系到整個機械手系統(tǒng)的正常運行、硬件功能的發(fā)揮以及控制性能的優(yōu)劣等[23]。因此,在進展軟件程序的設計之前,必須要先了解整個機械臂控制系統(tǒng)的根本要求,主要有以下三點要求:〔1〕實時性:電機控制一般都是實時控制,則,軟件就必須是實時控制軟件。實時意味著計算機必須在一定的期限內,完成一系列的處理過程。〔2〕可靠性:可靠性是指在運行過程中,系統(tǒng)防止故障發(fā)生,以及故障發(fā)生后排除解決故障的能力。因此,為了提高軟件的可靠性,在軟件設計過程中必須充分考慮電機在運行中出現(xiàn)的不正常現(xiàn)象?!?〕維護方便:好的控制軟件不是一次設計、調試就可以應用的,往往是一邊設計一邊調試,經過屢次修改才能到達控制要求。所以在開場整體設計時,就必須有好的構造,以提高軟件調試的效率,并保證完成的軟件具有構造簡單、清晰的優(yōu)點。為了能夠使系統(tǒng)調試更加順利以及功能擴展更加方便,該機械臂控制系統(tǒng)的軟件采用模塊化構造設計,包括系統(tǒng)時鐘與Systick定時器模塊,串口通訊模塊,PWM〔TIM2〕波輸出模塊,超聲波傳感器模塊和計數〔TIM4,NVIC〕模塊。主程序分為初始化和運行兩個模塊,在程序上電后初始化模塊運行一次,運行模塊主要用于電機的控制。4.1初始化模塊設計初始化模塊主要負責完成如下工作:系統(tǒng)時鐘控制存放器RCC的配置,SysTick定時器,TIM定時器,通用輸入輸出接口GPIO,嵌套向量中斷控制器NVIC,PWM波輸出,超聲波傳感器模塊的初始化。采用庫函數進展編程。4.1.1系統(tǒng)時鐘控制STM32CPU的時鐘源可以來自內部高速振蕩器〔HSI〕、外部高速振蕩器〔HSE〕或者內部鎖相環(huán)〔PLL〕。鎖相環(huán)需要以HSI或HSE作為時鐘來源,兩者的差異在于內部高速震蕩器HSI不能產生穩(wěn)定的8MHz的時鐘頻率。為了獲得最大的工作頻率,都會通過鎖相環(huán)配置出最大的72MHz頻率,供給Corte*-M3內核使用。在復位操作之后,首先開啟HSE并等待其穩(wěn)定,從而作為PLL的輸入。其次,確定鎖相環(huán)倍頻數,使內核工作在最大頻率下。該設計以8MHz的HSE作為時鐘源,PLL倍頻數需要設置為6才能使PLL恰好輸出48MHz的頻率。在PLL設置好后,Corte*-M3內核就以72MHz的頻率運行了,此時,還需要通過改變總線控制存放器設置AHB和APB總線頻率。AHB和APB2的最高頻率是72MHZ。APB1的最高允許頻率是36MHZ。圖4.1STM32時鐘樹本局部的程序流程圖如下:開場開場復位系統(tǒng)時鐘設置開啟外部振蕩器HSE是否成功起振并穩(wěn)定?YN選擇AHB,APB1,APB2頻率使能鎖相環(huán)PLL等待PLL輸出穩(wěn)定,成為時鐘源完畢圖4.2系統(tǒng)時鐘初始化流程圖與該流程圖相對應的程序設計見附錄C。4.1.2SysTick定時器SysTick,即系統(tǒng)節(jié)拍時鐘,它作為ARMCorte*-M3內核的一個內設,和STM32微控制器之間并沒有必然的聯(lián)系。SysTick的存在既能夠提供必要的系統(tǒng)節(jié)拍,為實時操作系統(tǒng)的任務調度提供一個有節(jié)奏的“心跳〞,進而提高可靠性,又方便了程序在不同器件間的移植。系統(tǒng)初始化時,RCC通過AHB時鐘(HCLK)8分頻后作為Corte*系統(tǒng)定時器(SysTick)的外部時鐘。通過對SysTick控制與狀態(tài)存放器的設置,可選擇上述時鐘或Corte*(HCLK)時鐘作為SysTick時鐘。系統(tǒng)嘀嗒校準值固定為9000,當系統(tǒng)嘀嗒時鐘設定為9MHz(HCLK/8的最大值),產生1ms時間基準。本局部的程序流程圖如下:開場開場設置Systick重裝載時間失能Systick定時器設定中斷函數,獲取節(jié)拍使能Systick定時器完畢圖4.3SysTick定時器初始化流程圖與該流程圖相對應的的程序設計見附錄C。4.1.3TIM定時器STM32微控制器具備高級定時器TIM1和TIM82個,通用定時器TIM2、TIM3、TIM4和TIM54個以及根本定時器TIM6和TIM72個,再加上RTC和Systick定時器,總數量到達了10個。根本定時器可以為用戶提供準確的時間參考;通用定時器不僅具備時間參考功能,還具有輸入捕捉、輸出比擬、單脈沖輸出、PWM輸出功能和正交編碼器的特點;高級定時器更是參加了可以產生帶死區(qū)控制的互補PWM信號、緊急制動、定時器同步等高級特征,并最多可以輸出6路PWM信號,可謂是意法半導體賦予STM32的王牌。本設計采用TIM2、TIM3的PWM輸出功能和TIM4的計數功能。本局部的程序流程圖如下:開場開場配置PWM輸出引腳設置定時器TIM2各輸出通道占空比設置定時器TIM3輸出通道1占空比延時1000ms,等待手臂初始化完成設置定時器TIM4計數模式完畢圖4.4TIM定時器初始化流程圖與該流程圖相對應的的程序設計見附錄C。4.1.4通用輸入輸出接口GPIOGPIO可以說是STM32最常用的外設。STM32F103ZET6提供多達112個雙向GPIO,分別分布在A~G這7個端口中。每個端口又包括16個GPIO,都可承受5V的壓降。GPIO可通過配置存放器工作在如下8種模式:浮空輸入、帶上拉電阻的輸入、帶下拉電阻的輸入、模擬輸入;開漏輸出、推挽輸出、復用推挽輸出、復用開漏輸出。該設計中將PA0、PA1、PA2、PA3、PA6作為PWM波的輸出口;PA4、PA5作為LED顯示接口;PA7、PA8作為超聲波傳感器信號的接收發(fā)送接口;PB6、PB7分別作為串口的發(fā)送接收接口。4.1.5超聲波傳感器模塊首先,STM32的PA7端口接超聲波傳感器的TRIG口,觸發(fā)測距信號,發(fā)出10us的高電平信號;然后,超聲波發(fā)射器自動發(fā)送8個40KHz的方波,接收器檢測返回信號;然后,PA8端口接的ECHO發(fā)給STM32微控制器一個高電平,用TIM4來測量高電平的持續(xù)時間。本局部的程序流程圖如下:開場開場配置超聲波模塊引腳配置并使能TIM4觸發(fā)超聲波模塊發(fā)射方波,TIM4開場計數觸發(fā)超聲波模塊收到反射波,TIM4停頓計數完畢圖4.5超聲波模塊初始化流程圖與該流程圖相對應的的程序設計見附錄C。4.2運行模塊設計運行模塊的主要任務是:控制器輸出PWM波控制舵機的轉向及角度,進而實現(xiàn)對各個關節(jié)的位置控制。主要工作流程為:在系統(tǒng)上電后,超聲波傳感器進展循環(huán)掃描,檢測工件是否到達指定位置,假設到達指定位置,機械臂的各個關節(jié)開場運動,完成搬運動作,否則繼續(xù)掃描。完成一次搬運后,機械臂回到起始位置,進入等待狀態(tài),直到下一次動作。流程圖如下:將工件搬運到位置1將工件搬運到位置1YY開場RCC,SysTick,TIM,NVIC,GPIO初始化產生PWM波傳感器檢測物件到位N搬運到位置1將工件搬運到位置2Y搬運到位置2N完畢將工件搬運到位置3N圖4.6系統(tǒng)流程圖運動子程序、宏定義和相關定義以及完整程序見附錄C。4.3本章小結本章首先介紹了軟件控制的總體思想,從宏觀上分為初始化模塊和運行模塊;然后分別對各個模塊的程序進展設計。其主要內容包括:系統(tǒng)初始化程序設計和基于PWM波的舵機機制程序設計以及相應的配置。5系統(tǒng)的整機調試作為開發(fā)過程中的重要環(huán)節(jié),系統(tǒng)整機調試對系統(tǒng)運行過程中控制效果的好或是壞有著至關重要的作用,所以,必須進展系統(tǒng)軟件、硬件的調試。也就是說一個良好的機械臂控制系統(tǒng)必須經過系統(tǒng)調試才能到達控制系統(tǒng)預期的目的[24]。因為機械臂工作在高風險的環(huán)境下,所以它必須是可靠的,對于這樣的硬件,其穩(wěn)定性要求必須很高。一般的情況下首先進展硬件的調試,只有在確定了硬件電路正常的前提下,進展軟件的調試才是有意義的。所以,硬件、軟件的調試在整個系統(tǒng)的調試過程中都是非常重要的。5.1硬件調試控制系統(tǒng)的硬件主要包括如下幾局部:1.機械局部;2.電源及穩(wěn)壓模塊;3.直流伺服電機;4超聲波傳感器;5主控制器。對于機械局部,對應原理圖,將機械局部以及舵機安裝起來,組裝成品,檢查零件安裝是否適宜,松動要繼續(xù)固定,直到滿意為止。如圖5.1所示。圖5.1機械臂成品對于電源及穩(wěn)壓模塊,采用萬用表測量的方法確定電源電壓適宜以及穩(wěn)壓模塊正常工作。對于舵機,采用舵機測試儀檢測和設定舵機的虛位、中位和抖動,用手左右旋轉確定舵機均具有180度轉角。對于超聲波傳感器模塊,將測試程序寫入控制芯片中,通過串口顯示的數據確定該模塊正常工作。對于主控制器,將其自帶的芯片相應的初始化程序下載至STM32芯片里,然后隊所需要的各個引腳的輸出狀況進展測試,如果各個引腳的輸出正確,就可以證明芯片是正常的。測試所有硬件局部均正常后,用杜邦線將其按電路原理圖連接起來,同時注意布線的整齊以及不能影響機械臂的正常工作。5.2軟件調試軟件調試的主要任務是通過反復試湊確定PWM波的占空比,進而確定各個關節(jié)運動到指定位置需要轉過的角度。經反復試湊,各個關節(jié)在整個過程中運動到指定位置的占空比方以下各表。表5.1機械臂各關節(jié)運動到指定位置的占空比關節(jié)占空比*1000動作腰關節(jié)肩關節(jié)肘關節(jié)腕關節(jié)手爪-90到+90的理論值25~12525~12525~12525~12525~125-90到+90的實際值41~9524~10341~9641~9658~76直立狀態(tài)6661696976直立狀態(tài)如圖5.1所示。表5.2機械臂完成動作1各關節(jié)運動到指定位置的占空比關節(jié)占空比*1000動作腰關節(jié)肩關節(jié)肘關節(jié)腕關節(jié)手爪抓取過程6645808573放置過程16658708573放置過程28956859658將工件搬運到位置1的分解動作如下列圖所示。圖5.2位置1—抓取過程圖5.3位置1—放置過程表5.3機械臂完成動作2各關節(jié)運動到指定位置的占空比關節(jié)占空比*1000動作腰關節(jié)肩關節(jié)肘關節(jié)腕關節(jié)手爪抓取過程6645808573放置過程16658708573放置過程24557828858將工件搬運到位置2的分解動作如下列圖所示:圖5.4位置2—抓取過程圖5.5位置2—放置過程表5.4機械臂完成動作3各關節(jié)運動到指定位置的占空比關節(jié)占空比*1000動作腰關節(jié)肩關節(jié)肘關節(jié)腕關節(jié)手爪抓取過程6645808573放置過程16658708573放置過程26680555058將工件搬運到位置3的分解動作如下列圖所示:圖5.6動作3—抓取過程圖5.7動作3—放置過程在進展硬件和軟件的單獨調試后,按照系統(tǒng)整體連接原理圖和器件具體接口及功能,將電源、穩(wěn)壓模塊、超聲波傳感器模塊、舵機及控制器進展整體連接。應用STM32開發(fā)軟件Keil,通過J-Link仿真器將控制程序寫入控制器,觀察開發(fā)板上的電源指示燈及軟件上的提示,等程序下載完成后,即可按復位鍵進展搬運動作的操作。翻開電源模塊的開關和開發(fā)板上的電源開關,即可聽到控制手爪的舵機發(fā)出輕微的響聲,同時手爪有小幅度的*合動作,這是超聲波傳感器循環(huán)掃描的結果。即可初步判斷連接正確,并且舵機也得到了電力供給。移開工件不斷接近指定位置,機械臂沒有動作。當工件到達指定位置時,超聲波傳感器發(fā)送控制信號給控制器,機械臂動作,完成抓取、搬運、放置一系列動作后,回到初始位置進入等待狀態(tài)。整個調試的過程中,由于受到來自系統(tǒng)內部以及外部的各種干擾,各個關節(jié)旋轉的角度有輕微的誤差,其中引起位置誤差最嚴重的因素是由于采用可調降壓器而使整個系統(tǒng)在運行過程中電壓不穩(wěn)。解決的方法是在調試前先用萬用表測量關節(jié)驅動系統(tǒng)的輸入電壓,進展校正,在進展幾次調試確定系統(tǒng)比擬準確后再投入使用。將物體搬運到各個指定位置的具體誤差如下:位置1的長和寬分別為45mm和32mm,系統(tǒng)將物體搬運到位置1后,在長度方面放置的很準確;寬度方面,會超出指定*圍2mm,產生6.25%的誤差。位置2的長和寬分別為47mm和33mm,系統(tǒng)將物體搬運到位置2后,在長度方面放置的很準確;寬度方面,會超出指定*圍2mm,產生6.06%的誤差。位置3的長和寬分別為53mm和35mm,系統(tǒng)將物體搬運到位置3后,在長度方面,會超出指定*圍3mm,產生5.67%的誤差;寬度方面,會超出指定*圍2mm,產生5.71%的誤差。5.3故障原因及解決方法在進展整機調試的過程中,并沒有很順利,其中出現(xiàn)過很多問題。當調試出現(xiàn)問題時,一般的步驟是先進展硬件的單獨調試以及硬件間接線的檢查,當確定硬件沒有問題后再檢查程序是否正確。我們將設計中遇到的問題以及他們的解決方案列舉出來:1.當系統(tǒng)以及單片機供電后,將程序通過J-Link仿真器下載至開發(fā)板,按下復位鍵后,本應直立的機械臂并沒有直立,肩關節(jié)處有明顯的彎曲,同時舵機發(fā)出嗡嗡的聲音。當用手將機械臂拉直后,這種聲音就沒有了。以上現(xiàn)象說明肩關節(jié)舵機的扭力不是足夠大能使其直立,所以更換了MG945舵機。在進展舵機的選型時,扭力是一個重要數據,要充分考慮工件的重量以及機械臂的自重,在留有一定余量的前提下選擇舵機。2.當系統(tǒng)以及開發(fā)板供電后,通過指示燈初步判斷沒有異常后,按下復位鍵,整個系統(tǒng)沒有按正常程序工作,經仔細排查,發(fā)現(xiàn)控制器和機械臂之間沒有共地,將硬件做稍微的改變,控制器和機械臂實現(xiàn)共地后該問題就得以解決。因為如果控制器和機械臂之間沒有共地時,舵機就無法正確識別控制器輸出的PWM波的上下電平,進而導致其不能正常工作。3.在調試的過程中,偶爾會出現(xiàn)當工件沒有接近指定位置時,超聲波傳感器就將信號傳遞給控制器,導致機械臂動作。當遇到這個問題時,仔細檢查超聲波傳感器返回的數據,并繪制成折線圖,發(fā)現(xiàn)毛刺現(xiàn)象非常嚴重。通過查閱資料得知,超聲波反射時,反射面的大小、角度、凹凸程度都會影響反射波的頻率,甚至產生駐波。因此,將工件進展打磨、拋光,并在軟件上參加數字濾波程序,上述問題才得以解決。4.在最初的幾次調試過程中,工件到達指定位置時,機械臂剛有去抓取工件的趨勢,卻又立即回到原位,并不斷重復先后擺動。檢查超聲波傳感器返回的數據后,發(fā)現(xiàn)毛刺現(xiàn)象非常嚴重,距離的上一個測量值在動作*圍以內,下一個測量值就超出了該*圍,因而會有上述現(xiàn)象產生。在軟件上參加數字濾波程序后,上述問題就得以解決了。5.在進展屢次調試后,經常出現(xiàn)整個系統(tǒng)不按正常程序工作的現(xiàn)象。斷電檢查沒有發(fā)現(xiàn)任何問題,然而當再次出現(xiàn)這種問題的同時用萬用表測量電源電壓,發(fā)現(xiàn)帶載電壓過低,而斷電后測量,空載電壓正常,說明整個機械臂系統(tǒng)工作時是一個很大的負載,并且當電源電壓較低時,舵機無法正常工作。所以,在該系統(tǒng)應用的過程中應按時給電池充電,并適當提高降壓模塊的輸出電壓。6.在進展整機調試的過程中,由于末端手爪以及被搬運的物體的外表較光滑,經常出現(xiàn)在將物體搬運至位置3的過程中,物體出現(xiàn)翻轉的現(xiàn)象;為解決這個問題,要增加末端手爪的摩擦力,解決的方法是在末端手爪上附加一層橡膠。采用這種方法后,在搬運過程中物體翻轉的現(xiàn)象就沒有再發(fā)生。5.4本章小結本章詳細描述了該機械臂系統(tǒng)硬件五大局部:機械局部、電源及穩(wěn)壓模塊、直流伺服電機、超聲波傳感器和主控制器的調試過程和結果;軟件局部的調試過程及結果。最后,對整個調試過程中出現(xiàn)的故障進展描述和分析,并且通過反復試驗,最終找出錯誤所在,并給出了合理的解決方案。結論機械臂控制系統(tǒng)是當今社會的一項非常重要的研究課題,盡管其開展已經有了一段很長的歷史,但是其開展并不完全成熟。無論是學術界、工業(yè)還是在教育教學方面都一直在進展著這方面的研究,距離成熟階段還要有一段時間。本設計是基于STM32四自由度機械臂驅動系統(tǒng)的設計,以四自由度機械臂為控制對象,以意法半導體公司的STM32系列芯片STM32F103ZET6為主控芯片,輔以可調降壓轉換電路、串口顯示和超聲波傳感器進展了系統(tǒng)的硬件的設計和研究,并在此根底上,采用先進的控制理論,以正確的控制方法為指導,進展了系統(tǒng)的軟件設計。在整個系統(tǒng)的設計中,硬件的設計是本論文研究的重點,芯片的選型是系統(tǒng)硬件設計的保證,并且輔以可靠性分析為指導,保證了系統(tǒng)運行的可靠性和穩(wěn)定性。通過編寫控制程序,使主控制器輸出PWM波實現(xiàn)對各個關節(jié)位置的控制。實驗結果說明,本文設計的基于STM32的四自由度機械臂控制系統(tǒng)能夠滿足中小型機器人控制器的性能要求,在操作靈活度、控制精度、易操作性等方面都表現(xiàn)出良好的性能。然而,仍有一些缺乏之處需要進一步的改良?!?〕機械臂和傳感器改造。作為控制對象,其本身構造、性能直接決定實際運行效果。木文采用的機械臂,尤其機械臂手爪局部更要進一步改良,參加壓力等傳感器,為控制提供較為完整的信息?!?〕自動控制算法的完善研究。為了實現(xiàn)機械臂自動協(xié)調運行,需要有更加完善的控制算法,尤其在輸入參數和機械臂逆向運動方程求解方而,需要更加優(yōu)化的算法,使計算出的控制參數更加準確和完整。鑒于上述情況,在以后的工作中,我們應該不斷改良、完善,以提高該機械臂系統(tǒng)的穩(wěn)定性以及可靠性。致謝在本論文完成之際,首先要感謝的是我的導師***教師的諄諄教導和耐心的指導。在整個設計階段,導師對我的設計做了全面的指導和生活上的熱情關心,使我不僅在專業(yè)理論方面有了很大的提高,更重要的還是使我在動手能力、科研實踐能力上有了很大的進步;***教師嚴格的教學作風,做人的原則,對工作的認真負責是我們以后在工作和學習上的典范。我還要感謝我的所有同學們的熱情關心和無私幫助,生活上他們給予了很大的關心,學習上給過很大的幫助,撰寫論文時他們又給過很多很好的建議。在課題設計階段,尤其應該感謝的是***同學的幫助,在研究過程中他給了很多的意見和建議。最后,感謝多年來一直培養(yǎng)教育我的父母和教師們,正是有了他們的指導和教導才成就了今天的我,他們的無私奉獻是我永遠也報答不完的。再一次向所有關心、幫助我的人表示衷心的感謝!參考文獻李團結.機器人技術[M].:電子工業(yè),2009:1.李明.機器人[M].**:**科學技術,2012:3.黃賢新.工業(yè)機器人機械手設計[J].裝備制造技術,2012,(3)220-225.郭益友.工業(yè)機械臂在機械制造工藝中的開展及應用[J].**職業(yè)技術學院學報,2002,2(2)36-38.方龍,陳丹,肖獻保.基于單片機的機械手臂控制系統(tǒng)設計[J].計算機與信息技術,2012,08(08)89-90.任美玲.機械臂的研究與進展[J].出國與就業(yè),2012,(2)84-85.*少麗.淺談工業(yè)機械手設計[J].工業(yè)自動化,2011,40(07)45-46.*忠,朱浩等.工程機械臂新型液壓驅動技術研究與仿真[J].中國機械工程,2012,23(23).胡睿智.五自由度機械手臂及控制系統(tǒng)的設計[D].**:東北大學,2011:5.黃輝先,文美純.多自由度機械手PLC控制[J].機床與液壓,2001,(05)92-94.金偉.基于DSP的機械臂控制系統(tǒng)設計[J].自動化與儀器儀表,2001,(03)30-32.*鵬飛,韓九強,周挺.基于多DSP的六自由度機器人伺服控制系統(tǒng)研究[J].微電子學與計算機,2005,22(08)5-9.曹歡.基于ARM和FPGA的多自由度機械臂控制系統(tǒng)設計[D].**:華東理工大學,2011:7.庫少平,*晶.基于STM32F10*和MDK的步進電機控制系統(tǒng)設計[J].**理工大學學報,2009,31(03)107-110.*珊珊.基于ARM處理器的鉆孔機械臂控制系統(tǒng)研究[D].**:**理工大學,2009:5-6.高微,楊中平,趙榮飛.機械手臂構造優(yōu)化設計[J].機械設計與制造,2006,(01)13-15.賈偉濤.單片控制機械手臂的設計與制作[J].實用電子制作—機電制作,2006,(05)33-34.王迪.基于ARM的采摘機器人關節(jié)運動控制研究[D].**:東北林業(yè)大學,2009:12.黃智偉,王兵,朱衛(wèi)華.STM32F32位ARM微控制器應用設計與實踐[M].:航空航天大學,2012:3-4.STMicroelectronicsRM0008ReferencemanualSTM32F101**,STM32F102**,STM32F103**,STM32F105**andSTM32F107**advancedARM-based32–bitMCUs[EB/OL]..st..STMicroelectronicsSTM32F101**,STM32F102**,STM32F103**,STM32F105**和STM32F107**,ARM內核32位高性能微控制器參考手冊[EB/OL]..st..STMicroelectronics數據手冊STM32G103*CSTM32G103*DSTM32G103*E[EB/OL].://.st..程立艷.五自由度機械手的抓取設計[D].**:西華大學,2012:51.李磊.六自由度機械臂控制系統(tǒng)設計[D].**:**工程大學,2007:66.焦保存.基于四自由度機械臂控制系統(tǒng)的設計與研究[D]**:**電子科技大學,2009:59.附錄附錄A中文譯文A用于平安且方便的人機合作的工業(yè)機器人的開展摘要:本文主要論述了用于平安且方便的人機合作的機械臂的開展。到目前為止,對于沒有受過機械臂操作培訓的工人來說,機械臂仍然是難以操作的。此外,目前的大多數工業(yè)機械臂被用于隔離的生產環(huán)境中,因為它可能會傷害系統(tǒng)附近的操作人員。為此,本文研究的最終目標是:研究即使是沒有受過培訓的工人也能熟練使用,并且能夠保證在其附近工作的操作人員的平安的機械臂。本文主要介紹了機械臂的機械構造,并且對機械臂的教學方法——直接教學法也有所介紹。關鍵詞:智能執(zhí)行器,扭矩傳感,直觀教學,平安機器人機械臂。1.簡介到目前為止,對于沒有受過機械臂操作培訓的工人來說機械臂仍然是難以操作的。此外,目前的大多數工業(yè)機械臂被用于隔離的生產環(huán)境中,因為它可能會傷害系統(tǒng)附近的操作人員。為了克制這些問題,我們研究的直接教學方法,使即使是沒有受過專業(yè)培訓的工人也能熟練操作機械臂;同時,我們研究的更加平安的方法,使機械臂能夠檢測到危險的情況,同時能夠做出正確的反響以確保操作人員的平安。在本文中,介紹了機械臂的設計理念、單自由度扭矩傳感器的智能驅動模塊。智能驅動模塊,可以檢測由外力引起的扭矩,檢測到的扭矩可用于平安地操作機械手。最后,介紹了用于機械臂的直接教學算法。2.設計理念目前的機械臂都有一個智能驅動模塊,也就是在機械臂的內部有一個控制器。但在本項研究中,驅動模塊內部并沒有控制器,但我們稱之為智能執(zhí)行器是因為它有一個特殊的能力來檢測由外部環(huán)境引起的扭矩。例如,如果工人轉動軸,它可以檢測由工人引起的外部轉矩。如果檢測到的外部轉矩用于控制轉軸按控制器的指示運動,執(zhí)行機構必須遵守扭矩控制。如果檢測到的外部轉矩是由機械臂與操作者之間的碰撞引起的,轉軸應被控制,以減少檢測到的外部力矩來保護操作者。由此,智能驅動模塊被開發(fā),如圖1所示。圖1帶有單自由度扭矩傳感器的智能執(zhí)行器隨著驅動模塊的開發(fā),出現(xiàn)了六軸機器人機械臂。對于每個軸,如圖1所示的驅動模塊將被嵌入到機械臂的各個軸用以檢測由外部環(huán)境引起的外部轉矩。如果扭矩傳感器位于末端執(zhí)行器,機械臂可以檢測出加載在端部執(zhí)行器的力矩,但它不能檢測到除了機械臂末端執(zhí)行器以外的加載在整個身體上其他部位的力矩。圖2為這種機械臂及其控制系統(tǒng)。圖2帶有圖1中智能執(zhí)行器的機械手用于驅動模塊的外部轉矩檢測,單自由度的扭矩傳感器是足夠的。如圖3所示。圖3單自由度的扭矩傳感器扭矩傳感器在關節(jié)軸〔Z軸〕讀取單自由度扭矩信號。但是,當出現(xiàn)3自由度的力或加載在*,Y軸的2自由度的力矩時,那些信號干擾轉矩傳感器的關節(jié)軸的輸出信號,機器人控制器便不能準確的測量在z軸方向的轉矩信號。因此,一對穿插滾子軸承被安裝在1自由度的轉矩傳感器上,防止3自由度的力和在*,Y軸的2自由度的力矩干擾z軸的扭矩傳感器信號圖,如圖4所示。在圖4中,你可以看到轉矩傳感器和穿插滾子軸承是如何配備在智能執(zhí)行器模塊上的。在這種構造中,唯一的關節(jié)軸轉矩信號,如圖4所示,會影響轉矩傳感器的輸出,因為其他的力和力矩可以被配備在轉矩傳感器上穿插滾子軸承所抵消。圖4智能驅動器模塊的構造本文所設計的機械臂由帶有扭矩傳感器的6智能驅動模塊組成,它可以檢測到整個身體上所有的力和力矩。因此,如果檢測到的外部轉矩是由機械臂和操作人員之間的碰撞產生的,該軸可以被控制以減少對操作人員的傷害。該項為人類平安而設計的算法并沒有完成,本文便不做介紹了。圖5每個關節(jié)配有一個扭矩傳感器的機械臂3.直接教學算法為了幫助操作人員輕松操作機械臂,這項研究中討論了直接教學算法。在本章中將對此做簡要介紹。操作人員可以推或拉機械臂的操盤以指定作業(yè)所需的軌跡〔焊接,去毛刺或感應淬火〕,然后機械手臂會按操作人員的意圖得到控制,同時記憶運動軌跡,在操作人員的教學過程完成后機械臂便回放軌跡。特別地,有時教學過程可以在機械臂的工作狀態(tài)下完成。如果工件是安裝在任意位置取向,或者如果工件上的信息〔例如,形狀〕是不夠的如果沒有額外的感官系統(tǒng),視覺,激光掃描儀等,則機械臂本身是不能正常工作的,。在這種情況下,人類與機器人合作可以是一個很好的解決方法。如果操作人員可以很容易地讓機械臂知道工件上的信息,然后機械臂可以依據所收集的信息自己工作。為此,教學柄和教學工具被裝配在機械臂末端執(zhí)行器上。一個力—扭矩傳感器被配備在教學柄和教學工具上,分別如圖6所示。圖1描述了上述概念。在圖1的左側,依據控制方案得到控制的機械臂被引導按照力的作用而動作。在圖1的右側,機械臂按照手動指導重建工件上的信息來工作〔如磨削工件〕。圖6手動引導的機械臂在圖6中,操作人員將力和力矩給教學柄,機械臂按照符合教學的力和力矩被控制,最后機械臂被手動引導到接近到操作員打算到達的工件上。在教學過程中工具與工件接觸,所以對于操作人員來說準確的控制力和力矩是不容易的。因為操作人員不知道他/她的教學力將導致多少刀具和工件的接觸力。出于此,提出修改教學力的方法以減小其與工件外表的小接觸力。機械臂和接觸力之間的阻抗特性也被用來實現(xiàn)機械臂對接觸力的跟隨。本文所提出的控制器的整體構造如圖7。圖7考慮接觸的控制構造圖在手動指導過程中,機械臂可記憶真正的運動軌跡并且在完成后機械臂可以重建工件上的信息。對于重建工件上的信息的調查將在以后得到解決。4.結論本文主要介紹了用于人機合作的機械臂,設計理念,帶有轉矩傳感器的智能執(zhí)行器的相關細節(jié)和直接教學算法。附錄B圖1機械臂驅動系統(tǒng)電路原理圖附錄C主程序設計:intmain(void){ RCC_Init(); Systick_Configuration(); JTAG_Set(0); USART_Configuration(); led_Config(); E*TI_Config(); NVIC_Config(); PWM_Init(); ultrasonic_mode(); while(1) { HC_SR04_Trig(); while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==0); TIM_Cmd(TIM4,ENABLE); while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==1); TIM_Cmd(TIM4,DISABLE); HC_SR04_Count(); Delay_ms(5); distance_mm=average_filter(distance_mm,50); if(distance_old!=distance_mm) { if(distance_mm>4000) { printf("distance>4m!Itcannotbereached!\n"); key=0; } elseif(distance_mm<20) key=0; elseif(distance_mm>156&&distance_mm<173) { printf("distance=%dmm\n",distance_mm); key=1; } else { printf("distance=%dmm\n",distance_mm); key=0; } } if((key==1)&&(i==0)) { GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_RESET); GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_SET); ii++; if((ii%3)==1) action_1(); elseif((ii%3)==2) action_2(); elseif((ii%3)==0) action_3(); distance_old=distance_mm; key=0; } else { GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_RESET); GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_SET); standstill(); } }}RCC初始化程序設計:voidRCC_Init(void){ ErrorStatusHSEStartUpStatus; RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus=RCC_WaitForHSEStartUp(); if(HSEStartUpStatus==SUCCESS) { RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_6) RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource()!=0*08); }}系統(tǒng)Systick初始化程序設計:voidSystick_Configuration(void){ if(SysTick_Config(SystemCoreClock/1000000)) { while(1); } SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;}voidDelay_s(__IOu32time){ uint16_ti; for(i=0;i<1000;i++) { Delay_ms(time); } Delay_ms(time*1000);}voidDelay_ms(__IOu32time){ uint16_ti; for(i=0;i<667;i++) { Delay_us(time); } Delay_us(time*1000);}voidDelay_us(__IOu32nTime){ TimingDelay=nTime; SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; while(TimingDelay!=0);}voidTimingDelay_Decrement(void){ if(TimingDelay!=0*00) { TimingDelay--; }}voidDelay(__IOuint32_tnCount){ for(;nCount!=0;nCount--);}USART初始化程序設計:voidUSART_Configuration(void){ GPIO_InitTypeDefGPIO_Init

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論