基于單片機(jī)的智能循跡小車畢業(yè)論文.doc
《基于單片機(jī)的智能循跡小車畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的智能循跡小車畢業(yè)論文.doc(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、摘 要摘 要本系統(tǒng)是基于STC89C52單片機(jī)的智能循跡小車的設(shè)計。硬件模塊包括單片機(jī)最小系統(tǒng)模塊、電機(jī)驅(qū)動模塊、電源模塊、光電傳感器模塊。軟件部分包括主程序、控制程序、檢測程序等。采用STC89C52單片機(jī)作為小車的控制核心,使用驅(qū)動芯片L298N構(gòu)成雙橋控制直流電機(jī),采用TCRT5000紅外反射式開關(guān)傳感器作為小車的循跡模塊來識別白色路面中央的黑色膠帶引導(dǎo)線,采集信號并將信號轉(zhuǎn)換為能被單片機(jī)識別的數(shù)字信號,其中軟件系統(tǒng)Keil軟件來編寫所需的C語言程序,本設(shè)計的電路結(jié)構(gòu)簡單,容易實(shí)現(xiàn),可靠性高。關(guān)鍵詞:TCRT5000紅外傳感器,STC89C52單片機(jī),L298N驅(qū)動芯片,智能循跡 27A
2、bstractABSTRACTThis system is the design of intelligent tracking car based on STC89C52 mcu. The hardware module includes a minimum system module, a motor drive module, a power module and a photoelectric sensor module. The software part includes the main program, control program, testing program and
3、so on. Using STC89C52 microcontroller as the control core of the car, using the driving chip L298N constitute Shuangqiao DC motor control using tcrt5000 reflective infrared sensor switch as the car of the tracking module to identify the white road central black tape guide line, signal acquisition an
4、d signal conversion is identified by the single-chip digital signal. The system software keil software to compile the C language program, the design of the circuit structure is simple, easy to implement, and the reliability is high.Key words:TCRT5000 infrared sensor, STC89C52 MCU, L298N driver chip,
5、 intelligent tracking目錄目 錄第1章引言11.1 選題背景11.2 研究目標(biāo)和意義11.3 設(shè)計思路2第2章系統(tǒng)的方案選取32.1系統(tǒng)主要組成部分32.2單片機(jī)最小系統(tǒng)模塊的選擇32.3電源模塊的選擇42.4電機(jī)驅(qū)動模塊的選擇42.5光電傳感器模塊的選擇5第3章系統(tǒng)的硬件設(shè)計63.1硬件框架構(gòu)圖63.2單片機(jī)最小系統(tǒng)設(shè)計63.3電源模塊設(shè)計73.4電機(jī)驅(qū)動模塊設(shè)計83.5光電傳感器模塊設(shè)計9第4章系統(tǒng)的軟件設(shè)計114.1 Keil軟件介紹114.2系統(tǒng)整體流程圖154.3電機(jī)驅(qū)動模塊設(shè)計174.4光電傳感器模塊設(shè)計17第5章系統(tǒng)的硬軟件調(diào)試195.1系統(tǒng)的硬件調(diào)試195.
6、1.1單片機(jī)最小系統(tǒng)的調(diào)試195.1.2電機(jī)驅(qū)動的調(diào)試195.1.3光電傳感器的調(diào)試205.2系統(tǒng)的軟件調(diào)試20第6章系統(tǒng)測試結(jié)果與分析226.1小車的實(shí)物系統(tǒng)測試結(jié)果226.2系統(tǒng)測試結(jié)果的分析24第7章總結(jié)26參考文獻(xiàn)27致謝28附錄29附錄一:整體電路圖29附錄二:實(shí)物圖30附錄三:程序代碼31第1章 引言第1章 引言1.1 選題背景隨著社會的不斷發(fā)展,科學(xué)技術(shù)水平的不斷提高,人們希望創(chuàng)造出一種來代替人來做一些非常危險,或者要求精度高等事情的工具,于是就誕生了機(jī)器人這門學(xué)科。世界上誕生第一臺機(jī)器人誕生于1959年,至今已有50多年的歷史,機(jī)器人技術(shù)也取得了飛速的發(fā)展和進(jìn)步,現(xiàn)已發(fā)展成一門
7、包含:機(jī)械、電子、計算機(jī)、自動控制、信號處理,傳感器等多學(xué)科為一體的性尖端技術(shù)。循跡小車共歷了三代技術(shù)創(chuàng)新變革: 第一代循跡小車是可編程的示教再現(xiàn)型,沒有裝載任何傳感器,只是采用簡單的開關(guān)控制,通過編程來設(shè)置循跡小車的路徑與運(yùn)動參數(shù),在工作過程中,不能根據(jù)環(huán)境的變化而改變自身的運(yùn)動軌跡。支持離線編程的第二代循跡小車具有一定感知和適應(yīng)環(huán)境的能力,這類循跡小車裝有簡單的傳感器,可以感覺到自身的運(yùn)動位置,速度等其他物理量,電路是一個閉環(huán)反饋的控制系統(tǒng),能適應(yīng)一定的外部環(huán)境變化。第三代循跡小車是智能的,目前在研究和發(fā)展階段,以多種外部傳感器構(gòu)成感官系統(tǒng),通過采集外部的環(huán)境信息,精確地描述外部環(huán)境的變化
8、。智能循跡小車,能獨(dú)立完成任務(wù),有其自身的知識基礎(chǔ),多信息處理系統(tǒng),在結(jié)構(gòu)化或半結(jié)構(gòu)化的工作環(huán)境中,根據(jù)環(huán)境變化做出決策,有一定的適應(yīng)能力,自我學(xué)習(xí)能力和自我組織的能力。為了讓循跡小車能獨(dú)立工作,一方面應(yīng)具有較高的智慧和更廣泛的應(yīng)用,研究各種新機(jī)傳感器,另一方面,也掌握多個多類傳感器信息融合的技術(shù),這樣循跡小車可以更準(zhǔn)確,更全面的獲得所處環(huán)境的信息【1】1.2 研究目標(biāo)和意義目前,國內(nèi)外的許多大學(xué)及研究機(jī)構(gòu)都在積極投入人力、財力研制開發(fā)針對特殊 條件下的安全監(jiān)測系統(tǒng)。其中包括研究使用遠(yuǎn)程、無人的方法來進(jìn)行實(shí)現(xiàn),如機(jī)器人、遠(yuǎn)程監(jiān)控等。無線傳輸?shù)陌l(fā)展使得測量變得相對簡單而且使得處理數(shù)據(jù)的速度變得很
9、快甚至可以達(dá)到實(shí)時處理。 隨著我國社會經(jīng)濟(jì)的不斷發(fā)展,網(wǎng)絡(luò)購物已經(jīng)成為人們的一種生活習(xí)慣,既然網(wǎng)絡(luò)購物這么欣盛,那么對物流業(yè)就是很大的一種刺激,現(xiàn)在的物流倉庫在擴(kuò)大規(guī)模的同時當(dāng)然管理也必須跟上節(jié)奏,我們的基于單片機(jī)的智能循跡小車的設(shè)計就對物流業(yè)的管理有很大的幫助,我們的小車可以沿著設(shè)計好的軌道上行進(jìn)同時也能達(dá)到轉(zhuǎn)彎的目的。這樣就能幫助人們將形形色色的貨物按照一定的軌跡輸送到目的地。當(dāng)然目前只適合于較小的范圍內(nèi),倉庫就是很好的一個示范地。我們的小車如果能夠被人們廣泛采用的話,不僅能夠節(jié)約管理成本,而且可以大大減少人工成本。除此之外,我們的智能循跡小車也能在戰(zhàn)場或工程中也能發(fā)揮其功能。在戰(zhàn)場上。可
10、以將智能小車用于掃除路邊炸彈,尋找和銷毀地雷等。這樣便可以大大減少士兵傷亡發(fā)生的概率,保證士兵的安全。在民用方面,可以探測化學(xué)泄露物質(zhì),可以進(jìn)行地鐵救火,以及在發(fā)生地震后到廢墟中被埋人員等。在工程建設(shè)領(lǐng)域,可以對高速公路自動循跡。進(jìn)行道路質(zhì)量檢測和破壞分析檢測,對水庫堤壩、海岸堤壩、江河大壩進(jìn)行安全性檢測,在制造領(lǐng)域可用于工業(yè)管道中機(jī)械損傷,裂紋等缺陷的探尋,對輸油管道和輸氣管道的泄露和破壞點(diǎn)的查找和定位等。1.3 設(shè)計思路本次設(shè)計我們準(zhǔn)備以STC89C52單片機(jī)芯片作為控制核心,采用光電傳感器的紅外對管來采集數(shù)據(jù)。使用兩個直流減速電機(jī)配以L298N芯片來控制小車的行駛狀態(tài),運(yùn)用與白色地面反差
11、很大的黑色絕緣膠帶路線來引導(dǎo)小車按照既定路線前進(jìn)。使用Keil軟件來進(jìn)行小車所需程序的編寫。第2章 系統(tǒng)的方案選取第2章 系統(tǒng)的方案選取2.1系統(tǒng)主要組成部分智能循跡小車主要由STC89C52單片機(jī)電路、電源模塊、L298N驅(qū)動模塊、直流電機(jī)、光電傳感器模塊等組成。如下圖2-1所示。圖2-1智能循跡小車控制系統(tǒng)結(jié)構(gòu)框圖2.2單片機(jī)最小系統(tǒng)模塊的選擇方案一:可以采用ARM為系統(tǒng)的控制器,優(yōu)點(diǎn)是該系統(tǒng)功能強(qiáng)大,片上外設(shè)集成度搞密度高,提高了穩(wěn)定性,系統(tǒng)的處理速度也很高,適合作為大規(guī)模實(shí)時系統(tǒng)的控制核心。方案二:采用單片機(jī)作為整個系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們
12、的系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)小車的自動控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢控制簡單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案.針對本設(shè)計特點(diǎn)多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡I/O口和程序存儲器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析我們選用了MCS-51單片機(jī)。51單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K。對于本設(shè)計也綽綽有余,更可貴的是51單片機(jī)價格非常低廉。在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動等
13、諸多因素后,我們決定采用一片單片機(jī),充分利用STC89C52單片機(jī)的資源。綜上所述兩種方案,我們選擇方案二。2.3電源模塊的選擇方案一:使用干電池作為供電電源,但考慮到干電池使用時間過長后電壓不穩(wěn)定,以及環(huán)境和經(jīng)濟(jì)的影響,我們排除方案一。方案二:采用12V蓄電池為直流電機(jī)供電。將12V電壓通過降壓穩(wěn)壓后給整個系統(tǒng)供電,因?yàn)樾铍姵鼐哂休^強(qiáng)的電流驅(qū)動能力以及穩(wěn)定的電壓輸出性能,并且能夠反復(fù)充電使用,節(jié)約了成本,保護(hù)了環(huán)境。綜上所述,我們選擇了方案二。2.4電機(jī)驅(qū)動模塊的選擇方案一:采用直流電機(jī),配合LM293驅(qū)動芯片組合。優(yōu)點(diǎn)在于硬件電路的設(shè)計簡單。當(dāng)外加額定直流電壓時,轉(zhuǎn)速幾乎相等。這類電機(jī)用于
14、錄音機(jī)、錄相機(jī)、唱機(jī)或激光唱機(jī)等固定轉(zhuǎn)速的機(jī)器或設(shè)備中。也用于變速范圍很寬的驅(qū)動裝置。容易受到外部因素干擾,影響穩(wěn)定的轉(zhuǎn)速和轉(zhuǎn)矩輸出。方案二:采用L298N作為電機(jī)驅(qū)動芯片。L298N是具有大電流、高電壓、響應(yīng)頻率高等功能的全橋驅(qū)動芯片,該電機(jī)驅(qū)動芯片有操作方便、驅(qū)動能力強(qiáng)、穩(wěn)定性能好等優(yōu)點(diǎn)。一片 L298N可分別控制兩個直流電機(jī),它的使能端可以外接電平控制,也可以利用單片機(jī)進(jìn)行軟件控制,滿足各種復(fù)雜電路的需要。并且L298N的驅(qū)動功率較大,能夠根據(jù)輸入電壓的大小來控制輸出的電壓和功率,能很好的解決負(fù)載能力不夠的問題。電機(jī)采用雙直流電動機(jī),只需給電機(jī)的兩條控制線加上一定的電壓就能使電機(jī)旋轉(zhuǎn)。在
15、正常的工作電壓范圍內(nèi),電壓越高直流電動機(jī)轉(zhuǎn)速越高。綜上所述,我們選擇方案二。2.5光電傳感器模塊的選擇方案一:尋跡模塊我們可以用光敏電阻組成,光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到黑線上面時,光線反射較弱,光線照射到 白色地面上時,光線反射較強(qiáng)。因此當(dāng)光敏電阻在白色路面和黑線上方時,阻值會發(fā)生明顯的變化 將阻值的變化值轉(zhuǎn)化為高低電平的變化。但是這種方式受環(huán)境光影響較大,不能穩(wěn)定的工作,因此我們考慮其他更加穩(wěn)定的方法。 方案二:紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),用光電發(fā)射管和接受管自己制作光電循跡傳感器,紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外
16、線照射到白色的平面后反射,若紅外接收管能收到反射回的光線則檢測出白線從而輸出低電平,若接受不到則檢測出黑線那么就會輸出高電平。采用反射型光電傳感器,型號為TCRT5000,采用紅外對管制作循跡電路,當(dāng)檢測到黑線時,紅外接收管導(dǎo)通否則紅外對管截止,通過比較器LM393進(jìn)行電壓比較,把電平狀態(tài)傳給單片機(jī)然后由其處理。單片機(jī)就是通過接收到的高低電平為依據(jù)來確定黑線的位置和小車前進(jìn)的路線這種方式更加的可靠穩(wěn)定。綜上所述,我們選擇方案二。第3章 系統(tǒng)的硬件設(shè)計第3章 系統(tǒng)的硬件設(shè)計3.1硬件框架構(gòu)圖小車的硬件由12V蓄電池、穩(wěn)壓系統(tǒng)、 TCRT5000紅外反射式光電傳感器系統(tǒng)、STC89C52RC單片機(jī)
17、、L298N電機(jī)驅(qū)動系統(tǒng)、雙直流電動機(jī)等組成。如下圖3-1所示。圖3-1 智能循跡小車硬件框架構(gòu)圖3.2單片機(jī)最小系統(tǒng)設(shè)計本次設(shè)計的主控芯片選擇為STC89C52。STC89C52是一種低功耗高性能CMOS 8位微控制器,具有8K的系統(tǒng)可編程Flash存儲器使用高密度非易失性存儲器技術(shù)制造,與89C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash ,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。主控電路模塊采用AT89C52單片機(jī)作為主控芯,CPU采用外部經(jīng)穩(wěn)壓電路模塊輸
18、出的+5V直流電源供電。電路圖如下所示: 其中包括了復(fù)位模塊、晶振電路和CPU控制模塊。如下圖3-2所示。圖3-2 單片機(jī)最小系統(tǒng)原理圖3.3電源模塊設(shè)計高性能的電源管理系統(tǒng)對于電子系統(tǒng)穩(wěn)定運(yùn)行是至關(guān)重要的。作為智能車源,電源模塊為系統(tǒng)的控制器,執(zhí)行機(jī)構(gòu),傳感器等各個模塊提供可靠的工作電壓。設(shè)計中,除了需要考慮電壓范圍和電流容量等基本參數(shù)之外,還要在電源轉(zhuǎn)換效率、降低噪聲、防止干擾和電路簡單等方面進(jìn)行優(yōu)化,電源管理模塊的功能是對電池進(jìn)行分配和電壓調(diào)節(jié),為其他各個模塊的正常工作提供可靠的工作電壓。智能車控制系統(tǒng)中,不同電路模塊需要的工作電壓和電流容量各不相同。芯片需要提供5V的工作電壓,而電機(jī)所
19、需的電壓為12V,我們在這次設(shè)計中用到的是12V的電源供電,然后通過三端穩(wěn)壓器LM2596S將電壓變換為5V電壓供給電路系統(tǒng)。我們采用的LM2596S系列是德州儀器(TI)生產(chǎn)的3A電流輸出降壓開關(guān)型集成穩(wěn)壓芯片,它內(nèi)含固定頻率振蕩器(150KHZ)和基準(zhǔn)穩(wěn)壓器(1.23v),并具有完善的保護(hù)電路、電流限制等。利用該器件只需極少的外圍器件便可構(gòu)成高效穩(wěn)壓電路。電源工作原理圖如下圖3-3所示:圖3-3 電源工作原理圖圖3-4 三端穩(wěn)壓器實(shí)物圖3.4電機(jī)驅(qū)動模塊設(shè)計電機(jī)驅(qū)動模塊電路是基于一片集成電機(jī)驅(qū)動芯片L298N。 L298N是一種具有高電壓大電流的全橋驅(qū)動芯片,它的響應(yīng)頻率高,只需用一個L2
20、98N就可以控制兩個直流減速電機(jī)。而且還帶有控制使能端,用它來當(dāng)作驅(qū)動芯片,性能優(yōu)良、穩(wěn)定。其中L298N的5、7引腳作為一個電機(jī)的控制信號輸入端,10、12引腳作為另一個電機(jī)的控制信號輸入端。2、3引腳作為一個電機(jī)的控制信號輸出端,13、14引腳作為另一個電機(jī)的控制信號輸出端。并通過單片機(jī)對L298N的輸入端進(jìn)行指令控制,就能實(shí)現(xiàn)直流減速電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),從而控制小車的前進(jìn)和后退。電機(jī)驅(qū)動的原理圖如下圖3-5所示:圖3-5 電機(jī)驅(qū)動模塊原理圖3.5光電傳感器模塊設(shè)計我們在做光電傳感器模塊時采用了TCRT5000, TCRT5000光電傳感器模塊是基于TCRT5000紅外光電傳感器設(shè)計的一款紅
21、外反射式光電開關(guān)。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經(jīng)施密特電路整形,穩(wěn)定可靠。TCRT5000接收管接收到紅外光時,電阻變小,相當(dāng)于“導(dǎo)通”,輸入端電壓變低,低于輸入端,輸出低電平;沒接收到光時電阻變大,相當(dāng)于“斷開”,輸入端電壓變高,高于輸入端,輸出高電平。TCRT5000的原理圖如下3-6所示。圖3-6 TCRT5000原理圖在此部分中 我們同樣采用了LM393雙電壓比較器。LM393的輸出負(fù)載電阻能銜接在可允許電源電壓范圍內(nèi)的任何電源電壓上,不受 VCC端電壓值的限制.此輸出能作為一個簡單的對地SPS開路(當(dāng)不用負(fù)載電阻沒被運(yùn)用),輸出部分的陷電流被可
22、能得到的驅(qū)動和器件的值所限制.當(dāng)達(dá)到極限電流(16mA)時,輸出晶體管將退出而且輸出電壓將很快上升。LM393內(nèi)部采用雙列直插8腳塑料封裝(DIP8)和微形的雙列8 腳塑料封裝(SOP8)。檢測系統(tǒng):智能循跡下車能夠沿著導(dǎo)線自主前進(jìn)。它是通過車體前部的光電傳感器檢測引導(dǎo)線條,發(fā)送信號到微控制器,然后微控制器對檢測信號進(jìn)行處理,并控制電機(jī)校正正偏移量,從而實(shí)現(xiàn)循跡功能。如果前部的兩個傳感器都檢測到引導(dǎo)線條,傳感器將發(fā)出信號,那么后輪的兩個電機(jī)繼續(xù)接通運(yùn)轉(zhuǎn),驅(qū)動小車前進(jìn)。但是如果只有一個傳感器檢測到信號,那么檢測到信號的傳感器將發(fā)出信號,并且該側(cè)的電機(jī)繼續(xù)前進(jìn),另一側(cè)停止運(yùn)轉(zhuǎn),以便達(dá)到轉(zhuǎn)向的目的。
23、第4章 系統(tǒng)的軟件設(shè)計第4章 系統(tǒng)的軟件設(shè)計4.1 Keil軟件介紹目前,52系列單片機(jī)使用的編程語言主要有匯編語言和C語言這兩種,在選擇這兩種語言的時候,我們也綜合考慮了他們的優(yōu)點(diǎn)與缺點(diǎn)。 最接近機(jī)器的語言是匯編語言,其常用來編制與系統(tǒng)硬件相關(guān)的程序,如訪問I/O口、中斷處理程序等,它是一種最快而又最有效的語言,在對于程序的空間和時間要求很高的場合中 使用匯編語言是最佳的選擇,然而匯編語言也有其自身的缺點(diǎn),比如程序開發(fā)周期較長、浮點(diǎn)運(yùn)算處理復(fù)雜、程序移植性差等不利因素但是在程序設(shè)計過程中C語言編程設(shè)計思想被稱為模塊化程序設(shè)計思想。有的時候?yàn)榱擞行У赝瓿扇蝿?wù),把所要完成的任務(wù)分割成若干個相互獨(dú)
24、立但相互又仍然有所聯(lián)系的模塊,這些模塊使得任務(wù)變得相對簡單,對外的數(shù)據(jù)交換相對簡單、容易編寫、容易檢測,容易閱讀和維護(hù),所以我們認(rèn)為還是C語言更加適合我們的這個設(shè)計。隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,KEIL軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持KEIL即可看出。KEIL提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(UVISION)將這部分組合在一起。掌握這一軟件的使用對于使用51系列單片機(jī)的學(xué)者來說是十分必要的
25、,如果使用C語言編程,那么KEIL幾乎就是最好的選擇,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會事半功倍。KEILC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到KEILC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢【8】。KEIL軟件采用一個Project工程項(xiàng)目管理文件來保存、記錄、管理用戶在系統(tǒng)軟件開發(fā)中所使用和生成的各種文件。雙擊打開KEIL軟件出現(xiàn)以下界面。如下圖4-1所示。圖4-1 Kei
26、l軟件主界面點(diǎn)擊Project-New Project,新建一個工程。如下圖4-2所示。圖4-2 Keil軟件新建工程界面點(diǎn)擊會出現(xiàn)對話框,在對話框中選擇文件的保存路徑,單擊“保存”后,會出現(xiàn)選擇單片機(jī)選擇界面,選擇本設(shè)計所需型號AT89C52單片機(jī)后單擊“確定”。 如下圖4-3所示。 圖4-3 選擇電路板上所用的單片機(jī)型號界面在彈出的是否添加啟動代碼的對話框中點(diǎn)擊“否”后會彈出一個空白的界面。如下圖4-4所示。圖4-4 建立空文本框界面點(diǎn)擊File下方的空白頁圖標(biāo)后再點(diǎn)擊右側(cè)的保存,會彈出一個對話框,因?yàn)槌绦蚴褂肅語言,所以命名文本為*.c的格式。如下圖4-5所示。圖4-5 保存文本改寫界面
27、然后就可以進(jìn)行程序的編寫。編寫完程序后在左邊Project Workspace里的Source Group 1上右擊,選擇Add Files to Group Source Group 1。在打開的對話框中,選擇剛存的文件路徑和對應(yīng)的擴(kuò)展名。將程序添加至工程內(nèi)。如下圖4-6所示。圖4-6 添加工程界面在編譯完程序后,當(dāng)KEIL軟件下方提示:0 Error(s), 0 Warning(s).的時候就可以生成HEX文件了。 點(diǎn)擊目標(biāo)設(shè)置快捷圖標(biāo),在“Output”目標(biāo)欄中勾選“Create HEX File”后點(diǎn)擊“確定”。再點(diǎn)擊重新編譯,就會在工程所在文件夾里生成HEX文件。如下圖4-7所示。圖
28、4-7 生成HEX文件界面最后就可以將程序燒錄到單片機(jī)當(dāng)中了。4.2系統(tǒng)整體流程圖小車的程序主要由單片機(jī)最小系統(tǒng)控制程序,電機(jī)驅(qū)動模塊程序,光電傳感器模塊程序組成。通過Keil軟件來進(jìn)行C語言程序的編寫。其中單片機(jī)最小系統(tǒng)控制程序能夠分配以及調(diào)用各個模塊函數(shù),它主要負(fù)責(zé)各模塊間的總體協(xié)調(diào)。電機(jī)驅(qū)動模塊程序主要負(fù)責(zé)小車的運(yùn)行狀態(tài)的控制,它能根據(jù)傳感器返回的信息判定小車現(xiàn)在所處的位置,并做出相應(yīng)的響應(yīng)。光電傳感器模塊程序負(fù)責(zé)穩(wěn)定地判定各種信息,將信息返回,以便單片機(jī)最小系統(tǒng)控制程序或別的程序函數(shù)能夠調(diào)用處理。如下圖4-8所示。 圖4-8 系統(tǒng)整體流程圖4.3電機(jī)驅(qū)動模塊設(shè)計電機(jī)驅(qū)動模塊程序被稱為控
29、制函數(shù),它能賦予電機(jī)以思想,讓電機(jī)按照單片機(jī)輸出的不同的高低電平使電機(jī)能按照控制正確的方式進(jìn)行正傳反轉(zhuǎn)以及停止。如果輸入引腳INC為高電平而輸入引腳IND為低電平,左電機(jī)正轉(zhuǎn);如果輸入引腳INC為低電平而輸入引腳IND也為低電平,左電機(jī)便停止。同理,如果輸入引腳INA為高電平而輸入引腳INB為低電平,右電機(jī)正轉(zhuǎn);如果輸入引腳INA為低電平而輸入引腳INB也為低電平,又電機(jī)便停止。如下表4-1所示。表4-1 小車驅(qū)動模塊程序邏輯控制表左電機(jī)右電機(jī)左電機(jī)運(yùn)行狀態(tài)右電機(jī)運(yùn)行狀態(tài)小車運(yùn)行狀態(tài)INCINDINAINB1010正轉(zhuǎn)正轉(zhuǎn)前進(jìn)0010停止正轉(zhuǎn)左轉(zhuǎn)1000正轉(zhuǎn)停止右轉(zhuǎn)4.4光電傳感器模塊設(shè)計光電
30、傳感器模塊程序被稱為檢測循跡函數(shù),它的功能是將探測器檢測到不同光強(qiáng)時所產(chǎn)生的不同電流信號轉(zhuǎn)換為單片機(jī)能夠識別的高低電平,從而讓單片機(jī)能夠控制小車按照檢車到的路線進(jìn)行前進(jìn)。程序的設(shè)計是按照如果小車向前行駛時右邊探測到黑線,那么右邊的傳感器就會產(chǎn)生一個高電平,右傳感器亮,單片機(jī)識別到這個信號后,就會讓小車左電機(jī)正轉(zhuǎn)右電機(jī)停轉(zhuǎn),從而小車完成右轉(zhuǎn)。同理如果小車左邊探測到黑線,左邊傳感器產(chǎn)生一個高電平,左傳感器亮,單片機(jī)識別到這個信號后,就會讓小車右電機(jī)正轉(zhuǎn)左電機(jī)停轉(zhuǎn),這樣小車就能完成左轉(zhuǎn)。若兩個光電傳感器同時輸出的信號為高電平,或同時為低電平時,小車就會向前行駛。如下表4-2所示。表4-2 小車光電傳
31、感器模塊程序控制邏輯表左探測器右探測器左電機(jī)運(yùn)行狀態(tài)右電機(jī)運(yùn)行狀態(tài)小車運(yùn)行狀態(tài)11正轉(zhuǎn)正轉(zhuǎn)前進(jìn)00正轉(zhuǎn)正轉(zhuǎn)前進(jìn)10停止正轉(zhuǎn)左轉(zhuǎn)01正轉(zhuǎn)停止右轉(zhuǎn)第5章 系統(tǒng)的硬軟件調(diào)試第5章 系統(tǒng)的硬軟件調(diào)試5.1系統(tǒng)的硬件調(diào)試調(diào)試過程中首先要檢測的就是軟件電路的設(shè)計原理是否正確,能否達(dá)到預(yù)期效果以及實(shí)現(xiàn)方法是否簡單方便等等。其次就是我們在焊接好既有線路之后,認(rèn)真檢查電路的焊接情況,我們采用的是分塊調(diào)試的方法,單片機(jī)系統(tǒng)模塊調(diào)試、穩(wěn)壓模塊調(diào)試、電機(jī)驅(qū)動模塊調(diào)試、光電傳感器模塊調(diào)試。在對每個模塊進(jìn)行調(diào)試的過程中又采用了由局部到整體,由簡單到復(fù)雜的調(diào)試方法,最后將各個模塊糅合到一個整體。5.1.1單片機(jī)最小系統(tǒng)的調(diào)
32、試在對單片機(jī)最小系統(tǒng)進(jìn)行調(diào)試時,首先我們先對單片機(jī)最小系統(tǒng)進(jìn)行焊接。除了將AT89C52芯片進(jìn)行了焊接,我們也將相應(yīng)的晶振電路和復(fù)位電路進(jìn)行了焊接,其中18 、19腳我們接的晶振電路,9腳我們接的復(fù)位電路。我們所用到的元器件包括了電阻(100歐姆和8.2千歐姆各一個)、晶振(12MHZ)、瓷片電容(30pf兩個)、電解電容(10uf一個)。在進(jìn)行芯片的焊接時候我們都還可以,基本沒有犯錯誤,但是在晶振電路的焊接時,我們將管腳找錯了,管腳號碼沒有對應(yīng)上,還好我們的講師提前幫我們發(fā)現(xiàn)了,才減少了許多的后面的無用功。為了不出現(xiàn)虛焊的問題,我們將萬用表打到蜂鳴端,將管腳之間的焊接點(diǎn)一一進(jìn)行檢測,然后確認(rèn)
33、電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓5V。接下來就是檢查復(fù)位引腳電壓是否正常。分別測量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓值,看是否正確。然后再檢查晶振是否起振了我們采用的方法是測量復(fù)位狀態(tài)下的IO口電平,按住復(fù)位鍵不放,然后測量IO口的電壓,看是否是高電平,如果不是高電平,那么就是因?yàn)榫д駴]有起振,我們就要對晶振電路改進(jìn)。5.1.2電機(jī)驅(qū)動的調(diào)試我們按照原理圖把整個電機(jī)驅(qū)動部分的電路焊接好之后,我們將萬用表打到蜂鳴端,將管腳之間的焊接點(diǎn)一一進(jìn)行檢測在確定沒有出現(xiàn)虛焊問題后能使芯片處于正常工作狀態(tài),然后將L298N的IN1,IN2端口與單片機(jī)P0.0,P0.
34、1相連。OUT1.OUT2端口與第一個電機(jī)連接,然后我們給IN1加高電平,IN2加低電平電機(jī)能使實(shí)現(xiàn)正轉(zhuǎn)。同理我們給L298N的IN3,IN4端口與單片機(jī)P0.2,P0.3相連。OUT3.OUT3端口與另一個電機(jī)連接同樣能夠?qū)崿F(xiàn)正轉(zhuǎn)。并且當(dāng)我們給IN1低電平,IN2高電平時,電機(jī)能夠?qū)崿F(xiàn)反轉(zhuǎn)。所以說電機(jī)驅(qū)動部分的調(diào)試還算順利。5.1.3光電傳感器的調(diào)試對TCRT5000光電傳感器的調(diào)試,我們首先將其安裝在小車的前部,并且安裝之間的距離合適,這樣才能正確的避免因?yàn)榫嚯x過大而對我們的黑色膠帶檢測不到。當(dāng)我們布置好循跡軌道,給小車通電后,小車能夠正常的運(yùn)動。此時傳感器的紅外發(fā)射二極管不斷地發(fā)射紅外線
35、,當(dāng)紅外線沒有被反射回來時光敏三極管一直處于關(guān)閉狀態(tài),此時的模塊輸出為低電平,能夠看到指示二極管處于熄滅狀態(tài),當(dāng)被檢測的到軌跡時,光敏三極管處于飽和狀態(tài),此時模塊輸出為高電平,二極管點(diǎn)亮。我們在重復(fù)多次后小車都沒有出現(xiàn)故障,我們就可以認(rèn)為循跡模塊能夠正常的工作。小車也能按照我們的意愿實(shí)現(xiàn)循跡功能。5.2系統(tǒng)的軟件調(diào)試在軟件調(diào)試中,使用Keil軟件進(jìn)行軟件編譯與調(diào)試,使用STC及其配套的STC89C52單片機(jī)對程序進(jìn)行燒錄。軟件調(diào)試的流程可以充分借助Keil的調(diào)試工具、監(jiān)控窗口、指令運(yùn)行方式等來進(jìn)行調(diào)試。調(diào)試檢測循跡函數(shù)功能的時候,采用單步運(yùn)行方式,打開Keil中端監(jiān)控窗口中的P2口,并調(diào)節(jié)P2
36、.7=P2.6=0,光標(biāo)會跳到tingzhi()函數(shù)去執(zhí)行。如下圖5-1所示。圖5-1 調(diào)試檢測循跡程序窗口調(diào)試控制函數(shù)功能的時候,打開Keil中端監(jiān)控窗口中的P1口,并調(diào)節(jié)P1.3=P1.2=P1.1=P1.0=0,光標(biāo)會跳到ti()函數(shù)去執(zhí)行。如下圖5-2所示。圖5-2 調(diào)試電機(jī)驅(qū)動程序窗口第6章 系統(tǒng)測試結(jié)果與分析第6章 系統(tǒng)測試結(jié)果與分析6.1小車的實(shí)物系統(tǒng)測試結(jié)果首先用黑色膠布在地上標(biāo)出循跡小車所需的路徑軌道,軌道由直線、左轉(zhuǎn)、右轉(zhuǎn)、直角急轉(zhuǎn),大弧度掉頭組成。如下圖6-1所示。圖6-1 小車測試軌道將通電的循跡小車放在軌道上,使小車前端的兩個紅外探測器探頭置于黑線外兩端,此時兩個紅外
37、探測器探頭均未探測到黑線,輸出低電平。小車能夠平穩(wěn)的直線前進(jìn)。如下圖6-2所示。圖6-2 循跡小車直線前進(jìn)圖當(dāng)小車行駛至左轉(zhuǎn)彎或左大弧度掉頭時,小車的左探頭檢測到黑線,左探測頭的指示燈熄滅,輸出高電平,右電機(jī)正轉(zhuǎn),右探測頭未檢測到黑線,右探頭的指示燈亮,輸出低電平,左電機(jī)停轉(zhuǎn),小車成功完成左轉(zhuǎn)或左大弧度掉頭。當(dāng)小車行駛至右轉(zhuǎn)彎或右大弧度掉頭時,小車的右探頭檢測到黑線,右探測頭的指示燈熄滅,輸出高電平,左電機(jī)正轉(zhuǎn),左探測頭未檢測到黑線,左探頭的指示燈亮,輸出低電平,右電機(jī)停轉(zhuǎn),小車成功完成右轉(zhuǎn)或右大弧度掉頭。如下圖6-3所示。圖6-3 循跡小車右轉(zhuǎn)圖當(dāng)小車行駛至向左直角急轉(zhuǎn)處時,小車直接駛出黑色
38、膠帶軌道,并未完成向左直角轉(zhuǎn)彎。如下圖6-4和6-5所示。圖6-4 循跡小車直角急轉(zhuǎn)彎圖圖6-5 循跡小車未完成直角急轉(zhuǎn)彎圖6.2系統(tǒng)測試結(jié)果的分析經(jīng)過測試,智能循跡小車基本能夠完成大部分預(yù)設(shè)路徑的行駛功能,例如直行、左右轉(zhuǎn)彎、大弧度掉頭等功能都能很好的實(shí)現(xiàn),但是不能進(jìn)行直角急轉(zhuǎn)。在小車行駛至左直角轉(zhuǎn)彎路段時,我們發(fā)現(xiàn),雖然小車的左紅外探測頭探測到黑線,輸出了高電平,系統(tǒng)從而對小車發(fā)出了左轉(zhuǎn)命令,但小車依然直接沖出了跑道,沒有完成左直角轉(zhuǎn)彎命令。我們猜測這是因?yàn)樾≤囆旭偹俣冗^快,沒有進(jìn)行調(diào)速,致使小車不能在直角處減速過彎。我們準(zhǔn)備使用PWM調(diào)速對小車速度進(jìn)行控制,但是因?yàn)榧夹g(shù)原因,我們經(jīng)過幾次
39、嘗試后最終失敗。另外,小車的負(fù)重能力較弱,無法將蓄電池安置于小車上自由行駛,需靠人手持電池,跟隨小車進(jìn)行循跡,但考慮到使用干電池的用量以及干電池對環(huán)境的影響,我們并未對此進(jìn)行改進(jìn)。第7章 總結(jié)第7章 總結(jié)整個系統(tǒng)的設(shè)計以單片機(jī)為核心,利用了紅外光對管傳感器,將軟件和硬件相結(jié)合。本系統(tǒng)能實(shí)現(xiàn)如下功能:基本能沿預(yù)設(shè)路徑行駛,小車在行駛過程中,能夠自動檢測預(yù)先設(shè)好的路徑,實(shí)現(xiàn)直行、左右轉(zhuǎn)彎和大弧度掉頭的行駛。從運(yùn)行情況來看循跡的效果比較好。不足之處小車控制不穩(wěn)定,運(yùn)行時顯得有些搖擺,并且不能實(shí)現(xiàn)直角急轉(zhuǎn),經(jīng)過分析后我們認(rèn)為這是由于小車的行駛速度太快所致,雖說可以用PWM來控制車速,但短時間內(nèi)我還不能
40、很好的處理好這個問題。現(xiàn)階段小車雖然只能實(shí)現(xiàn)最簡單的循跡功能,但我相信時間的允許下我肯定能解決這些問題。通過本次設(shè)計我掌握了很多以前不熟練的東西,認(rèn)識了很多以前不熟悉得東西,我對單片機(jī)也有了更深刻的認(rèn)識。參考文獻(xiàn)參考文獻(xiàn)1羅志增,蔣靜坪編著.循跡小車感覺與多信息融合.北京:機(jī)械工業(yè)出版社,2003:1-10.2 蔡自興編著. 中國的智能循跡小車研究. 莆田學(xué)院學(xué)報, 2002,9 (3):36-39.3 吳林編著. 智能循跡小車主題型號工作的回顧. 循跡小車技術(shù)與應(yīng)用,2001:6-9.4 歐青立,何刻忠等編著.室外智能循跡小車的發(fā)展及其關(guān)鍵技術(shù)研究.循跡小車,2000,22(6):519-5
41、265趙振德編著.多功能遙控智能小車的制作. 電子制作.2009.16 恒盛杰資訊編著Protel電路板設(shè)計從入門到精通. 第1版. 中國青年出版社.2006:1-1487陳鐵軍著智能控制理論及應(yīng)用. 第1版. 清華大學(xué)出版社,2009:1-2968陳曉莉,張俊濤KEIL C51單片機(jī)仿真器的設(shè)計. 第二版. 陜西科技大學(xué)出版社,2006:19209 楊素行編著模擬電子技術(shù)基礎(chǔ)簡明教程第2版.高等教育出版社,2005:532-54710 余孟嘗編著數(shù)字電子技術(shù)基礎(chǔ)簡明教程. 第2版. 高等教育出版社. 1999:1-36111 李全利,遲榮強(qiáng)編著單片機(jī)原理及接口技術(shù).第1版.高等教育出版社,2
42、004:14-19112 王守中編著51單片機(jī)開發(fā)入門與典型實(shí)例.第1版. 人民郵電出版社,2007:103-108致謝致謝在論文完成之際,謹(jǐn)向指導(dǎo)老師致以最誠摯的感謝。在本文的研究工作之中指導(dǎo)老師從始至終都給予了我們熱心的指導(dǎo)和關(guān)心。從指導(dǎo)老師的身上,我不但學(xué)到了老師在課上傳授的專業(yè)知識,而且也學(xué)到了怎樣自學(xué),更學(xué)到了許多做人的道理。所謂“送人一魚,僅供一飯之需;而授之以漁,則終生受用無窮?!蓖瑫r我也感謝同組成員的通力合作,是他們認(rèn)真對待本次設(shè)計的認(rèn)真態(tài)度,讓我們能在分工合作下高效的完成本次設(shè)計中各個部分的工作。最后我也要感謝家人,是他們的支持和理解,讓我能夠安心完成畢業(yè)設(shè)計,他們是我最堅強(qiáng)
43、的后盾。謝謝各位老師和學(xué)者能在百忙之中抽出時間評閱我們的論文論文。由于知識水平有限,在設(shè)計中難免會犯一些錯誤,希望各位老師能夠給予批評和指正,讓我能學(xué)習(xí)到更多的經(jīng)驗(yàn)。謝謝大家!附錄附錄附錄一:整體電路圖33附錄二:實(shí)物圖附錄三:程序代碼#includereg51.h/*第一部分*/ /以下是電機(jī)驅(qū)動芯片L298N 管腳位聲明sbit ind=P10; /電機(jī)控制端 sbit inc=P11;sbit inb=P12;sbit ina=P13;sbit hong1=P27; /傳感器管腳位聲明sbit hong2=P26;void delay_s(int a)int i,j;for(i=0;ia
44、;i+)for(j=0;j110;j+);/*第二部分 電機(jī)控制子函數(shù)*/void qianjin() /小車前進(jìn),左電機(jī)右電機(jī)正轉(zhuǎn) ind=0;inc=1;inb=0;ina=1;void zuoguai() /小車左轉(zhuǎn),左電機(jī)停轉(zhuǎn),右電機(jī)正轉(zhuǎn)ind=0;inc=0;inb=0;ina=1;void youguai() /小車右轉(zhuǎn),左電機(jī)正轉(zhuǎn),右電機(jī)停轉(zhuǎn)ind=0;inc=1;inb=0;ina=0;/*第三部分 檢測循跡函數(shù)*/void main()while(1) if(hong1=0&hong2=0) /左探測器滅,右探測器滅qianjin(); if(hong1=1&hong2=1) /左探測器亮,右探測器亮qianjin();if(hong1=1&hong2=0) /左探測器亮,右探測器滅zuoguai();if(hong1=0&hong2=1) /左探測器滅,右探測器亮youguai();
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古某經(jīng)濟(jì)社會發(fā)展情況介紹ppt課件
- 《我家的大花園》ppt課件
- 高考語文-《語言表達(dá)得體》ppt課件
- 酷兒上市計劃
- 產(chǎn)品工藝性講座
- 帶電粒子在圓形磁場中的運(yùn)動課件
- 分?jǐn)?shù)乘法易錯題矯正練習(xí)精編版課件
- 一年級數(shù)學(xué)上冊第一單元玩具課件2北師大版
- 第4章磁路與變壓器ppt課件
- 秋天的懷念ppt課件
- 人教版三年級數(shù)學(xué)上冊第6單元測試卷課件
- 高中地理-人口遷移與人口流動(最新)課件
- 部編版小學(xué)二年級下冊語文五單元第13課:《畫楊桃》【第2課時】ppt課件
- 2020年人教版PEP五年級上冊英語Unit3-What-would-you-like-Part-B--Let’s-talkppt課件
- 氯霉素生產(chǎn)工藝原理課件