基于STM32仿生六足機(jī)器人_畢業(yè)設(shè)計(jì).doc
《基于STM32仿生六足機(jī)器人_畢業(yè)設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于STM32仿生六足機(jī)器人_畢業(yè)設(shè)計(jì).doc(44頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、畢業(yè)設(shè)計(jì)(論文)基于STM32仿生六足機(jī)器人學(xué)院: 電子與信息工程學(xué)院 專業(yè): XXXXXXXXXXXXXXXX 學(xué)號(hào): XXXXXXXXXXX 作者: XXX 指導(dǎo)老師: XXX 基于STM32仿生六足機(jī)器人電子與信息工程學(xué)院 XXXXXXXXXXXX專業(yè)作者 XXX 指導(dǎo)教師 XXX【摘 要】在科技高速發(fā)展的信息社會(huì),機(jī)器人在工業(yè),軍事,探測(cè)等各個(gè)領(lǐng)域起著越來越重要和不可替代的位置,機(jī)器人研究成為目前世界各國研究的熱點(diǎn)。仿生六足機(jī)器人涉及仿生學(xué)、機(jī)械學(xué)、信息技術(shù)和傳感技術(shù)等眾多學(xué)科,是機(jī)器人研究的一大分支。仿生六足機(jī)器人模仿生物界爬行動(dòng)物的肢體結(jié)構(gòu),具有良好的機(jī)動(dòng)性和自適應(yīng)能力,在軍事運(yùn)輸
2、、礦山開采、星球探測(cè)等眾多領(lǐng)域具有廣闊前景。本設(shè)計(jì)采用ARM內(nèi)核結(jié)構(gòu)(Cortex-M3)的STM32F103RBT6為主控芯片,通過內(nèi)部定時(shí)器產(chǎn)生脈寬調(diào)制信號(hào),以及使用74HC138進(jìn)行分時(shí)復(fù)用來控制六足機(jī)器人的關(guān)節(jié),即18個(gè)MG955舵機(jī)。通過BMX-02藍(lán)牙轉(zhuǎn)串口模塊連接手機(jī)和機(jī)器人,實(shí)現(xiàn)手機(jī)藍(lán)牙遙控。采用UN2003A電機(jī)驅(qū)動(dòng)芯片驅(qū)動(dòng)步進(jìn)電機(jī),并配合紅外傳感器使機(jī)器人實(shí)現(xiàn)智能避障。由于該機(jī)器人擁有18自由度,肢體靈活,還可實(shí)現(xiàn)各種類似舞蹈的特殊動(dòng)作?!娟P(guān)鍵詞】 仿生六足機(jī)器人;STM32F103RBT6;舵機(jī)控制 目錄1緒論1 1.1 課題研究背景意義 1 1.2 仿生六足機(jī)器人的現(xiàn)狀
3、1 1.3 本設(shè)計(jì)系統(tǒng)結(jié)構(gòu)2 1.4 本論文的組織結(jié)構(gòu)22肢體結(jié)構(gòu)和步態(tài)規(guī)劃3 2.1 肢體結(jié)構(gòu)設(shè)計(jì)3 2.2 步態(tài)規(guī)劃3 2.2.1 三角步態(tài)3 2.3 本章小結(jié)43硬件設(shè)計(jì)介紹與系統(tǒng)各部分工作原理5 3.1主控芯片STM32F103RBT6簡介5 3.2 STM32F103RBT6最小系統(tǒng)電路5 3.2.1 主芯片原理圖5 3.2.2 晶振電路6 3.2.3 復(fù)位電路6 3.2.4下載電路7 3.3 舵機(jī)原理與控制7 3.3.1 舵機(jī)內(nèi)部結(jié)構(gòu)7 3.3.2 舵機(jī)的工作原理7 3.3.3 舵機(jī)控制方法8 3.3.4 輝盛MG995舵機(jī)相關(guān)參數(shù)8 3.4 舵機(jī)驅(qū)動(dòng)電路9 3.5 步進(jìn)電機(jī)驅(qū)動(dòng)電
4、路9 3.6 藍(lán)牙接收電路10 3.7 供電系統(tǒng)介紹10 3.7.1舵機(jī)供電10 3.7.2主芯片及其他電路供電10 3.8 本章小結(jié)104軟件流程設(shè)計(jì)與開發(fā)工具介紹10 4.1 軟件流程框圖10 4.2 PWM脈沖信號(hào)的形成11 4.3 行走程序介紹13 4.4 藍(lán)牙上位機(jī)設(shè)計(jì)14 4.5 藍(lán)牙接收程序介紹15 4.6 舞蹈子程序介紹16 4.7 避障子程序介紹17 4.8 本章小結(jié)175設(shè)計(jì)制作與調(diào)試過程17 5.1 硬件電路設(shè)計(jì)17 5.1.1 原理圖PCB電路與制作工藝設(shè)計(jì)18 5.1.2 PCB板的檢測(cè)18 5.2 初步軟件編程與調(diào)試18 5.3 調(diào)試過程中出現(xiàn)的問題186結(jié)束語18
5、7致謝19 參考文獻(xiàn)20英文摘要21附錄一:原理圖22附錄二:PCB圖25附錄三:實(shí)物圖27附錄四:器件清單28附錄五:部分程序29基于STM32仿生六足機(jī)器人1.緒論1.1 課題研究背景意義機(jī)器人是集合了電子技術(shù)、機(jī)械技術(shù)、傳感器技術(shù)、智能控制技術(shù)等于一體的高科技產(chǎn)品。各國現(xiàn)今大力的對(duì)它研究,研究機(jī)器人的水平在一定程度上反應(yīng)了該國科技的水平。隨著科技的發(fā)展,人們對(duì)機(jī)器人的需求也越來越高,人們希望機(jī)器人能在復(fù)雜環(huán)境中既具有高移動(dòng)能力,又具有高可靠性。過去的機(jī)器人結(jié)構(gòu)多為輪式結(jié)構(gòu),這種機(jī)器人只局限于二維平面的運(yùn)動(dòng),對(duì)于那些崎嶇不平以及有高度差的路面將失去靈活性,因此外形類似人類或昆蟲的兩足甚至多
6、足機(jī)器人誕生了。仿生六足機(jī)器人是基于仿生學(xué)原理與電子技術(shù)相結(jié)合的足式機(jī)器人。和輪式或著履帶式的機(jī)器人相比較,六足機(jī)器人自由度比較多、相對(duì)靈活、但結(jié)構(gòu)復(fù)雜、控制繁瑣1。由于六足機(jī)器人的腿部是離散結(jié)構(gòu),具有較好的機(jī)動(dòng)性,它可以選擇最優(yōu)的立足點(diǎn)來實(shí)現(xiàn)自身的平衡,從而實(shí)現(xiàn)一些輪式或履帶式機(jī)器人無法實(shí)現(xiàn)的工作,例如攀爬階梯,橫跨溝,坎等,即使在不平的路面,也能通過控制腿的伸縮使機(jī)身保持水平。由于以上的諸多特點(diǎn),足式的機(jī)器人成為當(dāng)今的科技研究熱點(diǎn)。1.2 仿生六足機(jī)器人的現(xiàn)狀 最近在國外科技會(huì)展上出現(xiàn)了一款基于仿生學(xué)的六足機(jī)器人。這款命名為“蟑螂”的機(jī)器能夠模仿昆蟲行走,有較強(qiáng)通過性?!癕ANTIS(蟑螂
7、)”行走機(jī)器人是由名為micromagic systems的公司制造,駕駛艙內(nèi)能夠容納一名駕駛員。MANTIS機(jī)器人模仿了六足行進(jìn)模式的昆蟲,六足機(jī)器人行走的時(shí)候腿分為兩組,不斷的重復(fù)腳抬高、前進(jìn)、落下動(dòng)作,抬起的三條腿正好連成三角形形狀,這樣就能夠確保行走時(shí)的穩(wěn)定性,這種行走方法速度比較慢,但是很適合在復(fù)雜的地形行走。圖1-1MANTIS模仿昆蟲行走模式由上海交通大學(xué)設(shè)計(jì)研發(fā)出的“六爪章魚”救援機(jī)器人進(jìn)行了載人試驗(yàn)?!傲φ卖~”由18個(gè)直流電機(jī)作為驅(qū)動(dòng),高度為1米,伸展時(shí)的大小能達(dá)到4米。它是通過遠(yuǎn)程控制,能夠非常靈敏的向各個(gè)方向行走,速度最高能達(dá)1.2千米/小時(shí),能載重200kg的物體?!?/p>
8、六爪章魚”吸引人的地方不只是它的外表,它的用途主要是用來救援和環(huán)境的探測(cè),能夠在核電站等具有高輻射的惡劣環(huán)境下工作,并且?guī)е鴻z測(cè)工具進(jìn)入危險(xiǎn)環(huán)境作業(yè)。同時(shí)該機(jī)器人還可在火災(zāi)、水下、地震災(zāi)區(qū)進(jìn)行搜索救援任務(wù)。 圖1-1 2013年5月上??萍?圖1-2 2012年上海工博會(huì),美 節(jié)上,小朋友體驗(yàn)六足機(jī)器人 女與機(jī)器人大跳“江南style” 1.3 本設(shè)計(jì)系統(tǒng)結(jié)構(gòu)該機(jī)器人采用STM32為主控芯片,通過按鍵進(jìn)行功能選擇。當(dāng)選擇藍(lán)牙控制功能時(shí),機(jī)器人將通過藍(lán)牙接收電路接收手機(jī)端發(fā)來的信號(hào),主芯片對(duì)藍(lán)牙信號(hào)進(jìn)行處理,使機(jī)器人做出相應(yīng)動(dòng)作。當(dāng)選擇避障功能時(shí),主芯片控制步進(jìn)電機(jī)電路使步進(jìn)電機(jī)帶動(dòng)紅外傳感器旋
9、轉(zhuǎn),紅外傳感器對(duì)外部環(huán)境掃描并判斷,反饋給主芯片,主芯片對(duì)紅外傳感器傳來信息處理并控制舵機(jī)轉(zhuǎn)動(dòng),使機(jī)器人產(chǎn)生相應(yīng)動(dòng)作。當(dāng)選擇舞蹈功能時(shí),機(jī)器人將自動(dòng)跳出有節(jié)奏的動(dòng)作。手機(jī)藍(lán)牙信號(hào)藍(lán)牙串口接收功能選擇按鍵 STM32F103RBT6 核心處理芯片光耦隔離驅(qū)動(dòng)電路脈寬調(diào)制控制避障 紅外傳感器臺(tái)式電腦電源供電18個(gè)MG955舵機(jī)方向控制根據(jù)紅外檢測(cè)、藍(lán)牙遙控進(jìn)行行走舞蹈等動(dòng)作 步進(jìn)電機(jī)圖1-3 系統(tǒng)結(jié)構(gòu)1.4本論文的組織結(jié)構(gòu)第一章闡述課題的背景,課題的研究意義,國內(nèi)外發(fā)展現(xiàn)狀,并介紹了本課題的主要工作內(nèi)容和系統(tǒng)框圖。第二章介紹仿生六足機(jī)器人的步態(tài)規(guī)劃,詳細(xì)介紹三角步態(tài)的原理及機(jī)器人實(shí)現(xiàn)行走的動(dòng)作控制
10、,以及機(jī)器人的肢體結(jié)構(gòu)。第三章詳細(xì)的介紹了系統(tǒng)硬件的具體實(shí)現(xiàn)。把硬件部分一一的列舉出來,并分析各個(gè)硬件的工作原理,引腳的連接。第四章介紹了軟件開發(fā)工具和軟件的具體實(shí)現(xiàn)方法。包括開發(fā)環(huán)境介紹,脈寬調(diào)制信號(hào)的生成,機(jī)器人行走的軟件設(shè)計(jì),藍(lán)牙信號(hào)的接收設(shè)計(jì)等。第五章總結(jié)了系統(tǒng)的工作,以及對(duì)整個(gè)系統(tǒng)的展望。2.肢體結(jié)構(gòu)設(shè)計(jì)及步態(tài)規(guī)劃2.1肢體結(jié)構(gòu)設(shè)計(jì) 一期方案:采用0.8mm鋁板為肢體原料,通過鐵皮剪刀裁剪出機(jī)器人肢體的各個(gè)部分形狀,通過鐵釘鉆孔,螺絲固定,組裝成肢體架構(gòu)。此方案完全為自主設(shè)計(jì),成本較低,但由于鋁板較薄,硬度不夠,負(fù)重能力較差,且鋁板裁剪過程中難免存在誤差,造成機(jī)器人靈活性下降。以下為
11、采用方案一制作出的第一版機(jī)器人,僅能實(shí)現(xiàn)行走。 二期方案:在吸取方案一的經(jīng)驗(yàn)教訓(xùn)后,對(duì)肢體結(jié)構(gòu)進(jìn)行改造,采用3mm的硬質(zhì)支架,從而解決了由于支架造成的影響。 圖2-1 方案一支架 圖2-2 方案二支架2.2六足機(jī)器人步態(tài)規(guī)劃2.2.1三角步態(tài):為了實(shí)現(xiàn)六足機(jī)器人的平衡與運(yùn)動(dòng),采用了三角步態(tài)的工作方式 。行走的時(shí)后將六條腿劃分成兩組,每組腿構(gòu)成三角形,不斷的重復(fù)著抬起、前進(jìn)、放下動(dòng)作,這樣就可以保證行進(jìn)過程的穩(wěn)定性2。 六足機(jī)器人的舵機(jī)分布如圖2-3所示,因?yàn)橐蛔愕倪\(yùn)動(dòng)需要3個(gè)舵機(jī),根據(jù)六足的不同位置,將18個(gè)舵機(jī)進(jìn)行命名,分別為頭右1,頭右2,頭右3,中右1,中右2,中右3,尾右1,尾右2,尾
12、右3,頭左1,頭左2,頭左3,中左1,中左2,中左3,尾左1,尾左2,尾左3。 圖2-3 舵機(jī)分布命名前進(jìn)時(shí)每支腿的運(yùn)動(dòng)情況如下:第一步驟:頭右2、尾右2、中左2抬起; 第二步驟:頭右1、尾右1、中左1,前轉(zhuǎn),同時(shí)頭左1、尾左1、中右1歸位;第三步驟:頭左2、尾右2、中右2放下;第四步驟:頭左2、尾左2、中右2抬起;第五步驟:頭左1、尾左1、中右1前移,同時(shí)頭右1、尾右1、中左1,歸位;第六步驟:頭左2、尾左2、中右2放下;后退時(shí)每支腿的運(yùn)動(dòng)情況如下:第一步驟:頭右2、尾右2、中左2抬起; 第二步驟:頭右1、尾右1、中左1,后轉(zhuǎn),同時(shí)頭左1、尾左1、中右1歸位;第三步驟:頭左2、尾右2、中右2
13、放下;第四步驟:頭左2、尾左2、中右2抬起;第五步驟:頭左1、尾左1、中右1后轉(zhuǎn),同時(shí)頭右1、尾右1、中左1,歸位;第六步驟:頭左2、尾左2、中右2放下;在需要左右移動(dòng)時(shí),沒有選擇螃蟹橫移法,而是需要先轉(zhuǎn)向,然后再前進(jìn)或后退。左轉(zhuǎn)時(shí)每支腿的運(yùn)動(dòng)情況如下:第一步驟:頭右2、尾右2、中左2抬起; 第二步驟:頭右1、尾右1、中左1,前轉(zhuǎn),同時(shí)頭左1、尾左1、中右1歸位;第三步驟:頭左2、尾右2、中右2放下;第四步驟:頭左2、尾左2、中右2抬起;第五步驟:頭左1、尾左1、中右1后轉(zhuǎn),同時(shí)頭右1、尾右1、中左1,歸位;第六步驟:頭左2、尾左2、中右2放下;右轉(zhuǎn)時(shí)每支腿的運(yùn)動(dòng)情況如下:第一步驟:頭右2、尾
14、右2、中左2抬起; 第二步驟:頭右1、尾右1、中左1后轉(zhuǎn),同時(shí)頭左1、尾左1、中右1歸位;第三步驟:頭左2、尾右2、中右2放下;第四步驟:頭左2、尾左2、中右2抬起;第五步驟:頭左1、尾左1、中右1前轉(zhuǎn),同時(shí)頭右1、尾右1、中左1,歸位;第六步驟:頭左2、尾左2、中右2放下;2.3本章小結(jié) 本章介紹兩種方案的六足機(jī)器人肢體結(jié)構(gòu),經(jīng)過實(shí)踐后分析出兩種方案的利弊,為后續(xù)研究提供可靠的硬件平臺(tái)。其次分析了六足機(jī)器人的行走步態(tài),采用模仿蜘蛛行走的三角步態(tài),并針對(duì)基本的行走動(dòng)作做了詳細(xì)的分析。3. 硬件設(shè)計(jì)介紹與系統(tǒng)各部分工作原理4. 3.1主控芯片STM32F103RBT6簡介STM32F103RBT
15、6是一款中端32位ARM微控制器,該芯片是由意法半導(dǎo)體(ST)公司生產(chǎn),其核心是ARM的32位Cortex - M3 CPU 。該芯片F(xiàn)lash大小是容量128K 。芯片集成了USB ,CAN ,有4個(gè)定時(shí)器,每個(gè)定時(shí)器都可以產(chǎn)生出4 路PWM脈沖,2個(gè)ADC ,SPI,I2C , USB , UART等3。內(nèi)核:ARM的32位Cortex -M3 CPU ; 最高的工作頻率為72MHZ。內(nèi)存:閃存程序存儲(chǔ)器128K字節(jié)。低功耗:睡眠,關(guān)機(jī)和待機(jī)模式,VBAT為RTC和后備寄存器。ADC:兩個(gè)12位ADC ,1微秒轉(zhuǎn)換時(shí)間(多達(dá)16個(gè)輸入通道);轉(zhuǎn)換范圍為03.6V;具有保持和雙采樣的功能,含
16、有內(nèi)部的溫度傳感器。DMA :DMA通道有2個(gè)( 七個(gè)DMA1通道,5個(gè)DMA2通道),2 個(gè)DMA的控制器,51個(gè)I/O口,所有I / O端口映像到16個(gè)外部中斷,幾乎所有的端口可以容忍5V信號(hào)。支持外設(shè)定時(shí)器,ADC ,SPI,USB ,IIC和UART 。調(diào)試模式:串行線調(diào)試(SWD)和JTAG接口。計(jì)算單位:CRC計(jì)算單元,96個(gè)新一批的唯一代碼。封裝:ECOPACK封裝。3.2 STM32F103RBT6最小系統(tǒng)電路最小系統(tǒng)電路由主芯片、晶振電路、復(fù)位電路、電源電路、下載電路、外部引腳外擴(kuò)電路組成,各部分介紹如下:3.2.1主芯片原理圖STM32F103RBT6有64個(gè)引腳,有PA、
17、PB、PC、PD四組I/O口,其中定時(shí)器各個(gè)通道所對(duì)應(yīng)的引腳為:TIME1_CH1:PA8 TIME1_CH2:PA9 TIME1_CH3:PA10 TIME1_CH4:PA11TIME2_CH1:PA0 TIME2_CH2:PA1 TIME2_CH3:PA2 TIME2_CH4:PA3TIME3_CH1:PA6 TIME3_CH2:PA7 TIME3_CH3:PB0 TIME3_CH4:PB1TIME4_CH1:PB6 TIME4_CH2:PB7 TIME4_CH3:PB8 TIME4_CH4:PB9STM32F103RBT6管腳排列如下: 圖3-1 STM32F103RBT6芯片原理圖3.
18、2.2 晶振電路STM32共有5個(gè)時(shí)鐘源,分別是:HSE時(shí)鐘:高速外部時(shí)鐘信號(hào),本設(shè)計(jì)中采用8MHZ外部陶瓷晶振。HSI時(shí)鐘:內(nèi)部高速時(shí)鐘信號(hào),是由8MHz的內(nèi)部RC振蕩器產(chǎn)生的,能夠作為系統(tǒng)時(shí)鐘或2分頻之后作為 PLL輸入。PLL 時(shí)鐘:內(nèi)部PLL,能夠倍頻HSI、RC的時(shí)鐘輸出或著HSE晶體的時(shí)鐘輸出。LSE時(shí)鐘:低速外部時(shí)鐘信號(hào),LSE的32.768kHz晶體是一種低速外部晶體或陶瓷諧振器4。它提供了 低功耗和精確的時(shí)鐘源的實(shí)時(shí)時(shí)鐘或其它定時(shí)功能。LSI時(shí)鐘:低速內(nèi)部時(shí)鐘,LSI 的RC發(fā)揮低功耗時(shí)鐘源的作用,它可以保持在關(guān)機(jī)和待機(jī)模式下運(yùn)行。 LSI的時(shí)鐘頻率為40kHz左右(30kH
19、z和60kHz的之間)。以下為HSE時(shí)鐘和LSE時(shí)鐘電路:圖3-2 晶振電路3.2.3復(fù)位電路nRST 接主芯片第7腳,按動(dòng)按鍵K1可使芯片復(fù)位,電路原理圖如下所示: 圖3-3 復(fù)位電路3.2.4下載電路STM32支持多種下載方式,本設(shè)計(jì)采用JTAG及串口下載兩種方式,當(dāng)使用串口下載時(shí),PA10為RX,PA9為TX,需接RX232電平轉(zhuǎn)換電路進(jìn)行下載,下載軟件采用mcuisp,下載方式選擇DTR的低電平復(fù)位,RST高電平進(jìn)BootLoader。當(dāng)下載完成時(shí)應(yīng)將BOOT0接地,此時(shí)程序才可執(zhí)行。原理圖如圖3-4、圖3-5所示: 圖3-4 ISP下載電路 圖3-5 JTAG下載電路3.3舵機(jī)原理與
20、控制3.3.1舵機(jī)內(nèi)部結(jié)構(gòu)舵機(jī)內(nèi)部包括小型直流電動(dòng)機(jī),齒輪組,一個(gè)可調(diào)反饋電位器,電路控制板。直流電動(dòng)機(jī)的高速旋轉(zhuǎn),以提供原始動(dòng)力并帶動(dòng)減速齒輪組,從而產(chǎn)生一個(gè)高輸出扭矩,變速傳動(dòng)比大的舵機(jī)的輸出轉(zhuǎn)矩也越大,意味著越能承受較大的重量,但是轉(zhuǎn)速也較低5。 圖3-6 舵機(jī)的內(nèi)部結(jié)構(gòu)圖3.3.2舵機(jī)的工作原理舵機(jī)是一個(gè)閉環(huán)的反饋系統(tǒng),其原理可由圖3-7表示:圖3-7 舵機(jī)的工作原理圖減速齒輪組是由電機(jī)驅(qū)動(dòng)的,它的輸出端有一個(gè)線性的比例電位器作為位置的檢測(cè),這個(gè)電位器會(huì)把轉(zhuǎn)角所對(duì)應(yīng)的坐標(biāo)轉(zhuǎn)換為成相應(yīng)比例的電壓并反饋給控制線路板,控制線路板將收到的電壓信號(hào)同輸入的控制脈沖信號(hào)進(jìn)行對(duì)比,就會(huì)產(chǎn)生糾正脈沖,
21、同時(shí)驅(qū)動(dòng)直流電機(jī)正向或反向地轉(zhuǎn)動(dòng),使齒輪組的輸出位置與所期望的數(shù)值相同,讓糾正脈沖逐漸的趨于零,通過這種方法使舵機(jī)達(dá)到精確定位的目的。63.3.3 舵機(jī)控制方法MG955舵機(jī)有3條引出的導(dǎo)線,分別是電源線、地線、和信號(hào)控制線,其中紅色的為電源線,棕色的為地線,橙色的為控制信號(hào)線,電源線接5V電壓7。 圖3-8 標(biāo)準(zhǔn)舵機(jī)電源線和地線給舵機(jī)內(nèi)部的直流電機(jī)和控制電路供電。電壓范圍為37V,本設(shè)計(jì)采用5V供電,由于該機(jī)器人共需舵機(jī)18個(gè),每個(gè)舵機(jī)的驅(qū)動(dòng)電流大約為200毫安到500毫安左右,18個(gè)舵機(jī)所需電流為2A到10A,因此給舵機(jī)供電電源應(yīng)能提供足夠的功率,本設(shè)計(jì)采用了臺(tái)式電腦電源,保證了足夠的功率
22、??刂凭€要輸入一個(gè)周期為20ms的方波脈沖信號(hào)8。 當(dāng)方波脈沖的寬度發(fā)生變化的時(shí)候,舵機(jī)的角度就相應(yīng)的發(fā)生改變,脈沖的寬度變化和角度的改變是成正比例的。MG955舵機(jī)的舵機(jī)信號(hào)控制圖如圖3-9表示。 圖3-9 舵機(jī)信號(hào)控制圖3.3.4輝盛MG995舵機(jī)相關(guān)參數(shù)結(jié)構(gòu)材質(zhì):采用金屬的銅齒 ,電機(jī)采用空心杯電機(jī)。連接線 :30CM,信號(hào)線(黃色)、電源線(紅色)、地線(暗紅色)。尺寸大?。?0.7mm*19.7mm*42.9mm工作死區(qū):4us重量 :55g轉(zhuǎn)速和反應(yīng):無負(fù)載時(shí)速度為0.17秒/60度(4.8V時(shí));0.13秒/60度(6V時(shí))扭矩:13KG/cm工作電壓:3.0V-7.2V溫度范圍
23、:負(fù)30度到正60度。附件:、固定的螺釘、舵盤。3.4舵機(jī)驅(qū)動(dòng)電路該機(jī)器人需要實(shí)現(xiàn)6條腿的運(yùn)動(dòng),且各條腿能做出不同動(dòng)作,每條腿需要3個(gè)舵機(jī)對(duì)其進(jìn)行控制,因此要求舵機(jī)驅(qū)動(dòng)電路能產(chǎn)生18路的pwm脈寬調(diào)制信號(hào)。由于我采用的主控芯片為STM32F103RBT6,該芯片有TIM1,TIM2,TIM3,TIM4四個(gè)定時(shí)器,每個(gè)定時(shí)器可產(chǎn)生4路pwm脈寬調(diào)制信號(hào),這樣一共可產(chǎn)生16路pwm。由于不足18路,所以我的控制方法是:腿部的12個(gè)舵機(jī)每個(gè)直接由一路pwm控制,而與機(jī)器人身體連接的6個(gè)舵機(jī)則采用74HC138分時(shí)復(fù)用方式,由一路pwm控制2個(gè)舵機(jī)。這樣一共使用了15路的pwm,還剩1路未使用。為防止
24、舵機(jī)對(duì)主控芯片的影響以及系統(tǒng)工作的穩(wěn)定性,采用光耦對(duì)其進(jìn)行隔離。每個(gè)舵機(jī)所對(duì)應(yīng)的I/O口為: 頭左1:PA8(PC8=0) 頭右1:PA8(PC8=1) 中左1:PB6(PD2=0) 中右1:PB6 (PD2=1) 尾左1:PB7(PB5=0) 尾右1:PB7(PB5=1) 頭左2:PB9 頭右2:PA11 中左2:PB8 中右2:PA10 尾左2:PA2 尾右2:PA6 頭左3:PA0 頭右3:PB0 中左3:PA1 中右3:PB1 尾左3:PA3 尾右3:PA7其中PC8、PD2、PB5對(duì)舵機(jī)進(jìn)行選擇,當(dāng)為高電平時(shí)選擇右端舵機(jī),當(dāng)為低電平時(shí)選擇左端舵機(jī)。以下是74HC1389復(fù)用電路及光耦
25、隔離電路部分原理圖。 圖3-10 74HC138復(fù)用電路部分原理圖 圖3-11 光耦隔離電路部分原理圖3.5步進(jìn)電機(jī)驅(qū)動(dòng)電路在避障過程中由于需要紅外傳感器不斷的掃描外部環(huán)境,所以需要步進(jìn)電機(jī)不斷旋轉(zhuǎn),步進(jìn)電機(jī)采用ULN2003A驅(qū)動(dòng),其中IN1接PC3,IN2接PC1,IN3接PC0,IN4接PC2。以下為驅(qū)動(dòng)電路原理圖:圖3-12 步進(jìn)電機(jī)驅(qū)動(dòng)電路3.6藍(lán)牙接收電路藍(lán)牙模塊采用英國CSR公司blueCore4-Ext芯片,遵循V2.1+EDR藍(lán)牙規(guī)范,支持主從一體,支持SPI編程接口,內(nèi)置8Mbit Flash,本模塊為3.3V供電,其中使用的引腳為VCC、GND、RX、TX四個(gè)引腳。圖3-
26、13為藍(lán)牙模塊原理圖。圖3-13藍(lán)牙模塊原理圖3.7供電系統(tǒng)介紹 本設(shè)計(jì)需要對(duì)18個(gè)舵機(jī)及步進(jìn)電機(jī)供電,還有主芯片,藍(lán)牙接收電路,紅外傳感等供電。需要有5V和3.3V電壓。3.7.1舵機(jī)供電 由于18個(gè)舵機(jī)需要2-10A左右的電流,普通電池和7805穩(wěn)壓電路無法驅(qū)動(dòng),本設(shè)計(jì)采用廢舊的臺(tái)式電腦電源對(duì)機(jī)器人供電,臺(tái)式電腦電源由市電220V經(jīng)變壓處理后得到5V電壓,該開關(guān)電源最大負(fù)載電流18A,且電壓平穩(wěn),非常適合給舵機(jī)供電。3.7.2主芯片及其他電路供電主芯片及其他電路需要3.3V供電,為了防止舵機(jī)對(duì)主芯片的影響,必須采用雙電源供電,本設(shè)計(jì)采用7.4V航模鋰電池,經(jīng)AMS117穩(wěn)壓芯片降壓為3.3
27、V給主芯片及其他電路供電。3.8本章小結(jié)本章對(duì)硬件體系結(jié)構(gòu)進(jìn)行分解并逐一介紹,包括STM32F103RBT6芯片介紹,及最小系統(tǒng)原理圖介紹,舵機(jī)的原理及舵機(jī)驅(qū)動(dòng)電路介紹,步進(jìn)電機(jī)驅(qū)動(dòng)電路介紹,藍(lán)牙接收電路介紹,供電系統(tǒng)的分析。4.軟件流程設(shè)計(jì)與開發(fā)工具介紹4.1軟件流程框圖由于本設(shè)計(jì)中的機(jī)器人具有多種功能,因此采用按鍵進(jìn)行模式選擇,可選擇的模式有藍(lán)牙遙控模式、舞蹈模式、避障模式。以下通過流程圖方式介紹軟件的設(shè)計(jì)思路:開始 系統(tǒng)初始化否是否按鍵? 鍵值判斷是Key3(PB13=0)Key1(PB12=0)Key2(PB14=0)藍(lán)牙遙控功能 避障功能 舞蹈功能 圖4-1 軟件流程框圖4.2PWM
28、脈沖信號(hào)的形成脈沖寬度調(diào)制(PWM),是“Pulse Width Modulation”縮寫,簡稱為脈寬調(diào)制,它是利用微處理器數(shù)字輸出對(duì)模擬電路進(jìn)行控制的一種有效的技術(shù)10。也就是對(duì)脈沖的寬度控制。STM32F103RBT6的定時(shí)器TIM1、TIM2、TIM3、TIM4都可以用來分別同時(shí)產(chǎn)生4路PWM,所以,STM32F103RBT6最多可以同時(shí)產(chǎn)生16路PWM輸出。以下僅介紹TIM3的CH2產(chǎn)生一路PWM輸出。其他路的PWM輸出程序詳見附件。要使STM32F103RBT6的定時(shí)器TIM3產(chǎn)生PWM輸出,必須要設(shè)置3個(gè)寄存器來控制PWM。首先是捕獲/比較模式寄存器(TIMx_CCMR1/2),
29、該寄存器總共有2個(gè),TIMx _CCMR1和TIMx _CCMR2。TIMx_CCMR1控制CH1和CH2,TIMx_CCMR1控制CH3和CH4。 圖4-2 TIMx_CCMR1寄存器各位的描述該寄存器在不同模式下有些位的功能會(huì)不同,因此上圖就把寄存器分成上下2層,第一層對(duì)應(yīng)輸出而第二層則對(duì)應(yīng)輸入。模式設(shè)置位OCxM是由3位組成的,一共能設(shè)置成7種模式,本設(shè)計(jì)是PWM模式,因此這3位要設(shè)置成為110/111。這兩種模式的不同之處就是輸出高低電平不同,一個(gè)是輸出高,另一個(gè)是輸出低。接下來,介紹捕獲/比較使能寄存器(TIMx_CCER),這個(gè)寄存器是用來控制輸入輸出通道開關(guān)的11。該寄存器的各位
30、描述如下: 圖4-3 捕獲/比較使能寄存器各位描述最后是捕獲/比較寄存器(TIMx_CCR14),這個(gè)寄存器一共有4個(gè),對(duì)應(yīng)的分別是通道1到通道4。這4個(gè)寄存器都差不多,這里只介紹TIMx_CCR1,該寄存器的各個(gè)位描述如下:圖4-4 捕獲/比較寄存器(TIMx_CCR14)各位描述輸出的模式下,該寄存器和CNT值相比,根據(jù)比較的結(jié)果產(chǎn)生相對(duì)應(yīng)的動(dòng)作。利用這點(diǎn),我們只要設(shè)置該寄存器,就可能實(shí)現(xiàn)PWM的輸出脈寬控制。到這里就把要用到的TIMx相關(guān)寄存器介紹完了,接下來就是如何達(dá)到設(shè)計(jì)的要求。要利用TIM3的CH2輸出PWM來控制舵機(jī),就要在軟件上控制TIM3_CH2的PWM輸出。以下介紹達(dá)到這個(gè)
31、目的5個(gè)步驟:1)把PA7設(shè)置成為復(fù)用輸出功能,打開TIM3的時(shí)鐘。要使用TIM3,必須要把TIM3的時(shí)鐘打開(通過設(shè)置APB1ENR),這里還要把PA7配置為復(fù)用輸出,因?yàn)門IM3_CH2通道是以IO復(fù)用的形式連接到PA7上的,這里要使用復(fù)用輸出的功能。2)設(shè)置TIM3的ARR和PSC。在打開TIM3的時(shí)鐘后,要設(shè)置ARR和PSC這兩個(gè)寄存器的值來控制輸出PWM周期。這里要設(shè)置的PWM周期為20ms。3)設(shè)置TIM3_CH2的PWM模式。接下來,把TIM3_CH2設(shè)置為PMW模式(這里是默認(rèn)凍結(jié)的),要通過設(shè)置TIM3_CCMR1相關(guān)的位來控制TIM3_CH2的模式。4)使能TIM3的CH2
32、輸出,使能TIM3。以上設(shè)置完成了以后,通過TIM3_CCER1設(shè)置來打開TIM3通道2的輸出。通過設(shè)置TIM3_CR1來打開TIM3,是整個(gè)TIM3的總開關(guān)。配置好這兩個(gè)寄存器后,就能在TIM3通道2上看到有PWM波的輸出。5)修改TIM3_CCR2來控制占空比。經(jīng)過了以上4步的設(shè)置,已經(jīng)有PWM輸出,但是其周期和占空比都是不變的,需要通過設(shè)置TIM3_CCR2來控制輸出的占空比。其中高電平占空比時(shí)間為1ms到2ms才能使舵機(jī)轉(zhuǎn)動(dòng)。以下為PWM輸出初始化部分程序:40/PWM輸出初始化/arr:自動(dòng)重裝值/psc:時(shí)鐘預(yù)分頻數(shù)void PWM_Init(u16 arr,u16 psc) RC
33、C-APB1ENR|=1CRL&=0X00FFFFFF;GPIOA-CRL|=0XBB000000; GPIOA-ODR|=1ODR|=1CRL&=0XFFFFFF00;GPIOB-CRL|=0X000000BB; GPIOB-ODR|=1ODR|=1ARR=arr;TIM3-PSC=psc;TIM3-CCMR1|=7CCMR1|=1CCMR1|=7CCMR1|=1CCMR2|=7CCMR2|=1CCMR2|=7CCMR2|=1CCER|=1CCER|=1CCER|=1CCER|=1CR1=0 x8000; TIM3-CR1|=0 x01; 設(shè)置好初始化程序后,只需在主程序里寫入PWM_Ini
34、t(14399,99);即設(shè)置了自動(dòng)重裝值和時(shí)鐘預(yù)分頻數(shù),99是指預(yù)分頻數(shù)為100,即PWM頻率=72000/100=72Khz,周期為(14399+1)/72khz=20ms,以后只需令PA7=7201440即可實(shí)現(xiàn)舵機(jī)從0度到90度轉(zhuǎn)動(dòng)。4.3行走程序介紹通過4.2的介紹,我們知道只需要改變PWM脈寬就可以控制舵機(jī)。2.2已經(jīng)介紹了前進(jìn)時(shí)各個(gè)舵機(jī)的運(yùn)動(dòng),本節(jié)通過軟件設(shè)置各個(gè)舵機(jī)的PWM輸出,以下截取前進(jìn)子程序:其中720對(duì)應(yīng)20ms脈沖周期內(nèi)有1ms的高電平;1440對(duì)應(yīng)20ms脈沖周期內(nèi)有2ms的高電平,其他依次類推。/*前進(jìn)子程序*void forword(void)while(1)/
35、*頭右2,尾右2,中左2抬起*PB9=1200; /頭左2 /*頭右2,尾右2,中左2放下* PB8=1440; /中左2PA2=1200; /尾左2PA11=720;/頭右2PA10=960;/中右2PA6=720;/尾右2 delay_ms(250);/*頭右1,尾右1,中左1前轉(zhuǎn),頭左1,尾左1,中右1復(fù)位*PC8=1;PA8=920;/頭右1PB5=1;PB7=920;/尾右1PD2=0;PB6=1240; /中左1delay_ms(100);PC8=0;PA8=1080;/頭左1PD2=1;PB6=1080;/中右1PB5=0;PB7=1080;/尾左1delay_ms(250);/
36、*頭右2,尾右2,中左2放下*PB9=1200; /頭左2 PB8=1200; /中左2PA2=1200; /尾左2PA11=960;/頭右2PA10=960;/中右2PA6=960;/尾右2 delay_ms(250);/*頭左,尾左2,中右2抬起* PB9=1440; /頭左2 PB8=1200; /中左2PA2=1440; /尾左2 PA11=960;/頭右2PA10=720;/中右2PA6=960;/尾右2 delay_ms(250);/*頭左1,尾左1,中右1前轉(zhuǎn),頭右1,尾右1,中左1復(fù)位*PC8=0;PA8=1240;/頭左1PB5=0;PB7=1240;/尾左1PD2=1;PB
37、6=920;/中右1delay_ms(250);PC8=1;PA8=1080;/頭右1PB5=1;PB7=1080;/尾右1PD2=0;PB6=1080; /中左1 delay_ms(250);/*頭左,尾左2,中右2放下*PB9=1200; /頭左2 PB8=1200; /中左2PA2=1200; /尾左2PA11=960;/頭右2PA10=960;/中右2PA6=960;/尾右2 delay_ms(250); 4.4藍(lán)牙上位機(jī)設(shè)計(jì)機(jī)器人采用手機(jī)藍(lán)牙遙控,上位機(jī)軟件采用Google公司的一款A(yù)ndroid程序云端開發(fā)工具: App Inventor。此款軟件開發(fā)方式類似于VB,同樣是在可視化
38、界面添加控件,然后對(duì)控件進(jìn)行編程。與VB不同的是此款軟件的編程語言為Java,其編程特色就是采用搭積木方式組裝程序,使編程變得簡單易懂。以下是我設(shè)計(jì)的上位機(jī)控制界面:圖4-5藍(lán)牙上位機(jī)控制界面當(dāng)按下select server按鍵后,手機(jī)將自動(dòng)搜索附近可識(shí)別的藍(lán)牙,并列表顯示出來,我們選擇機(jī)器人攜帶的藍(lán)牙從機(jī)。然后按下Connect按鍵后將和機(jī)器人藍(lán)牙從機(jī)建立連接,連接成功后將在中間的文本框中顯示connect succeed。此時(shí)便和機(jī)器人建立連接,就可以對(duì)機(jī)器人進(jìn)行控制了。以下為部分上位機(jī)程序:圖4-6 上位機(jī)程序4.5藍(lán)牙接收程序介紹藍(lán)牙接收使用串口接收方式,由于STM32的RX和TX對(duì)應(yīng)
39、的I/O已用來產(chǎn)生PWM輸出,不可再用作串口接收,本設(shè)計(jì)借用一片STC89C52芯片接收藍(lán)牙信號(hào),然后將接收到的信號(hào)轉(zhuǎn)化為I/O口的電平變化,STM32通過讀取52芯片I/O信號(hào),從而執(zhí)行相應(yīng)程序。以下為52單片機(jī)藍(lán)牙接收程序: #include #include #define uchar unsigned char12 #define uint unsigned int sfr T2MOD = 0 xC9; uchar tmp; sbit pA12=P15; sbit pB10=P26; sbit pB11=P27; sbit pC4=P14; sbit pC5=P25; sbit pC6
40、=P33; sbit pC7=P34; sbit pC9=P35; /*程序初始化*/ void init() T2MOD=0 x00; T2CON=0 x00; TH2 = (65536-100)/256; TL2 = (65536-100)%256; RCAP2H =(65536-100)/256; /上面兩個(gè)裝滿則系統(tǒng)會(huì)自動(dòng)的重裝 RCAP2L =(65536-100)%256; EA=1; /打開總中斷 ET2=1; /打開外部中斷方式2 TR2=1;/啟動(dòng)定時(shí)器2 void main() init();/*開啟外部中斷方式0*/ EX0=1;/開啟外部中斷方式0 IT0=1; EA=
41、1; TMOD |= 0 x20;/ 定時(shí)器1工作在8位的自動(dòng)重加載模式, 產(chǎn)生波特率 TH1 = 0 xFD;/ 波特率設(shè)置為9600 TL1 = 0 xFD; SCON = 0 x50; PCON &= 0 xef;/ 波特率不產(chǎn)生倍增 TR1 = 1;/ 開啟定時(shí)器1 while(1) if(RI)/ 判斷是否有數(shù)據(jù)來到 RI = 0; tmp = SBUF;/數(shù)據(jù)接收暫存 switch(tmp) case 0 x04: pC4=0;pC5=1;pC6=1;pC7=1;pC9=1; break; case 0 x05: pC4=1;pC5=0;pC6=1;pC7=1;pC9=1;brea
42、k;case 0 x06: pC4=1;pC5=1;pC6=0;pC7=1;pC9=1;break; case 0 x07: pC4=1;pC5=1;pC6=1;pC7=0;pC9=1;break; case 0 x01: pC4=1;pC5=1;pC6=1;pC7=1;pC9=0;break; 13以下為藍(lán)牙接收程序的流程框圖:開始藍(lán)牙遙控功能藍(lán)牙接收初始化否是否收到藍(lán)牙信號(hào)?是信號(hào)分析0X01停止0X05左轉(zhuǎn)0X07后退0X04前進(jìn)0X06右轉(zhuǎn) 圖4-7 藍(lán)牙程序流程框圖4.6舞蹈子程序介紹舞蹈功能是由多個(gè)動(dòng)作組合完成,每個(gè)動(dòng)作都有各自的程序,以下列舉最經(jīng)典的俯臥撐程序:void dunx
43、ia_qili(void)u16 pwmval1=1440;u16 pwmval2=720;u8 dir1=0;u8 dir2=0;while(1) delay_ms(10);if(dir1)pwmval1+;else pwmval1-; if(pwmval1=1440)dir1=0;if(pwmval1=1440)dir2=0;if(pwmval2=720)dir2=1;PA0=pwmval1;/頭左3 PB1=pwmval2;/中右3 PA3=pwmval1; /尾左3 PB0=pwmval2;/頭右3 PA1=pwmval1;/中左3PA7=pwmval2; /尾右3 PB9=pwmva
44、l1; /頭左2 PA10=pwmval2; /中右2 PA2=pwmval1; /尾左2 PA11=pwmval2; /頭右2 PB8=pwmval1; /中左2PA6=pwmval2; /尾右24.7避障子程序介紹以下為避障流程圖:開始 避障初始化 前進(jìn)否前方是否有障礙?是 步進(jìn)電機(jī)右轉(zhuǎn)90度機(jī)器人右轉(zhuǎn)90度步進(jìn)電機(jī)左轉(zhuǎn)90度否是右方是否有障礙步進(jìn)電機(jī)左轉(zhuǎn)180度機(jī)器人左轉(zhuǎn)90度步進(jìn)電機(jī)右轉(zhuǎn)90度否是左方是否有障礙 步進(jìn)電機(jī)右轉(zhuǎn)90度后退三步右轉(zhuǎn)90度圖4-8 避障程序流程框圖4.8本章小結(jié)本章首先采用流程圖方式對(duì)整個(gè)軟件設(shè)計(jì)流程進(jìn)行整體介紹,之后列舉各個(gè)部分子程序中最具代表性的程序段進(jìn)行
45、介紹,包括對(duì)PWM實(shí)現(xiàn)所需寄存器設(shè)置的介紹,機(jī)器人實(shí)現(xiàn)行走的介紹,藍(lán)牙上位機(jī)的介紹,藍(lán)牙接收程序的介紹,避障程序的介紹,舞蹈程序的介紹等等。5.設(shè)計(jì)制作與調(diào)試過程本次畢業(yè)設(shè)計(jì)共分為三個(gè)階段,首先是資料的收集與設(shè)計(jì)方案的確定,其次是硬件電路的設(shè)計(jì)制作,最后是軟件的編寫與系統(tǒng)的調(diào)試。5.1 硬件電路設(shè)計(jì)本設(shè)計(jì)包括最小系統(tǒng)板和擴(kuò)展板,其中擴(kuò)展板包括光耦隔離電路、74HC138復(fù)用電路、步進(jìn)電機(jī)驅(qū)動(dòng)電路、藍(lán)牙接收電路、電源電路等。具體的設(shè)計(jì)步驟為:畫原理圖和PCB圖、打印和熱轉(zhuǎn)印、腐蝕電路板、鉆孔、焊接、硬件調(diào)試。5.1.1 原理圖PCB電路與制作工藝設(shè)計(jì)原理圖與PCB電路設(shè)計(jì)采用Altium Des
46、igner軟件,由于原理圖較復(fù)雜,引線較多,PCB電路都采用雙層布線,線寬為信號(hào)線1mm,電源線和地線1.2mm,焊盤和過孔內(nèi)徑1mm,外徑2.2mm14。其中STM32主控芯片,STC89C52芯片,電源芯片及部分最小系統(tǒng)元件都采用貼片形式,并且是雙層板焊接,因此對(duì)焊接技術(shù)有很大的考驗(yàn)。5.1.2 PCB板的檢測(cè)PCB電路板焊接后不能馬上進(jìn)行上電測(cè)試,如若馬上上電測(cè)試則很容易由于焊接,或板的工藝使得電源與地之間短路,或是其他原因造成PCB電路板的燒毀。因此剛焊好的PCB板要經(jīng)過較嚴(yán)格的檢測(cè)。首先要對(duì)電源與地之間的檢測(cè),即用萬用表檢測(cè)電源與地之間是否短路。再者檢測(cè)每個(gè)芯片的電源供電通路是否順暢
47、。在排除了這些問題之后,再給芯片燒錄程序,檢測(cè)每個(gè)模塊的工作是否正常,如若不正常則還需對(duì)出問題部分的元器件進(jìn)行一一排查直至PCB電路板正常工作。5.2 初步軟件編程與調(diào)試軟件編譯環(huán)境為Keil uVision3.8,軟件本身帶有軟件仿真功能,對(duì)設(shè)計(jì)帶來很大的方便,在設(shè)計(jì)過程中,采用仿真來觀察PWM脈沖信號(hào),確保信號(hào)輸出的準(zhǔn)確性。在編譯軟件編譯形成.HEX文件后,采用mcuisp燒錄軟件將程序燒錄到STM32芯片中。藍(lán)牙上位機(jī)軟件開發(fā)環(huán)境為App Inventer,該軟件是Google公司的一款A(yù)ndroid云端程序開發(fā)工具。軟件具有良好的開發(fā)界面,只需在開發(fā)界面上添加控件,并對(duì)控件編程即可下載
48、至手機(jī)。5.3制作調(diào)試過程中出現(xiàn)的問題在一開始的設(shè)計(jì)思路中,為了提高每路pwm的利用率,采用了一路pwm分時(shí)復(fù)用控制一條腿上的三個(gè)舵機(jī)。此方案已經(jīng)制成電路板并使用,但是在調(diào)試過程中舵機(jī)總是不斷顫抖,機(jī)器人無法站立。后來分析其原因是:舵機(jī)分時(shí)復(fù)用時(shí),當(dāng)舵機(jī)沒有信號(hào)輸入,就沒有反饋電壓,此時(shí)舵機(jī)是不工作的,不工作的舵機(jī)就無法支撐起肢體。所以腿部的舵機(jī)不能采用分時(shí)復(fù)用。在吸收了此次經(jīng)驗(yàn)后,我采用了腿部的12個(gè)舵機(jī)每個(gè)直接由一路pwm控制,而與機(jī)器人身體連接的6個(gè)舵機(jī)則采用74HC138分時(shí)復(fù)用方式,由一路pwm控制2個(gè)舵機(jī)。在一期方案的設(shè)計(jì)過程中,由于肢體過軟,造成機(jī)器人行走緩慢,動(dòng)作受到局限。為了
49、制作出更完美的機(jī)器人,在吸取了一期方案的經(jīng)驗(yàn)教訓(xùn)后,采用了二期方案。二期方案能很好的解決一期方案中的弊端。在機(jī)器人的供電問題上也是幾經(jīng)波折,首先選用航模電池經(jīng)整流橋堆降壓至6V后為舵機(jī)供電。此種方法只能為少數(shù)舵機(jī)供電,一旦18個(gè)舵機(jī)一起供電,就會(huì)電流不足使舵機(jī)無法精確可靠的工作。此時(shí)設(shè)計(jì)陷入了瓶頸,在一次偶然的機(jī)會(huì)看到了一個(gè)臺(tái)式電腦電源,在研究后發(fā)現(xiàn)它可以輸出5V電壓,最大負(fù)載電流18A,正好能夠滿足18個(gè)舵機(jī)的供電要求。換上該電源后,各個(gè)舵機(jī)工作正常。由于成本的限制,只能采用精度較低的舵機(jī),此舵機(jī)本身存在機(jī)械誤差,即使給予精確的脈沖信號(hào),都會(huì)與目標(biāo)值存在誤差,一旦舵機(jī)誤差,進(jìn)而造成肢體結(jié)構(gòu)的
50、誤差,從而使每條腿負(fù)重不同,最終導(dǎo)致機(jī)器人失去平衡,這也是調(diào)試過程中存在的難點(diǎn)。由于這種誤差是由舵機(jī)的精度問題導(dǎo)致,是無法避免的,因此在調(diào)試過程中只能盡量規(guī)避和減少誤差。6. 結(jié)束語本次畢業(yè)設(shè)計(jì)歷時(shí)3個(gè)月之久,雖說在大學(xué)四年里,有過不少的電子制作經(jīng)驗(yàn),也參加了不少的電子設(shè)計(jì)競賽,但是本次畢業(yè)設(shè)計(jì)是我所有電子設(shè)計(jì)中難度最大,資料最匱乏,成本最高,研究時(shí)間最長的課題,可以說是對(duì)自我的挑戰(zhàn)。深深的體會(huì)到要從一個(gè)機(jī)器人的門外漢到入門可不是一件簡單的事情,光是肢體結(jié)構(gòu)的方案一設(shè)計(jì)就耗費(fèi)了近一個(gè)月的時(shí)間。為了實(shí)現(xiàn)本設(shè)計(jì)的控制,在此之前就自學(xué)了STM32,因?yàn)槠胀ǖ?1單片機(jī)無法擔(dān)此重任。就是這么一個(gè)艱難的
51、過程,導(dǎo)致最后的成果只實(shí)現(xiàn)了基本功能,但是機(jī)器人的研究是漫長而艱難的,短短的時(shí)間是無法達(dá)成理想效果。因此我會(huì)樹立長久的研究目標(biāo),在以后的工作中,將繼續(xù)深入研究機(jī)器人。7.致謝在此次畢業(yè)設(shè)計(jì)過程中,面臨許多困難,也解決了不少問題,從中學(xué)會(huì)了不少新的知識(shí)。其中離不開老師與同學(xué)的支持和鼓勵(lì),是他們給予我信心,在我遇到問題沮喪的時(shí)候,是他們告訴我要堅(jiān)持下去。在此不得不特別感謝我的指導(dǎo)老師XXX老師,從選題到制作過程都給予了我極大的幫助和建議,他是我見過非常富有責(zé)任心的老師,他思維獨(dú)特,想法新異,非常富有創(chuàng)新精神,是他讓我們的畢業(yè)設(shè)計(jì)有了新意。本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,由于自己知識(shí)水平有限,覺得作品完成
52、得不是很完美,總感覺留有遺憾,也感覺愧對(duì)指導(dǎo)老師的關(guān)心指導(dǎo)。通過此次畢業(yè)設(shè)計(jì),讓我認(rèn)知到自己那些方面不足,以后我會(huì)不斷努力,爭取做出更完美的六足機(jī)器人。這次畢業(yè)設(shè)計(jì)讓我對(duì)電子設(shè)計(jì)的愛好有了進(jìn)一步的提升,為以后工作留下了寶貴的經(jīng)驗(yàn)和財(cái)富。參考文獻(xiàn):1 遲冬祥,顏國正.仿生機(jī)器人的研究狀況及其未來發(fā)展J.機(jī)器人,2001,23(5).2 張秀麗,鄭浩峻,陳懇.機(jī)器人仿生學(xué)研究綜述J.機(jī)器人,2002,24(2).3 百度百科.STM32.http:/ 楊素行.模擬電子技術(shù)基礎(chǔ)簡明教程M.北京:高等教育出版社,2006,367.5 石愛平,杜玉杰.高校單片機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng)的設(shè)計(jì)J.電氣電子教學(xué)學(xué)報(bào),2
53、010,32(1):84-85.6 方龍,陳丹,肖獻(xiàn)保.基于單片機(jī)的機(jī)械手臂控制系統(tǒng)設(shè)計(jì)J.廣西輕工業(yè),2008,第八期(總第117期):89-90.7 王永鼎,聶莉娜.基于模糊控制的智能競速車舵機(jī)轉(zhuǎn)向系統(tǒng)A.2010年中國人工智能學(xué)會(huì)智能檢測(cè) 與運(yùn)動(dòng)控制技術(shù)會(huì)議論文集C.北京:中國人工智能學(xué)會(huì),2010,8-20.8 吳華波,錢春來.基于AT89C2051的多路舵機(jī)控制器設(shè)計(jì)J.單片機(jī)及嵌入式系統(tǒng)應(yīng)用,2008.9 余孟嘗.數(shù)字電子技術(shù)基礎(chǔ)簡明教程M.北京:高等教育出版社,2006,177-178.10 劉軍.例說STM32M.北京:北京航空航天大學(xué)出版社,2013,142-143.11 劉乾,孫志鋒. 基于ARM的四旋翼無人飛行器控制系統(tǒng)J. 機(jī)電工程,2011,28(10):1237-1240.12 譚浩強(qiáng).C程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2005,204-217.13 唐穎.單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)M.北京:北京大學(xué)出版社,2008,146-153.14 江思敏,胡燁.Altium Designer(Protel)原理圖與PCB設(shè)計(jì)教程M.北京:機(jī)械
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院感染環(huán)境監(jiān)測(cè)及采樣方法課件
- 蘇教版六年級(jí)數(shù)學(xué)上冊(cè)《分?jǐn)?shù)除法12整理與練習(xí)》研討ppt課件
- 產(chǎn)褥期婦女的護(hù)理
- 高中數(shù)學(xué)人教版選修2ppt課件216微積分基本定理
- 四年級(jí)科學(xué)巖石和我們課件
- 招商銀行279612090文檔課件
- 人教版部編-九年級(jí)歷史下冊(cè)-第12課亞非拉民族解放運(yùn)動(dòng)的高漲ppt課件
- 正確滅火小這安全教育課件
- 部編本人教版小學(xué)五年級(jí)美術(shù)上冊(cè)ppt:《色彩的和諧》課件
- 北京課改初中數(shù)學(xué)九上《《圓周角》課件-(公開課獲獎(jiǎng))2022年北京課改版-北京課改版
- 北京XX花園營銷中心開放活動(dòng)策劃方案
- 中心靜脈置管的護(hù)理1
- 電場(chǎng)教材分析課件
- 牛津英語8A-Unit1Integrated-skills-B-&-Study-skillsppt課件
- 認(rèn)識(shí)一元一次方程(第1課時(shí))ppt課件