2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  智能循跡機(jī)器人(硬件部分)設(shè)計(jì)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 自動化

2、 </p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  學(xué)士學(xué)位論文原創(chuàng)性聲明</p>

3、<p>  本人聲明,所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立完成的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學(xué)位申請的論文或成果。對本文的研究作出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式表明。本人完全意識到本聲明的法律后果由本人承擔(dān)。</p><p>  作者簽名: 日期:</

4、p><p>  學(xué)位論文版權(quán)使用授權(quán)書</p><p>  本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)南昌航空大學(xué)科技學(xué)院可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。</p><p>  作者簽名:

5、 日期:</p><p>  導(dǎo)師簽名: 日期:</p><p>  智能循跡機(jī)器人設(shè)計(jì)(硬件部分)</p><p>  摘要:本文論述了基于單片機(jī)的智能循跡機(jī)器人的設(shè)計(jì)過程。智能循跡是基于自動引導(dǎo)機(jī)器人系統(tǒng),用以實(shí)現(xiàn)機(jī)器人自動識別路線、器件及運(yùn)用自動控制原理等相關(guān)技術(shù),來實(shí)現(xiàn)按照預(yù)先

6、設(shè)定的模式下,不受到人為的管理及外界條件的干涉時,能夠自動實(shí)現(xiàn)循跡導(dǎo)航的高新科技產(chǎn)物。該技術(shù)已經(jīng)應(yīng)用于無人駕駛機(jī)動車,無人工廠,服務(wù)機(jī)器人甚至外太空等多種領(lǐng)域。</p><p>  本次設(shè)計(jì)采用STC89C52單片機(jī)作為機(jī)器人的控制核心;采用紅外反射式開關(guān)傳感器作為機(jī)器人的循跡模塊來識別白色路面中央的黑色引導(dǎo)線,利用紅外對管檢測障礙物,采集信號并將信號轉(zhuǎn)換為能被單片機(jī)識別的數(shù)字信號;采用驅(qū)動芯片L298N構(gòu)成雙H

7、橋控制直流電機(jī),其中控制軟件采用C程序編寫,本設(shè)計(jì)的電路結(jié)構(gòu)簡單,容易實(shí)現(xiàn),可靠性高。</p><p>  關(guān)鍵詞:單片機(jī);傳感器;自動循跡;驅(qū)動電路</p><p><b>  指導(dǎo)老師簽字:</b></p><p>  The design of intelligent tracking robot (hardware) &l

8、t;/p><p>  Abstract:This paper discusses the design process of intelligent tracking robot based on single chip microcomputer. Intelligent tracking is automatic guided robot system based on automatic identificat

9、ion, is used to realize the robot route, choose the right path, and avoid obstacles. Intelligent tracking robot is a SCM, to realize according to the pre-set mode principle and other related technology devices and applic

10、ation of sensor, motor control, not subject to management and the external condit</p><p>  This design uses STC89C52 microcontroller as the control core robot; infrared reflection sensor switch as the tracki

11、ng module robot to identify the white road central black guide line, to detect obstacles by using the infrared, signal acquisition and signal is converted into digital signal chip can be identified; the drive chip L298N

12、constitute the double H bridge control of DC motor, the control software using C programming, the design of the circuit structure is simple, easy to implement, high</p><p>  Keywords:single chip microcompute

13、r; sensor; automatic tracing; driving circuit</p><p>  Instructor Signature:</p><p><b>  目 錄</b></p><p><b>  1、緒論1</b></p><p>  1.1智能機(jī)器人的作用和研究

14、意義1</p><p>  1.2 智能機(jī)器人的研究現(xiàn)狀2</p><p>  2、設(shè)計(jì)方案與論證4</p><p>  2.1整體設(shè)計(jì)思路4</p><p><b>  2.2循跡系統(tǒng)4</b></p><p><b>  2.3避障系統(tǒng)5</b></p&

15、gt;<p><b>  2.4主控系統(tǒng)5</b></p><p><b>  2.5驅(qū)動系統(tǒng)5</b></p><p><b>  2.6電機(jī)選擇5</b></p><p>  3、系統(tǒng)的硬件設(shè)計(jì)6</p><p><b>  3.1主控電路

16、6</b></p><p>  3.2信號檢測模塊8</p><p>  3.3電機(jī)驅(qū)動模塊9</p><p>  3.4機(jī)器人控制邏輯12</p><p>  4、系統(tǒng)的軟件設(shè)計(jì)14</p><p>  4.1主程序流程圖14</p><p>  4.2循跡程序設(shè)計(jì)15

17、</p><p>  5、安裝與調(diào)試20</p><p>  5.1機(jī)器人的安裝20</p><p>  5.2機(jī)器人的調(diào)試20</p><p><b>  6、結(jié)束語22</b></p><p><b>  致 謝23</b></p><p&g

18、t;<b>  參考文獻(xiàn)24</b></p><p><b>  附錄A25</b></p><p>  附錄B部分實(shí)驗(yàn)圖32</p><p><b>  智能循跡機(jī)器人設(shè)計(jì)</b></p><p><b>  1、緒論</b></p>

19、<p>  1.1智能機(jī)器人的作用和研究意義</p><p>  移動機(jī)器人是機(jī)器人領(lǐng)域的一個分支,他的研究始于60年代末期,斯坦福研究院(SRI)的Nits Nilssen和Charles Rosen 等人,在1966年至1972年間研制出了名為Shake的自主移動機(jī)器人。</p><p>  進(jìn)入20世紀(jì)80年代以后,人們的研究方向逐漸轉(zhuǎn)移到了面向?qū)嶋H應(yīng)用的室內(nèi)移動機(jī)器人的

20、研究,并逐步形成了自主式移動機(jī)器人AMR(Indoor Autonomous Mobile Robot)概念。美國國防高級研究計(jì)劃局專門立項(xiàng),制定了地面天人作戰(zhàn)平臺的戰(zhàn)略計(jì)劃。從此在全世界掀開了全面研究室外移動機(jī)器人的序幕,如DARPA的“戰(zhàn)略計(jì)算機(jī)”計(jì)劃中的自主地面車輛(ALV)計(jì)劃(1983—1990),能源部制定的為期十年的機(jī)器人和智能系統(tǒng)計(jì)劃(RIPS)(1986—1995),以及后來的太空機(jī)器人計(jì)劃,日本通產(chǎn)省組織的極限環(huán)境下

21、作業(yè)的機(jī)器人計(jì)劃,歐洲尤里卡中的機(jī)器人計(jì)劃等。初期的研究,主要從學(xué)術(shù)角度研究室外機(jī)器人的體系結(jié)構(gòu)和信息處理,并建立試驗(yàn)系統(tǒng)進(jìn)行驗(yàn)證。雖然由于80年代對機(jī)器人的智能行為期望過高,導(dǎo)致室外機(jī)器人的研究未達(dá)到預(yù)期的效果,但卻帶動了相應(yīng)技術(shù)的發(fā)展,為探討人類研制智能機(jī)器人的途徑積累了經(jīng)驗(yàn)。同時,也推動了其他國家對移動機(jī)器人的研究與開發(fā)。智能小車作為移動機(jī)器人的典型代表,目前國內(nèi)外的許多大學(xué)都在積極投入人力、財(cái)力進(jìn)行開發(fā)。主要表現(xiàn)在大學(xué)生的各種大

22、型的創(chuàng)新比賽,比如:亞洲廣播電視聯(lián)盟亞</p><p>  1.2 智能機(jī)器人的研究現(xiàn)狀</p><p>  現(xiàn)代智能機(jī)器人發(fā)展很快,從智能玩具到其它各行業(yè)都有實(shí)質(zhì)成果。其基本可實(shí)現(xiàn)循跡、避障、檢測貼片、尋光入庫、避崖等基本功能,這幾屆的電子設(shè)計(jì)大賽智能小車又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車更是走在前列。本次設(shè)計(jì)主要實(shí)現(xiàn)循跡避障這兩個功能。</p><p&g

23、t;  智能機(jī)器人的發(fā)展現(xiàn)狀智能機(jī)器人是第三代機(jī)器人,這種機(jī)器人帶有多種傳感器能夠?qū)⒍喾N傳感器得到的信息進(jìn)行融合,能夠有效的適應(yīng)變化的環(huán)境,具有很強(qiáng)的自適應(yīng)能力、學(xué)習(xí)能力自治功能。目前研制中的智能機(jī)器人智能水平并不高,只能說是智能機(jī)器人的初級階段。智能機(jī)器人研究中當(dāng)前的核心問題有兩方面:一方面是,提高智能機(jī)器人的自主性,這是就智能機(jī)器人與人的關(guān)系而言,即希望智能機(jī)器人進(jìn)一步獨(dú)立于人,具有更為友善的人機(jī)界面。從長遠(yuǎn)來說,希望操作人員只要給

24、出要完成的任務(wù),而機(jī)器人能自動形成完成該任務(wù)的步驟,并自動完成它。另一方面是,提高智能機(jī)器人的適應(yīng)性,提高智能機(jī)器人適應(yīng)環(huán)境變化的能力,這是就智能機(jī)器人與環(huán)境的關(guān)系而言,希望加強(qiáng)它們之間的交互關(guān)系。智能機(jī)器人涉及到許多關(guān)鍵技術(shù),這些技術(shù)關(guān)系到智能機(jī)器人的智能性的高低。這些關(guān)鍵技術(shù)主要有以下幾個方面:多傳感信息耦合技術(shù),多傳感器信息融合就是指綜合來自多個傳感器的感知數(shù)據(jù)以產(chǎn)生更可靠、更準(zhǔn)確或更全面的信息,經(jīng)過融合的多傳感器系統(tǒng)能夠更加完善

25、、精確地反映檢測對象的特性消除信息的不確定性提高信息的可靠性;導(dǎo)航和定位技術(shù),在自主移動機(jī)器人導(dǎo)航中,無論是局部實(shí)時避障還是全局</p><p>  智能小車作為移動式機(jī)器人的一個重要分支,隨著機(jī)器人研究的深入受到越來越多人的關(guān)注。它是計(jì)算機(jī)控制與電子技術(shù)的融合,單片機(jī)自動控制、電機(jī)調(diào)速等于一體,可以說是計(jì)算機(jī)、傳感器、信息、通訊、導(dǎo)航、人工智能及自動控制等技術(shù)的一個綜合體,為電子設(shè)備智能化提供了很好的實(shí)例。

26、 現(xiàn)今社會智能機(jī)器人發(fā)展很快,從智能玩具到其它各行業(yè)都有實(shí)質(zhì)成果。其基本可實(shí)現(xiàn)循跡、避障、檢測貼片、尋光入庫、避崖等基本功能,本次設(shè)計(jì)主要實(shí)現(xiàn)了循跡功能。根據(jù)設(shè)計(jì)要求制作基于STC89C52單片機(jī)智能機(jī)器人的過程,在智能機(jī)器人的自動循跡、避障、檢測、控制、顯示等方面提出一些見解。</p><p><b>  2、設(shè)計(jì)方案與論證</b></p><p><

27、b>  2.1整體設(shè)計(jì)思路</b></p><p>  本設(shè)計(jì)通過紅外光電二極管和光電晶體管組成的傳感器循跡模塊判斷黑線路徑,然后由STC89C52通過IO口控制L298N驅(qū)動模塊改變兩個直流電機(jī)的工作狀態(tài),最后實(shí)現(xiàn)機(jī)器人循跡,機(jī)器人采用前輪驅(qū)動,從動輪采用萬向輪,左右前輪各用一個直流減速電機(jī)驅(qū)動,通過調(diào)制前面兩個輪子的轉(zhuǎn)速從而達(dá)到控制轉(zhuǎn)向的目的,在機(jī)器人最前端裝有左中右4個紅外反射式傳感器,當(dāng)

28、機(jī)器人左邊的傳感器檢測到黑線時,說明機(jī)器人向右邊偏移,這時主控芯片控制左輪電機(jī)減速,機(jī)器人向左邊偏正。同理,當(dāng)機(jī)器人的右邊傳感器檢測到黑線時,主控芯片控制右輪電機(jī)減速,機(jī)器人向右邊偏正,當(dāng)黑線在機(jī)器人的中間,中間的傳感器一直檢測到黑線,這樣機(jī)器人就會沿著黑線一直行走。</p><p>  圖2.1.1 智能循跡小車控制系統(tǒng)結(jié)構(gòu)框圖</p><p><b>  2.2循跡系統(tǒng)&l

29、t;/b></p><p>  機(jī)器人小車在貼有黑膠帶的地上行駛,不斷向地面發(fā)射紅外光,根據(jù)接收到的反射光的強(qiáng)弱來判斷道路,用四只紅外對管,兩只置于軌道中間,兩只置于軌道外側(cè),當(dāng)機(jī)器人脫離軌道時,即當(dāng)置于中間的兩只只光電開關(guān)脫離軌道時,等待外面任一只檢測到黑線后,做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的光電開關(guān)重新檢測到黑線(即回到軌道)再恢復(fù)正向行駛</p><p><b>  2

30、.3避障系統(tǒng)</b></p><p>  采用紅外對管置于機(jī)器人小車正前方,可以檢測到障礙物是否存在,以做出相應(yīng)的判斷。</p><p><b>  2.4主控系統(tǒng)</b></p><p>  我們采用單片機(jī)作為整個智能機(jī)器人的核心,來對機(jī)器人進(jìn)行自動控制。單片機(jī)有著簡單、方便、快捷、價格低廉、較為強(qiáng)大的控制功能以及可位尋址操作功能

31、等優(yōu)點(diǎn),符合整體設(shè)計(jì)方案。</p><p><b>  2.5驅(qū)動系統(tǒng)</b></p><p>  采用功率三極管作為電機(jī)驅(qū)動芯片。電機(jī)驅(qū)動芯片驅(qū)動能力強(qiáng)、操作方便,穩(wěn)定性好,性能優(yōu)良。功率三極管的使能端可以外接電平控制,也可以利用單片機(jī)進(jìn)行軟件控制,滿足各種復(fù)雜電路的需要。另外,驅(qū)動功率較大,能夠根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負(fù)載能力不夠的問題。&l

32、t;/p><p>  采用L298N作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強(qiáng),采用由達(dá)林頓管組成的 H型橋式電路用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機(jī)轉(zhuǎn)速。這種電路效率非常高,H型橋式電路保證了簡單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的 PWM調(diào)速技術(shù)。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,

33、能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點(diǎn)。</p><p><b>  2.6電機(jī)選擇 </b></p><p>  我們采用兩個直流電動機(jī),直流電動機(jī)控制簡單,只需加上適合的電壓和幾根控制線,就能正常運(yùn)轉(zhuǎn)起來,符合機(jī)器人簡單整潔的整體設(shè)計(jì)思路。</p><p><b>  3、系統(tǒng)的硬件設(shè)計(jì)</b&

34、gt;</p><p><b>  3.1主控電路</b></p><p>  選擇STC89C52單片機(jī)作為本課題的主控芯片。STC89C52是一種低功耗、高性能CMOS8位微控制器,是帶8K字節(jié)閃爍可編程可檫除只讀存儲器。STC89C52提供給為眾多嵌入式控制應(yīng)用解決方案??臻e模式下,CPU 停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下

35、,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。STC89C52單片機(jī)和AT89S52單片機(jī)對比擁有諸多優(yōu)勢,具體見下表。</p><p>  表1 STC89C52單片機(jī)和AT89S52單片機(jī)的對比</p><p>  圖3.1.1 STC89C52單片機(jī)</p><p>  圖3.1.2 PCB圖</p>

36、<p><b>  表2 原件清單</b></p><p>  圖3.1.3 主控電路</p><p><b>  3.2信號檢測模塊</b></p><p>  機(jī)器人循跡原理是機(jī)器人在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射強(qiáng)弱不同,根據(jù)接收到的反射光的強(qiáng)弱來判斷正確的道路——黑線。該模塊

37、中利用了簡單且比較普遍的檢測方法——紅外探測法。 紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。原理就是利用黑白線對紅外線不同的反射能力通過光敏二極管或光敏三極管,接收反射回的不同光強(qiáng)信號,把不同光強(qiáng)轉(zhuǎn)換為電流信號,最后通過電阻,轉(zhuǎn)換為單片機(jī)可識別的高低電平。</p><p>  如果機(jī)器人向前行駛時向左偏離了黑線,那么右邊傳感器會產(chǎn)生一個高電平,單片機(jī)接收這個信號,然后向右轉(zhuǎn)回到

38、黑線。兩傳感器輸出信號為低電平時,機(jī)器人前進(jìn)。如果機(jī)器人向右偏離黑線,左邊傳感器產(chǎn)生一個高電平,單片機(jī)接收這個信號,然后向左轉(zhuǎn)向。這樣,機(jī)器人就一直沿著黑線行走。若兩個光電傳感器同時輸出的信號為高電平,即單片機(jī)判斷的都為高電平時,機(jī)器人向前直走。</p><p>  圖3.2.1 信號檢測模塊</p><p>  圖3.2.2 循跡模塊原理圖</p><p><

39、;b>  3.3電機(jī)驅(qū)動模塊</b></p><p>  本設(shè)計(jì)采用L298N電機(jī)專用驅(qū)動芯片帶動兩個直流電動機(jī)。</p><p>  直流電機(jī)由定子和轉(zhuǎn)子兩大部分組成。直流電機(jī)運(yùn)行時靜止不動的部分稱為定子,運(yùn)行時轉(zhuǎn)動的部分稱為轉(zhuǎn)子。</p><p>  其中比較常用的驅(qū)動芯片是L298N,L298N是一個內(nèi)部有兩個H橋的高電壓大電流全橋式驅(qū)動芯片

40、,內(nèi)部包含4通道邏輯驅(qū)動電路??梢则?qū)動兩個直流電機(jī),輸出電壓最高可達(dá)50V。直接通過電源來調(diào)節(jié)輸出電壓,直接通過單片機(jī)的IO端口提供信號,使得電路簡單,使用更方便,L298N芯片輸出電流可達(dá)2.5 A,可驅(qū)動電感負(fù)載。</p><p>  圖3.3.1 L298N內(nèi)部H橋驅(qū)動電路</p><p>  使用標(biāo)準(zhǔn)邏輯電平信號控制,直接連接單片機(jī)管腳,具有兩個使能控制端,使能端在不受輸入信號影

41、響的情況下不允許器件工作。L298N有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作。通過單片機(jī)給予L298N電路PWM信號來控制機(jī)器人的速度,起停。</p><p>  圖3.3.2 L298N引腳結(jié)構(gòu)</p><p>  圖3.3.3 L298N電機(jī)驅(qū)動模塊PCB圖</p><p>  表3 L298N引腳編號與功能</p><p

42、>  圖3.3.3 電機(jī)驅(qū)動原理圖</p><p>  3.4機(jī)器人控制邏輯</p><p>  在這個模塊中通過單片機(jī)對L298N的操作來控制兩個電機(jī)的運(yùn)行。具體操作如下表:</p><p><b>  表4 小車邏輯控制</b></p><p>  其中速度的調(diào)節(jié):按一個固定的頻率來接通和斷開電源,并根據(jù)需要

43、改變一個周期內(nèi)“接通”和“斷開”時間的長短。通過改變直流電機(jī)電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機(jī)的轉(zhuǎn)速。當(dāng)某一車輪的速度不相等時,即可實(shí)現(xiàn)車輪的左右偏轉(zhuǎn),來完成對黑線的循跡。</p><p><b>  4、系統(tǒng)的軟件設(shè)計(jì)</b></p><p><b>  4.1主程序流程圖</b></p><p>

44、;  根據(jù)機(jī)器人所要實(shí)現(xiàn)的循跡功能所列出的主程序流程圖:</p><p>  圖4.1.1 主程序流程圖</p><p><b>  4.2循跡程序設(shè)計(jì)</b></p><p>  循跡機(jī)器人的前面有四個傳感器至左向右分別為傳感器1,傳感器2,傳感器3,傳感器4。本機(jī)器人主要是通過四個傳感器實(shí)現(xiàn)循跡功能,其實(shí)物圖如圖4.2所示,以下是對本設(shè)計(jì)軟

45、件部分功能的說明。</p><p>  圖4.2.1 循跡機(jī)器人實(shí)物圖</p><p><b>  循跡程序:</b></p><p>  void init() </p><p><b>  { </b></p><p><b>  cgq2=1;</b

46、></p><p><b>  cgq3=1;</b></p><p>  TMOD=0X01; </p><p>  TH0=(65536-100)/256; </p><p>  TL0=(65536-100)%256; </p><p><b>  EA=1; </b&

47、gt;</p><p><b>  ET0=1; </b></p><p><b>  TR0=1; </b></p><p><b>  ENA=1; </b></p><p><b>  ENB=1; </b></p><p>

48、<b>  } ;</b></p><p>  當(dāng)傳感器1和傳感器4的顯示燈為暗(即檢測到為白色);傳感器2和傳感器3的顯示燈為亮(即檢測到為黑色),進(jìn)入以下走直線函數(shù):</p><p>  void straight() </p><p><b>  { </b></p><p><b>

49、;  PWM1=20; </b></p><p><b>  PWM2=20; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  IN3=1; </b>

50、</p><p><b>  IN4=0; </b></p><p><b>  }</b></p><p>  當(dāng)傳感器1,傳感器4和傳感器3的顯示燈為暗(即檢測到為白色);傳感器2的顯示燈為亮(即檢測到為黑色),進(jìn)入以下左轉(zhuǎn)彎函數(shù)(轉(zhuǎn)彎?。?lt;/p><p>  void turn_left1(

51、) </p><p><b>  { </b></p><p><b>  PWM1=5; </b></p><p><b>  PWM2=20; </b></p><p><b>  IN3=1; </b></p><p>&l

52、t;b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p><p>  當(dāng)傳感器1,傳感器4和傳感器2的顯示燈為暗(即檢測到為白

53、色);傳感器3的顯示燈為亮(即檢測到為黑色),進(jìn)入以下左轉(zhuǎn)彎函數(shù)(轉(zhuǎn)彎?。?lt;/p><p>  void turn_right1() </p><p><b>  { </b></p><p><b>  PWM1=20; </b></p><p><b>  PWM2=5; </

54、b></p><p><b>  IN3=1; </b></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p&g

55、t;<b>  } </b></p><p>  當(dāng)傳感器3,傳感器4和傳感器2的顯示燈為暗(即檢測到為白色);傳感器1的顯示燈為亮(即檢測到為黑色),進(jìn)入以下左轉(zhuǎn)彎函數(shù)(轉(zhuǎn)彎大):</p><p>  void turn_left3() //左轉(zhuǎn)彎函數(shù) 3 (轉(zhuǎn)彎最大)</p><p><b>  { </b><

56、/p><p><b>  PWM1=5; </b></p><p><b>  PWM2=40; </b></p><p><b>  IN3=1; </b></p><p><b>  IN4=0; </b></p><p><

57、b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p><p>  當(dāng)傳感器1,傳感器3和傳感器2的顯示燈為暗(即檢測到為白色);傳感器4的顯示燈為亮(即檢測到為黑色)進(jìn)入以下左轉(zhuǎn)彎函數(shù)(轉(zhuǎn)彎大):</p>&l

58、t;p>  void turn_right3() //右轉(zhuǎn)彎函數(shù) 3 (轉(zhuǎn)彎最大)</p><p><b>  { </b></p><p><b>  PWM1=40; </b></p><p><b>  PWM2=5; </b></p><p><b> 

59、 IN3=1; </b></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  }</b></p>

60、<p>  循跡功能的判斷程序: </p><p>  void infrared() </p><p><b>  { </b></p><p>  uchar flag;</p><p>  if((cgq1==0)&(cgq2==0)&(cgq3==0)&(cgq4==0))

61、// 直走</p><p>  {flag=0;} </p><p>  else if((cgq1==1)&(cgq2==0)&(cgq3==0)&(cgq4==1)) </p><p>  {if((a%2)==0)</p><p>  {flag=1;init();a++;}//左小轉(zhuǎn)</p>

62、<p><b>  else</b></p><p>  {flag=2;init();a++;}//右小轉(zhuǎn)</p><p><b>  } </b></p><p>  else if((cgq1==0)&(cgq2==0)&(cgq3==1)&(cgq4==0)) //左小轉(zhuǎn)&

63、lt;/p><p>  {flag=2;} </p><p>  else if((cgq1==0)&(cgq2==1)&(cgq3==0)&(cgq4==0))//右小轉(zhuǎn) </p><p>  {flag=1;} </p><p>  else if(((cgq1==1)&(cgq3==1)&(cgq4

64、==0))|((cgq1==1)&(cgq2==1)&(cgq4==0))) // 左中轉(zhuǎn)</p><p><b>  {</b></p><p><b>  {flag=4;}</b></p><p><b>  }</b></p><p>  else

65、if(((cgq1==0)&(cgq3==1)&(cgq4==1))|((cgq1==0)&(cgq2==1)&(cgq4==1))) //右中轉(zhuǎn)</p><p><b>  {</b></p><p><b>  {flag=5;}</b></p><p><b>  }<

66、;/b></p><p>  else if((cgq1==0)&(cgq2==0)&(cgq3==0)&(cgq4==1)) //左大轉(zhuǎn)</p><p>  {flag=7;delay(3);} </p><p>  else if((cgq1==1)&(cgq2==0)&(cgq3==0)&(cgq4==

67、0))//右大轉(zhuǎn) </p><p>  {flag=6;delay(3);} </p><p>  else flag=0; </p><p>  switch (flag) </p><p><b>  { </b></p><p>  case 0: straight(); br

68、eak; //直走</p><p>  case 1: turn_left1(); break; //左轉(zhuǎn)1</p><p>  case 2: turn_right1(); break; // 右轉(zhuǎn)1</p><p>  case 3: turn_back(); break; // 返回</p><p>  case 4: tur

69、n_left2(); break; //左轉(zhuǎn)2</p><p>  case 5: turn_right2(); break; // 右轉(zhuǎn)2</p><p>  case 6: turn_left3(); break; //左轉(zhuǎn)3</p><p>  case 7: turn_right3(); break; // 右轉(zhuǎn)3</p><p>

70、;  default: break; </p><p><b>  } </b></p><p><b>  }</b></p><p><b>  5、安裝與調(diào)試</b></p><p><b>  5.1機(jī)器人的安裝</b></p>&l

71、t;p>  機(jī)器人的軟硬件都已經(jīng)設(shè)計(jì)好,剩下的就是將智能循跡機(jī)器人的組裝以及調(diào)試,將紅外光電傳感器固定在底盤前沿貼近地面。正常行駛時,發(fā)射管發(fā)射紅外光照射地面光線,經(jīng)白紙反射后,被接收管接收輸出高電平信號。電動車經(jīng)過黑線時發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號后,送STC89C52單片機(jī)處理,判斷執(zhí)行預(yù)先編制的程序來控制機(jī)器人的行駛狀態(tài)。 將模塊置于前方,用于避障,以實(shí)現(xiàn)機(jī)器人的避障功能

72、。</p><p><b>  5.2機(jī)器人的調(diào)試</b></p><p>  首先使用萬用表測試原件的的參數(shù),看是否存在著一些誤差,從而避免原件搭建錯誤和虛焊等發(fā)生。調(diào)整紅外對管的靈敏度,通過改變延時程序來改變速度,來調(diào)整機(jī)器人不靈敏和轉(zhuǎn)彎速度過快等問題。</p><p>  傳感部分的分析及調(diào)試:</p><p> 

73、 首先要說明傳感器正常的狀態(tài)是ST188遇到黑線時P1.3接口輸出高電壓,發(fā)光二極管導(dǎo)通,有亮光;ST188遇到白紙時P1.3輸出低電壓,發(fā)光二極管不導(dǎo)通,無亮光。</p><p>  出現(xiàn)問題-----當(dāng)接通電源時,發(fā)現(xiàn)無論怎么調(diào)節(jié)滑動變阻器發(fā)光二極管發(fā)光二極管一直處于發(fā)光狀態(tài),則電路出現(xiàn)問題。通過利用萬能表,發(fā)現(xiàn)LM311的7端口和8端口短接,通過分析錯誤原因只會有以下兩種:7端口和8端口之間連接的電阻短路,

74、或者LM311的7端口和8端口短路。利用控制變量法發(fā)現(xiàn)7端口和8端口都與焊板邊沿相接,而在邊沿所有的焊點(diǎn)都相互連接,故7端口和8端口短路。</p><p>  單片機(jī)控制部分的分析調(diào)試:</p><p>  由于此部分線路比較多,對其進(jìn)行了第二次分析調(diào)試。因?yàn)榇瞬糠志€路沒有明顯的現(xiàn)象,所以只能通過萬用表進(jìn)行調(diào)試。此部分的檢查中發(fā)現(xiàn)了一處錯誤----連接復(fù)位的另一端沒有接地。</p&g

75、t;<p>  電路的分析及調(diào)試,在一般看來焊板邊沿的焊點(diǎn)相互孤立的,但在這次智能循跡機(jī)器人的制作當(dāng)中,卻出出現(xiàn)了比較特殊的情況,邊沿的焊點(diǎn)都是相互連接的。在以后焊接的時候,我們還要對焊板進(jìn)行觀察,注意焊板中特殊的焊點(diǎn)。另外利用理論知識對調(diào)試起到了很好的指導(dǎo)作用。例如,ST188的C、E兩端都短接利用電路知識,我們可以知道此時P1.3端口輸出為低電壓,則發(fā)光二極管不會發(fā)光。通過這個現(xiàn)象我們可以發(fā)現(xiàn)是ST188有問題還是后面

76、的連接的線路有問題,這樣節(jié)約了時間。編寫程序的難點(diǎn)主要是怎樣經(jīng)過“8”節(jié)點(diǎn),具體思路是:當(dāng)?shù)谝淮谓訒r,四個傳感器的發(fā)光二極管將會出現(xiàn)“亮亮亮滅”或者“亮滅亮滅”的結(jié)果,此時機(jī)器人進(jìn)行一次左偏,而后機(jī)器人傳感器的發(fā)光二極管會出現(xiàn)“亮滅滅亮”的情況,此時機(jī)器人向右轉(zhuǎn)(變量a++;);當(dāng)機(jī)器人再次經(jīng)過這“8”節(jié)點(diǎn)時,四個傳感器的發(fā)光二極管會出現(xiàn)“滅亮亮亮”或者“滅亮滅亮”的情況,此時機(jī)器人右轉(zhuǎn),之后機(jī)器人又會出現(xiàn)在進(jìn)行判斷(a除以2取其余數(shù)與

77、0進(jìn)行判斷)后,機(jī)器人左轉(zhuǎn),這樣機(jī)器人便通過了兩次節(jié)點(diǎn)。</p><p><b>  6、結(jié)束語</b></p><p>  本課題研究的內(nèi)容主要是智能循跡機(jī)器人的循跡系統(tǒng)。以簡單組裝機(jī)器人為基礎(chǔ),系統(tǒng)的設(shè)計(jì)以單片機(jī)為核心,將軟件和硬件相結(jié)合。使用了紅外傳感器來探測周圍環(huán)境,同時對周圍的環(huán)境信息進(jìn)行分析計(jì)算,以實(shí)現(xiàn)以下功能:</p><p> 

78、 (1) 機(jī)器人可以實(shí)現(xiàn)按照設(shè)定的軌道在無惡劣環(huán)境影響時,機(jī)器人將沿著黑色線所預(yù)定的路線前進(jìn)或者轉(zhuǎn)彎。若有偏差,能夠自動修正,返回到預(yù)設(shè)軌道。</p><p>  (2) 當(dāng)機(jī)器人檢測到前進(jìn)方向的障礙物時,可以自動報警調(diào)整,躲避障礙物,從無障礙區(qū)通過。機(jī)器人通過障礙區(qū)后,能夠自動循跡。</p><p>  (3) 機(jī)器人保留了擴(kuò)展功能。循跡機(jī)器人在完成設(shè)計(jì)預(yù)想的前提下,主要考慮了結(jié)構(gòu)設(shè)計(jì)的

79、簡單化,降低了制作成本,使之更具有普及性。</p><p>  通過本次設(shè)計(jì)我了解到了理論和實(shí)踐的不同,提高了自己的動手能力,也學(xué)會了處理各種問題的方法,雖然設(shè)計(jì)還存在種種的瑕疵以及小問題,設(shè)計(jì)的并不是很完美,但我掌握了很多以前不熟悉的知識,使我在人生上又更進(jìn)了一步。</p><p><b>  致 謝</b></p><p>  在本次設(shè)計(jì)的

80、整個過程中,得到了指導(dǎo)老師和同學(xué)的大力幫助,借此機(jī)會向他們表示誠摯的感謝。</p><p>  感謝我的導(dǎo)師彭潔老師。彭老師學(xué)識淵博、治學(xué)嚴(yán)謹(jǐn)、洞察敏銳。本學(xué)位論文實(shí)在導(dǎo)師彭潔老師的精心指導(dǎo)下完成的。彭潔老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、敏銳的洞察力、開闊的思維方式深深地影響著我,使我學(xué)會了解決問題和處理問題的方法。從課題的選擇到畢設(shè)的最終完成,彭老師都始終給予我細(xì)心地指導(dǎo)和不懈的支持。感謝導(dǎo)師在百忙之中花大量時間來修改我的論

81、文,使我的工作能順利進(jìn)行。借此論文完成之際,謹(jǐn)向敬愛的恩師致以衷心的感謝!</p><p>  由于知識水平有限,錯誤在所難免,懇請各位老師批評指正。</p><p><b>  謝謝!</b></p><p><b>  參考文獻(xiàn)</b></p><p>  1 張友德等,單片微型機(jī)原理、應(yīng)用與實(shí)

82、驗(yàn),第四版,上海:復(fù)旦大學(xué)出版社,2003</p><p>  2 吳黎明等,單片機(jī)原理及應(yīng)用技術(shù),北京:科學(xué)出版社,2005</p><p>  3 劉軍等,單片機(jī)原理與接口技術(shù),江蘇:華東理工大學(xué)出版社,2006</p><p>  4 丁元杰,單片微機(jī)原理及應(yīng)用[M],北京:機(jī)械工業(yè)出版社,2001</p><p>  5 江太輝等,D

83、S18B20數(shù)字式溫度傳感器的特性與應(yīng)用[J],電子技術(shù),2003,12(6):14-16</p><p>  6 蔣鴻宇等,由DS18B20構(gòu)成的多點(diǎn)溫度測量系統(tǒng)[J],單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007,01,(11):9-11</p><p>  7 金偉正,儀表技術(shù)與傳感器[J],武漢:武漢科大學(xué)報,2000, 27(3):17-18.</p><p>  8

84、 王燕等,檢測與轉(zhuǎn)換技術(shù)[J],中原工學(xué)院學(xué)報,2007,11(12):21-22</p><p>  9 嚴(yán)天峰,A/D轉(zhuǎn)換器及其在單片機(jī)中的應(yīng)用[J],電子世界,2003,01(9):05-07</p><p>  10 杜洋,A/D轉(zhuǎn)換芯片ADC0832的應(yīng)用[J],電子技術(shù), 2005,10(11):1-7</p><p>  11 程明等,LED顯示原理[

85、J],電訊技術(shù),2004,14(3):32-33</p><p>  12 WANG J L,SUN Y,LIU Z J,etal. Route planning based on Floyd algorithm for intelligence transportation system[J].IEEE International Conference on Integration Technology<

86、/p><p>  2007(3):20-24</p><p><b>  附錄A</b></p><p><b>  程序清單:</b></p><p>  #include<reg52.h> </p><p>  #define uchar unsigned cha

87、r </p><p>  #define uint unsigned int </p><p>  uchar PWM1,PWM2,i,j; //右左占空比標(biāo)志</p><p><b>  uint a=0;</b></p><p>  sbit cgq1=P1^0; //從右往左的傳感器編號<

88、/p><p>  sbit cgq2=P1^1;</p><p>  sbit cgq3=P1^2;</p><p>  sbit cgq4=P1^3;</p><p>  sbit ENA=P2^7;</p><p>  sbit ENB=P2^6;</p><p>  sbit IN1=P2^5

89、;</p><p>  sbit IN2=P2^4; </p><p>  sbit IN3=P2^3;</p><p>  sbit IN4=P2^2;</p><p>  void delay(uint z) //延時1ms</p><p><b>  

90、{ </b></p><p><b>  uchar i; </b></p><p>  while(z--) </p><p><b>  {</b></p><p>  for(i=0;i<121;i++);</p><p><b>  } &

91、lt;/b></p><p><b>  }</b></p><p>  void init() //初始化</p><p><b>  { </b></p><p><b>  cgq2=1;</b></p><p><b>  c

92、gq3=1;</b></p><p>  TMOD=0X01; </p><p>  TH0=(65536-100)/256; </p><p>  TL0=(65536-100)%256; </p><p><b>  EA=1; </b></p><p><b>  ET

93、0=1; </b></p><p><b>  TR0=1; </b></p><p><b>  ENA=1; </b></p><p><b>  ENB=1; </b></p><p><b>  } </b></p>&l

94、t;p>  void time0(void)interrupt 1 //空占比設(shè)置</p><p><b>  { </b></p><p><b>  i++; </b></p><p><b>  j++; </b></p><p>  if(i<=PW

95、M1)</p><p><b>  ENA=1; </b></p><p><b>  else </b></p><p><b>  ENA=0; </b></p><p>  if(i==40) </p><p><b>  i=0; &

96、lt;/b></p><p>  if(j<=PWM2)</p><p><b>  ENB=1; </b></p><p><b>  else</b></p><p><b>  ENB=0; </b></p><p><b>

97、  if(j==40)</b></p><p><b>  j=0; </b></p><p>  TH0=(65536-100)/256; </p><p>  TL0=(65536-100)%256; </p><p><b>  }</b></p><p>

98、  void straight() //走直線函數(shù) </p><p><b>  { </b></p><p><b>  PWM1=20; </b></p><p><b>  PWM2=20; </b></p><p><b>  IN1=1; </b>

99、;</p><p><b>  IN2=0; </b></p><p><b>  IN3=1; </b></p><p><b>  IN4=0; </b></p><p><b>  }</b></p><p>  void t

100、urn_left1() //左轉(zhuǎn)彎函數(shù) 1 (轉(zhuǎn)彎?。?lt;/p><p><b>  { </b></p><p><b>  PWM1=5; </b></p><p><b>  PWM2=20; </b></p><p><b>  IN3=1; </b&g

101、t;</p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p><p>  voi

102、d turn_right1() //右轉(zhuǎn)彎函數(shù) 1(轉(zhuǎn)彎?。?lt;/p><p><b>  { </b></p><p><b>  PWM1=20; </b></p><p><b>  PWM2=5; </b></p><p><b>  IN3=1; </b

103、></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p><p>  vo

104、id turn_left2() //左轉(zhuǎn)彎函數(shù) 2(轉(zhuǎn)彎較大)</p><p><b>  { </b></p><p><b>  PWM1=5; </b></p><p><b>  PWM2=30; </b></p><p><b>  IN3=1; <

105、/b></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p><p> 

106、 void turn_right2() //右轉(zhuǎn)彎函數(shù) 2 (轉(zhuǎn)彎較大)</p><p><b>  { </b></p><p><b>  PWM1=30; </b></p><p><b>  PWM2=5; </b></p><p><b>  IN3=1;

107、 </b></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p><p&

108、gt;  void turn_left3() //左轉(zhuǎn)彎函數(shù) 3 (轉(zhuǎn)彎最大)</p><p><b>  { </b></p><p><b>  PWM1=5; </b></p><p><b>  PWM2=40; </b></p><p><b>  IN3

109、=1; </b></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  } </b></p>&l

110、t;p>  void turn_right3() //右轉(zhuǎn)彎函數(shù) 3 (轉(zhuǎn)彎最大)</p><p><b>  { </b></p><p><b>  PWM1=40; </b></p><p><b>  PWM2=5; </b></p><p><b> 

111、 IN3=1; </b></p><p><b>  IN4=0; </b></p><p><b>  IN1=1; </b></p><p><b>  IN2=0; </b></p><p><b>  }</b></p>

112、<p>  void infrared() //循跡 </p><p><b>  { </b></p><p>  uchar flag;</p><p>  if((cgq1==0)&(cgq2==0)&(cgq3==0)&(cgq4==0)) // 直走</p><p>  {f

113、lag=0;} </p><p>  else if((cgq1==1)&(cgq2==0)&(cgq3==0)&(cgq4==1)) </p><p>  {if((a%2)==0)</p><p>  {flag=1;init();a++;}//左小轉(zhuǎn)</p><p><b>  else</b

114、></p><p>  {flag=2;init();a++;}//右小轉(zhuǎn)</p><p><b>  } </b></p><p>  else if((cgq1==0)&(cgq2==0)&(cgq3==1)&(cgq4==0)) //左小轉(zhuǎn)</p><p>  {flag=2;

115、} </p><p>  else if((cgq1==0)&(cgq2==1)&(cgq3==0)&(cgq4==0))//右小轉(zhuǎn) </p><p>  {flag=1;} </p><p>  else if(((cgq1==1)&(cgq3==1)&(cgq4==0))|((cgq1==1)&(cgq2==1)

116、&(cgq4==0))) // 左中轉(zhuǎn)</p><p><b>  {</b></p><p><b>  {flag=4;}</b></p><p><b>  }</b></p><p>  else if(((cgq1==0)&(cgq3==1)&am

117、p;(cgq4==1))|((cgq1==0)&(cgq2==1)&(cgq4==1))) //右中轉(zhuǎn)</p><p><b>  {</b></p><p><b>  {flag=5;}</b></p><p><b>  }</b></p><p>  

118、else if((cgq1==0)&(cgq2==0)&(cgq3==0)&(cgq4==1)) //左大轉(zhuǎn)</p><p>  {flag=7;delay(3);} </p><p>  else if((cgq1==1)&(cgq2==0)&(cgq3==0)&(cgq4==0))//右大轉(zhuǎn) </p><p>

119、  {flag=6;delay(3);} </p><p>  else flag=0; </p><p>  switch (flag) </p><p><b>  { </b></p><p>  case 0: straight(); break; //直走</p><p&g

120、t;  case 1: turn_left1(); break; //左轉(zhuǎn)1</p><p>  case 2: turn_right1(); break; // 右轉(zhuǎn)1</p><p>  case 3: turn_back(); break; // 返回</p><p>  case 4: turn_left2(); break; //左轉(zhuǎn)2</p

121、><p>  case 5: turn_right2(); break; // 右轉(zhuǎn)2</p><p>  case 6: turn_left3(); break; //左轉(zhuǎn)3</p><p>  case 7: turn_right3(); break; // 右轉(zhuǎn)3</p><p>  default: break; </p>

122、<p><b>  } </b></p><p><b>  }</b></p><p>  void main(void) </p><p><b>  { </b></p><p><b>  init(); </b></p>

123、<p>  delay(1); </p><p><b>  while(1)</b></p><p><b>  { </b></p><p>  infrared(); </p><p><b>  } </b></p><p><

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論