基于STM32的機(jī)械臂運(yùn)動(dòng)控制分析設(shè)計(jì)_第1頁
基于STM32的機(jī)械臂運(yùn)動(dòng)控制分析設(shè)計(jì)_第2頁
基于STM32的機(jī)械臂運(yùn)動(dòng)控制分析設(shè)計(jì)_第3頁
基于STM32的機(jī)械臂運(yùn)動(dòng)控制分析設(shè)計(jì)_第4頁
基于STM32的機(jī)械臂運(yùn)動(dòng)控制分析設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、-. z.機(jī)器人測(cè)控技術(shù)大作業(yè)課程設(shè)計(jì) 課程設(shè)計(jì)名稱:基于STM32的機(jī)械臂運(yùn)動(dòng)控制分析設(shè)計(jì)專業(yè)班級(jí):自動(dòng)1302 學(xué)生*:鵬濤 *:9 指導(dǎo)教師: 毅 課程設(shè)計(jì)時(shí)間:2016-4-282016-5-16 指導(dǎo)教師意見:成績(jī):簽名: 年 月 日目錄TOC o 1-3 h u HYPERLINK l _Toc3593 摘要 PAGEREF _Toc3593 1 HYPERLINK l _Toc27040 第一章 運(yùn)動(dòng)模型建立 PAGEREF _Toc270402 HYPERLINK l _Toc1052 1.1引言 PAGEREF _Toc1052 2 HYPERLINK l _Toc8850

2、1.2機(jī)器人運(yùn)動(dòng)學(xué)模型的建立 PAGEREF _Toc8850 2 HYPERLINK l _Toc23646 1.2.1運(yùn)動(dòng)學(xué)正解 PAGEREF _Toc23646 4 HYPERLINK l _Toc4766 第二章 機(jī)械臂控制系統(tǒng)的總體方案設(shè)計(jì) PAGEREF _Toc4766 5 HYPERLINK l _Toc7012 2.1機(jī)械臂的機(jī)械構(gòu)造設(shè)計(jì) PAGEREF _Toc7012 5 HYPERLINK l _Toc15148 2.1.1臂部構(gòu)造設(shè)計(jì)原則 PAGEREF _Toc15148 5 HYPERLINK l _Toc14199 2.1.2機(jī)械臂自由度確實(shí)定 PAGEREF

3、 _Toc14199 6 HYPERLINK l _Toc20959 2.2機(jī)械臂關(guān)節(jié)控制的總體方案 PAGEREF _Toc20959 6 HYPERLINK l _Toc11840 2.2.1機(jī)械臂控制器類型確實(shí)定 PAGEREF _Toc11840 6 HYPERLINK l _Toc18944 2.2.2機(jī)械臂控制系統(tǒng)構(gòu)造 PAGEREF _Toc18944 7 HYPERLINK l _Toc2307 2.2.3關(guān)節(jié)控制系統(tǒng)的控制策略 PAGEREF _Toc2307 7 HYPERLINK l _Toc26210 第三章 機(jī)械臂控制系統(tǒng)硬件設(shè)計(jì) PAGEREF _Toc26210

4、8 HYPERLINK l _Toc19326 3.1機(jī)械臂控制系統(tǒng)概述 PAGEREF _Toc19326 8 HYPERLINK l _Toc32564 3.2微處理器選型 PAGEREF _Toc32564 9 HYPERLINK l _Toc27361 3.3主控制模塊設(shè)計(jì) PAGEREF _Toc27361 9 HYPERLINK l _Toc17312 3.3.1電源電路 PAGEREF _Toc17312 9 HYPERLINK l _Toc5507 3.3.2復(fù)位電路 PAGEREF _Toc5507 10 HYPERLINK l _Toc15657 3.3.3時(shí)鐘電路 PAG

5、EREF _Toc15657 10 HYPERLINK l _Toc6460 3.3.4 JTAG調(diào)試電路 PAGEREF _Toc6460 11 HYPERLINK l _Toc19231 3.4驅(qū)動(dòng)模塊設(shè)計(jì) PAGEREF _Toc19231 12 HYPERLINK l _Toc25998 3.5電源模塊設(shè)計(jì) PAGEREF _Toc25998 13 HYPERLINK l _Toc16045 第四章 機(jī)械臂控制系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc16045 14 HYPERLINK l _Toc20475 4.1初始化模塊設(shè)計(jì) PAGEREF _Toc20475 14 HYPERLI

6、NK l _Toc17476 4.1.1系統(tǒng)時(shí)鐘控制 PAGEREF _Toc17476 14 HYPERLINK l _Toc13377 4.1.2 SysTick定時(shí)器 PAGEREF _Toc13377 15 HYPERLINK l _Toc28018 4.1.3 TIM定時(shí)器 PAGEREF _Toc28018 16 HYPERLINK l _Toc5976 4.1.4通用輸入輸出接口GPIO PAGEREF _Toc5976 17 HYPERLINK l _Toc1641 4.1.5超聲波傳感器模塊 PAGEREF _Toc1641 17 HYPERLINK l _Toc27485

7、總結(jié) PAGEREF _Toc27485 19 HYPERLINK l _Toc31934 參考文獻(xiàn) PAGEREF _Toc31934 20 HYPERLINK l _Toc17358 附錄A PAGEREF _Toc17358 21 HYPERLINK l _Toc2351 附錄B PAGEREF _Toc2351 22-. z.設(shè)計(jì)要求: 設(shè)計(jì)一個(gè)兩連桿機(jī)械臂,具體參數(shù)自行設(shè)計(jì),建立其運(yùn)動(dòng)學(xué)模型,然后在此根底上完成該機(jī)械臂兩點(diǎn)間的路徑規(guī)劃,并給出仿真結(jié)果。設(shè)計(jì)完成上述目標(biāo)的控制系統(tǒng),控制器可以自行選擇單片機(jī),ARM,DSP,PLC等,其他硬件局部根據(jù)系統(tǒng)所需要完成的功能自行選擇,根本要求

8、要表達(dá)系統(tǒng)的輸入,輸出信號(hào)和人機(jī)交互界面,畫出整個(gè)系統(tǒng)的硬件構(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)

9、各個(gè)關(guān)節(jié)的位置控制。在硬件方面,主要論述了如何以 ARM 微處理器STM32F103ZET6、MG995舵機(jī)為主要器件,通過搭建硬件平臺(tái)和設(shè)計(jì)軟件控制程序構(gòu)建關(guān)節(jié)運(yùn)動(dòng)控制系統(tǒng)。然后按照構(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)制運(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)域,這一系列空間

10、點(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í)間完成,才能到達(dá)快速準(zhǔn)確的目的。在運(yùn)動(dòng)學(xué)方程正解過程中,只表達(dá)在矩陣相乘關(guān)系上,相對(duì)簡(jiǎn)單。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的

11、齊次變換矩陣來描述相鄰兩桿的空間幾何關(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分別表示sin1,sin2,sin3,sin4; cos1, cos2, cos3, cos4以下同。由矩陣(1可知:連桿變換依賴于四個(gè)參數(shù)和,其中只有一個(gè)參數(shù)是變化的,對(duì)于本文所研究的機(jī)器人,顯然只有為變量,其余三個(gè)參數(shù)為常量。1.2.1運(yùn)動(dòng)學(xué)正

12、解 機(jī)器人運(yùn)動(dòng)學(xué)正解指:在機(jī)器人各關(guān)節(jié)變量i(i=1,n)的根底上,求解出機(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)。機(jī)械臂控制系統(tǒng)的總體方案設(shè)計(jì)2.1機(jī)械臂的機(jī)械構(gòu)造設(shè)計(jì)2.1.1臂部構(gòu)造設(shè)計(jì)原則作為機(jī)械臂的一個(gè)重要組成局部,手臂不僅起到支撐被抓物體、

13、手爪和其他關(guān)節(jié)的作用,而且還可以驅(qū)動(dòng)手爪抓取物體,并根據(jù)事先預(yù)定的位置將物體搬運(yùn)到指定地點(diǎn)。機(jī)械臂的構(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)以及類型,為了使其在一

14、定程度上具有操作的靈活性和運(yùn)行性能的良好,經(jīng)過屢次的比擬、討論后,該設(shè)計(jì)選用多關(guān)節(jié)型的機(jī)械臂,它不僅具有動(dòng)作的角度大的優(yōu)點(diǎn),還可以使機(jī)械臂在更大的空間的運(yùn)動(dòng)。2.1.2機(jī)械臂自由度確實(shí)定機(jī)械臂的自由度是一個(gè)非常重要的參數(shù),取決于機(jī)械臂的類型及其構(gòu)造,并且在很大程度上直接決定到機(jī)械臂能否完成預(yù)定的任務(wù)。一般來說是根據(jù)機(jī)械臂的用途來設(shè)計(jì)機(jī)械臂的自由度。自由度越多的機(jī)械臂,具有更大的運(yùn)動(dòng)的靈活性,通用性也越強(qiáng),但構(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é)控制的

15、總體方案2.2.1機(jī)械臂控制器類型確實(shí)定作為機(jī)械臂的心臟,機(jī)械臂控制器是根據(jù)程序指令和從傳感器獲得的傳感信息來控制機(jī)械臂完成事先預(yù)定的動(dòng)作或任務(wù)的裝置,控制器的性能決定了機(jī)械臂控制性能的好壞。從計(jì)算機(jī)構(gòu)造、控制方式方面來劃分,機(jī)械臂控制器大約可分為3種:?jiǎn)蜟PU 集中控制方式、多CPU 分布式控制方式、二級(jí)CPU 主從式控制方式。1單CPU 集中控制方式:?jiǎn)蜟PU 集中控制系統(tǒng)必須是一個(gè)強(qiáng)大的控制系統(tǒng),它的全部控制功能是用一臺(tái)功能強(qiáng)大的計(jì)算機(jī)實(shí)現(xiàn)的。Hero-、Robot- 等這些時(shí)代較早的機(jī)器人采用的就是這種單CPU 集中控制方式的構(gòu)造,但由于在控制的過程中需要進(jìn)展大量的計(jì)算,因此這種控制方

16、式的控制速度一般比擬慢。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ī)兩層構(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

17、.2.2機(jī)械臂控制系統(tǒng)構(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)構(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)展較為準(zhǔn)確的運(yùn)動(dòng)控制。關(guān)節(jié)控制系統(tǒng)的工作原理是:ST

18、M32微處理器部的PWM 單元產(chǎn)生PWM信號(hào),驅(qū)動(dòng)直流伺服電機(jī)旋轉(zhuǎn)。電機(jī)驅(qū)動(dòng)舵機(jī)部的齒輪組,其輸出端帶動(dòng)一個(gè)線性的比例電位器作為位置檢測(cè),該電位器把轉(zhuǎn)角坐標(biāo)轉(zhuǎn)換為一比例電壓反應(yīng)給控制線路板,控制線路板將其與輸入的控制脈沖信號(hào)比擬,產(chǎn)生糾正脈沖,并驅(qū)動(dòng)電機(jī)正向或者反向的轉(zhuǎn)動(dòng),使齒輪組的輸出位置與期望值相符,令糾正脈沖最終趨于為0,從而到達(dá)使伺服電機(jī)的準(zhǔn)確定位17。該關(guān)節(jié)控制系統(tǒng)的主要特點(diǎn)如下:1使用以Conte*-M3為核的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微控制器輸

19、出的PWM 控制信號(hào)的占空比來確定直流電動(dòng)機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,控制起來簡(jiǎn)單,準(zhǔn)確。機(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 Corte*-M3 核和有關(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)壓芯片供

20、電,舵機(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的大小*控制板的構(gòu)造尺寸經(jīng)過反復(fù)比擬,本設(shè)計(jì)采用意法半導(dǎo)體公司的STM32處理器,如圖3.1所示。STM32F103ZET6是基于32位ARM Corte*-M3核的微處理器,不但支持實(shí)時(shí)仿真,而且嵌入了512KB的高速閃存。CPU 的最高工作頻率為72MHz,支持Thumb-2。圖3.1 STM323.3主控制模塊設(shè)計(jì)該設(shè)計(jì)的主控制模塊的硬件系統(tǒng)包括電源

21、電路、復(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ù)位

22、按鈕,當(dāng)按鈕被按下時(shí),STM32處理器、TFT彩屏等都將復(fù)位。3.3.3時(shí)鐘電路STM32的VBAT 的供電是由外部電源完成的,在有外部電源VCC3.3的情況下,VBAT 供電而由外部電源實(shí)現(xiàn)供電。但是,當(dāng)外部電源斷開的情況下, RTC的走時(shí)以及后備存放器的容就會(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)試電路圖通過

23、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)作靈活,位移偏差以及速度偏差均較?。?平安可靠;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重量:62g3技術(shù)參數(shù):無負(fù)載速度0.17秒

24、/60度(4.8V) 、0.13秒/60度(6.0V) 4扭矩:13KG 5使用溫度:-30+60攝氏度 圖3.6 MG995舵機(jī)一般來說,舵機(jī)是由舵盤、減速齒輪組、位置反應(yīng)電位計(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ī)的輸出軸和位置反應(yīng)電位計(jì)是連接在一起的,所以在舵盤轉(zhuǎn)動(dòng)的時(shí)候會(huì)帶動(dòng)位置反應(yīng)電位計(jì),電位計(jì)根據(jù)當(dāng)前位置將一個(gè)電壓信號(hào)反應(yīng)到控制電路板,然后控制電路板根據(jù)電位計(jì)反應(yīng)回來的數(shù)據(jù)決定電機(jī)后續(xù)的轉(zhuǎn)動(dòng)方向和速度,從而使舵

25、機(jī)運(yùn)動(dòng)到指定的位置后停頓運(yùn)動(dòng),可以實(shí)現(xiàn)對(duì)位置的準(zhǔn)確控制。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的壓降。它的部所集成有過熱保護(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)

26、節(jié)特性??烧{(diào)型的LM2596甚至可以輸出低于37V的各種電壓。LM2596的特性如下:輸出電壓可調(diào),可調(diào)圍為1.2V37V,誤差圍4%;輸出特性有良好的線性,并且負(fù)載可以調(diào)節(jié);驅(qū)動(dòng)能力較強(qiáng),輸出電流可高達(dá)3A,輸入電壓可高達(dá)40V;采用150kHz的部振蕩頻率,屬于第二代開關(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)壓電路機(jī)械臂控制系統(tǒng)軟件設(shè)計(jì)4.1初始化模塊設(shè)計(jì)初始化模塊主要負(fù)責(zé)完成如下工作:系統(tǒng)時(shí)鐘控制存放器 RCC 的配置, SysTick 定時(shí)

27、器,TIM 定時(shí)器,通用輸入輸出接口 GPIO ,嵌套向量中斷控制器 NVIC, PWM 波輸出,超聲波傳感器模塊的初始化。采用庫函數(shù)進(jìn)展編程。4.1.1系統(tǒng)時(shí)鐘控制STM32 CPU 的時(shí)鐘源可以來自部高速振蕩器HSI、外部高速振蕩器HSE或者部鎖相環(huán)PLL。鎖相環(huán)需要以 HSI 或 HSE 作為時(shí)鐘來源,兩者的差異在于部高速震蕩器 HSI 不能產(chǎn)生穩(wěn)定的8MHz的時(shí)鐘頻率。為了獲得最大的工作頻率,都會(huì)通過鎖相環(huán)配置出最大的72MHz頻率,供應(yīng)Corte*-M3核使用。流程圖如下:開場(chǎng)復(fù)位系統(tǒng)時(shí)鐘設(shè)置開啟外部振蕩器HSE是否成功起振并穩(wěn)定?YN選擇AHB,APB1,APB2頻率使能鎖相環(huán)PL

28、L等待PLL輸出穩(wěn)定,成為時(shí)鐘源完畢圖4.2 系統(tǒng)時(shí)鐘初始化流程圖4.1.2 SysTick定時(shí)器SysTick ,即系統(tǒng)節(jié)拍時(shí)鐘,它作為ARM Corte*-M3核的一個(gè)設(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分頻后作為Corte*系統(tǒng)定時(shí)器(SysTick)的外部時(shí)鐘。通過對(duì)SysTick控制與狀態(tài)存放器的設(shè)置,可選擇上述時(shí)鐘或Corte*(HCLK)時(shí)鐘作為SysTick時(shí)鐘。系統(tǒng)嘀嗒校準(zhǔn)值固定為

29、9000,當(dāng)系統(tǒng)嘀嗒時(shí)鐘設(shè)定為9MHz(HCLK/8的最大值),產(chǎn)生1ms時(shí)間基準(zhǔn)。本局部的程序流程圖如下:開場(chǎng)設(shè)置Systick重裝載時(shí)間失能Systick定時(shí)器設(shè)定中斷函數(shù),獲取節(jié)拍使能Systick定時(shí)器完畢圖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í)間參考功能,還具有輸入捕捉、輸出比擬、單脈沖

30、輸出、 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ù)功能。本局部的程序流程圖如下:開場(chǎng)配置PWM輸出引腳設(shè)置定時(shí)器TIM2各輸出通道占空比設(shè)置定時(shí)器TIM3輸出通道1占空比延時(shí)1000ms,等待手臂初始化完成設(shè)置定時(shí)器TIM4計(jì)數(shù)模式完畢圖4.4 TIM定時(shí)器初始化流程圖4.1.4通用輸入輸出接口GPIOGPIO 可以說是STM32最常用的外設(shè)。STM32F103ZET6提供多達(dá)112個(gè)雙向 GPIO ,分別分布在 AG 這7個(gè)端口中。每個(gè)端口又包括16個(gè) GPIO ,都可承受5V的壓降。GPIO 可通過配置存放器工作在如下8種模式:浮空輸入、帶上拉電阻的輸入、帶下拉電阻的輸入、模擬輸入;開漏輸出、推挽輸出、復(fù)用推挽輸出、復(fù)用開漏輸出。該設(shè)計(jì)中將PA0、PA1、

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論