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