![基于stm32平衡小車論文_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/7cc3631f-84a4-4cd4-8077-c01cb88f8808/7cc3631f-84a4-4cd4-8077-c01cb88f88081.gif)
![基于stm32平衡小車論文_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/7cc3631f-84a4-4cd4-8077-c01cb88f8808/7cc3631f-84a4-4cd4-8077-c01cb88f88082.gif)
![基于stm32平衡小車論文_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/7cc3631f-84a4-4cd4-8077-c01cb88f8808/7cc3631f-84a4-4cd4-8077-c01cb88f88083.gif)
![基于stm32平衡小車論文_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/7cc3631f-84a4-4cd4-8077-c01cb88f8808/7cc3631f-84a4-4cd4-8077-c01cb88f88084.gif)
![基于stm32平衡小車論文_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/7cc3631f-84a4-4cd4-8077-c01cb88f8808/7cc3631f-84a4-4cd4-8077-c01cb88f88085.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 本科生畢業(yè)論文(設(shè)計)( 2015 )屆 論文 (設(shè)計) 題目: 基于單片機(jī)的自平衡小車的設(shè)計與實現(xiàn) 學(xué) 院: 電子工程學(xué)院 專 業(yè): 電子信息工程 學(xué) 號: 201113007619 姓 名: 何建安 指導(dǎo)老師姓名及職稱: 丘森輝 助教 目 錄第一章 緒論21.1研究背景31.2研究現(xiàn)狀31.3研究意義31.4論文的組織結(jié)構(gòu)3第二章 系統(tǒng)的方案設(shè)計與論證42.1系統(tǒng)設(shè)計要求42.2系統(tǒng)的總體設(shè)計52.3方案論證52.3.1 車體的比較與選擇52.3.2 控制系統(tǒng)的比較與選擇62.3.3 電機(jī)驅(qū)動的比較與選擇72.3.4 電源及穩(wěn)壓模塊的比較與選擇72.3.5 調(diào)速模塊的比較與選擇72.3.
2、6 顯示與提示音的選擇82.3.7平衡槽的制作82.3.8系統(tǒng)框圖92.3.9最終方案10第三章 系統(tǒng)硬件設(shè)計113.1 STC12C5A60S2單片機(jī)硬件結(jié)構(gòu)113.2供電電源模塊123.3 電機(jī)驅(qū)動的設(shè)計123.4路面檢測模塊設(shè)計143.5測速模塊153.6顯示電路設(shè)計153.7尋跡原理163.8金屬探測儀17第四章 軟件設(shè)計184.1循跡功能軟件設(shè)計184.2 金屬探測功能軟件設(shè)計184.3 LCD1602液晶顯示軟件設(shè)計184.4 主程序流程圖19第五章 測試數(shù)據(jù)、測試結(jié)果分析及結(jié)論205.1測試數(shù)據(jù)205.2測試結(jié)果分析21第六章 設(shè)計總結(jié)216.1 對設(shè)計的小結(jié)216.2 設(shè)計收獲
3、體會216.3 對設(shè)計的進(jìn)一步完善提出意見或建21致謝22第 0 頁第 35 頁廣西師范大學(xué)漓江學(xué)院2015屆本科生畢業(yè)論文(設(shè)計)基于單片機(jī)的自平衡小車的設(shè)計與實現(xiàn) 專業(yè):電子信息工程 學(xué)號:201113007619 學(xué)生姓名:何建安 指導(dǎo)老師姓名:丘森輝內(nèi)容摘要 本次設(shè)計的硬系統(tǒng)主要由供電電源模塊、主控系統(tǒng)模塊、直流電機(jī)驅(qū)動模塊、路面檢測模塊和液晶顯示模塊幾個部分組成。供電電源是整個系統(tǒng)的支持者,它給整個設(shè)計系統(tǒng)提供能量,使系統(tǒng)能夠運轉(zhuǎn)起來;主控系統(tǒng)是整個系統(tǒng)的控制者,它指揮整個系統(tǒng)的運行,是整個系統(tǒng)的大腦;整個系統(tǒng)運行的動力是直流電機(jī)驅(qū)動模塊;路面檢測模塊則相當(dāng)于整個系統(tǒng)的眼睛,它能夠準(zhǔn)
4、確地檢測的路面的情況,并將路面的情況反饋給主控系統(tǒng);液晶顯示模塊是將整個系統(tǒng)的運行情況顯示出來。關(guān)鍵字: 80C51單片機(jī) 光電外紅反射循跡 金屬探測器 電動小車 PID算法 PWM調(diào)速第一章 緒論 智能可以按照預(yù)先設(shè)定的模式在自動的運作,可應(yīng)用于科學(xué)勘探等等用途,智能電動車就是其中的一個體現(xiàn)。本設(shè)計的簡易智能電動車,采用AT89C51單片機(jī)作為小車的檢測和控制核心;利用金屬探測器探測路面上的硬幣,以及用陀螺儀控制平衡槽的角度,采用光電傳感器來檢測路上感應(yīng)到的黑線,從而把反饋到的信號送單片機(jī),使單片機(jī)按照預(yù)定的工作模式控制小車在各區(qū)域按預(yù)定的速度行駛,并且單片機(jī)選擇的工作模式不同也可控制小車順
5、著S形黑線行駛;采用1602LCD實時顯示小車行駛的時間,小車停止行駛后,輪流顯示小車行駛時間。1.1研究背景在科技不斷發(fā)展進(jìn)步的今天,對平衡小車的研究具有很重要的意義,現(xiàn)如今各高校在對小車平衡小車的研究上也在不斷的投入資源,更是每一年的電子設(shè)計競賽都會選擇這類控制類的設(shè)計來刺激同學(xué)們對其相關(guān)控制策略的研究。這不僅提高了學(xué)生的學(xué)習(xí)積極性,更是提高了同學(xué)們對科學(xué)的認(rèn)識。為此本設(shè)計主要是設(shè)計一個由AT89C51單片機(jī)控制器控制的智能小車平衡控制系統(tǒng)。系統(tǒng)為了直觀的看出電動車的運行狀態(tài),用LCD1602液晶將電動車的所有參數(shù)顯示出來。1.2研究現(xiàn)狀平衡小車是一項機(jī)器人技術(shù),它是一種前沿技術(shù),領(lǐng)域更新
6、速度很快,他涉及了很多科學(xué)技術(shù),比如計算機(jī)技術(shù),通信技術(shù),人工智能技術(shù),材料科學(xué),物理方法,仿生學(xué)等各種高新技術(shù)。自從控制小車出現(xiàn),就迅速成為了人們研究學(xué)習(xí)控制理論的一個很好的選擇平臺,其具有很大的理論學(xué)習(xí)意義。近年以來,平衡小車引起了國內(nèi)外很多研究機(jī)構(gòu)和機(jī)器人愛好者,以及各高校的極大關(guān)注,各種基于不同目的,不同的設(shè)計方法以及不同的控制策略的平衡系統(tǒng)孕育而生,呈現(xiàn)出一種積極的研究姿態(tài)。1.3研究意義自平衡小車是機(jī)器人科學(xué)研究中一個很重要的領(lǐng)域,它隨著相關(guān)的科技領(lǐng)域的進(jìn)步不斷的進(jìn)步與發(fā)展。自平衡小車屬于移動機(jī)器人領(lǐng)域,與航天技術(shù)一樣,機(jī)器人領(lǐng)域的水平同樣可以體現(xiàn)出一個國家科技技術(shù)的能力。平衡小車
7、是可以看做一個復(fù)雜的小系統(tǒng),它由多樣模塊來對他進(jìn)行各種控制以及實現(xiàn)很多功能,同樣在它身上,我們對它的各種控制方法進(jìn)行比較,有助于我們更好的學(xué)習(xí)控制類方面以及其它知識。1.4論文的組織結(jié)構(gòu)第一章 本設(shè)計的設(shè)計任務(wù);第二章 系統(tǒng)總體設(shè)計:主要闡述系統(tǒng)的功能和總體方案的選擇;第三章 系統(tǒng)的硬件設(shè)計:主要闡述系統(tǒng)硬件電路的分析及實現(xiàn);第四章 系統(tǒng)的軟件設(shè)計:主要闡述系統(tǒng)軟件設(shè)計及具體實現(xiàn);第五章 系統(tǒng)測試:主要闡述系統(tǒng)功能、性能測試和結(jié)果分析;第六章 結(jié)論:主要闡述系統(tǒng)設(shè)計的原理、功能、實現(xiàn)方式。第2章 系統(tǒng)的方案設(shè)計與論證2.1系統(tǒng)設(shè)計要求 設(shè)計并制作一輛帶有自動平衡系統(tǒng)的電動尋線智能小車,其結(jié)構(gòu)如
8、圖1 、圖2所示。在電動小車上通過支架固定安裝一臺電機(jī),鋼珠導(dǎo)槽固定在電機(jī)轉(zhuǎn)軸上;驅(qū)動電機(jī)可以控制導(dǎo)槽擺動; 小車能通過尋線自動從場地(圖3)A點走到車庫F點。要求(1)當(dāng)電動車從中心點A發(fā)車時,會沿著黑色是引導(dǎo)線駛向終點F,且電動車在此過程中要一直在黑色引導(dǎo)線上。(2)在AB段引導(dǎo)線當(dāng)電動車遇到硬幣時,電動車會發(fā)出聲光指示信號并同時會停車五秒。(3)小車能在DE的上坡段中停車5秒(四個車輪都應(yīng)在斜坡上),并且發(fā)出聲光指示。(4)當(dāng)電動車行駛到F點(車體中心點在F點)后立即停車,整個行駛過程的時間差不能超過120S。(5)電動車在全程運行過程中能自動調(diào)整導(dǎo)槽角度使鋼珠盡量接
9、近O點(6)實時顯示電動車行駛時間和路程。2.2系統(tǒng)的總體設(shè)計按照題目的具體要求,總結(jié)出以下方案:我先是確定小車的基本模形以及它傳動方案,同時在小車上安裝紅外對管檢測器,用紅外對管來檢測小車的行駛的速度、和具體的行駛位置、以及它的行駛運行狀況,在本設(shè)計用選用MPU6050陀螺儀來對平衡槽進(jìn)行控制,用金屬探測器來探測硬幣,而后將測量的數(shù)據(jù)傳達(dá)到主控板進(jìn)行處理轉(zhuǎn)換,然后由單片機(jī)主控板根據(jù)所測量的每一種數(shù)據(jù)來實行對小車以及智能控制。2.3方案論證 2.3.1 車體的比較與選擇方案一:用現(xiàn)有的玩具小車改裝。玩具電動車車身上有著完善的驅(qū)動、傳動單元,而只有傳動裝置是我所需要的。它的缺陷在于,玩具類電動車
10、用的是一般的直流電機(jī),其負(fù)載的能力差,在速度控制上對程序編寫要求相對高,且玩具電動車的行駛轉(zhuǎn)向是用前輪馬達(dá)來帶動前輪轉(zhuǎn)動的方向完成,它的誤差率是比較高的。方案二:采用自己設(shè)計安裝的車架。自己安裝主動輪四個直流減速電機(jī)的小車底盤,實現(xiàn)它的直走或者左轉(zhuǎn)右轉(zhuǎn)以及倒車等相關(guān)動作采用的是兩個電機(jī)之間轉(zhuǎn)速差的方法。減速電機(jī)的扭矩比較大,其轉(zhuǎn)速也相對慢,比較容易對其速度進(jìn)行控制和調(diào)試,符合避障小車的要求。所以綜上我們選擇方案二。如圖3-1 圖3-1 2.3.2 控制系統(tǒng)的比較與選擇方案一:主控制器采用MP430。MSP430控制器的處理速度快,并且功耗低、成本低。但是它主要是用于電源控制類的系統(tǒng)中,且電路比
11、較復(fù)雜,所以該方案最終舍棄。方案二:主控制采用stm32。stm32f103VE的晶振是72MHZ,在程序的執(zhí)行速度上可謂是一流的選擇,并且stm32f103VE的可開發(fā)性很廣,便于系統(tǒng)的二次開發(fā)。但是該主控芯片的成本較高,綜合考慮到成本的問題,所以該方案最終舍棄。方案三:主控制器采用STC89C52RC。STC89C52RC芯片是一款基于STC89C51RC之后更完善更穩(wěn)定的芯片,它自身帶有8K的flash存儲空間,可實現(xiàn)軟件的擦除、燒寫等功能。該芯片能讀取C語音,所以在編寫程序上較為簡單。它設(shè)計出的最小系統(tǒng),電路簡單,元器件材料便宜。并且它的I/O資源足以滿足該系統(tǒng)設(shè)計的需求,所以根據(jù)比較
12、,最終選取該方案。 2.3.3 電機(jī)驅(qū)動的比較與選擇方案一:采用L298N直流電機(jī)驅(qū)動芯片?,F(xiàn)在很多人都是用L298N芯片來給電機(jī)驅(qū)動。L298N偶兩個TTL/COMS的兼容電平輸入,擁有很好的抗外干擾性能,利用單片機(jī)的I/O口給其發(fā)送的信號,電路框架簡單易懂,用起來也比較容易,同時相對穩(wěn)定,具有性價比相對高。方案二:采用大功率的二極管,三極管,電容電阻等元件來搭兩個H橋,通過對各路的放大信號來驅(qū)動小車的電機(jī),原理相對簡單。但放大后的信號一定要一至,這是很難做到的。當(dāng)小車電機(jī)運行功率較大時信號會很不穩(wěn)定,其精確度更是難以控制。綜合上以上二種方案,選擇方案一。 2.3.4 電源及穩(wěn)壓模塊的比較與
13、選擇方案一:采用蓄電池供電蓄電池體積比較大,重量也過大,會對小車的運行帶去不必要的狀況。方案二:采用18650干電池組進(jìn)行供電干電池我是用電池盒來組裝,它的體積和重量都很小。由于單片機(jī)上的單元供電用的是5V,所以我用的L298N模塊上5V降壓模塊來供單片機(jī)及其他單元器件供電,另取干電池為電機(jī)及光電開關(guān)供電。這樣電機(jī)以及單片機(jī)個單元在工作中就不會受到同一電壓干擾了。的綜上所述,采用方案二。 2.3.5 調(diào)速模塊的比較與選擇方案一:選擇單片機(jī)內(nèi)PCA模塊來進(jìn)行PWM調(diào)節(jié)速度,速度調(diào)節(jié)準(zhǔn)確且容易對其編程,控制方便。方案二:用L9110馬達(dá)控制驅(qū)動芯片搭建硬件電路進(jìn)行調(diào)速。 考慮到控制的靈活性,采用方
14、案一。 2.3.6 顯示與提示音的選擇方案一:顯示模塊用lcd12864。lcd12864這款液晶顯示屏的分辨率是128*64,它能夠顯示數(shù)字、漢字、字母、符號等且顯示效果直觀、清晰??梢杂脕碜鱿到y(tǒng)的顯示界面,但是它功耗大,價格相對于一般的顯示屏較貴,考慮到成本的問題,所以該方案最終舍棄。方案二:顯示模塊用數(shù)碼管。選擇數(shù)碼管來作為該系統(tǒng)的顯示界面,雖然顯示亮度高,但是數(shù)碼管只能顯示數(shù)字和一些簡單的字母,這個在顯示方面上就起到了很大的局限性,讓顯示效果很單調(diào)不能很清晰的看出顯示的內(nèi)容。并且數(shù)碼管在電路設(shè)計上需要制作自己的驅(qū)動板,所以該方案最終舍棄。 方案三:顯示模塊選用LCD1602。它能夠顯示
15、字母、數(shù)字、符號等簡單的字符且體積小、外圍電路簡單、顯示界面穩(wěn)定、功耗低。占用I/O口少。綜合上述介紹,lcd1602能滿足該系統(tǒng)的設(shè)計要求,所以根據(jù)比較,最終選取該方案。在提示音方面,所以我直接采用的是蜂鳴器。蜂鳴器的電路設(shè)計比較簡單,整個模塊電路是由1個三極管8550、1個100歐電阻、還有一個有源的蜂鳴器組成。有源蜂鳴器內(nèi)部本身就具有振蕩源,我們只需要給定一個低電平就能讓其正常發(fā)聲。無源蜂鳴器內(nèi)部自身并沒有振蕩源,所以要讓其發(fā)出響聲必須要求單片機(jī)給出的脈沖要有震蕩的頻率。8550三級管起到的是放大電流的作用。 2.3.7平衡槽的制作方案一:采用PCB覆銅板加上串聯(lián)電阻,板子兩端加上電壓,
16、通過小球的滑動返回電壓值,從而實時監(jiān)控小球的位置(相當(dāng)于滑動變阻器的原理),達(dá)到使小球平衡的目的。但是我們發(fā)現(xiàn)小球的質(zhì)量太輕,接觸不是很好。如圖3-2圖 3-2方案二:采用激光發(fā)射激光,對面端放置光敏電阻,中間是小球的位置,通過光敏電阻返回的值來判斷小球的位置,此方法可行性很好。圖3-3,故選方二。2.3.8系統(tǒng)框圖小車前進(jìn)框圖衡槽的控制89C51控制小車平衡光敏接受電路2.3.9最終方案1、控制模塊:采用AT89C51單片機(jī)最小系統(tǒng)做控制器;2、電源模塊:采用3個4V的干電池用LM7805芯片作為穩(wěn)壓芯片;3、電機(jī)驅(qū)動模塊:采用L298N直流電機(jī)驅(qū)動模塊4、顯示模塊:采用低功耗的LCD160
17、2液晶顯示;5、調(diào)速模塊:單片機(jī)內(nèi)部PCA6、提示音:采用蜂鳴器7、金屬探測器:8、平衡槽角度控制:選用MPU6050陀螺儀第三章 系統(tǒng)硬件設(shè)計 本次設(shè)計的硬件系統(tǒng)主要由供電電源模塊、主控系統(tǒng)模塊、直流電機(jī)驅(qū)動模塊、路面檢測模塊和液晶顯示模塊和金屬探測器以及陀螺儀幾個部分組成。供電電源是整個系統(tǒng)的支持者,它給整個設(shè)計系統(tǒng)提供能量,使系統(tǒng)能夠運轉(zhuǎn)起來;主控系統(tǒng)是整個系統(tǒng)的控制者,它指揮整個系統(tǒng)的運行,是整個系統(tǒng)的大腦;本系統(tǒng)動力是依賴直流電機(jī)驅(qū)動模塊;路面檢測模塊則相當(dāng)于整個系統(tǒng)的眼睛,它能夠準(zhǔn)確地檢測的路面的情況,并將路面的情況反饋給主控系統(tǒng);液晶顯示模塊是將整個系統(tǒng)的運行情況顯示出來。3.1
18、 STC12C5A60S2單片機(jī)硬件結(jié)構(gòu)我用的是以STC89C52RC為主控芯片的最小系統(tǒng),此主控板的主要組成包括:電源電路、晶振電路、復(fù)位電路等基本電路。其中STC89C52RC芯片是一款可以實現(xiàn)程序的讀取執(zhí)行和擦除并且它本身自帶有8K的flash存儲空間。這款芯片的工電壓是5V,需要的工作電流小,功耗低。電源電路由極性電容、開關(guān)、電阻、LED等元器件組成。電容起著濾波的作用,LED是電源指示燈。復(fù)位電路由按鍵、電容、上拉電阻組成,作用是讓STC89C52RC芯片初始化工作。晶振電路由1個11.0592MHZ的外接晶振,2個30P的濾波電容組成。最小系統(tǒng)原理圖如圖3.1所示。 圖6-13.2
19、供電電源模塊供電電源主要由3節(jié)4V的電池串聯(lián)提供,電池可以提供12V的電壓給直流電機(jī)驅(qū)動模塊,但是主控系統(tǒng)的供電電壓是5V,所以必須要把電池的電壓降到5V后再提供給主控系統(tǒng)。電源模塊主要用L298N上自帶的5V降壓模塊將12V的電池電壓穩(wěn)壓在5V,然后提供給主控系統(tǒng)。 3.3 電機(jī)驅(qū)動的設(shè)計L298N芯片機(jī)構(gòu)與功能介紹 L298N芯片內(nèi)部結(jié)構(gòu)和功能如圖6-2、6-3所示圖6-2 圖6-3 本次設(shè)計主要采用單片機(jī)控制PWM輸出,PWM輸出到LM298N模塊,然后LM298N模塊輸出信號來控制直流電機(jī)的轉(zhuǎn)動。PWM波的占空比越大,直流電機(jī)的轉(zhuǎn)速就越快,反之則直流電機(jī)的轉(zhuǎn)速越慢,從而達(dá)到控制直流電機(jī)
20、的轉(zhuǎn)速。具體控制過程為:1、 把編寫好的程序輸入控制芯片,再由主控芯片向PWM發(fā)送驅(qū)動信號,PWM輸出信號作為L298N的輸入信號,再經(jīng)L298N輸出控制信號讓小車電機(jī)轉(zhuǎn)動,帶動車輪轉(zhuǎn)動,讓小車前進(jìn)后退。2、 我們可以用PWM輸出信號的高低來控制直流電機(jī)的轉(zhuǎn)動速度。其在占空比大時,轉(zhuǎn)速高,在占空比小時,轉(zhuǎn)速低,所以電機(jī)停止運行時PWM輸出占空比為0。3、 當(dāng)小車右輪停止運行,左輪轉(zhuǎn)動,則小車向左轉(zhuǎn)。當(dāng)小車左輪停止運行,右輪轉(zhuǎn),小車向右轉(zhuǎn)。小車的前后退是通過兩路PWM輸出的正負(fù)順序轉(zhuǎn)換來控制,從而可以使小車前進(jìn)和后退。4、 電機(jī)驅(qū)動芯片L298N的典型接法,如圖6-4所示:圖6-43.4路面檢測
21、模塊設(shè)計 路面檢測采用4個紅外對管,安裝在車頭盤下,離地面大約兩厘米。如何控制小車行駛中的速度和方向呢?我設(shè)計的是通過金屬傳感器檢測到地面上的黑線時給主控板發(fā)出信號,主控板再根據(jù)收到的信號運行相應(yīng)程序來改變PWM的電壓占空比差來控制電機(jī)的速度達(dá)到控制小車的速度以及方向。如圖6-5所示:圖6-5紅外對管的處理: 紅外對管主要由發(fā)射管和接收管兩個部分組成,發(fā)射管發(fā)射紅外光,當(dāng)發(fā)射的紅外光被其他物體擋住后會反射回來,接收管就會接收到脈沖信號,從而把脈沖信號傳輸?shù)絾纹瑱C(jī)處理。但是當(dāng)發(fā)射管發(fā)射的紅外光被黑線擋住時,紅外光就會被吸收了,此時接收管就不會接收到反射的紅外光,從而傳輸給單片機(jī)的是另一種脈沖信號
22、,單片機(jī)會做出相應(yīng)的處理。3.5測速模塊 測速是通過霍爾元件感應(yīng)磁鐵產(chǎn)生脈沖,每個車輪均勻放置4個小磁鐵,并計算其在1秒內(nèi)所產(chǎn)生的脈沖數(shù)量,再計算出輪子1秒小車輪子轉(zhuǎn)動的圈數(shù),量出小車輪子的周長,可計算出小車當(dāng)前速度,疊加起來可以得到當(dāng)前行走的路程。原理圖如6-6 圖6-63.6顯示電路設(shè)計此系統(tǒng)的顯示我用的是lcd1602,它體積小,功耗低,而且能顯示各種英文字母、符號、數(shù)字等。液晶共有3個控制端口,8個數(shù)據(jù)傳輸端口。共占用11個單片機(jī)的I/O口。3個控制端口是:寄存器選擇端、數(shù)據(jù)讀寫端、使能端,分別占用P25、P26、P27這三個端口。另外8個數(shù)據(jù)傳輸端口正好接滿P0口。此設(shè)計是8線傳輸模
23、式,之所以沒有用4線傳輸?shù)哪J?,是因為考慮到此系統(tǒng)外部模塊較少,有大量的I/O口剩余,為了提高系統(tǒng)數(shù)據(jù)的傳輸?shù)乃俣纫约胺€(wěn)定性,所以選擇了8線傳輸?shù)姆绞健R壕У耐鈬娐沸枰尤肓艘粋€10k的可調(diào)電阻,作用是調(diào)節(jié)顯示屏上的背光效果。如下圖圖6-73.7尋跡原理1、 紅外探測方法:紅外探測,就是利用紅外線在不同的顏色物體表面不同的反射性質(zhì)特點,在小車行駛過程中不間斷地向著地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時候發(fā)生漫反射,車上接收管接收反射光,而遇到黑線則紅外光被吸收,則小車上的接收管接收不到返回的紅外光。單片機(jī)判斷是否收到反射回來的紅外光來確認(rèn)黑線的位置和小車行駛的路線。因為紅外探測器探測距離
24、是有限的,所以一般來說最大不應(yīng)高于3厘米。2、 尋跡具體方案介紹:設(shè)計里的尋跡通俗的說法是指小車在白色地板上尋黑線行走走,利用TCRT5000型光電對管來完成系統(tǒng)的尋跡任務(wù)。尋跡電路的設(shè)計是用來實現(xiàn)小車沿著場地的黑線弧形引導(dǎo)軌跡來進(jìn)行前進(jìn)拐彎和位置校正的,并且小車不能偏離軌跡,我的設(shè)計用的TCRT5000型光電對管能完成系統(tǒng)尋跡的任務(wù),傳感器的數(shù)據(jù)線輸出信號做為開關(guān)量,可以直接與單片機(jī)中的I/O引腳相對接,硬件電路實現(xiàn)相對簡單,它的靈敏度通過調(diào)節(jié)多圈電位調(diào)來實現(xiàn)。在尋跡檢測傳感器的設(shè)計中,的車體底盤的前端裝有3個傳感器,用來檢測黑線軌跡,起到尋跡前進(jìn)的作用。具體尋線電路如下圖:圖6-83.8金
25、屬探測儀金屬探測器其實是利用電磁感應(yīng)的原理,并且利用交流電通過的線圈,產(chǎn)生迅速變化的磁場,而這個磁場能在金屬物內(nèi)部產(chǎn)生渦電流,然而渦電流又會產(chǎn)生磁場,反過來影響到原來的磁場,使得探測器發(fā)出鳴聲3.9平衡槽的控制 在設(shè)計平衡槽的角度控制中我選用MPU6050陀螺儀對其角度進(jìn)行控制,主控板接收來自平衡槽中的紅外探測信息,主控板再反饋給陀螺儀信號,進(jìn)而控制它的平衡。陀螺儀參數(shù)以及內(nèi)部結(jié)構(gòu)圖如下 1.VLOGIC振幅必須VDD振幅 2.VDD上升時間(TVDDR)為實際值的10%到90%之間3.VDD上升時間(TVDDR)100ms 4.VLOGIC上升時間(TVLGR)為實際值的10%到90%之間5
26、.VLOGIC上升時間(TVLGR)3ms 6.TVLG-VDD為從VDD上升沿到VLOGIC上升沿的時間7.VDD和VLOGIC必須是單調(diào)邊沿 第4章 軟件設(shè)計系統(tǒng)軟件編程主要采用STM32單片機(jī)模塊化的編寫方式,即將所有系統(tǒng)程序分成一些獨立的模塊程序,各個程序塊都具有自己相對的獨立性,各個程序塊之間主要是通過文件包含、函數(shù)互調(diào)的方式聯(lián)系在一起。模塊化編程的思想是先將每個模塊進(jìn)行單個調(diào)試,然后通過每個模塊的測試隊其進(jìn)行驗證,最后再將所有模塊整合在一起調(diào)試,這樣可以消除模塊之間的干擾影響,有利于對個體和整體的測試和驗證,有利于軟件的調(diào)試和驗證。4.1循跡功能軟件設(shè)計循跡主要通過小車底部按照兩個
27、紅外對管傳感器,當(dāng)左邊的紅外對管檢測到黑線的時候,控制器會控制小車向左轉(zhuǎn)動,當(dāng)右邊的紅外對管檢測到黑線的時候,控制器會控制小車向右邊轉(zhuǎn)動,使小車一直沿著黑線的軌跡運動。4.2 金屬探測功能軟件設(shè)計金屬傳感器當(dāng)檢測到金屬時,小車停止運動,并發(fā)出聲、光報警,然后再繼續(xù)前進(jìn)。4.3 LCD1602液晶顯示軟件設(shè)計LCD1602液晶顯示的數(shù)據(jù)可以通過并行和串行兩張方式進(jìn)行傳輸,并且傳輸速度快。LCD1602液晶總共有16個管腳,但是主要的控制腳只有3個,主要是:RS(數(shù)據(jù)命令選擇端),R/W(讀寫命令選擇端),E(使能信號)。本次設(shè)計采用的是8位數(shù)據(jù)并行傳輸?shù)姆绞?,將AD采樣得到的電動車電池電壓數(shù)據(jù)在
28、LCD1602液晶上顯示出來。4.4 主程序流程圖 初始化N開關(guān)是否按下NNNN Y 小車低速行駛是否遇到黑線?N Y計時開始計里程開始小車高速行駛轉(zhuǎn)向子程序是否偏離Y是否有障礙(硬幣)N發(fā)聲光并停車5秒YN是否有坡度在斜坡上發(fā)聲光并停車5秒駛向斜坡Y停車N 圖7-1第五章 測試數(shù)據(jù)、測試結(jié)果分析及結(jié)論5.1測試數(shù)據(jù)測試儀器,測試軟件和測試軟件名稱、型號、規(guī)格數(shù)量UT61E 數(shù)字萬用表1臺黑膠布1卷硬幣1個鋼珠1個 檢測硬幣停車5秒 實際停4.9秒 在DE中點停車 實際+-3cm5.2測試結(jié)果分析 測試單元測試結(jié)果硬件電源工作指示燈正常,硬件的電壓VCC為3.3V,各線路連接正常,無短路單片機(jī)
29、的晶振電路測得振蕩頻率為8MHz單片機(jī)復(fù)位電路重新上電后,單片機(jī)自動復(fù)位傳感器傳感器工作正常表3硬件電路測試結(jié)果小車的性能跟電池的電量有關(guān)系。比如說小車的電池電量比較多時,電動車的轉(zhuǎn)速會比較快,所以要對小車的速度進(jìn)行控制。實現(xiàn)對小車車速進(jìn)行控制,同時也是對小車的保護(hù)。傳感器容易受到外界干擾影響,所用到的元器件不一定都是按照線性變換,也可能會受到溫度變化等環(huán)境因素的影響??偟膩碚f,該單片機(jī)的智能小車系統(tǒng)的設(shè)計是成功的,系統(tǒng)具有較高的研究價值,有待進(jìn)一步研究優(yōu)化,實現(xiàn)系統(tǒng)的市場價值。第六章 設(shè)計總結(jié)6.1 對設(shè)計的小結(jié) 本設(shè)計能夠基本完成基本的要求。6.2 設(shè)計收獲體會 小車主要的部分不僅在硬件系
30、統(tǒng)上更還有的是程序部分,智能小車系統(tǒng)也是一個挺龐大的系統(tǒng),在編程時我遇到了內(nèi)存不夠用,IO不夠用的各種情況,這令我對MCU的內(nèi)部資源更加了解,使用起來更加熟練;更大的收獲是心靈上的6.3 對設(shè)計的進(jìn)一步完善提出意見或建 我們覺得整個車體的難點在于球的平衡,要改進(jìn)的地方有放球的槽子的制作,并尋找更好的方案去解決這個問題。還有一個就是平衡的算法,目前我們利用的是PID算法,算法的優(yōu)化和穩(wěn)定程度都不是很高,值得改進(jìn)。致謝畢業(yè)設(shè)計就此告一段落,通過本次畢業(yè)設(shè)計,我無論是在理論知識的學(xué)習(xí)上,還是科研技術(shù)的提高上,都有了很大的進(jìn)步,這為我今后進(jìn)入社會參加工作打下了良好的基礎(chǔ)。在完成設(shè)計的期間,我得到了同學(xué)
31、以及指導(dǎo)老師的熱心幫助和大力支持,師兄和學(xué)姐一定程度上給了我很大的幫助,包括硬件、軟件設(shè)計及論文寫作方面的幫助。對此我很感謝幫助及關(guān)心我的老師和同學(xué)。大學(xué)四年中,我有三年的時間是在學(xué)院的實驗室中度過的,實驗室為我們提高很多學(xué)習(xí)和研究所需要的儀器,正因為有這樣的環(huán)境和條件,我才有了比較明確的學(xué)習(xí)目標(biāo),在實驗室努力學(xué)習(xí),刻苦鉆研,積極參加學(xué)院學(xué)校組織的電子競賽活動,讓我獲益匪淺!時光飛逝,大學(xué)四年的美好生活即將結(jié)束。求學(xué)過程是艱辛的,同時也有許多快樂。回顧這四年的點點滴滴,很感激此期間的同窗好友,我深深體會到你們的友好熱情、積極奮進(jìn),是你們讓我覺得四年時間是那么的短暫,陪我度過了人生最美好的時光,
32、我真心的祝福你們擁有一個美好的未來。感謝所有給予我支持和幫助的老師、同學(xué)和朋友們,我的一切收獲與成就都離不開你們,你們是我最好的指引者。參考文獻(xiàn): 【1】單片機(jī)原理及接口陳忠平等編著.北京:清華大學(xué)出版社,2007.3【2】 郭天祥51單片機(jī)C語言教程電子工程出版社,2009.01【3】 韓毅,楊天.基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計與實現(xiàn) J.學(xué)術(shù)期刊,2008【3】 譚浩強(qiáng)C語言程序設(shè)計3版.北京:清華大學(xué)出版社,2005【4】 謝文和傳感技術(shù)及其應(yīng)用,高等教育出版社,2002.【5】 黃智偉全國大學(xué)生電子設(shè)計競賽技能訓(xùn)練,北京航空航天大學(xué)出版社,2008.【6】模擬電子技術(shù)基礎(chǔ)簡
33、明教程楊素行主編3版.北京:高等教育出版社2006.5附件1:程序平衡槽控制:#include <STC12C5A60S2.H>#include <math.h> /Keil library #include <stdio.h> /Keil library#include "lcd1602.h"#include "mpu6050.h"#include "steering.h"#include "pid.h"unsigned char mpu = "0000"u
34、nsigned char pid = "000000"sbit light1 = P10;sbit light2 = P11;sbit light3 = P12;sbit light4 = P13;sbit light5 = P14;sbit light6 = P15;sbit light7 = P16;sbit light8 = P17;sbit qingxie = P24;int y_data = 0;int x_data = 0;char time_mpu = 0;bit flag_1ms = 0;bit flag_50ms = 0;bit pid_ball = 0;
35、unsigned int time_all = 0;extern unsigned char TH_H,TL_H,TH_L,TL_L;void delay(unsigned int k);void lcd_printf(unsigned char *s,int temp_data);void main()unsigned int steering = 1400;int add = 0;char chushi_x = 0;char qingxie_x = 0;PID EPID;init_lcd1602();init_mpu6050();init_steering();init_lcd1602()
36、;init_pid(&EPID);TMOD |= 0x10;TH1 = 0x0FC;TL1 = 0x66;EA = 1;ET1 = 1;TR1 = 1;steering_pwm_set(steering);OUT = 0;/lcd1602_display_string(0, 0, mpu);/lcd1602_display_string(0, 1, pid);/lcd_printf(mpu, chushi_x);/lcd1602_display_string(7, 2, mpu);delay(5000);while(1)if (flag_50ms = 1)flag_50ms = 0;y
37、_data = (mpu6050_getdata(ACCEL_YOUT_H);y_data /= 64;if (y_data > 255)y_data = 255;else if (y_data <- 255)y_data = -255;time_mpu+;if (time_mpu = 1 | time_mpu = 2 | time_mpu = 3 | time_mpu = 4 | time_mpu = 5 | time_mpu = 6 | time_mpu = 7 | time_mpu = 8)if (y_data < 30 && y_data > -
38、30)qingxie_x = 0;time_mpu = 1;qingxie = 0;pid_ball = 0;else if (time_mpu = 9)time_mpu = 1;if (y_data < 30 && y_data > -30)qingxie_x = 0;time_mpu = 1;qingxie = 0;pid_ball = 0;elseqingxie = 1;pid_ball = 1;if (pid_ball = 1)add += pidcalc_add(&EPID, y_data);if (add < -150)add = -150
39、;else if (add > 150)add = 150;steering = steering + add;if (steering >= 1550)steering = 1550;else if (steering <= 1250)steering = 1250;steering_pwm_set(steering);lcd_printf(mpu, y_data);lcd1602_display_string(0, 0, mpu);lcd_printf(mpu, time_mpu);lcd1602_display_string(7, 0, mpu);/lcd_printf
40、(pid, steering);sprintf(pid, "%d.", steering);lcd1602_display_string(0, 1, pid);if (pid_ball = 0)if (light1)steering_pwm_set(1350);delay(100);delay(150);/while(1);steering_pwm_set(1400);else if (light2)steering -= 60;steering_pwm_set(1360);delay(150);delay(150);steering_pwm_set(1400);else
41、if (light3)steering -= 50;steering_pwm_set(1370);delay(200);delay(150);steering_pwm_set(1400);else if (light4)steering -= 40;steering_pwm_set(1380);delay(200);delay(200);steering_pwm_set(1400);else if (light5)steering += 40;steering_pwm_set(1420);delay(200);delay(200);steering_pwm_set(1400);else if
42、(light6)steering += 60;steering_pwm_set(1430);delay(200);delay(150);steering_pwm_set(1400);else if (light7)steering += 80;steering_pwm_set(1440);delay(150);delay(150);steering_pwm_set(1400);else if (light8)steering += 90;steering_pwm_set(1450);delay(100);delay(150);steering_pwm_set(1400);void delay(
43、unsigned int k)unsigned int i,j;for(i=0;i<k;i+)for(j=0;j<121;j+);void lcd_printf(unsigned char *s,int temp_data)if(temp_data<0)temp_data=-temp_data;*s='-'else *s=' '*+s =temp_data/100+0x30;temp_data=temp_data%100; /È¡ÓàÔËËã*+s =temp_da
44、ta/10+0x30;temp_data=temp_data%10; /È¡ÓàÔËËã*+s =temp_data+0x30; void time_20ms(void) interrupt 1if(OUT)TH0=TH_L; /ÖØи³ÖµTL0=TL_L;elseTH0=TH_H; /ÖØи³ÖµTL0=TL_H;OUT=!OUT;void ti
45、me_1ms(void) interrupt 3time_all+;if (time_all = 50)time_all = 0;flag_50ms = 1;TH1 = 0x0FC;TL1 = 0x66;flag_1ms = 1;小車:#include <reg52.h>#include "motor.h"#include "lcd1602.h"sbit beep =P37;sbit stopl = P35;sbit stopr = P36;sbit qingxie = P30;bit flag_T0 = 0;bit flag_stop =
46、0;bit flag_100us = 0;bit flag_finish = 0;bit flag_qingxie = 0;unsigned int car_time = 0;unsigned int car_rad = 0;unsigned long pulse_count = 0;unsigned long dis_count = 0;unsigned char countth2 = 0;unsigned char counttl2 = 0;unsigned char timeX = 0;unsigned char stop_flag = 0;unsigned char table = &
47、quot;run:000 cm"unsigned char table_time = "Time:000 s"unsigned char stoptemp = "stop"unsigned char beeptemp = "beep"void delay(unsigned int xms);void main() init_motor();init_lcd1602();TMOD = 0x01 | 0x10;C_T2 = 1;TH0 = 0x0FF; TL0 = 0x0F7;/10usTH1 = 0xff; TL1 = 0x8
48、4;TH2 = 0; TL2 = 0;EA = 1;EX0 = 1;IT0 = 0;ET0 = 1;ET1 = 1;ET2 = 1;TR0 = 1;TR1 = 1;TR2 = 1;qingxie = 0;while (1) if (flag_stop = 0)if (flag_100us)flag_100us = 0;motor_pwm_interrupt();if(qingxie = 1 && flag_qingxie = 0)/lcd1602_display_string(10, 2, stoptemp);-7flag_qingxie = 1;beep = 0;motor_
49、all_stop();delay(1000);beep = 1;motor_set_mrspd(35);motor_set_mlspd(35);delay(50);/תÍäÌõ¼þ¿ª¹ØÅжÏswitch(P1 & 0xf0)case 0x00:motor_mr_forward();motor_ml_forward();motor_set_mrspd(35);motor_set_mlspd(35);/SIGNAL_set
50、= 16;break;case 0x10: /00001100 Æ«ÓÒmotor_mr_reversion();motor_ml_forward();motor_set_mrspd(20);motor_set_mlspd(60); flag_finish = 1;break;case 0x20: /00001000 Æ«ÓÒmotor_mr_reversion();motor_ml_forward();motor_set_mrspd(20);motor_set_mlspd(60);break;case 0x30:
51、 /00001110 Æ«ÓÒmotor_mr_reversion();motor_ml_forward();motor_set_mrspd(20);motor_set_mlspd(60); flag_finish = 1;break;case 0x40: /00000010 Æ«×ómotor_mr_forward();motor_ml_reversion();motor_set_mrspd(60);motor_set_mlspd(20);break;case 0x50: /00000011 Æ«×ó/flag_finish = 1;/SIGNAL_set = 14;break;case 0x60: /00000001 Æ«×ómotor_mr_forward();motor_ml_forward();motor_set_mrsp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面上基金申請書
- 中國電動三極管成型機(jī)項目投資可行性研究報告
- 2025年中國智能網(wǎng)聯(lián)汽車行業(yè)市場深度研究及投資戰(zhàn)略規(guī)劃報告
- 現(xiàn)代教育建筑供電智能化創(chuàng)新模式實踐案例分析
- 電商銷售模式在農(nóng)業(yè)領(lǐng)域的應(yīng)用與挑戰(zhàn)
- 熱障涂層用MCrAlY粘結(jié)層成分改性及氧化行為研究
- 2025年金屬電渡項目可行性研究報告
- 木質(zhì)素基碳材料的制備及其吸附、光催化降解中的應(yīng)用
- 2025年金屬專用工具項目投資可行性研究分析報告
- 空氣氣氛下α-FAPbI3鈣鈦礦薄膜的低溫制備及其器件性能研究
- 手術(shù)室植入物的管理
- 電力供電系統(tǒng)試驗調(diào)試和聯(lián)調(diào)方法
- 天津市紅橋區(qū)2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題(含答案)
- 食品經(jīng)營許可證主要設(shè)備設(shè)施布局圖及操作流程
- Unit6AtthesnackbarStorytimeDiningwithdragons(課件)譯林版英語四年級上冊
- 高二年級家長會課件
- 滬教版 九年級(上)數(shù)學(xué) 秋季課程 第12講 統(tǒng)計初步(解析版)
- 《國際中文教材評價標(biāo)準(zhǔn)》
- 2024年劇本改編:小說電影舞臺劇改編劇本殺合同
- 《辛德勒的名單》電影賞析
- 知識點總結(jié)(知識清單)-2023-2024學(xué)年六年級上冊數(shù)學(xué)北京版
評論
0/150
提交評論