畢業(yè)論文智能循跡避障小車(chē)
精品文檔黃 岡 師 范 學(xué) 院本 科 生 畢 業(yè) 論 文 題 目: 基于51單片機(jī)的循跡避障小車(chē)的設(shè)計(jì) 專(zhuān)業(yè)班級(jí): 電子信息工程2012級(jí)02班 學(xué) 號(hào): 201222240208 學(xué)生姓名: 郭凱軍 指導(dǎo)教師: 丁汝春 論文完成日期: 2016 年 5 月 鄭 重 聲 明本人的畢業(yè)論文是在指導(dǎo)老師 丁汝春 的指導(dǎo)下獨(dú)立撰寫(xiě)并完成的。畢業(yè)論文沒(méi)有剽竊、抄襲、造假等違反學(xué)術(shù)道德、學(xué)術(shù)規(guī)范和侵權(quán)行為 ,如果有此現(xiàn)象發(fā)生 ,本人愿意承擔(dān)由此產(chǎn)生的各種后果 ,直至法律責(zé)任;并可通過(guò)網(wǎng)絡(luò)接受公眾的查詢(xún)。特此鄭重聲明。畢業(yè)論文作者(簽名): 郭凱軍 目 錄1 緒論21.1 課題研究的背景21.2 課題研究的主要內(nèi)容32 系統(tǒng)方案確定及主要元件的選擇32.1 系統(tǒng)方案確定32.2 主要元件的選擇43 系統(tǒng)硬件部分設(shè)計(jì)63.1 主控器AT89C5163.2 復(fù)位電路83.3 時(shí)鐘電路93.4 尋跡模塊93.5 避障模塊103.6 聲控模塊103.7 H橋電機(jī)驅(qū)動(dòng)103.8 電源模塊123.9系統(tǒng)的整體電路134 系統(tǒng)軟件部分設(shè)計(jì)134.1 系統(tǒng)使用的軟件簡(jiǎn)介134.2 軟件調(diào)試平臺(tái)144.3 系統(tǒng)程序流程設(shè)計(jì)164.4 系統(tǒng)仿真實(shí)現(xiàn)16結(jié)論19參考文獻(xiàn)19精品文檔自動(dòng)尋跡、避障智能小車(chē)設(shè)計(jì)學(xué)生:XX(指導(dǎo)教師:XX)(淮南師范學(xué)院電氣信息工程學(xué)院)摘 要:智能小車(chē)是移動(dòng)式機(jī)器人的重要組成部分 ,本設(shè)計(jì)通過(guò)實(shí)時(shí)檢測(cè)各個(gè)模塊傳感器的輸入信號(hào) ,利用紅外對(duì)管檢測(cè)黑線實(shí)現(xiàn)尋跡,通過(guò)光電傳感器實(shí)現(xiàn)避障 ,采用存儲(chǔ)空間較大的AT89C51作為主控制芯片 ,小車(chē)電機(jī)驅(qū)動(dòng)采用L298N芯片 ,根據(jù)內(nèi)置的程序分別控制小車(chē)左右兩個(gè)直流電機(jī)運(yùn)轉(zhuǎn) ,實(shí)現(xiàn)小車(chē)自動(dòng)識(shí)別路線 ,能較有效的控制其在碰上障礙物時(shí)能轉(zhuǎn)彎角度及尋跡行駛。且添加可聲控模塊 ,實(shí)現(xiàn)對(duì)小車(chē)的聲音控制。本設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單 ,較容易實(shí)現(xiàn) ,在一定程度上體現(xiàn)了智能化的科技。關(guān)鍵詞:智能小車(chē);AT89C51;光電傳感器;L298N Design of smart car for Automatic tracking,obstacle avoidanceStudent: XXX(Faculty Adviser:XXX)(College of electrical and Information Engineering, Huainan Normal University)Abstract:Intelligent vehicle is an important part of mobile robot, the design of each module through the input signal real-time detection sensor, the detection line to realize tracing by using infrared, photoelectric sensor to achieve obstacle avoidance, use large storage space AT89C51 as the main control chip, motor vehicle driver using L298N chip, respectively, to control the car about two DC motor with built-in procedures, to achieve automatic car identification route, can the hit obstacles can turn angle and tracing running effectively controlled. And add sound control module, the realization of the voice control car. The design has simple structure, easy realization, to a certain extent intelligent technology.Keywords: Smart car; AT89C51; Photoelectric sensor; L298N1 緒論1.1 課題研究的背景從工業(yè)革命開(kāi)始 ,人們就開(kāi)始了機(jī)器人的研究發(fā)展 ,近一個(gè)世紀(jì)機(jī)器人在機(jī)械領(lǐng)域 ,電力電子 ,冶金 ,交通 ,航空航天 ,國(guó)防事業(yè)等多方面得到了迅猛的發(fā)展。智能化機(jī)器人的不斷發(fā)展 ,使得人們的生活方式也得到了不斷的改善。人們?cè)诓粩嗵接憽⒏脑?、認(rèn)識(shí)自然的過(guò)程中 ,制造能替代人勞動(dòng)的機(jī)器一直是人類(lèi)的夢(mèng)想。目前 ,在不斷改進(jìn)生產(chǎn)技術(shù) ,不斷提高自動(dòng)化技術(shù)的環(huán)境下 ,智能車(chē)的發(fā)展得到了空前的發(fā)展 ,且已在眾多行業(yè)中得到廣泛應(yīng)用 ,智能車(chē)及相關(guān)產(chǎn)品的開(kāi)發(fā)已日漸成熟。而且 ,在世界經(jīng)濟(jì)多元化的環(huán)境下 ,很多國(guó)家都在積極開(kāi)展研究和開(kāi)發(fā)智能車(chē)。在二十世紀(jì)高新技術(shù)不斷發(fā)展的時(shí)代 ,移動(dòng)機(jī)器人是成為機(jī)器人技術(shù)的一個(gè)重要分支1。從1966年開(kāi)始 ,斯坦福研究院Nils Nilssen和charles Rosen等人經(jīng)過(guò)6年的研究 ,終于開(kāi)發(fā)出一種自主式的移動(dòng)機(jī)器人 ,且完成了機(jī)器人系統(tǒng)的自主推理、規(guī)劃和控制。自此時(shí)以來(lái) ,從無(wú)到有的移動(dòng)機(jī)器人產(chǎn)生了 ,伴隨著智能車(chē)數(shù)量的不斷增加 ,移動(dòng)機(jī)器人越來(lái)越受到人們的關(guān)注 ,且人類(lèi)的生活水平也得到了一個(gè)提升。一個(gè)擁有感知環(huán)境、規(guī)劃決策 ,自動(dòng)駕駛等功能的綜合系統(tǒng) ,構(gòu)成了今天的智能車(chē)。它集中地運(yùn)用了計(jì)算機(jī)、傳感、信息、通信、導(dǎo)航及白動(dòng)控制等技術(shù)2 ,是典型的高新技術(shù)綜合體。在原有車(chē)輛系統(tǒng)的基礎(chǔ)上 ,智能車(chē)添加了一些高新智能技術(shù)設(shè)備 ,如1)用于完成來(lái)自外部傳感器所獲取的道路信息的預(yù)處理、分析、識(shí)別等工作的計(jì)算機(jī)處理系統(tǒng);2)傳感器 ,用來(lái)獲得道路實(shí)時(shí)狀況信息的智能車(chē)眼睛;隨著微電子技術(shù)的不斷發(fā)展 ,單片機(jī)不但集成程度越來(lái)越高 ,已可以在一塊芯片上同時(shí)集成CPU、存儲(chǔ)器、定時(shí)器計(jì)數(shù)器、并行和串行接口、AD 轉(zhuǎn)換器、DA 轉(zhuǎn)換器等多種電路 ,而且體積越來(lái)越小 ,功耗越來(lái)越低 ,這就很容易將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合 ,組成智能化測(cè)量控制系統(tǒng)3。這種技術(shù)促使機(jī)器人技術(shù)也有了突飛猛進(jìn)的發(fā)展 ,目前的機(jī)器人技術(shù)發(fā)展異常迅速 ,已經(jīng)出現(xiàn)了各種各式的用于各種用途的機(jī)器人了 ,機(jī)器人的設(shè)計(jì)與制造已經(jīng)不是很高難度的事情了 ,已經(jīng)具有普及性了。通過(guò)構(gòu)建智能小車(chē)系統(tǒng) ,培養(yǎng)設(shè)計(jì)并實(shí)現(xiàn)自動(dòng)控制系統(tǒng)的能力。在實(shí)踐的過(guò)程中 ,熟悉以單片機(jī)為核心控制芯片 ,設(shè)計(jì)小車(chē)的檢測(cè)、驅(qū)動(dòng)和顯示等外圍電路 ,采用算法實(shí)現(xiàn)小車(chē)的智能控制。靈活的運(yùn)用所學(xué)的相關(guān)學(xué)科的理論知識(shí) ,結(jié)合實(shí)際電路設(shè)計(jì)的具體實(shí)現(xiàn)方法 ,達(dá)到理論和實(shí)際的統(tǒng)一。在此過(guò)程中 ,加深對(duì)理論知識(shí)的理解和認(rèn)識(shí)。且該設(shè)計(jì)具有實(shí)際意義 ,可以應(yīng)用于考古、機(jī)器人、娛樂(lè)等許多方面。尤其是在玩具機(jī)器人研究方面具有很好的發(fā)展前景4。所以本設(shè)計(jì)與實(shí)際相結(jié)合 ,現(xiàn)實(shí)意義很強(qiáng)境感知、規(guī)劃決策、自動(dòng)行駛等功能于一體的綜合系統(tǒng)它集中地運(yùn)用了計(jì)算機(jī)、傳感、信息、通訊、導(dǎo)航、人工智能及自動(dòng)控制等技術(shù) ,是典型的高新技術(shù)綜合體。1.2 課題研究的主要內(nèi)容其實(shí)智能車(chē) ,就是一個(gè)機(jī)器人 ,其可以分為三大結(jié)構(gòu):傳感器檢測(cè)、機(jī)械執(zhí)行、中央處理器。智能車(chē)通過(guò)感知導(dǎo)引線和障礙物 ,可以實(shí)現(xiàn)自動(dòng)循跡、避障等功能 ,且可以通過(guò)一套完整的控制策略 ,改善小車(chē)的行駛狀況 ,達(dá)到更加穩(wěn)定的狀態(tài)。要完成上述的功能設(shè)計(jì) ,傳感檢測(cè)部分可以采用能夠感知清晰的圖像的攝像頭 ,或者選用人們常用的紅外傳感器來(lái)感測(cè)路況。而智能小車(chē)的機(jī)械部分 ,可以采用四輪車(chē)(帶有舵機(jī))、或者三輪車(chē)(前輪為萬(wàn)向輪) ,電機(jī)則只需使用直流電機(jī)即可。對(duì)于主控芯片CPU ,我們選擇簡(jiǎn)單易用的51單片機(jī)或高級(jí)復(fù)雜額ARM等芯片 ,通過(guò)配合軟件編程 ,可以很好的實(shí)現(xiàn)自動(dòng)尋跡、避障的功能。2 系統(tǒng)方案確定及主要元件的選擇2.1 系統(tǒng)方案確定本次設(shè)計(jì)的智能小車(chē)實(shí)現(xiàn)的基本功能如下:v 實(shí)時(shí)檢測(cè)路徑 ,并按照指定路線行駛;v 實(shí)時(shí)檢測(cè)障礙物 ,并躲過(guò)繼續(xù)行駛;v 通過(guò)聲音傳感器 ,來(lái)對(duì)小車(chē)實(shí)現(xiàn)聲控;為此以AT89C51為主控芯片 ,主要包括避障模塊、電源模塊、聲控模塊、電機(jī)驅(qū)動(dòng)模塊等 ,系統(tǒng)框圖如圖2.3所示。通過(guò)尋跡及避障傳感器來(lái)采集周?chē)h(huán)境信息來(lái)反饋給CPU ,通過(guò)主控的處理 ,來(lái)控制電機(jī)的運(yùn)轉(zhuǎn) ,從而實(shí)現(xiàn)尋跡與避障 ,達(dá)到智能行駛。且本設(shè)計(jì)添加了聲控效果 ,通過(guò)聲音傳感器來(lái)對(duì)小車(chē)發(fā)出指令 ,讓其行駛與停止。為了能夠更好地完成本次設(shè)計(jì)任務(wù) ,我們采用三輪車(chē) ,其前輪驅(qū)動(dòng) ,前輪左右兩邊各用一個(gè)電機(jī)驅(qū)動(dòng) ,調(diào)制前面兩個(gè)輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的 ,后輪是萬(wàn)象輪 ,起支撐的作用 ,并通過(guò)軟件程序控制 ,與硬件架構(gòu)相結(jié)合 ,從而實(shí)線自動(dòng)尋跡、避障的功能。AT89C51單片機(jī)主控芯片聲控模塊機(jī)械設(shè)施傳感器采集電源模塊圖2.1 系統(tǒng)總體框2.2 主要元件的選擇2.2.1 主控器按照題目要求 ,控制器主要用于控制電機(jī) ,通過(guò)相關(guān)傳感器對(duì)路面的軌跡信息進(jìn)行處理 ,并將處理信號(hào)傳輸給控制器 ,然后控制器做出相應(yīng)的處理 ,實(shí)現(xiàn)電機(jī)的前進(jìn)和后退 ,保證在允許范圍內(nèi)實(shí)線尋跡避障。方案一:可以采用ARM為系統(tǒng)的控制器 ,優(yōu)點(diǎn)是該系統(tǒng)功能強(qiáng)大 ,片上外設(shè)集成度搞密度高 ,提高了穩(wěn)定性 ,系統(tǒng)的處理速度也很高 ,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。而小車(chē)的行進(jìn)速度不可能太高 ,那么對(duì)系統(tǒng)處理信息的要求也就不會(huì)太高。若采用該方案 ,必將在控制上遇到許許多多不必要增加的難題。方案二:使用51單片機(jī)作為整個(gè)智能車(chē)系統(tǒng)的核心。用其控制智能小車(chē) ,既可以實(shí)現(xiàn)預(yù)期的性能指標(biāo) ,又能很好的操作改善小車(chē)的運(yùn)行環(huán)境 ,且簡(jiǎn)單易上手。對(duì)于我們的控制系統(tǒng) ,核心主要在于如何實(shí)現(xiàn)小車(chē)的自動(dòng)控制 ,對(duì)于這點(diǎn) ,單片機(jī)就擁有很強(qiáng)的優(yōu)勢(shì)控制簡(jiǎn)單、方便、快捷 ,單片機(jī)足以應(yīng)對(duì)我們?cè)O(shè)計(jì)需求5。51單片機(jī)算術(shù)運(yùn)算功能強(qiáng) ,軟件編程靈活、自由度大 ,功耗低、體積小、技術(shù)成熟 ,且價(jià)格低廉。綜合考慮 ,本設(shè)計(jì)選擇選用AT89C51單片機(jī)做控制器。2.2.2 供電單元方案一:采用單電源供電 ,通過(guò)單電源同時(shí)對(duì)單片機(jī)和直流電機(jī)進(jìn)行供電 ,此方案的優(yōu)點(diǎn)是 ,減少機(jī)身的重量 ,操作簡(jiǎn)單 ,其缺點(diǎn)是 ,這樣會(huì)使單片機(jī)的波動(dòng)變大 ,影響單片機(jī)的性能 ,穩(wěn)定性比較弱。方案二:采用雙電源供電 ,通過(guò)兩個(gè)獨(dú)立的電源分別對(duì)單片機(jī)和直流電機(jī)進(jìn)行供電 ,此方案的優(yōu)點(diǎn)是 ,減少波動(dòng) ,穩(wěn)定性比較好 ,可以讓小車(chē)更好的運(yùn)作起。2.2.3 驅(qū)動(dòng)電機(jī)選擇方案一:采用直流電機(jī) ,優(yōu)點(diǎn)在于硬件電路設(shè)計(jì)簡(jiǎn)單。當(dāng)外加額定直流電壓時(shí) ,轉(zhuǎn)速幾乎相等 ,調(diào)速性能較好 ,且性?xún)r(jià)比高。對(duì)于小車(chē)的行駛 ,能夠很好的控制。方案二:采用步進(jìn)電機(jī) ,步進(jìn)電機(jī)可以實(shí)現(xiàn)精確的轉(zhuǎn)角輸出 ,只要施加合適的脈沖序列 ,電機(jī)可以按照人們的預(yù)定的速度或方向進(jìn)行連續(xù)的轉(zhuǎn)動(dòng) ,便于控速 ,但是軟件程序的編寫(xiě)較直流電機(jī)稍顯復(fù)雜。表2.1 電機(jī)性能對(duì)比對(duì)比項(xiàng)直流電機(jī)步進(jìn)電機(jī)調(diào)速性能較好較差位置控制精度較差好控制難易程度簡(jiǎn)單較難價(jià)格低中綜合考慮 ,本智能車(chē)設(shè)計(jì)決定采用直流電機(jī)作為智能車(chē)的動(dòng)力電機(jī)。2.2.4 電機(jī)驅(qū)動(dòng)器方案一:如果電機(jī)的開(kāi)啟和關(guān)閉控制通過(guò)繼電器的來(lái)控制的話 ,該方案的優(yōu)點(diǎn)是電路較簡(jiǎn)單的6 ,但響應(yīng)速度很慢 ,且易損壞 ,使用壽命短 ,可靠性不是很高。方案二:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動(dòng)機(jī)的分壓 ,從而達(dá)到分壓的目的。但數(shù)字電阻元件比較昂貴 ,且電阻網(wǎng)絡(luò)實(shí)現(xiàn)的調(diào)速很有限。更主要的問(wèn)題在于一般的電動(dòng)機(jī)電阻很小 ,但電流很大 ,分壓不僅回降低效率 ,而且實(shí)現(xiàn)很困難。方案三:采用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動(dòng)的電路結(jié)構(gòu)和原理簡(jiǎn)單 ,加速能力強(qiáng) ,采用由達(dá)林頓管組成的H型橋式電路(如圖2.2)。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài)下 ,精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速 ,這是一種普遍使用的PWM技術(shù)。該電路由于在飽和截止模式下工作 ,效率很高 ,H橋電路保證速度和方向的簡(jiǎn)單控制。圖2.2 H型橋式電路H橋電路的調(diào)速特性好 ,且調(diào)速范圍寬 ,過(guò)載能力強(qiáng) ,且能承受頻繁的負(fù)載沖擊 ,還可以實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。2.2.5 傳感器本設(shè)計(jì)外圍傳感部分采集包括三大部分:尋跡部分 ,聲音部分 ,避障部分。尋跡采用紅外對(duì)管ST188 ,其采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體組成 ,采用非接觸式檢測(cè)方式 ,且檢測(cè)距離可調(diào)范圍較大。避障采用集成模塊E18-D50NK ,聲音傳感器則采用由電壓比較器LM393及駐極體話筒構(gòu)成的聲音傳感器模塊。3 系統(tǒng)硬件部分設(shè)計(jì)3.1 主控器AT89C51AT89C51單片機(jī)擁有4K bite ROM(Read Only Memory) ,且具有低電壓、高性能8位微處理器的工作特性7。單片機(jī)中的EEPROM存儲(chǔ)器可以循環(huán)擦寫(xiě)100次。該裝置選用了Atmel的高密度非易失性存儲(chǔ)器制造技術(shù)制造 ,兼容現(xiàn)代MCS-51工業(yè)標(biāo)準(zhǔn)的指令集和輸出管腳。TMEL公司的89C51是一種高效的微控制器 ,因其將8位CPU和FLASH存儲(chǔ)器組合在一個(gè)芯片中 ,故其簡(jiǎn)單、方便、易使用。89C2051單片機(jī)是它的一種精簡(jiǎn)版。89C單片機(jī)制造成本低 ,且靈活度高 ,故被廣泛應(yīng)用于嵌入式控制系統(tǒng)中。 引用網(wǎng)絡(luò)圖片圖3.1 AT89C51單片機(jī)AT89C51實(shí)物圖和引腳圖如圖3.1 ,其主要特性如下表3.1:表3.1 AT89C51特性AT89C51主要特性1兼容MCS-51的指令集和輸出管腳2擁有4Kbite可編程可擦除只讀存儲(chǔ)器3可循環(huán)擦除/寫(xiě)入1000次410年的數(shù)據(jù)保留時(shí)間5全靜態(tài)工作頻率0Hz-24MHz6三級(jí)程序存儲(chǔ)器鎖定71288位內(nèi)部RAM832可編程I/O線9兩個(gè)16位定時(shí)器/計(jì)數(shù)器105個(gè)中斷源 11可編程串行通道12閑置和掉電模式-低功耗13擁有片內(nèi)振蕩器和時(shí)鐘電路由于AT89C51單片機(jī)要能正常工作必須要有時(shí)鐘和復(fù)位電路等構(gòu)成單片的最小運(yùn)行環(huán)境 ,為此本系統(tǒng)的最小控制電路如圖3.2所示:圖3.2 單片機(jī)最小系統(tǒng)3.2 復(fù)位電路在單片機(jī)系統(tǒng)中 ,復(fù)位電路是非常關(guān)鍵的 ,當(dāng)程序跑飛(運(yùn)行不正常)或死機(jī)(停止運(yùn)行)時(shí) ,就需要進(jìn)行復(fù)位。MCS-5l 系列單片機(jī)的復(fù)位引腳RST( 第9 管腳) 出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí) ,單片機(jī)就執(zhí)行復(fù)位操作。如果RST一直保持高電平 ,那么單片機(jī)就無(wú)限循環(huán)復(fù)位8。復(fù)位模式基本包括上電自動(dòng)復(fù)位和開(kāi)關(guān)復(fù)位。這兩種復(fù)位方式如圖3.3所示,在上電瞬間 ,電容兩端電壓不能突變 ,且電容負(fù)極和reset相連 ,此時(shí)電壓全部加在電阻上 ,rest引腳電壓為高電平 ,芯片復(fù)位。隨后 ,5V電源開(kāi)始給電容充電 ,電阻上的電壓逐漸降低至接近0V ,芯片正常工作。 圖3.3 復(fù)位電路 圖3.4 晶振系統(tǒng)在并聯(lián)電容器兩端的復(fù)位按鈕 ,在復(fù)位按鈕不壓在電路上電復(fù)位芯片 ,在正常工作時(shí) ,按下按鈕 ,RST引腳的高水平 ,手動(dòng)復(fù)位的效果。復(fù)位按鈕并聯(lián)在電容的兩端 ,當(dāng)復(fù)位按鈕未被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位 ,在單片機(jī)正常工作后 ,通過(guò)復(fù)位按鈕使RST引腳出現(xiàn)高電平 ,達(dá)到復(fù)位的效果。通常 ,在RST引腳上輸入10ms以上的高電平 ,就可以使單片機(jī)復(fù)位9。圖中所示的復(fù)位電阻和電容只是常用值 ,實(shí)際可以根據(jù)需要采用同一數(shù)量級(jí)的電阻和電容代替。3.3 時(shí)鐘電路時(shí)鐘電路是用來(lái)產(chǎn)生AT89C51單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào) ,AT89C51本身就是一個(gè)復(fù)雜的同步時(shí)序電路 ,為保證工作方式的實(shí)現(xiàn) ,AT89C51在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作 ,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘由于兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘10。我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來(lái)為系統(tǒng)提供時(shí)鐘信號(hào) ,如圖3.4所示。AT89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器 ,該放大器的輸入輸出引腳為XTAL1和XTAL2它們跨接在晶體振蕩器和用于微調(diào)的電容 ,便構(gòu)成了一個(gè)自激勵(lì)振蕩器。電路中的C1、C2的選擇在30PF左右 ,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ12MHZ之間 ,頻率越高單片機(jī)的速度就越快 ,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容 ,采用的晶振頻率為12MHZ。3.4 尋跡模塊小車(chē)循跡 ,我們通常采用紅外檢測(cè)的方法 ,紅外檢測(cè)法是通過(guò)黑線和白色對(duì)紅外線的吸收效果不同 ,當(dāng)紅外光線射到白色底板時(shí) ,會(huì)發(fā)生漫反射反射到智能車(chē)的接受管上 ,而射到黑線則會(huì)被吸收不會(huì)產(chǎn)生發(fā)射 ,智能車(chē)紅外接收管就接收不到。故 ,整個(gè)智能車(chē)通過(guò)紅外接收管是否接收到紅外線來(lái)判斷黑線和白線的11 ,從而實(shí)現(xiàn)循跡。但需要主要的是 ,紅外傳感器的檢測(cè)距離有限 ,一般在3cm之內(nèi)。紅外光電傳感器由1個(gè)紅外發(fā)射管(發(fā)射器)和1個(gè)光電二極管(接收器)所構(gòu)成。本次設(shè)計(jì) ,紅外光電傳感器我們采用是的ST188 ,其是由發(fā)射功率紅外光電二極管和高靈敏度光電晶體管構(gòu)成 ,它使用的非接觸式檢測(cè)方式 ,且檢測(cè)距離范圍較大 ,一般為413mm。尋跡傳感器紅外光電對(duì)管ST188實(shí)物及內(nèi)部結(jié)構(gòu)圖如下圖所示:圖3.5 ST188結(jié)構(gòu)與實(shí)物圖3.5 避障模塊本設(shè)計(jì)避障模塊選用的是集成模塊E18-D50NK ,該傳感器是一中紅外光電管。這是一種集發(fā)射與接收于一體的光電式傳感器 ,其檢測(cè)距離可以根據(jù)我們的需要進(jìn)行調(diào)節(jié)。此傳感器探測(cè)距離遠(yuǎn) ,抗干擾性強(qiáng) ,且價(jià)格低廉 ,容易使用 ,已在機(jī)器人行業(yè)中得到廣泛應(yīng)用 ,是我們避障功能設(shè)計(jì)的最佳選擇。該傳感器實(shí)物圖如圖3.6: 圖3.6 E18-D50NK傳感器 圖3.7 聲音傳感器該傳感器原理:前方無(wú)障礙輸出高電平(1) ,有障礙輸出口(黃色)電平會(huì)從高電平變成低電平(0) ,工作原理已經(jīng)標(biāo)在圖上了。背面圖有一個(gè)電位器可以調(diào)節(jié)障礙的檢測(cè)距離。3.6 聲控模塊通過(guò)聲音傳感器(如圖3.7)檢測(cè)當(dāng)前是否有語(yǔ)音命令 ,來(lái)控制小車(chē)的行駛與停止 ,從而達(dá)到聲控的效果。聲音傳感器的閾值 ,我們可以通過(guò)人工設(shè)置 ,來(lái)調(diào)節(jié)閾值的大小 ,從而降低外界的干擾 ,保證系統(tǒng)的正常檢測(cè)。3.7 H橋電機(jī)驅(qū)動(dòng)圖3.8中所示為一個(gè)典型的直流電機(jī)控制電路。因其形狀酷似H字母 ,故人們稱(chēng)其為“H橋驅(qū)動(dòng)電路”。H橋驅(qū)動(dòng)電路 ,由4個(gè)三極管和一個(gè)電機(jī)構(gòu)成12。只有導(dǎo)通對(duì)角線上成對(duì)的三極管 ,才能使電機(jī)正常運(yùn)轉(zhuǎn)。圖3.8 H橋驅(qū)動(dòng)電路根據(jù)不同三極管對(duì)的導(dǎo)通情況 ,電流的流向也不同 ,可能從左至右 ,也可能從右至左 ,由于流過(guò)電機(jī)的電流方向的不同 ,故電機(jī)的轉(zhuǎn)向也會(huì)不同。如圖3.9所示 ,當(dāng)Q1管和Q4管這對(duì)三極管導(dǎo)通時(shí) ,電流則會(huì)由電源正極經(jīng)Q1從左向右流過(guò)電機(jī) ,最好經(jīng)Q4回到電源負(fù)極。如圖中電流指向所示 ,此流向的電流則會(huì)驅(qū)動(dòng)電機(jī)沿順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)。若Q2和Q3這條對(duì)角線上的三極管導(dǎo)通時(shí)13 ,電流從右向左流過(guò)電機(jī) ,此時(shí)則會(huì)驅(qū)動(dòng)電機(jī)沿另一方向轉(zhuǎn)動(dòng)。圖3.9 橋電路驅(qū)動(dòng)電機(jī)順時(shí)針轉(zhuǎn)動(dòng) 圖3.10 H橋驅(qū)動(dòng)電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)而L298N內(nèi)部集成了H橋式驅(qū)動(dòng)電路 ,從而我們采用L298N電路來(lái)驅(qū)動(dòng)電機(jī)。通過(guò)單片機(jī)給予L298N電路PWM信號(hào)來(lái)控制小車(chē)的速度 ,起停 ,保證小車(chē)的循跡、避障等功能 ,為整個(gè)小車(chē)的運(yùn)行墊底基礎(chǔ)。其引腳圖如3.11驅(qū)動(dòng)原理圖如圖3.12。圖3.11 L298N引腳圖圖3.12 電機(jī)驅(qū)動(dòng)電路3.8 電源模塊本設(shè)計(jì)需要雙5V電源為整個(gè)系統(tǒng)供電 ,電源模塊以芯片LM7805為核心設(shè)計(jì)成輸出+5V直流電壓的穩(wěn)壓電源電路。該電源模塊是有電源變壓器變壓器、整流、濾波和穩(wěn)壓電路等四部分組成。電源變壓器將交流220V變?yōu)?V左右交流電壓 ,然后通過(guò)整流橋?qū)⒔涣麟娮優(yōu)槊}動(dòng)的直流電壓。由于此脈動(dòng)直流電壓還包含較大的紋波 ,必須通過(guò)濾波電路加以濾波 ,C13、C14分別為輸入端和輸出端濾波電容 ,并利用三端穩(wěn)壓集成芯片LM7805進(jìn)行穩(wěn)壓14 ,當(dāng)輸出電較大時(shí) ,7805應(yīng)配上散熱板。具體電路如下圖所示:圖3.13 7805穩(wěn)壓電源3.9系統(tǒng)的整體電路通過(guò)以上各個(gè)單元模塊電路設(shè)計(jì) ,綜合起來(lái)得到本次設(shè)計(jì)的系統(tǒng)整體電路圖如下圖所示。圖3.14 整體電路圖4 系統(tǒng)軟件部分設(shè)計(jì)4.1 系統(tǒng)使用的軟件簡(jiǎn)介Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)15。它具有強(qiáng)大的EDA工具軟件的仿真功能 ,且還具有仿真單片機(jī)及其他外圍器件的功能。目前 ,最好的仿真單片機(jī)及外圍器件的工具就屬Proteus。在近幾年 ,Proteus軟件在國(guó)內(nèi)得到廣泛推廣 ,受到來(lái)自各界人士的青睞。Proteus具有以下優(yōu)勢(shì):v 豐富的器件庫(kù):27000種以上的元器件 ,可以很容易地創(chuàng)建新元件;v 搜索器件智能化:通過(guò)模糊搜索 ,即可快速找到我們所需的器件;v 智能化的連線功能:自動(dòng)連線功能使連接導(dǎo)線簡(jiǎn)單、快速 ,大大節(jié)約繪圖時(shí)間;v 支持總線結(jié)構(gòu):使用總線器件、總線布線使電路設(shè)計(jì)簡(jiǎn)明明了;v 輸出高質(zhì)量的圖紙:通過(guò)個(gè)性化設(shè)置 ,生成印刷質(zhì)量的BMP圖 ,可以很容易地提供給Word ,PowerPoint和其他文件所使用。v 完善的電路仿真功能、單片機(jī)協(xié)同仿真功能、實(shí)用的PCB設(shè)計(jì)平臺(tái);它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)16。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能 ,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。4.2 軟件調(diào)試平臺(tái)Keil for C51是美國(guó)Keil Software公司出品的C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)17。在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上 ,相比與匯編 ,C語(yǔ)言都具有明顯的優(yōu)勢(shì) ,故易學(xué)易用 ,在國(guó)內(nèi)外得到廣泛使用。Keil提供了一個(gè)完整的開(kāi)發(fā)環(huán)境 ,其中包括C編譯器、宏匯編器、鏈接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器 ,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。如果你用C語(yǔ)言編程 ,那么Keil將是你最好的選擇 ,即使不用C語(yǔ)言而選用匯編語(yǔ)言編程編程 ,其易于使用的軟件仿真環(huán)境以及強(qiáng)大的綜合調(diào)試工具也會(huì)使你事半功倍。C51開(kāi)發(fā)中除必要的硬件外 ,同樣離不開(kāi)軟件。一般 ,我們通過(guò)機(jī)器匯編 ,把我們寫(xiě)的源程序變?yōu)镃51可以執(zhí)行的機(jī)器碼。此外還有一種較為繁瑣的方法 ,那就是手工匯編。伴隨著C51開(kāi)發(fā)技術(shù)的不斷提升 ,現(xiàn)在已不再使用匯編語(yǔ)言來(lái)開(kāi)發(fā) ,而是開(kāi)始使用高級(jí)語(yǔ)言來(lái)開(kāi)發(fā)。目前 ,針對(duì)最流行C51開(kāi)發(fā)項(xiàng)目 ,研發(fā)出了Keil for 51軟件平臺(tái)和支持在線調(diào)試的串口燒寫(xiě)。Keil編譯步驟如下:1)在Keil系統(tǒng)中 ,每做個(gè)獨(dú)立的程序 ,都視為工程(或者叫項(xiàng)目)。首先從菜但的“工程”中“新建工程.” ,建立我們將要做的工程項(xiàng)目。2)Keil環(huán)境要求我們?yōu)?Test 工程選擇一個(gè)單片機(jī)型號(hào);我們選擇 Atmel 公司的89C51?!按_定”后工程項(xiàng)目就算建立了。如圖4.1所示:圖4.1 Keil MCU選型3)立了工程項(xiàng)目 ,肯定要實(shí)施這個(gè)工程 ,現(xiàn)在就為工程添加程序。點(diǎn)擊“文件”中的“新建” ,新建一個(gè)空白文檔;這個(gè)空白文檔就是讓我們編寫(xiě)單片機(jī)程序的場(chǎng)所。在這里你可以進(jìn)行編輯、修改等操作。4)根據(jù)題意 ,在文檔中寫(xiě)入下列代碼;最后編譯調(diào)試 ,生產(chǎn)HEX文件,如圖4.3。5)通過(guò)51單片機(jī)的下載軟件下載生成的HEX文件 ,就可以運(yùn)行了。圖4.2 HEX文件的生產(chǎn)4.3 系統(tǒng)程序流程設(shè)計(jì)本智能小車(chē)通過(guò)實(shí)時(shí)檢測(cè)各個(gè)模塊傳感器的輸入信號(hào) ,利用紅外對(duì)管檢測(cè)黑線實(shí)現(xiàn)尋跡,通過(guò)光電傳感器實(shí)現(xiàn)避障 ,把所有采集到的信息送到主處理器 ,讓小車(chē)做出正確的行駛路線。小車(chē)的啟動(dòng)與停止 ,均采用了聲控模塊 ,實(shí)現(xiàn)對(duì)小車(chē)的聲音控制 ,其程序流程圖如圖4.4所示。繼續(xù)檢測(cè)等待啟動(dòng)命令繼續(xù)檢測(cè)否否是是否初始化聲音傳感器是否有聲音開(kāi)始尋跡是否偏離是否有障礙物修正路線躲避障礙物繼續(xù)行駛直到收到停止命令圖4.4 系統(tǒng)程序流程圖4.4 系統(tǒng)仿真實(shí)現(xiàn)整個(gè)智能車(chē)的供電系統(tǒng) ,全部由穩(wěn)壓芯片LM7805構(gòu)成的5V穩(wěn)壓電路提供 ,其中包含主控電源以及各類(lèi)傳感器的供電。圖5.5為電源仿真結(jié)果。通過(guò)仿真我們測(cè)的仿真電路的電壓輸出為3.8V ,這是由于壓差太小 ,起不到穩(wěn)壓作用 ,LM7805是輸出5V的 ,壓差至少3V以上 ,也就是說(shuō)輸入至少要在8V以上。我們仿真給的輸出電壓為5V ,故輸出為3.8V。在實(shí)際應(yīng)用時(shí) ,我們需要注意輸出電壓要保證在8V以上就可以了。圖4.5 7805電源仿真結(jié)果本次設(shè)計(jì)的智能小車(chē)是通過(guò)聲音檢測(cè) ,來(lái)命令小車(chē)開(kāi)始運(yùn)轉(zhuǎn)的。只要外界發(fā)出一個(gè)達(dá)到設(shè)定閾值的聲音 ,小車(chē)即會(huì)運(yùn)行 ,開(kāi)始循跡避障。圖4.6為聲控仿真,圖4.6 聲控觸發(fā)我們選用的智能車(chē)模型為三輪車(chē) ,其前邊有一個(gè)萬(wàn)向輪 ,左右各一個(gè)驅(qū)動(dòng)輪。故轉(zhuǎn)向時(shí) ,只需改變左右輪的運(yùn)轉(zhuǎn)方向即可。下圖4.7和4.8是循跡仿真過(guò)程 ,當(dāng)兩邊循跡傳感器中的一個(gè)檢測(cè)到黑線時(shí) ,即會(huì)產(chǎn)生一個(gè)觸發(fā)信號(hào) ,使得P20/P21變?yōu)镻LO(電源低邏輯) ,即電平變低 ,此時(shí)CPU檢測(cè)到電平的變化 ,給出相應(yīng)的處理結(jié)果 ,最后控制電機(jī)驅(qū)動(dòng)改變智能車(chē)的運(yùn)轉(zhuǎn)方向。圖4.7 循跡左轉(zhuǎn)圖4.8 循跡右轉(zhuǎn)本次智能小車(chē)避障我們選用了左右各擺一個(gè)避障傳感器 ,成外八形狀 ,這樣即可實(shí)現(xiàn)避障功能 ,又不采用過(guò)多傳感器浪費(fèi)資源。下圖4.9和4.10是避障仿真過(guò)程 ,當(dāng)兩邊避障傳感器中的一個(gè)檢測(cè)到前方有障礙物時(shí) ,即會(huì)產(chǎn)生一個(gè)觸發(fā)信號(hào) ,使得P25/P26變?yōu)镻LO(電源低邏輯) ,即電平變低 ,此時(shí)CPU檢測(cè)到電平的變化 ,給出相應(yīng)的處理結(jié)果 ,最后控制電機(jī)驅(qū)動(dòng)改變智能車(chē)的運(yùn)轉(zhuǎn)方向 ,實(shí)現(xiàn)躲避障礙物的功能。圖4.9 避障左轉(zhuǎn)圖4.10 避障右轉(zhuǎn)結(jié)論整個(gè)系統(tǒng)的設(shè)計(jì)以51單片機(jī)為核心 ,利用了多種傳感器 ,將軟件和硬件相結(jié)合。本系統(tǒng)已實(shí)現(xiàn)了如下功能:1、自動(dòng)沿預(yù)設(shè)軌道行駛小車(chē)在行駛過(guò)程中 ,能夠自動(dòng)檢測(cè)預(yù)先設(shè)好的軌道 ,實(shí)現(xiàn)直道和弧形軌道的前進(jìn)。若有偏離 ,能夠自動(dòng)糾正 ,返回到預(yù)設(shè)軌道上來(lái)。2、當(dāng)小車(chē)探測(cè)到前進(jìn)前方的障礙物時(shí) ,可以自動(dòng)報(bào)警調(diào)整 ,躲避障礙物 ,從無(wú)障礙區(qū)通過(guò)。小車(chē)通過(guò)障礙區(qū)后 ,能夠自動(dòng)循跡。3、自動(dòng)檢測(cè)停車(chē)線并自動(dòng)停車(chē)。從運(yùn)行情況來(lái)看循跡的效果比較好 ,避障的效果也很好 ,但本設(shè)計(jì)還有巨大的發(fā)揮空間 ,可以達(dá)到更好的智能化效果。我相信如果實(shí)驗(yàn)條件和時(shí)間的允許下肯定能進(jìn)一步的對(duì)本設(shè)計(jì)進(jìn)行完善。參考文獻(xiàn)1 王晶,翁顯耀,梁業(yè)宗等.自動(dòng)尋跡小車(chē)的傳感器模塊設(shè)計(jì)J.現(xiàn)代電子技術(shù) ,2008.2 孫穎.基于路徑規(guī)劃的智能小車(chē)控制系統(tǒng)研究D.青島大學(xué),2007.3 趙亮.跟我學(xué)51單片機(jī)(一)單片機(jī)最小系統(tǒng)組成與I/O輸出控制J.電子制作 ,2011. 4 密加永.基于智能汽車(chē)的控制算法的研究與應(yīng)用D.曲阜師范大學(xué),2008. 5 芮晴波.基于FPGA的智能小車(chē)系統(tǒng)D.江蘇大學(xué),2007.6 韓俊淑,韓佳文,高翔等.智能車(chē)輛的研究及發(fā)展J.世界汽車(chē),2003,(9):79-80. 7 段穎康 ,基于光電傳感器自動(dòng)尋跡智能小車(chē)位置信息采集模塊設(shè)計(jì)論文J. 新特器件應(yīng)用 ,2004.12.8 孔令淑 ,劉濤.基于MC9S12XS128單片機(jī)的智能循跡小車(chē)的硬件設(shè)計(jì)論文J.技術(shù)研發(fā) ,2005.7.9 安巖.自動(dòng)循跡智能小車(chē)的設(shè)計(jì)論文J. 蘇州科技學(xué)院學(xué)報(bào) ,2004.1.10 馬忠梅 ,李月香.單片機(jī)內(nèi)部資源的C語(yǔ)言編程J.微計(jì)算應(yīng)用 ,1997 ,(03).11 郭亮 ,譚立偉.基于單片機(jī)的新型智能小車(chē)研制設(shè)計(jì)論文J.成都:西南交通大學(xué) ,2003.9.12 董濤, 劉進(jìn)英, 蔣蘇.基于單片機(jī)的智能小車(chē)的設(shè)計(jì)與制作J.計(jì)算機(jī)測(cè)量與控制 ,2009 ,(2)380頁(yè)382頁(yè).13 楊兵,劉偉杰.一種基于可視圖的機(jī)器人避障路徑規(guī)劃J.電腦知識(shí)與技術(shù) ,2009 ,(2)14 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)M.北京:清華大學(xué)出版社 ,2005 ,7.15 李珩.Altium Designer 6 電路設(shè)計(jì)實(shí)例與技巧M.北京:國(guó)防工業(yè)出版社 ,200816 康華光.電子技術(shù)基礎(chǔ)M ,北京:高等教育出版社 ,1983.10.17 沙占友.單片機(jī)外圍電路設(shè)計(jì)M.北京:電子工業(yè)出版社 ,2003精品文檔附錄1名稱(chēng)數(shù)量紅外循跡傳感器1紅外避障傳感器1聲音傳感器1有源蜂鳴器1雙12V變壓器1穩(wěn)壓芯片7805/78125繼電器1直流電機(jī)1LM298電機(jī)驅(qū)動(dòng)189C51單片機(jī)1三輪車(chē)模型1按鍵若干電阻若干電容若干杜邦線若干部分器件清單附錄2#include<reg52.h>#define uchar unsigned char #define uint unsigned intuchar temp,signal,tt1,t0,t1,t2,t3,t4,t5,t6,QD;sbit sk_qd=P20;void delay_1ms(uint d)uint i;while(d-)for(i=0;i<75;i+);void motor_run() /電機(jī)起動(dòng) P3=0xf9; /1001delay_1ms(1000);void motor_left() /左進(jìn)P3=0xfa; /1010delay_1ms(1000);void motor_right() /右進(jìn)P3=0xf5; /0101delay_1ms(1000);void motor_big_right() /粗右進(jìn)P1=0x55;delay_1ms(200);P1=0x00;delay_1ms(20);void motor_big_left()P1=0x33;delay_1ms(200);P1=0x00;delay_1ms(20);void motor_stop()/電機(jī)停止 P3=0x00; delay_1ms(20);void motor_back()P3=0xf6;delay_1ms(1000); void main()P3=0xff;P2=0xff;if(!sk_qd) /聲控信號(hào) 啟動(dòng)信號(hào) motor_run();/啟動(dòng)motor_back(); motor_stop(); while(1) temp=P2;signal=temp&0xfe;/檢測(cè)紅外信號(hào) 實(shí)現(xiàn)循跡避障switch(signal)case 0xfe: / 未偏離軌道 無(wú)障礙物motor_run(); break;case 0xfc: / 偏離軌道(右循跡傳感器檢測(cè)到黑線) 無(wú)障礙物 左轉(zhuǎn)motor_left();break; case 0xfa: / 偏離軌道(左循跡傳感器檢測(cè)到黑線) 無(wú)障礙物 右轉(zhuǎn)motor_right();break;case 0xee: / 未偏離軌道 有障礙物(右傳感器檢測(cè)到檢測(cè)到障礙物) 左轉(zhuǎn)motor_left();break;case 0xde: /未偏離軌道 有障礙物(左傳感器檢測(cè)到檢測(cè)到障礙物) 右轉(zhuǎn)motor_right();break; 致謝在畢業(yè)設(shè)計(jì)中 ,我學(xué)會(huì)了對(duì)本專(zhuān)業(yè)所學(xué)的一些理論知識(shí)的應(yīng)用 ,學(xué)會(huì)了在應(yīng)用中發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的方法 ,加深了對(duì)專(zhuān)業(yè)知識(shí)的撐握和理解 ,所取得的這些進(jìn)步都與老師們的仔細(xì)、耐心指導(dǎo)分不開(kāi)。他們的嚴(yán)謹(jǐn)、細(xì)心、勤奮的工作態(tài)度也給我留下了深刻印象 ,對(duì)我以后的學(xué)習(xí)工作有很好的指導(dǎo)作用。在此 ,對(duì)老師表示衷心的感謝。在系統(tǒng)設(shè)計(jì)、調(diào)試階段 ,得到了吳亞軍等同學(xué)的幫助 ,在這里也表示感謝。在畢業(yè)設(shè)計(jì)的過(guò)程中和同學(xué)們的討論也使我受益匪淺 ,也感謝電氣工程學(xué)院的老師和領(lǐng)導(dǎo)為我提供的良好的畢業(yè)設(shè)計(jì)環(huán)境使我完成畢業(yè)設(shè)計(jì)。最后 ,再次感謝所有幫助過(guò)我的老師和同學(xué)們!