基于STM32的機械臂運動控制分析設計.doc
《基于STM32的機械臂運動控制分析設計.doc》由會員分享,可在線閱讀,更多相關《基于STM32的機械臂運動控制分析設計.doc(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
機器人測控技術(shù) 大作業(yè)課程設計 課程設計名稱:基于STM32的機械臂運動控制分析設計 專 業(yè) 班 級 : 自動1302 學 生 姓 名 : 張鵬濤 學 號 : 201323020219 指 導 教 師 : 曹毅 課程設計時間: 2016-4-28~2016-5-16 指導教師意見: 成績: 簽名: 年 月 日 目錄 摘要 1 第一章 運動模型建立 2 1.1引 言 2 1.2機器人運動學模型的建立 2 1.2.1運動學正解 4 第二章 機械臂控制系統(tǒng)的總體方案設計 5 2.1機械臂的機械結(jié)構(gòu)設計 5 2.1.1臂部結(jié)構(gòu)設計原則 5 2.1.2機械臂自由度的確定 6 2.2機械臂關節(jié)控制的總體方案 6 2.2.1機械臂控制器類型的確定 6 2.2.2機械臂控制系統(tǒng)結(jié)構(gòu) 7 2.2.3關節(jié)控制系統(tǒng)的控制策略 7 第三章 機械臂控制系統(tǒng)硬件設計 8 3.1機械臂控制系統(tǒng)概述 8 3.2微處理器選型 9 3.3主控制模塊設計 9 3.3.1電源電路 9 3.3.2復位電路 10 3.3.3時鐘電路 10 3.3.4 JTAG調(diào)試電路 11 3.4驅(qū)動模塊設計 12 3.5電源模塊設計 13 第四章 機械臂控制系統(tǒng)軟件設計 14 4.1初始化模塊設計 14 4.1.1系統(tǒng)時鐘控制 14 4.1.2 SysTick定時器 15 4.1.3 TIM定時器 16 4.1.4通用輸入輸出接口GPIO 17 4.1.5超聲波傳感器模塊 17 總結(jié) 19 參考文獻 20 附錄A 21 附錄B 22 設計要求: 設計一個兩連桿機械臂,具體參數(shù)自行設計,建立其運動學模型,然后在此基礎上完成該機械臂兩點間的路徑規(guī)劃,并給出仿真結(jié)果。 設計完成上述目標的控制系統(tǒng),控制器可以自行選擇(單片機,ARM,DSP,PLC等),其他硬件部分根據(jù)系統(tǒng)所需要完成的功能自行選擇,基本要求要體現(xiàn)系統(tǒng)的輸入,輸出信號和人機交互界面,畫出整個系統(tǒng)的硬件結(jié)構(gòu)(電路模塊,驅(qū)動模塊,控制模塊等)和軟件部分。 摘要 由于機械臂在各行各業(yè)中得到了愈來愈廣泛的應用,機械臂控制的多樣化、復雜化的需要也隨之日趨增多。作為當今科技領域研究的一個熱點,提高機械臂的控制精度、穩(wěn)定性、操作靈活性對于提高其應用水平有著十分重要的意義。 經(jīng)過仔細的分析和研究之后,我選擇的是STM32單片機進行控制,而自由臂選擇工業(yè)中常見的四自由臂進行設計和建模分析,運動的控制選用舵機進行控制。 首先根據(jù)機械臂系統(tǒng)的控制要求,整體上設計出單 CPU 的系統(tǒng)控制方案,即通過控制主控制器輸出的 PWM 波的占空比實現(xiàn)對舵機轉(zhuǎn)動的控制,進而實現(xiàn)各個關節(jié)的位置控制。在硬件方面,主要論述了如何以 ARM 微處理器STM32F103ZET6、MG995舵機為主要器件,通過搭建硬件平臺和設計軟件控制程序構(gòu)建關節(jié)運動控制系統(tǒng)。然后按照結(jié)構(gòu)化設計的思想,依次對以上各部分的原理和設計方法進行了分析和探討,給出了實際的原理圖和電路圖。在軟件設計方面,按照模塊化的設計思想將控制程序分為初始化模塊和運行模塊,并分別對各個模塊的程序進行設計。 關鍵詞:四自由度機械臂,STM32,運動模型,脈沖寬度調(diào)制 第1章 運動模型建立 1.1引 言 機器人運動學描述了機器人關節(jié)與組成機器人的各剛體之間的運動關系。 機器人在工作時,要通過空間中一系列的點組成的三維空間點域,這一系列空間點構(gòu)成了機器人的工作范圍,此工作范圍可通過運動學正解求得。此外,根據(jù)機器人末端執(zhí)行器的位置和姿態(tài)要求,通過運動學逆解求得各個關節(jié)轉(zhuǎn)角,可以實現(xiàn)對機器人進行運動分析、離線編程、軌跡規(guī)劃等工作。 機器人控制的目的就在于它能快速確定位置,這使得機器人的運動學正逆解問題變得更為重要。只有計算與運動學正逆解問題相關的變換關系在盡可能短時間內(nèi)完成,才能達到快速準確的目的。在運動學方程正解過程中,只體現(xiàn)在矩陣相乘關系上,相對簡單。 1.2機器人運動學模型的建立 本文所研究的機器人由四個旋轉(zhuǎn)關節(jié)和四個連桿組成,故為四自由度機器人,如圖1.1所示。 圖1.1 用齊次坐標來描述機器人各連桿相對于參考坐標系的空間幾何關系;用44的齊次變換矩陣來描述相鄰兩桿的空間幾何關系;從而推導出機器人手爪坐標系相對于參考坐標系的空間位姿關系,利用該法得到的D-H參數(shù)如表1所示。 圖1.2機器人連桿坐標系 表1 機器人連桿的D-H參數(shù) 連桿變換表示連桿坐標系{i}相對于{i-1}的變換,根據(jù)連桿變換的通式: (1) 其中: 得到各連桿之間的變換矩陣 (2) (3) (4) 式中:s1,s2,s3,s4;c1,c2,cs3,c4分別表示sinθ1,sinθ2,sinθ3,sinθ4; cosθ1, cosθ2, cosθ3, cosθ4以下同。由矩陣(1)可知:連桿變換依賴于四個參數(shù)和,其中只有一個參數(shù)是變化的,對于本文所研究的機器人,顯然只有為變量,其余三個參數(shù)為常量。 1.2.1運動學正解 機器人運動學正解指:在已知機器人各關節(jié)變量θi(i=1,…,n)的基礎上,求解出機器人末端執(zhí)行器的位置矢量p和姿態(tài)矢量n,o,a的過程。將連桿變換矩陣(2)~(4)相乘,便得到了該機器人手爪的運動學方程 (5) 其中,機器人手爪姿態(tài)方程為 機器人手爪的位置方程為 為檢驗所得結(jié)果的正確性,取θ1=90,θ2=0,θ3=-90,θ4=0計算的值。結(jié)果為: 與圖1所示機器人手爪的位姿完全一致,表明所得結(jié)果正確。這樣只要知道關節(jié)變量θ1,θ2,θ3和,θ4的值,就可以完全確定機器人手爪的位置和姿態(tài)。 第2章 機械臂控制系統(tǒng)的總體方案設計 2.1機械臂的機械結(jié)構(gòu)設計 2.1.1臂部結(jié)構(gòu)設計原則 作為機械臂的一個重要組成部分,手臂不僅起到支撐被抓物體、手爪和其他關節(jié)的作用,而且還可以驅(qū)動手爪抓取物體,并根據(jù)事先預定的位置將物體搬運到指定地點。 機械臂的結(jié)構(gòu)形式必須基于其運動形式、動作自由度、抓取質(zhì)量、受力情況和其他的因素來確定,整個系統(tǒng)的總質(zhì)量比較大,受力也比較復雜,其運動部件的質(zhì)量直接影響到機械臂的剛度和強度。所以,進行手臂的設計時,一般應注意下述要求: (1)剛度要大。為了避免機械臂在運動過程中發(fā)生較大的形變,要合理選擇手臂的截面形狀。 (2)導向性要好。為了避免機械臂在運動過程中發(fā)生不必要的相對運動,臂桿最好設計成方形或是花鍵等形式。 (3)偏重力矩要小。要盡可能減小機械臂運動部分的質(zhì)量。 該設計根據(jù)機械臂的功能及搬運工作的任務的特點以及類型,為了使其在一定程度上具有操作的靈活性和運行性能的良好,經(jīng)過多次的比較、討論后,該設計選用多關節(jié)型的機械臂,它不僅具有動作的角度大的優(yōu)點,還可以使機械臂在更大的空間內(nèi)的運動。 2.1.2機械臂自由度的確定 機械臂的自由度是一個非常重要的參數(shù),取決于機械臂的類型及其結(jié)構(gòu),并且在很大程度上直接決定到機械臂能否完成預定的任務。 一般來說是根據(jù)機械臂的用途來設計機械臂的自由度。自由度越多的機械臂,具有更大的運動的靈活性,通用性也越強,但結(jié)構(gòu)較復雜,難以實現(xiàn)。 所設計的搬運機械臂采用四個自由度就可以完成設定的搬運任務。其中機械臂的手臂的旋轉(zhuǎn)關節(jié)包括腰關節(jié)、肩關節(jié)、肘關節(jié)和腕關節(jié)四個關節(jié)以及末端手爪的開合。 2.2機械臂關節(jié)控制的總體方案 2.2.1機械臂控制器類型的確定 作為機械臂的心臟,機械臂控制器是根據(jù)程序指令和從傳感器獲得的傳感信息來控制機械臂完成事先預定的動作或任務的裝置,控制器的性能決定了機械臂控制性能的好壞。從計算機結(jié)構(gòu)、控制方式方面來劃分,機械臂控制器大約可分為3種:單CPU 集中控制方式、多CPU 分布式控制方式、二級CPU 主從式控制方式。 (1)單CPU 集中控制方式:單CPU 集中控制系統(tǒng)必須是一個強大的控制系統(tǒng),它的全部控制功能是用一臺功能強大的計算機實現(xiàn)的。Hero-Ⅰ、Robot-Ⅰ 等這些時代較早的機器人采用的就是這種單CPU 集中控制方式的結(jié)構(gòu),但由于在控制的過程中需要進行大量的計算,因此這種控制方式的控制速度一般比較慢。 (2)多CPU 分布式控制方式:多CPU 分布式控制系統(tǒng)的最大特點就是一個CPU負責控制一個關節(jié)軸,同時在上位機與單軸控制的CPU 之間設計了一個并行接口,其主要負責上、下位機的通信,從而保證了數(shù)據(jù)的可靠傳輸。 (3)二級主從式控制方式:該控制方式需要主從兩個CPU,即上位機和下位的單片機兩層結(jié)構(gòu)。上位機負責運動軌跡的規(guī)劃、運動學計算等任務,根據(jù)預定的位置,計算出各個關節(jié)的運動量,以指令形式傳送給下位的微處理器。下位的微處理器根據(jù)指令對各關節(jié)進行運動控制。 本課題所設計的機械臂系統(tǒng)基于STM32微處理器,利用STM32強大的運算和處理能力,采用單CPU 集中控制方式即可滿足要求。 2.2.2機械臂控制系統(tǒng)結(jié)構(gòu) 本課題研究的機械臂控制系統(tǒng)采用單CPU 集中控制方式,系統(tǒng)框圖如下: 計 算 機 J-Link 仿 真 器 舵機 關節(jié)執(zhí)行機構(gòu) STM32 關節(jié)控制系統(tǒng) 圖2.1 機械臂控制系統(tǒng)結(jié)構(gòu)圖 計算機用于完成整個系統(tǒng)的管理、發(fā)送指令、運動軌跡規(guī)劃等。計算機通過J-Link仿真器將程序下載至STM32微處理器,向關節(jié)控制系統(tǒng)發(fā)出位置指令,STM32根據(jù)指令輸出PWM 波,從而使機械臂的各個關節(jié)轉(zhuǎn)過指定的角度,進而使其按照預定的軌跡完成搬運任務。 2.2.3關節(jié)控制系統(tǒng)的控制策略 本課題設計的機械臂關節(jié)控制系統(tǒng)以STM32微處理器為核心,對直流伺服電機(舵機)進行較為精確的運動控制。 關節(jié)控制系統(tǒng)的工作原理是:STM32微處理器內(nèi)部的PWM 單元產(chǎn)生PWM信號,驅(qū)動直流伺服電機旋轉(zhuǎn)。電機驅(qū)動舵機內(nèi)部的齒輪組,其輸出端帶動一個線性的比例電位器作為位置檢測,該電位器把轉(zhuǎn)角坐標轉(zhuǎn)換為一比例電壓反饋給控制線路板,控制線路板將其與輸入的控制脈沖信號比較,產(chǎn)生糾正脈沖,并驅(qū)動電機正向或者反向的轉(zhuǎn)動,使齒輪組的輸出位置與期望值相符,令糾正脈沖最終趨于為0,從而達到使伺服電機的精確定位[17]。 該關節(jié)控制系統(tǒng)的主要特點如下: (1)使用以Contex-M3為內(nèi)核的STM32F103ZET6作為系統(tǒng)的微控制器,與傳統(tǒng)的51單片機相比起來,具有功耗小,運算能力大大增強的優(yōu)點。 (2)采用直流伺服電機驅(qū)動機械臂的各個關節(jié),根據(jù)STM32微控制器輸出的PWM 控制信號的占空比來確定直流電動機的轉(zhuǎn)速和轉(zhuǎn)向,控制起來簡單,準確。 第3章 機械臂控制系統(tǒng)硬件設計 3.1機械臂控制系統(tǒng)概述 機械臂控制系統(tǒng)通常要滿足如下幾個基本的要求: (1)控制系統(tǒng)的微型化、輕型化和模塊化。 (2)控制系統(tǒng)的實時性。 (3)系統(tǒng)的穩(wěn)定性和開放性。 該機械臂控制系統(tǒng)由主控制模塊、電機驅(qū)動模塊和電源模塊組成,每個子模塊的功能如下: 主控制模塊:作為該控制系統(tǒng)的核心,包括 ARM Cortex-M3 內(nèi)核和有關外圍電路,主要負責完成 PWM 波(控制信號)的輸出。 驅(qū)動模塊:負責機械臂各個關節(jié)的驅(qū)動,由舵機組成。 電源模塊:機械臂控制系統(tǒng)采用雙電源供電模式,STM32單片機經(jīng)過AMS1117-3.3V穩(wěn)壓芯片供電,舵機驅(qū)動模塊采用7.2V可充電電池經(jīng)LM2596 DC-DC 可調(diào)降壓模塊實現(xiàn)供電。 3.2微處理器選型 微控制器作為機械臂運動控制系統(tǒng)的核心,如下幾個方面為重點進行微控制器的選擇: ★系統(tǒng)時鐘速度 ★運算速度 ★功能 ★電機控制方式 ★ROM及ROM的大小 ★控制板的結(jié)構(gòu)尺寸 經(jīng)過反復比較,本設計采用意法半導體公司的STM32處理器,如圖3.1所示。STM32F103ZET6是基于32位ARM Cortex-M3內(nèi)核的微處理器,不但支持實時仿真,而且嵌入了512KB的高速閃存。CPU 的最高工作頻率為72MHz,支持Thumb-2。 圖3.1 STM32 3.3主控制模塊設計 該設計的主控制模塊的硬件系統(tǒng)包括電源電路、復位電路、系統(tǒng)時鐘電路以及 JTAG 調(diào)試電路四大組成部分。 3.3.1電源電路 在硬件電路的設計中,電源模塊的設計是非常重要的,如果不能妥善處理,不但會使電路不能正常工作,嚴重的還可能燒毀電路。因此,在設計電源時務必要注意如下幾點: (1)交流輸入和直流輸出盡可能保持更大的距離; (2)地線要足夠粗,單點和多點相結(jié)合,同時分離模擬地和數(shù)字地; (3)散熱要好,布局應合適; 圖3.2 電源電路圖 如上圖所示,開發(fā)板由7.2V接口供電。板上的電源轉(zhuǎn)換芯片將7.2V接口輸入的7.2V電源轉(zhuǎn)換成5V的電源,然后轉(zhuǎn)換成3.3V給處理器和相關外圍電路供電。 3.3.2復位電路 圖3.3 復位電路圖 如上圖所示,B1為整個板的復位按鈕,當按鈕被按下時,STM32處理器、TFT彩屏等都將復位。 3.3.3時鐘電路 STM32的VBAT 的供電是由外部電源完成的,在有外部電源(VCC3.3)的情況下,VBAT 供電而由外部電源實現(xiàn)供電。但是,當外部電源斷開的情況下, RTC的走時以及后備寄存器的內(nèi)容就會丟失。相關電路如下: 圖3.4 時鐘電路圖 3.3.4 JTAG調(diào)試電路 軟件程序的編寫通常是需要多次的修改才適用的,因此一些比較先進的調(diào)試手段便應運而生。JTAG 仿真調(diào)試手段作為其中的一種,是由ARM 公司提出的。本設計采用占用IO口資源少的SWD調(diào)試,只需JTAG 仿真器上的4根線就能完成,如下圖所示: 圖3.5 SWD調(diào)試電路圖 通過SWD接口,我們可以燒錄和調(diào)試程序,開發(fā)板的JTAG接口的硬件連接如上圖所示,可以與目前主流的JLINK V8仿真器配合使用。 3.4驅(qū)動模塊設計 通常對機械臂的驅(qū)動系統(tǒng)的要求有: (1)驅(qū)動系統(tǒng)的質(zhì)量不應太重,效率也應較高; (2)響應速度快; (3)動作靈活,位移偏差以及速度偏差均較??; (4)安全可靠; (5)操作和維護方便; (6)經(jīng)濟合理,占地面積要盡可能的小。 基于上述驅(qū)動系統(tǒng)的特點和該機械臂驅(qū)動系統(tǒng)的設計要求,該設計選用直流伺服電機負責機械臂各個關節(jié)的驅(qū)動。 該設計選用的舵機型號為分別MG995,如圖3.2、3.3,其參數(shù)如下: MG995: (1)尺寸:40mm20mm36.5mm (2)重量:62g (3)技術(shù)參數(shù):無負載速度0.17秒/60度(4.8V) 、0.13秒/60度(6.0V) (4)扭矩:13KG (5)使用溫度:-30~~+60攝氏度 (6)死區(qū)設定:4微秒 (7)工作電壓:3.0V-7.2V 圖3.6 MG995舵機 一般來說,舵機是由舵盤、減速齒輪組、位置反饋電位計、直流電機、控制電路板等幾個重要部分組成的。 信號線把來自于微控制器的控制信號傳輸?shù)蕉鏅C的控制電路板,控制電路板根據(jù)相應的控制信號控制電機的轉(zhuǎn)動,同時電機帶動齒輪組隨之轉(zhuǎn)動,經(jīng)減速機構(gòu)減速后傳動到輸出舵盤。由于舵機的輸出軸和位置反饋電位計是連接在一起的,所以在舵盤轉(zhuǎn)動的時候會帶動位置反饋電位計,電位計根據(jù)當前位置將一個電壓信號反饋到控制電路板,然后控制電路板根據(jù)電位計反饋回來的數(shù)據(jù)決定電機后續(xù)的轉(zhuǎn)動方向和速度,從而使舵機運動到指定的位置后停止運動,可以實現(xiàn)對位置的精確控制。 3.5電源模塊設計 機械臂控制系統(tǒng)采用雙電源供電模式,STM32單片機經(jīng)過AMS1117-3.3V穩(wěn)壓芯片供電,舵機驅(qū)動模塊采用7.2V可充電電池經(jīng)LM2596 DC-DC 可調(diào)降壓模塊實現(xiàn)供電。 AMS1117是正向低壓降的穩(wěn)壓器,在1A電流下產(chǎn)生1.2V的壓降。它的內(nèi)部所集成有過熱保護和限流電路,因此是電池供電和便攜式計算機的最佳選擇。 由AMS1117-3.3V芯片構(gòu)成的3.3V穩(wěn)壓電路如圖3.8所示。 圖3.8 3.3V穩(wěn)壓電路 LM2596開關電壓調(diào)節(jié)器是降壓型電源管理單片集成電路,可以輸出最高達3A的驅(qū)動電流,同時也有良好的線性和負載調(diào)節(jié)特性??烧{(diào)型的LM2596甚至可以輸出低于37V的各種電壓。LM2596的特性如下:輸出電壓可調(diào),可調(diào)范圍為1.2V~37V,誤差范圍4%;輸出特性有良好的線性,并且負載可以調(diào)節(jié);驅(qū)動能力較強,輸出電流可高達3A,輸入電壓可高達40V;采用150kHz的內(nèi)部振蕩頻率,屬于第二代開關電壓調(diào)節(jié)器;功耗小、效率高,具有過熱保護和限流保護功能等。常用于高效率降壓調(diào)節(jié)器,單片開關電壓調(diào)節(jié)器,正、負電壓轉(zhuǎn)換器等。 由LM2596構(gòu)成的5V穩(wěn)壓電路如圖3.9所示。 圖3.9 5V穩(wěn)壓電路 第4章 機械臂控制系統(tǒng)軟件設計 4.1初始化模塊設計 初始化模塊主要負責完成如下工作:系統(tǒng)時鐘控制寄存器 RCC 的配置, SysTick 定時器,TIM 定時器,通用輸入輸出接口 GPIO ,嵌套向量中斷控制器 NVIC, PWM 波輸出,超聲波傳感器模塊的初始化。采用庫函數(shù)進行編程。 4.1.1系統(tǒng)時鐘控制 STM32 CPU 的時鐘源可以來自內(nèi)部高速振蕩器(HSI)、外部高速振蕩器(HSE)或者內(nèi)部鎖相環(huán)(PLL)。鎖相環(huán)需要以 HSI 或 HSE 作為時鐘來源,兩者的差別在于內(nèi)部高速震蕩器 HSI 不能產(chǎn)生穩(wěn)定的8MHz的時鐘頻率。為了獲得最大的工作頻率,都會通過鎖相環(huán)配置出最大的72MHz頻率,供給Cortex-M3內(nèi)核使用。 流程圖如下: 開始 復位系統(tǒng)時鐘設置 開啟外部振蕩器HSE 是否成功起振并穩(wěn)定? Y N 選擇AHB,APB1,APB2頻率 使能鎖相環(huán)PLL 等待PLL輸出穩(wěn)定,成為時鐘源 結(jié)束 圖4.2 系統(tǒng)時鐘初始化流程圖 4.1.2 SysTick定時器 SysTick ,即系統(tǒng)節(jié)拍時鐘,它作為ARM Cortex-M3內(nèi)核的一個內(nèi)設,和STM32微控制器之間并沒有必然的聯(lián)系。SysTick的存在既能夠提供必要的系統(tǒng)節(jié)拍,為實時操作系統(tǒng)的任務調(diào)度提供一個有節(jié)奏的“心跳”,進而提高可靠性,又方便了程序在不同器件間的移植。 系統(tǒng)初始化時,RCC通過AHB時鐘(HCLK)8分頻后作為Cortex系統(tǒng)定時器(SysTick)的外部時鐘。通過對SysTick控制與狀態(tài)寄存器的設置,可選擇上述時鐘或Cortex(HCLK)時鐘作為SysTick時鐘。系統(tǒng)嘀嗒校準值固定為9000,當系統(tǒng)嘀嗒時鐘設定為9MHz(HCLK/8的最大值),產(chǎn)生1ms時間基準。 本部分的程序流程圖如下: 開始 設置Systick重裝載時間 失能Systick定時器 設定中斷函數(shù),獲取節(jié)拍 使能Systick定時器 結(jié)束 圖4.3 SysTick定時器初始化流程圖 4.1.3 TIM定時器 STM32微控制器具備高級定時器TIM1和TIM8 2個,通用定時器TIM2、TIM3、TIM4和TIM5 4個以及基本定時器TIM6和TIM7 2個,再加上 RTC 和 Systick 定時器,總數(shù)量達到了10個。 基本定時器可以為用戶提供準確的時間參考;通用定時器不僅具備時間參考功能,還具有輸入捕捉、輸出比較、單脈沖輸出、 PWM 輸出功能和正交編碼器的特點;高級定時器更是加入了可以產(chǎn)生帶死區(qū)控制的互補 PWM 信號、緊急制動、定時器同步等高級特征,并最多可以輸出6路 PWM 信號,可謂是意法半導體賦予STM32的王牌。 本設計采用TIM2、TIM3的 PWM 輸出功能和TIM4的計數(shù)功能。 本部分的程序流程圖如下: 開始 配置PWM輸出引腳 設置定時器TIM2各輸出通道占空比 設置定時器TIM3輸出通道1占空比 延時1000ms,等待手臂初始化完成 設置定時器TIM4計數(shù)模式 結(jié)束 圖4.4 TIM定時器初始化流程圖 4.1.4通用輸入輸出接口GPIO GPIO 可以說是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開始計數(shù) 觸發(fā)超聲波模塊收到反射波,TIM4停止計數(shù) 結(jié)束 圖4.5 超聲波模塊初始化流程圖 總結(jié) 機械臂控制系統(tǒng)是當今社會的一項非常重要的研究課題,盡管其發(fā)展已經(jīng)有了一段很長的歷史,但是其發(fā)展并不完全成熟。無論是學術(shù)界、工業(yè)還是在教育教學方面都一直在進行著這方面的研究,距離成熟階段還要有一段時間。 本設計是基于STM32四自由度機械臂驅(qū)動系統(tǒng)的設計,以四自由度機械臂為控制對象,以意法半導體公司的STM32系列芯片STM32F103ZET6為主控芯片,人機交互的串口顯示進行了系統(tǒng)的硬件的設計和研究,并在此基礎上,采用先進的控制理論,以正確的控制方法為指導,進行了系統(tǒng)的軟件設計。 在整個系統(tǒng)的設計中,硬件的設計是本論文研究的重點,芯片的選型是系統(tǒng)硬件設計的保證,并且輔以可靠性分析為指導,保證了系統(tǒng)運行的可靠性和穩(wěn)定性。通過編寫控制程序,使主控制器輸出 PWM 波實現(xiàn)對各個關節(jié)位置的控制。 參考文獻 [1] 任美玲.機械臂的研究與進展[J].出國與就業(yè),2012,(2) 84-85. [2] 劉少麗.淺談工業(yè)機械手設計[J].工業(yè)自動化,2011,40(07) 45-46. [3] 劉忠,朱浩等.工程機械臂新型液壓驅(qū)動技術(shù)研究與仿真[J].中國機械工程,2012,23(23). [4] 胡睿智.五自由度機械手臂及控制系統(tǒng)的設計[D].沈陽:東北大學,2011:5. [5] 黃輝先,文美純.多自由度機械手PLC控制[J].機床與液壓,2001,(05) 92-94. [6] 金偉.基于DSP的機械臂控制系統(tǒng)設計[J].自動化與儀器儀表,2001,(03) 30-32. [7] 劉鵬飛,韓九強,周挺.基于多DSP的六自由度機器人伺服控制系統(tǒng)研究[J].微電子學與計算機, 2005,22(08) 5-9. 附錄A A.機械臂驅(qū)動系統(tǒng)電路原理圖 附錄B B.機械臂工作流程圖- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 基于 STM32 機械 運動 控制 分析 設計
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://ioszen.com/p-6679368.html