基于51單片機(jī)的循跡小車系統(tǒng)設(shè)計(jì)
《基于51單片機(jī)的循跡小車系統(tǒng)設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)的循跡小車系統(tǒng)設(shè)計(jì)(64頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
基于51單片機(jī)的循跡小車系統(tǒng)設(shè)計(jì) 摘 要 80C51單片機(jī)是一款八位單片機(jī),他的易用性和多功能性受到了廣大使用者的好評。在生活中但凡涉及到自動控制的地方都會出現(xiàn)單片機(jī)的身影,單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、智能化,并且能夠提高生產(chǎn)效率。這里介紹的是如何用AT89C52單片機(jī)來實(shí)現(xiàn)小車的循跡功能,該設(shè)計(jì)是結(jié)合科研項(xiàng)目而確定的設(shè)計(jì)類課題。本系統(tǒng)以設(shè)計(jì)題目的要求為目的,采用AT89C52單片機(jī)為控制核心,利用紅外傳感器檢測道路上的黑線,控制電動小汽車的自動循跡,快慢速行駛,以及自動停車,并可以自動記錄時間、里程和速度,和尋光功能。整個系統(tǒng)的電路結(jié)構(gòu)非常簡單,可靠性能很高。實(shí)驗(yàn)測試結(jié)果滿足要求,本文著重介紹了該系統(tǒng)的硬件設(shè)計(jì)方法及測試結(jié)果分析。 關(guān)鍵詞:80C51單片機(jī);電動小車;pwm調(diào)速;光電檢測;自動調(diào)速系統(tǒng) Car tracking system based on microcontroller Abstract 80C51 is a 8 bit single chip computer. Its easily using and multi-function suffer large users. In life, whenever it comes to automatic control of the local microcontroller will appear figure, microcontroller applications in favor of product miniaturization, intelligent, and can improve productivity. Here is how to use AT89C52 microcontroller to achieve the car tracking feature, which is designed to determine the combination of scientific research and design class topic. This system design requirements of the subject for the purpose of using AT89C52 microcontroller core, the use of infrared sensors to detect the black line on the road, the automatic tracking control of electric cars, fast low traffic speeds, as well as automatic parking, and can automatically record time , mileage and speed, and look for the light function. The circuit structure of the entire system is very simple, very high reliability. The test results meet the requirements, the paper focuses on the hardware design and test results of the system analysis. Keywords: 80C51 microcontroller; Electric car Pwm speed; A photodetector; Automatic Speed Control System. III 目 錄 中文摘要 I 外文摘要 Ⅱ 1 緒論 1 1.1 課題背景及意義 1 1.2 智能小車研究前景及功能 3 1.3 國內(nèi)外的研究情況 6 1.3.1 智能小車國外研究現(xiàn)狀......................... 1.3.2 智能小車國內(nèi)研究現(xiàn)狀......................... 1.4 本課題具體應(yīng)用方面及場合 2 智能循跡小車的方案設(shè)計(jì) 2.1 智能小車的運(yùn)行環(huán)境及行走路線 7 2.1.1 智能小車的運(yùn)行環(huán)境 2.1.2 智能小車的運(yùn)行路線 2.2 主控芯片的選擇與原理 8 2.2.1 51單片機(jī)引腳與功能說明 2.3 調(diào)速系統(tǒng)的設(shè)計(jì) 8 2.3.1 PWM逆變電路及其控制方法 2.3.1.1 計(jì)算法 2.3.1.2 調(diào)制法 2.3.2 PWM調(diào)速的優(yōu)點(diǎn) 3 硬件電路的選擇與搭建 3.1 單片機(jī)的輔助電路 3.1.1 時鐘電路 3.1.2 復(fù)位電路 3.2 單片機(jī)控制模塊的設(shè)計(jì) 3.3 驅(qū)動模塊的設(shè)計(jì) 3.3.1 電機(jī)驅(qū)動芯片 3.3.2 電機(jī)驅(qū)動模塊 3.4 循跡模塊的制作與設(shè)計(jì) 3.4.1 循跡傳感器工作原理 3.4.2 尋光電路分析 3.4.3 循跡電路分析 3.4.3.1 紅外對管TCRT500 3.4.3.2 電壓比較器 LM324 3.5 各模塊的組裝與連接 4 循跡小車的軟件設(shè)計(jì) 4.1 軟件設(shè)計(jì)開發(fā)平臺 15 4.2 小車運(yùn)動狀態(tài)分析及三路算法的設(shè)計(jì) 16 4.2.1 小車運(yùn)動狀態(tài)分析 16 4.2.2 三路循跡算法設(shè)計(jì) 17 4.3 軟件設(shè)計(jì)流程圖 20 4.4 軟件的調(diào)試 24 4.4.1 設(shè)置和刪除斷點(diǎn) 24 4.4.2 查看和修改寄存器的內(nèi)容 26 4.4.3 觀察和修改變量 28 4.4.4 查看存儲器區(qū)域 結(jié) 論 44 參考文獻(xiàn) 45 致 謝 46 附錄1 智能循跡小車原理圖 50 附錄2 循跡程序 附錄3 外文參考文獻(xiàn)(譯文) 50 附錄4 外文參考文獻(xiàn)(原文) 5 1 緒論 1.1 課題背景及意義 隨著汽車工業(yè)的發(fā)展,關(guān)于汽車的研究也就越來越受到人們的關(guān)注。在全國電子大賽以及省內(nèi)的電子大賽上,我們幾乎每次都能看到智能小車這方面的題目,在全國各的高校中也都很重視該類型題目的研究。由此可見其研究意義很大,故本設(shè)計(jì)中就是在這樣的背景下提出來的。本題目是結(jié)合科研類項(xiàng)目而確定的設(shè)計(jì)類課題。本設(shè)計(jì)的智能電動小車應(yīng)該具有自動循跡的功能,并且可以擴(kuò)展實(shí)時顯示時間、速度、里程、尋光、避障功能,可程控行駛速度、準(zhǔn)確定位停車等功能。近幾十年來,移動機(jī)器人從無到有,數(shù)量不斷增多,智能車輛作為移動機(jī)器人的一個重要分支也得到越來越多的關(guān)注。 1.2 智能小車研究前景及功能 智能車輛也叫做無人車輛,是一個集環(huán)境感知、規(guī)劃決策和多等級輔助駕駛等功能于一體的綜合系統(tǒng)。它具有道路障礙自動識別、自動的報(bào)警、自動制動、自動保持安全距離、車速和巡航控制等功能。智能車輛的主要特點(diǎn)是在復(fù)雜的道路情況下,能夠自動地操縱和駕駛車輛繞開障礙物并沿著預(yù)定的道路(軌跡)前進(jìn)。 智能車輛在原有的車輛系統(tǒng)中,增加了一些智能化的技術(shù)設(shè)備: (1)在計(jì)算機(jī)處理系統(tǒng),智能車主要來獲取圖像,并預(yù)處理、增強(qiáng)、分析、識別等工作; (2)攝像機(jī),用來獲得道路圖像信息; (3)傳感器設(shè)備,車速傳感器可以用來獲得當(dāng)前車速,障礙物傳感器可以用來獲得前方、側(cè)方、后方障礙物等信息。 智能車輛技術(shù)按照其功能可劃分為三層,即智能感知/預(yù)警系統(tǒng)、車輛駕駛系統(tǒng)和全自動操作系統(tǒng)團(tuán)。且上一層技術(shù)是下一層技術(shù)的基礎(chǔ)。可以利用各種傳感器來獲得車輛自身、車輛行駛的周圍環(huán)境及駕駛員自身的狀態(tài)信息,必要時發(fā)出預(yù)警信息。主要包括碰撞預(yù)警系統(tǒng)和駕駛員狀態(tài)監(jiān)控系統(tǒng)。碰撞預(yù)警系統(tǒng)可以給出前方碰撞警告、十字路口警告、車道偏離警告、盲點(diǎn)警告、換道/并道警告、后方碰撞警告、行人檢測與警告等.駕駛員狀態(tài)監(jiān)控系統(tǒng)。 1.3 國內(nèi)外的研究情況 智能小車技術(shù)在國內(nèi)外的研究現(xiàn)狀 。智能小車技術(shù)是一個體現(xiàn)國家高技術(shù)實(shí)力的一個重要標(biāo)準(zhǔn),它涉及到多個學(xué)科,機(jī)械、電工、數(shù)學(xué)、自動控制、計(jì)算機(jī)測量、人工智能、傳感技術(shù)等等,是眾多領(lǐng)域的高科技。而智能小車比賽就是機(jī)器人技術(shù)的一個重要研究方向,目前許多國家己經(jīng)開始把移動機(jī)器人比賽作為創(chuàng)新教育的一個戰(zhàn)略性手段。 移動機(jī)器人比賽是一種高科技的對抗性的活動,各國的專家和學(xué)者來通過移動機(jī)器人競賽,推進(jìn)了在競賽型移動機(jī)器人方面的研究,不改進(jìn)機(jī)器人尋址速度和算法研究,并試圖讓機(jī)器人更加的接近智能化,它集高科技、娛樂和比賽于一體,引起了各國的廣泛關(guān)注和極大興趣,從而推動了移動機(jī)器人研究熱潮...... 據(jù)統(tǒng)計(jì)部門的數(shù)據(jù),至2006年中國汽車保有量已達(dá)3500萬輛(其中轎車占80%,約2500萬輛),每年仍以30%的速度遞增。我國成為了繼美國之后的第二大汽車生產(chǎn)和消費(fèi)國。汽車行業(yè)的發(fā)展也帶動了相關(guān)服務(wù)業(yè)的發(fā)展。而將功能強(qiáng)大的智能車載信息系統(tǒng)——車載電腦加載到汽車上已經(jīng)成為歐美、日本等國汽車市場的首選新裝備。車載電腦給汽車帶來了一場信息化的革命,讓每輛汽車構(gòu)都建成一個完美的車載信息與娛樂系統(tǒng)終端,我們坐在汽車?yán)锩媛爮V播或者音樂已經(jīng)習(xí)以為常。讓你在開車的時候聽音樂,在休息的時候欣賞好萊塢大片或是收看電視,甚至玩各種游戲。車載通訊與導(dǎo)航系統(tǒng)主要指 GPRS和GPS,可以讓你“輕車熟路”,而且可以輕松的打電話。智能小車,就是在關(guān)鍵得基礎(chǔ)理論模型研究的前提下,把先進(jìn)的信息技術(shù)、、數(shù)據(jù)通信技術(shù)及計(jì)算機(jī)處理技術(shù)等技術(shù)有效地綜合運(yùn)用于汽車交通體系,從而可以大范圍、全方位的發(fā)揮準(zhǔn)確、實(shí)時、高效的功能,是很好的交通工具。它可以利用無線通訊的專網(wǎng)低頻段并以其低成本實(shí)現(xiàn)了智能小車的實(shí)時控制、快速傳輸,并自行開發(fā)研制出了無線通訊系統(tǒng)的車載智能終端設(shè)備及控制系統(tǒng),使智能小車能夠完全利用無線通訊系統(tǒng)來采集和傳輸路面狀況數(shù)據(jù),并進(jìn)行小車速度和方向的控制,具有載人和自動控制的雙重功能。小車信息響應(yīng)速度快、全自動方向控制自動化、信息發(fā)布智能化、設(shè)備自維護(hù)智能化的特點(diǎn)。 1.3.1 智能小車國外研究現(xiàn)狀 國外的智能車輛研究歷史比較長,開始于上個世紀(jì)的50年代,其發(fā)展歷程大致可以分為三個階段 。第一階段:20世紀(jì)50年代是智能車輛研究的初始階段。1954年美國的Barrett Electronic公司研究出了世界上的第一臺自主引導(dǎo)車系統(tǒng),該系統(tǒng)是一個可以運(yùn)行在固定路線上的拖車式的運(yùn)貨平臺,但是它卻具有了智能車輛所具有的最基本的的特征。第二階段:開始于80年代中后期,西方發(fā)達(dá)國家對智能車輛的開展具有卓有成效的研究,在歐洲,普羅米修斯項(xiàng)目于1986年開始在這個領(lǐng)域內(nèi)探索,在北美,美國于1995年成立了國家自動高速公路系統(tǒng)聯(lián)盟,他的目標(biāo)之一就是來研究發(fā)展智能車輛的可行性,并促進(jìn)智能車輛技術(shù)進(jìn)入實(shí)用化,來為人類謀福利。 第三個階段:從90年代開始,智能車輛進(jìn)入了更加深入、系統(tǒng)、大規(guī)模的研究階段。其中最為突出的是,美國卡內(nèi)基-梅隴大學(xué)的機(jī)器人研究所完成的Navlab系列的自主車的研究,取得了非常顯著的成就。目前無人駕駛技術(shù)越來越成熟,谷歌的無人駕駛汽車內(nèi)置的計(jì)算機(jī)系統(tǒng)可以被認(rèn)定為合法的“駕駛員”,而這一政策在未來將會對無人駕駛的汽車在美國公路上能夠順暢行駛起到積極的促進(jìn)作用。目前,像谷歌和福特等都正在積極的進(jìn)行無人駕駛汽車的測試,而特斯拉甚至已經(jīng)開始為旗下車型升級了一些輔助駕駛功能 1.3.2 智能小車國內(nèi)研究現(xiàn)狀 我國的智能車輛研究開始于上世紀(jì)80年代末。當(dāng)時國家的863計(jì)劃自動化領(lǐng)域智能機(jī)器人主題確定立項(xiàng)進(jìn)行遙控駕駛的智能移動平臺的研制;幾乎同時國家部委也開始在規(guī)劃“八五”預(yù)研項(xiàng)目中的地面智能機(jī)器人技術(shù)進(jìn)行研究,并確定研制成功了我國第一輛樣車ATB-1(AutonmousTestBed-1)。該車是由國內(nèi)的多所重點(diǎn)大學(xué)聯(lián)合研制,在1996年的演示中,該車自主行駛的最高速度可達(dá)74.5km/h,正常行駛速度為30.6km/h,在越野環(huán)境下,白天行駛的最高速度為24km/h,夜間行駛最高速度為15km/h。目前,開展這方面研究工作的單位主要包括一些大學(xué)和科研院所,比如國防科技大學(xué)、清華大學(xué)、吉林大學(xué)、西安交通大學(xué)、重慶大學(xué)等。近幾年來,具有代表性的典型系統(tǒng)包括:由國內(nèi)多家大學(xué)參與的“十五”期間的第三代自主地面車輛ATB-3;國防科技大學(xué)研制的新一代地面無人駕駛車輛CITAVT-IV及其與中國一汽合作研制的“紅旗”自主轎車;清華大學(xué)研制的THMR-V型智能車輛;吉林大學(xué)的Cybercar智能車輛;重慶大學(xué)的CQAC-I型智能車輛等。這一時期國內(nèi)研究工作的主要方向是智能車輛的應(yīng)用環(huán)境由簡單場景向非結(jié)構(gòu)化、復(fù)雜場景的轉(zhuǎn)變,以及全天候條件下的實(shí)用化技術(shù),基于多源信息融合的系統(tǒng)魯棒性研究等。 1.4 本課題具體應(yīng)用方面及場合 目前,人工智能技術(shù)取得了諸多的突破。一方面,計(jì)算機(jī)在數(shù)據(jù)搜集、存儲和管理等能力上有了很大的進(jìn)步;另一方面,云技術(shù)的迅猛發(fā)展也使得云計(jì)算基礎(chǔ)能力也有所提升。人工智能的發(fā)展勢必會對智能小車產(chǎn)生至關(guān)重要的影響。 從2014年的車聯(lián)網(wǎng),到2015年自動駕駛的初露端倪,智能汽車已經(jīng)連續(xù)兩屆成為CES的主題,2016年CES無人駕駛與智能汽車吸引了全球的矚目。 如今,汽車智能化、共享化趨勢愈加明顯。隨著汽車電子技術(shù)的發(fā)展,汽車智能化技術(shù)正在逐步得到應(yīng)用,這種技術(shù)使汽車的操縱越來越簡單,動力性和經(jīng)濟(jì)性也會越來越高,行駛安全性越來越好。目前,汽車已進(jìn)入“智能機(jī)”時代,將催生智能汽車投資機(jī)會。汽車共享化,即車聯(lián)網(wǎng)、無人駕駛,將依托于汽車制造商、經(jīng)銷商與運(yùn)營商,汽車電子化與智能化實(shí)現(xiàn)“人-車”互動,車聯(lián)網(wǎng)實(shí)現(xiàn)“人-車-網(wǎng)絡(luò)”的互動,而智能交通將實(shí)現(xiàn)“人-車-網(wǎng)絡(luò)-路”的互動,共享化亦是未來汽車發(fā)展的趨勢。 在智能汽車主戰(zhàn)場,汽車智能化步伐加速。從谷歌低成本的LIDAR感官系統(tǒng)和英偉達(dá)的DrivePX無人駕駛處理平臺,到豐田的低成本高精地圖繪制,再到寶馬i8Spyder、微軟、谷歌等企業(yè)的人機(jī)交互,無論是互聯(lián)網(wǎng)巨頭、汽車零部件供應(yīng)商,還是傳統(tǒng)車企,都把智能化擺在了極為重要的戰(zhàn)略位置。我們認(rèn)為感官系統(tǒng)和處理判斷系統(tǒng)技術(shù)是未來決戰(zhàn)汽車智能化的關(guān)鍵所在,而低成本可靠的智能技術(shù)將加快汽車智能化步伐。 互聯(lián)網(wǎng)巨頭自身的無人駕駛技術(shù)與傳統(tǒng)車企的汽車制造經(jīng)驗(yàn)結(jié)合碰撞會加快無人駕駛汽車的商業(yè)化。與此同時,德爾福、大陸與博世三大零部件供應(yīng)商將紛紛推出全新的汽車共享解決方案。 智能化、共享化,智能網(wǎng)聯(lián)汽車,汽車智能革命到來。智能化就是智能汽車,共享化就是無人駕駛、車聯(lián)網(wǎng),智能網(wǎng)聯(lián)汽車將是未來發(fā)展方向。 2 智能循跡小車的方案設(shè)計(jì) 2.1 智能小車的運(yùn)行環(huán)境及行走路線 根據(jù)題目的要求,可以確定如下方案:在玩具電動車的基礎(chǔ)上,加裝光電、紅外線、超聲波傳感器,實(shí)現(xiàn)對電動車的速度、位置、運(yùn)行狀況的實(shí)時測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實(shí)現(xiàn)對電動車的智能控制。 2.1.1 智能小車的運(yùn)行環(huán)境 循跡是指小車在白色地板上循黑線行走,由于黑線和白色地板對光線的反射系數(shù)不同,可以根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”。通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時就會發(fā)生漫反射,反射光可以被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接就收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù),來確定黑線的位置和小車的行走路線。但是,紅外探測器探測距離有限。小車在進(jìn)入循跡模式后,即開始不停地掃描與探測器連接的單片機(jī)I/O口,一旦檢測到某個I/O口有信號,便進(jìn)入判斷處理程序(switch),可以先確定4個探測器中的哪一個探測到了黑線,如果左面第一級傳感器或者左面第二級傳感器探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應(yīng)使小車向左轉(zhuǎn);如果是右面第一級傳感器或是右面第二級傳感器探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應(yīng)使小車向右轉(zhuǎn)。在經(jīng)過了方向調(diào)整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復(fù)上述動作。 利用LED來顯示小車運(yùn)行的狀態(tài),并且利用倒計(jì)時模塊來啟動小車。 2.1.2 智能小車的運(yùn)行路線 本設(shè)計(jì)中小車的循跡路線大致可分三種:“7”字型路線、“T”字型路線、“十”字型路線。具體路線如下圖所示。 2.2 主控芯片的選擇與原理 51系列單片機(jī)除了Intel公司的MCS-51系列外,還有美國Atmel公司生產(chǎn)的AT系列、硅存儲技術(shù)公司的SST系列、深圳宏晶公司生產(chǎn)的STC系列等公司的兼容產(chǎn)品,這些公司的51單片機(jī)封裝、引腳與Intel公司的MCS-51系列單片機(jī)完全兼容。51系列單片機(jī)有不同封裝形式,外觀各不相同。本設(shè)計(jì)選用宏晶公司生產(chǎn)的STC89C52型號的單片機(jī)。 2.2.1 51單片機(jī)引腳與功能說明 如左圖2-2所示為40腳雙列直插式封裝8051單片機(jī)引腳圖。按照其引腳功能來分,可以分為四組。下面分別說明這些引腳的名稱和功能。 1. 電源與地引腳 Vcc:電源引腳,用于接+5V電源。 Vss:接地引腳,連接時接公共地端 2. 時鐘電路引腳 X1:接外部石英晶體和補(bǔ)償電容一端;如果使用外部時鐘源,則該引腳應(yīng)該接地。實(shí)際上該引腳為片內(nèi)振蕩電路放大器部分的輸入端。 X2:接外部石英晶體和補(bǔ)償電容的 圖2-2 18051的引腳排列 另一端;在使用外部時鐘源時,該引腳作為外部時鐘源的輸入端。在片內(nèi)該引腳為振蕩電路放大器的輸出端。 3. I/O端口引腳 51系列單片機(jī)I/O端口的個數(shù)依據(jù)封裝、引腳不同也不相同,40腳封裝的芯片共有4個8位端口,分別是P0、P1、P2、P3,這些端口大都為復(fù)用功能,分別說明如下。 P0口:端口P0共有8根引腳,分別表示為P0.0,P0.1,...,P0.7。P0口是一個漏極開路的8位準(zhǔn)雙向I/O端口,作為漏極開路的輸出端口,每位可以驅(qū)動8個LS型TTL負(fù)載。 P0口有兩種使用方式:一種是作為普通并口使用,可以直接連外部設(shè)備或外設(shè)接口,如連接LED驅(qū)動電路,作為普通并口時的端口地址為80H;第二種使用方式是單片機(jī)需要外部片外存儲器時,P0口作為總線使用。作總線使用時,P0口采用分時工作,用于低8位地址或8位數(shù)據(jù)復(fù)用總線。 P1口:P1口也有8根引腳,記為P1.0,P1.1,…,P1.7.P1口是一個帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,P1口的每味能驅(qū)動4個LS型TTL負(fù)載。在P1口用作輸入口時,應(yīng)先向口鎖存器(地址90H寫入全1),此時,端口引腳由內(nèi)部上拉電阻上拉成高電平。 P2口:P2口的8根引腳記為P2.0,P2.1,…P2.7。P2口也是一個帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口。P2口的每位也可以驅(qū)動4個LS型TTL負(fù)載。P2口也有兩種使用方式:一種是作為普通并口使用,作為普通并口時的端口地址為A0H;二是單片機(jī)需要外接片外存儲器時,P2口要作為地址總線使用,做地址總線使用時,P2口用于高8位地址總線。 P3口:P3口也是8根引腳,記為P3.0,P3.1,…P3.7。P3口也是一個帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,P3口的每位能驅(qū)動4個LS型TTL負(fù)載,端口地址為B0H。 P3口與其他I/O端口最大的區(qū)別在于它除作為一般準(zhǔn)雙向I/O端口外,P3口的每個引腳還具有專門的第二功能,也就是說,P3口也有兩種應(yīng)用方式。其一是作為普通并口使用,其二適用于特殊功能引腳(也稱為第二功能),其特殊功能規(guī)定與說明如表2-1所示。 表2-1 P3口的特殊功能規(guī)定 P3口引腳 P3口引腳特殊功能說明 P3.0 RXD(串行口輸入) P3.1 TXD(串行口輸出) P3.2 INT0(外部中斷0輸入) P3.3 INT1(外部中斷1輸入) P3.4 T0(定時器0的外部輸入) P3.5 T1(定時器1的外部輸入) P3.6 WR(片外數(shù)據(jù)存儲器寫選通控制輸出) P3.7 RD(片外數(shù)據(jù)存儲器讀選通控制輸出) 4. 控制信號引腳 PSEN:程序存儲器選通信號引腳。CPU在訪問片外程序存儲器時,該引腳輸出負(fù)脈沖作為存儲器讀選通信號。8051的PSEN引腳可以直接驅(qū)動8個LS型TTL負(fù)載。當(dāng)負(fù)載過大而超過該引腳驅(qū)動能力時,可以在引腳后面先加上驅(qū)動芯片,經(jīng)驅(qū)動芯片再對負(fù)載實(shí)現(xiàn)驅(qū)動。 ALE/PROG:該引腳有兩個功能,其一是地址鎖存允許(ALE)信號引腳。當(dāng)CPU訪問外部數(shù)據(jù)存儲器RAM或程序存儲器ROM,由于地址信號低8位與數(shù)據(jù)總線都是P0提供,為分時復(fù)用總線,所以當(dāng)單片機(jī)先給出地址信號后,由于地址信號低8位與數(shù)據(jù)總線都是P0提供,為分時復(fù)用總線,所以當(dāng)單片機(jī)先給出地址信號后,由ALE信號作為輸出地址低8位的地址鎖存使能信號,把地址低8位鎖存到鎖存器中。該引腳的第個功能就是片內(nèi)存儲器編程脈沖輸入引腳。 EA/Vpp :EA是訪問外部存儲器的控制信號。如果EA端接高電平,程序存儲器地址值小于0FFFFH(4KB程序地址)時,8051CPU會到片內(nèi)程序存儲器中取指令。當(dāng)?shù)刂分党?FFFFH時,單片機(jī)將自動尋址片外程序存儲器的程序。如果EA為低電平,CPU僅訪問片外程序存儲器,不會訪問片內(nèi)存儲器。另外Vpp為編程電源功能,當(dāng)對51單片機(jī)內(nèi)部EPROM編程時,Vpp引腳接編程電源(12.5V)。 RST/VPD:RST引腳是復(fù)位信號輸入端,高電平有效。當(dāng)此輸入端保持2個機(jī)器周期(24個時鐘振蕩周期的高電平)時就可以完成對單片機(jī)的復(fù)位操作。該引腳的第二功能VPD即備用電源的輸入端,當(dāng)主電源Vcc發(fā)生故障或降低到低電平規(guī)定值時,將+5V電源自動接入VPD端,為片內(nèi)數(shù)據(jù)存儲器RAM提供備用電源,以保證存儲在RAM中的信息不丟失,以使復(fù)電后能繼續(xù)正常工作。 控制線除以上4根線以外,還有P3口的P3.6和P3.7第二功能也可以作為控制線,主要用作對片外存儲器讀寫控制。 WR(P3.6):用于片外存儲器寫控制,低電平有效。該信號接在片外存儲器的寫信號端上,當(dāng)WR信號到來時,完成對外部存儲器寫入操作。 RD(P3.7):用于片外存儲器讀控制,低電平有效。該信號接在片外存儲器的讀信號端上,當(dāng)RD信號到來時,完成對外部存儲器讀取操作。 2.3 調(diào)速系統(tǒng)的設(shè)計(jì) 本設(shè)計(jì)采用PWM調(diào)速系統(tǒng)。PWM控制就是對脈沖的寬度進(jìn)行調(diào)制的技術(shù)。即通過對一系列脈沖的寬度進(jìn)行調(diào)制,來等效地獲得所需要的波形(含形狀和幅值)。PWM控制技術(shù)在逆變電路中的應(yīng)用最為廣泛,對逆變電路的影響也最為深刻,現(xiàn)在大量應(yīng)用的逆變電路中,絕大部分都是PWM型逆變電路。 2.3.1 PWM逆變電路及其控制方法 2.3.1.1 計(jì)算法 根據(jù)逆變電路的正弦波輸出頻率、幅值和半個周期內(nèi)的脈沖數(shù),將PWM波形中各脈沖的寬度和間隔準(zhǔn)確計(jì)算出來,按照計(jì)算結(jié)果控制逆變電路中各開關(guān)器件的通斷,就可以得到所需要的PWM波形,這種方法稱之為計(jì)算法。 2.3.1.2 調(diào)制法 把希望輸出的波形作為調(diào)制信號,把接受調(diào)制的信號作為載波,通過信號波的調(diào)制得到所期望的PWM波形。 2.3.2 PWM調(diào)速的優(yōu)點(diǎn) 由于PWM調(diào)速系統(tǒng)的開關(guān)頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運(yùn)行平穩(wěn),調(diào)速范圍較寬,可達(dá)1:10000左右。由于電流波形比V-M系統(tǒng)好,在相同的平均電流下,電動機(jī)的損耗和發(fā)熱都比較小。 由于電力電子器件只工作在開關(guān)狀態(tài),主電路損耗較小,裝置效率較高。 3 硬件電路的選擇與搭建 本設(shè)計(jì)中的硬件部分包括傳感器的選擇、單片機(jī)控制電路的設(shè)計(jì)、驅(qū)動電路的設(shè)計(jì)、循跡模塊的設(shè)計(jì)以及小車的運(yùn)動狀態(tài)分析等。小車的核心控制部件采用宏晶公司生產(chǎn)的8位單片機(jī)STC89C52,小車可通過識別黑色線條來控制方向和轉(zhuǎn)速。 3.1 單片機(jī)的輔助電路 單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng).對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路.如下圖3-1所示為51單片機(jī)的最小系統(tǒng)電路圖. 3.1.1 時鐘電路 單片機(jī)芯片內(nèi)部有一個放大倍數(shù)很高的反向放大器,其輸入端為引腳XTAL1,輸出端為引腳XTAL2,單片機(jī)的時鐘電路有兩種構(gòu)成方式。 本設(shè)計(jì)采用內(nèi)部時鐘方式,這種方式采用在XTAL1與XTAL2間外接石英晶體振蕩器和補(bǔ)償電容。晶振和補(bǔ)償電容均外接電路,反向放大器電路在單片機(jī)內(nèi)部,由外部晶振與內(nèi)部反向放大器共同構(gòu)成振蕩電路。在內(nèi)部時鐘源方式下,時鐘信號的頻率主要由晶振的固有諧振頻率決定電 3-1 51單片機(jī)最小系統(tǒng) 容主要起信號補(bǔ)償作用。 3.1.2 復(fù)位電路 所謂的系統(tǒng)復(fù)位,就是使CPU和單片機(jī)系統(tǒng)中各相關(guān)部件都處于一個確定初始狀態(tài)的過程。單片機(jī)系統(tǒng)的運(yùn)行是從一個確定的初始狀態(tài)開始的,這個初始狀態(tài)只有通過對單片機(jī)系統(tǒng)復(fù)位才能達(dá)到。 3.2 單片機(jī)控制模塊的設(shè)計(jì) 智能循跡小車主要由STC89C52單片機(jī)電路、TCRT5000循跡模塊、L298N驅(qū)動模塊、直流電機(jī)、小車底板、電源模塊等組成。電動機(jī)調(diào)速控制方式有4種:開環(huán)調(diào)速、單閉環(huán)調(diào)速、雙閉環(huán)調(diào)速和三閉環(huán)調(diào)速。在本設(shè)計(jì)中采用單閉環(huán)調(diào)速系統(tǒng)。下圖3-2為循跡小車的系統(tǒng)控制框圖。 圖3-2 循跡小車控制框圖 引導(dǎo)線是小車跟蹤的目標(biāo),檢測系統(tǒng)檢測車的相對路徑,然后將此信息輸入到單片機(jī),單片機(jī)處理此信息后,將控制命令輸出到驅(qū)動模塊,以控制小車的直流電機(jī),保證小車快速平穩(wěn)地沿預(yù)先設(shè)定好的路線行駛。采用4個1.5V的可充電池組作為主電源。STC89C52單片機(jī)作為主控制器。采用電機(jī)驅(qū)動芯片L293D控制直流電機(jī),而不使用步進(jìn)電機(jī)。L293D是利用TTL電平進(jìn)行控制,通過改變芯片控制端的輸入電平,即可以對電機(jī)進(jìn)行正轉(zhuǎn)、反轉(zhuǎn)和停止操作,亦能滿足直流減速電機(jī)的要求,用該芯片作為電機(jī)驅(qū)動具有的操作方便、穩(wěn)定性好等優(yōu)點(diǎn)。用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時,光線發(fā)射強(qiáng)烈,光線照射到黑線上面時,光線發(fā)射較弱。這樣單片機(jī)和循跡傳感器組成了一個帶有反饋信號的系統(tǒng)。單片機(jī)控制模塊實(shí)物圖如下圖3-3所示。 圖3-3循跡小車控電路主板 3.3 驅(qū)動模塊的設(shè)計(jì) 對于驅(qū)動力不足和轉(zhuǎn)向問題,設(shè)計(jì)一般會采用兩種方法,一是設(shè)計(jì)由分離原件組成的驅(qū)動電路實(shí)現(xiàn),另一種方法則是采用專用的驅(qū)動芯片來實(shí)現(xiàn)。由于專用的驅(qū)動芯片結(jié)構(gòu)簡單、價格便宜、可靠性高等特點(diǎn),因而被廣泛的應(yīng)用實(shí)現(xiàn)電機(jī)的驅(qū)動。L298N 驅(qū)動模塊,采用 ST 公司原裝全新的 L298N 芯片, SMT 工藝穩(wěn)定性高,采用高質(zhì)量鋁電解電容,使電路穩(wěn)定工作。可以直接驅(qū)動兩路 3-35V 直流電機(jī),并提供了 5V 輸出接口(輸入最低只要6V),可以給 5V 單片機(jī)電路系統(tǒng)供電(低紋波系數(shù)),支持 3.3V MCU和ARM 控制,可以方便的控制直流電機(jī)速度和方向,也可以控制 2相步進(jìn)電機(jī),5 線 4 相步進(jìn)電機(jī),是智能小車必備利器。驅(qū)動電路板如下圖3-4所示。 圖3-4 驅(qū)動電路板 3.3.1 電機(jī)驅(qū)動芯片 L298N 為雙 H 橋直流電機(jī)驅(qū)動芯片,其驅(qū)動部分端子供電范圍 Vs:+5V~+16V ;如果需要在板內(nèi)取電,則供電范圍為Vs:+6V~+16V。驅(qū)動部分峰值電流 Io為2A。邏輯部分端子供電范圍 Vss:+5V~+7V(可板內(nèi)取電+5V);邏輯部分工作電流范圍為0~36mA;控制信號輸入電壓范圍(IN1 IN2 IN3 IN4)為低電平時是-0.3V≤Vin≤1.5V,若為高電平則為2.3V≤Vin≤Vss。對于使能信號輸入電壓范圍(ENA ENB),低電平時為-0.3≤Vin≤1.5V(控制信號無效);高電平時為2.3V≤Vin≤Vss(控制信號有效)。最大功耗為20W(溫度 T=75℃時),存儲溫度為-25℃~+130℃。H橋電路可以用下圖3-5表示其原理。 從圖中可以看出,假設(shè)開關(guān)A、D接通,電機(jī)正向轉(zhuǎn)動,而開關(guān)B、C接通時,直流電機(jī)將反向轉(zhuǎn)動,從而實(shí)現(xiàn)了電機(jī)的正向控制。當(dāng)然實(shí)際應(yīng)用中我們還可以得到其他兩種狀態(tài)。當(dāng)剎車時,將A、C或B、D接通,則電機(jī)慣性轉(zhuǎn)動產(chǎn)生的電動勢將被短路,形成阻礙運(yùn)動的感應(yīng)電流,開成“剎車”作用。當(dāng)惰行時,4個開關(guān)全部斷開,則電機(jī)慣性所產(chǎn)生的電動勢將無法開成電路,從而也就不會產(chǎn)生阻礙運(yùn)動的感應(yīng) 電流,電機(jī)將慣性轉(zhuǎn)動較長時間。 圖3-5 H橋電路 3.3.2 電機(jī)驅(qū)動模塊 本設(shè)計(jì)中電機(jī)驅(qū)動采用L298N為電機(jī)驅(qū)動芯片,該芯片驅(qū)動方式比較簡單,直接驅(qū)動兩個直流電機(jī)。具體電路圖如下圖3-5所示。 圖3-6 電機(jī)驅(qū)動模塊電路圖 3.4 循跡模塊的制作與設(shè)計(jì) 循跡光電傳感器的原理,就是利用黑線對紅外線不同的反射能力通過光敏二極管或光敏三極管,接收反射回的不同光強(qiáng)信號,把不同光強(qiáng)轉(zhuǎn)換為電流信號,最后通過電阻,轉(zhuǎn)換為單片機(jī)可識別的高低電平。光電傳感器的循跡模塊如下圖中3-7所示。 圖3-7 智能小車循跡模塊 在裝配循跡傳感器時需注意:循跡傳感器上面的電位器默認(rèn)位置是“103”字樣的位置和板子是垂直的,此時的循跡靈敏度比較高,對黑色線的識別靈敏度不高,會誤認(rèn)為是白色的,會導(dǎo)致循跡效果不好,所以做循跡使用的時候務(wù)必將電位器位置調(diào)節(jié)到如上圖所示的地方。其原理是降低循跡傳感器的靈敏度,注意:電位器順時針轉(zhuǎn)動時降低傳感器的靈敏度,逆時針轉(zhuǎn)動時增加傳感器的靈敏度,如果作為避障傳感器使用時可以適當(dāng)加大傳感器的靈敏度,則可以往逆時針轉(zhuǎn)一定的角度。切記一點(diǎn),不管是逆時針轉(zhuǎn)還是順時針轉(zhuǎn)都不能轉(zhuǎn)到底,要留出一點(diǎn)空間。 3.4.1 循跡傳感器工作原理 循跡傳感器工作原理:TC端是傳感器工作控制端,為高電平時,發(fā)光二極管不工作,傳感器休眠,為低電平時,傳感器啟動。Signal端為檢測信號輸出,當(dāng)遇到黑線,黑線吸收大量的紅外線,反射的紅外線很弱,光敏三極管不導(dǎo)通,Signal輸出高電平;當(dāng)遇到白線,與黑線相反,反射的紅外線很強(qiáng),使光敏三極管導(dǎo)通,Signal輸出低電平。下圖3-8為循跡傳感器的電路圖。 圖3-8 循跡傳感器原理圖 這種探測方法,即利用紅外線在不同顏色的表面特征,具有不同的反射性能,汽車行駛過程中接收地面的紅外光。當(dāng)紅外光遇到白色路線,地板發(fā)生漫反射,安裝在小型車的反射光接收器接收;如果是遇到黑色路線,紅外光將被黑線吸收,安裝在小車上的接收管沒有收到紅外光??刂破鲿鶕?jù)是否收到反射的紅外光為判斷依據(jù)來確定的黑線的位置和小車的路線。紅外探測器距離通常是不應(yīng)超過15厘米的。紅外發(fā)射和接收紅外線感應(yīng)器,可以使自己或直接使用集成紅外探頭。調(diào)整左右傳感器之間的距離,兩探頭距離約等于黑線寬度最合適,選擇寬度為3 – 5厘米的黑線。該傳感器的靈敏度是可調(diào)的,傳感器有時遇到黑線卻不能送出相應(yīng)的信號,通過調(diào)節(jié)傳感器上的可調(diào)電阻,適當(dāng)?shù)脑龃蠡驕p小可改變靈敏度。另外,循跡傳感器的放置也是有講究的,有兩種方法,一種是兩個都是放置在黑線內(nèi)側(cè)緊貼黑線邊緣,第二種是都放置在黑線的外側(cè),同樣緊貼黑線邊緣。本設(shè)計(jì)采用第二種方法。 單片機(jī)燒錄程序后,就可以執(zhí)行循跡指令了。如果小車向前行駛時向左偏離了黑線,那么右邊傳感器會產(chǎn)生一個高電平,單片機(jī)判斷這個信號,然后向右拐回到黑線。兩傳感器輸出信號為低電平時,小車前進(jìn)。如果小車向右偏離黑線,左邊傳感器產(chǎn)生一個高電平,單片機(jī)判斷這個信號,然后向左拐。這樣,小車一定不會偏離黑線。若兩個光電傳感器同時輸出的信號為高電平,即單片機(jī)判斷的都為高電平時,小車向前直走。 3.4.2 尋光電路分析 如下圖3-9所示為尋光電路 圖3-9 尋光電路原理圖 V2的電壓計(jì)算公式為: 電阻R6為固定值不變有光照時R1變小,此時V2變大。當(dāng)無光照時R1變大,則V2變小。有光照情況時光敏電阻R1變小,V2變大。 假設(shè)V2=4.6VT,V3電壓為 4V,則V2>V3 反向端大于同向端,運(yùn)放作為比較器部分 ,則OUT5輸出低電平為低0給單片機(jī)識別,單片機(jī)通過if來掃描out5給的引腳。 3.4.3 循跡電路分析 該智能小車在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射系數(shù)不 同,可根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”—黑線。筆者在該模塊中利用了簡單、 應(yīng)用也比較普遍的檢測方法——紅外探測法。 紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。在 小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時發(fā)生漫發(fā)射,反射 光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號。 3.4.3.1 紅外對管TCRT500 TCRT5000紅外對管工作原理:工作時由藍(lán)色發(fā)射管發(fā)射紅外線,紅外線由遮擋物反射回來被接收管接收。接收反射光線后的接收管呈導(dǎo)通狀態(tài),與一電阻串聯(lián)即可構(gòu)成一個由發(fā)射管控制的分壓電路,由此可實(shí)現(xiàn)對遮擋物反射光線強(qiáng)度的檢測。我們經(jīng)常利用這一特性去實(shí)現(xiàn)顏色識別。其原理圖如下圖3-10所示。 圖3-10 TCRT5000原理圖 在小車行駛過程中發(fā)射管不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號。如圖 3-10 軌跡識別電路所示,發(fā)射管(1、2 端)與阻值為 330 歐姆的電阻串聯(lián)發(fā)射紅外線。接收管(3、4)與阻值為 47K 歐姆的電阻串聯(lián)。在沒有接收到反射光線時接收管截止呈高阻態(tài),TX 輸出高電平。當(dāng)接收管接收到反射光線時,接收管被導(dǎo)通,并且電阻遠(yuǎn)小于47K,TX 輸出低電平。對于光電傳感器沒有檢測到黑線時,則H4發(fā)光到白紙光反射到H4接收端,H4接收端導(dǎo)通,導(dǎo)通則T1接地=0。若有檢測到黑線,則H4發(fā)光到黑線光全部被吸收,H4接收端,沒有收到任何信號,因?yàn)镠4不導(dǎo)通(截止),則T1=VCC。 3.4.3.2 電壓比較器 LM324 LM324電壓比較器工作原理:該芯片內(nèi)部有四組比較器,原理就是反向輸入端與同向輸入端的電壓進(jìn)行比較,若同向輸入端電壓大于反向輸入端電壓,則比較器的輸出端輸出高電平+5V;若同向輸入端的電壓小于反向輸入端的電壓,則比較器的輸出端輸出低電平0V。下圖3-11為LM324的原理圖。 圖3-11 電壓比較器LM324電路圖 即當(dāng)傳感器檢測到白紙有接收到反射光時,LM324的2腳比較器反向端T1=0V,3腳比較器同向端=3V;同向端大于反向端則OUT1輸出高電平。檢測到黑線沒接收到反射光了,LM324的2腳比較器反向端T1=5V,3腳比較器同向端=3V,反向端大于同向端則OUT1輸出低電平。 LM324的調(diào)試方法為:看黑色物體遮擋傳感器檢測T1腳電壓變化是否正常,調(diào)節(jié)電位器R13,使得3腳電壓介于(2腳)T1電壓的最大和最小值之間。 3.5 各模塊的組裝與連接 這里應(yīng)該把電機(jī)驅(qū)動輸入端接到單片機(jī)的 P0 上,因?yàn)?P0 口我們外接有上拉電阻,其他 I/O 口雖然集成上拉電阻但驅(qū)動能力太弱,很不穩(wěn)定。如果把驅(qū)動輸入端接到 P0 口仍不太受控,可以嘗試將上拉電阻改為 1K 或更小的。)循跡模塊輸出端分別接單片機(jī)的 P1.0、P1.1、P1.2。注意分別對應(yīng)右邊的光電管輸出端(從循跡板對應(yīng)的右邊光電管信號輸出端接至單片機(jī) P1.0)、左邊的光電管輸出端(從循跡板對應(yīng)的左邊光電管信號輸出端接至單片機(jī) P1.1)、前邊的光電管輸出端(從循跡板對應(yīng)的前邊光電管信號輸出端接至單片機(jī) P1.2)。連接好的事物圖如下圖所示。 圖3-12 小車事物圖 4 循跡小車的軟件設(shè)計(jì) 4.1 軟件設(shè)計(jì)開發(fā)平臺 本設(shè)計(jì)采用Keil C51單片機(jī)軟件開發(fā)平臺,Keil μ Vision系列是德國Keil Software公司出品的51系列單片機(jī)C語言集成開發(fā)系統(tǒng)。該平臺可用于編輯C或匯編源文件。它提供了豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,是目前使用最廣泛的C51集成開發(fā)環(huán)境。 4.2 小車運(yùn)動狀態(tài)分析及三路算法的設(shè)計(jì) 4.2.1 小車運(yùn)動狀態(tài)分析 小車在運(yùn)行過程中可以前進(jìn),可以后退,也可以轉(zhuǎn)彎。只需控制電機(jī)的轉(zhuǎn)速與轉(zhuǎn)向即可。下圖4-1為小車結(jié)構(gòu)圖。 該結(jié)構(gòu)是由2個輪胎,減速箱+電機(jī)2套 2個后輪,黃色底盤 以及PCB敷銅板和亞克力板等組成。 從左圖我們可以看出控制小車的核心方法就是通過單片機(jī)來控制電機(jī)的轉(zhuǎn)速及轉(zhuǎn)向。 圖4-1小車結(jié)構(gòu)圖 我們可用如下表4-1所示內(nèi)容來表明電機(jī)的運(yùn)動狀態(tài)。 表4-1電機(jī)運(yùn)動狀態(tài) 左電機(jī) 右電機(jī) P1.3(LA) P1.2(LB) 電機(jī)狀態(tài) P1.1(RA) P1.0(RB) 電機(jī)狀態(tài) 0 0 不轉(zhuǎn) 0 0 不轉(zhuǎn) 0 1 前轉(zhuǎn) 0 1 前轉(zhuǎn) 1 0 后轉(zhuǎn) 1 0 后轉(zhuǎn) 1 1 不轉(zhuǎn) 1 1 不轉(zhuǎn) 下表所示為小車在跑道上的運(yùn)動狀態(tài),可前進(jìn)后退,也可轉(zhuǎn)彎,具體事由 單片機(jī)P1口各I/O口的電平高低決定的。 表4-2小車運(yùn)動狀態(tài) P1.3 P1.2 P1.1 P1.0 小車運(yùn)動狀態(tài) 0 1 0 1 前進(jìn) 1 0 1 0 后退 1 1 0 1 左轉(zhuǎn)彎 0 1 1 1 右轉(zhuǎn)彎 4.2.2 三路循跡算法設(shè)計(jì) 如左圖4-2所示,如果中間探測頭P0.1右測到黑線,則小車前進(jìn)。可用如下程序表示。 if(P0==0x05) { P1=0X05 } 如果右邊探測頭P0.2測到黑線,則小車偏了,小車左轉(zhuǎn)彎。則可用如下程序表示。 圖4-2小車結(jié)構(gòu)圖 if(P0==0x03) { P1=0X0D } 如果左邊探測頭P0.0測到黑線,則小車偏了,小車右轉(zhuǎn)彎。 if(P0==0x06) { P1=0X07 } 由上述分析可寫出如下所示循跡核心程序 X=P0&0XFF; switch(X) { case 0x00:P1=0x0f; break; case 0x01:P1=0x0d; break; case 0x02:; break; case 0x03:P1=0x0d; break; case 0x04:P1=0x07; break; case 0x05:P1=0x05; break; case 0x06:P1=0x07; break; case 0x07:; break; default: break; } 4.3 軟件設(shè)計(jì)流程圖 單片機(jī)初始化程序后,小車通過傳感器判定路況并設(shè)定狀態(tài),通過光電傳感器檢測到的光電信號,來控制小車運(yùn)行狀態(tài),具體程序如下所示。 4.4 軟件的調(diào)試 程序?qū)懞煤笠话愣紩懈鞣N錯誤,有些錯誤是語法錯誤,編譯器在編譯時會給出提示,按照提示進(jìn)行修改即可。還可能有不容易發(fā)現(xiàn)的邏輯錯誤、算法的不完善等問題,這些問題只能通過反復(fù)調(diào)試來解決。Keil μ Vision提供了多種調(diào)試方法幫助我們對程序進(jìn)行調(diào)試。 4.4.1 設(shè)置和刪除斷點(diǎn) 在軟件開發(fā)過程中,設(shè)置斷點(diǎn)+單步運(yùn)行是最常用的程序調(diào)試方法。在程序可能出現(xiàn)問題的地方加上斷點(diǎn),當(dāng)程序運(yùn)行到斷點(diǎn)處會停止,這時再采用單步方式來運(yùn)行。這種做法能夠有效地縮小出錯范圍,幫助我們更快地找到出現(xiàn)問題的程序塊。 當(dāng)程序編譯之后,通過Debug菜單下的Start/Stop Debug Session命令啟動Keil μ Vision的調(diào)試界面,這時我們在源程序窗口待添加斷點(diǎn)的行號前雙擊鼠標(biāo),就可以在該行添加一個斷點(diǎn)。也可以通過View菜單下的Disassemblely Window選項(xiàng)查看源程序反匯編以后的匯編代碼窗口(這里的匯編代碼與項(xiàng)目中的C51源程序是對應(yīng)的,在這兩個窗口添加斷點(diǎn)是等效的),并在該窗口中雙擊待添加斷點(diǎn)。在其中一個窗口添加斷點(diǎn)后另一個窗口也會自動在相應(yīng)位置加上斷點(diǎn)。再次雙擊斷點(diǎn)可以取消該斷點(diǎn)。 4.4.2 查看和修改寄存器的內(nèi)容 在調(diào)試過程中,可以通過View菜單下的Registers Windows來查看各寄存器的內(nèi)容,由于它們都是通過軟件仿真來模擬的,并非真正運(yùn)行在MCS-51單片機(jī)上,所以我們不僅可以觀察程序運(yùn)行過程中各寄存器的值,還可以在需要時,在程序運(yùn)行過程中進(jìn)行修改,只要雙擊該數(shù)值,修改完畢后按回車鍵即可。 4.4.3 觀察和修改變量 通過View菜單下的Watch Windows/Watch1或Watch2子菜單可以打開一個查看窗口,如圖4-3所示。在查看窗口中雙擊或按下F2可以添加想要查看的變量或寄存器值,包括程序中定義的變量、定時器/計(jì)數(shù)器的計(jì)數(shù)值、I/O接口狀態(tài)等,雙擊變量的當(dāng)前值可以改變它。 圖4-3 調(diào)試界面窗口 4.4.4 查看存儲器區(qū)域 Keil μ Vision允許區(qū)域性的觀察和修改所有的存儲器數(shù)據(jù),這些數(shù)據(jù)是由軟件模擬得到的。 由于MCS-51單片機(jī)的存儲器資源可以被劃分成4個區(qū)域:內(nèi)部可直接尋址RAM區(qū)data、內(nèi)部間接尋址RAM區(qū)idata、外部RAM區(qū)xdata、程序存儲器ROM區(qū)code。 為了區(qū)分這些區(qū)域,Keil μ Vision將它們分別表示為D、I、X、C。例如,D:0x00表示內(nèi)部直接可尋址RAM區(qū)從0x00處開始的存儲單元。通過這種表示方法,可以準(zhǔn)確描述我們想要觀察或修改的存儲區(qū)域。 結(jié) 論 本設(shè)計(jì)循跡小車在白色地板上循黑線行走,由于黑線和白色地板對光線的反射系數(shù)不同,根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”。本設(shè)計(jì)中采用紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。智能小車應(yīng)用前景廣闊,它可以按照預(yù)先設(shè)定的模塊在一個特定的環(huán)境里自動的運(yùn)行,可運(yùn)用于科學(xué)勘探等用途,無需人為的管理,便可以完成預(yù)期所要達(dá)到的或更高的目標(biāo)。智能機(jī)器人正在代替人們完成這些任務(wù),凡不宜有人直接承擔(dān)的任務(wù),均可由智能機(jī)器人代替,可以適應(yīng)不同環(huán)境,不受溫度、濕度等條件的影響,完成危險地段,人類無法介入等特殊情況下的任務(wù),智能小車就是其中的一個體現(xiàn)。智能車輛又稱為輪式移動機(jī)器人,是移動機(jī)器人的一種,是一個集環(huán)境感知、規(guī)劃決策、自動駕駛等多種功能于一體的綜合體統(tǒng)。如果將以上技術(shù)引用到現(xiàn)實(shí)生活中,可以使我們的未來生活變得更加智能。除了潛在的軍用價值外,還可以應(yīng)用于科學(xué)研究、地質(zhì)勘探、危險搜索、智能救援等,其在交通運(yùn)輸中的應(yīng)用前景也受到西方國家的普遍關(guān)注。 參考文獻(xiàn) [1] 鄧興成,姜寶鈞.單片機(jī)原理與實(shí)踐指導(dǎo)[M]. 成都:電子科技大學(xué)出版社,2004.. [2] 呂敏. 基于51單片機(jī)電動智能小車設(shè)計(jì)[D].成都電子機(jī)械高等??茖W(xué)校成教院畢業(yè)論文.2012年3月. [3] 田玉,周維華. 單片機(jī)應(yīng)用——智能循跡小車設(shè)計(jì)[J]. 數(shù)字技術(shù)與應(yīng)用,學(xué)術(shù)論壇:152. [4] 朱濤. 基于STC89C52單片機(jī)的智能循跡小車設(shè)計(jì)[J]. 電腦知識與技術(shù).2011年11月第7卷第31期. [5] 黃春平,萬其明等. 基于51單片機(jī)的智能循跡小車的設(shè)計(jì)[J].儀表技術(shù),2006年2月. [6] 牛闖,王翰章等. 基于STC89C52單片機(jī)的循跡智能車控制系統(tǒng)設(shè)計(jì)[J].電腦知識與技術(shù).2013年4月第9卷第10期. [7] 張巖,裴曉敏. 基于單片機(jī)的智能循跡小車設(shè)計(jì)[J].研究與開發(fā),2014年3月第33卷第3期. [8] 顧群,蒲雙雷等. 基于單片機(jī)的智能小車避障循跡系統(tǒng)設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,數(shù)控技術(shù),23期. [9] 錢柏霆,李娟. 基于單片機(jī)的循跡避障智能小車系統(tǒng)的設(shè)計(jì)[J].電子科技,第015期. [10] 求是科技.單片機(jī)典型外圍器件及應(yīng)用實(shí)例[M].北京:人民郵電出版社,2006. [11] 全國大學(xué)生電子設(shè)計(jì)設(shè)計(jì)競賽組委員會.全國大學(xué)生電子設(shè)計(jì)競賽訓(xùn)練教程[M].北京: 電子工業(yè)出版社, 2005. 致 謝 時光匆匆而過,大學(xué)四年即將劃上句號?;厥姿哪陼r間,有太多的不舍。 在論文完成之際,我要特別感謝我的指導(dǎo)老師蔡曉燕老師的熱情關(guān)懷和悉心指導(dǎo)。在我撰寫論文的過程中,蔡老師傾注了大量的心血和汗水,無論是在論文的選題、構(gòu)思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了蔡老師悉心細(xì)致的教誨和無私的幫助,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實(shí)無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x!在論文的寫作過程中,也得到了許多同學(xué)的寶貴建議,在此一并致以誠摯的謝意。 感謝所有關(guān)心、支持、幫助過我的良師益友。 最后,向在百忙中抽出時間對本文進(jìn)行評審并提出寶貴意見的各位老師們表示衷心地感謝! 附錄1 智能循跡小車原理圖 附錄2 循跡程序 #include- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 51 單片機(jī) 小車 系統(tǒng) 設(shè)計(jì)
鏈接地址:http://kudomayuko.com/p-10142466.html