基于單片機的多功能智能小車設(shè)計論文
基于單片機的多功能智能小車設(shè)計論文,基于,單片機,多功能,智能,小車,設(shè)計,論文
基于單片機的智能小車控制系統(tǒng)
[摘要] 智能化是當今社會的新產(chǎn)物,也一個重要的發(fā)展方向在將來,未來智能化主要體現(xiàn)在不管理就可以按照人類的意愿需要人為的去控制就可以完成各項功能。這篇文章主要講述以單片機為主控制芯片的多功能智能小車的系統(tǒng)控制過程。多功能智能小車是以自動引導(dǎo)機器人系統(tǒng)為基礎(chǔ)的,可用以實現(xiàn)智能小車自動循跡,可以選擇出正確的線路。多功能智能小車是一個運用傳感器、單片機、電機驅(qū)動及自動控制等技術(shù)來實現(xiàn)按照預(yù)先設(shè)定的模式下,不受人為管理時能夠自動實現(xiàn)循跡導(dǎo)航的高新科技。該技術(shù)已經(jīng)應(yīng)用于無人駕駛機動車,無人工廠,倉庫,服務(wù)機器人等多種領(lǐng)域。
整個智能小車的設(shè)計主要是以STC89C52為主控制的核心,利用無線遙控功能來實現(xiàn)智能小車的各項運動,以及對智能小車各種功能模式的切換;采用了紅外線光電傳感器和接收器,實現(xiàn)智能小車的進行自動避障和循跡兩種功能。這篇設(shè)計的各個模塊都是獨立的,綜合的分析與對比,選擇出實用性最強的方案來設(shè)計。從最智能小車的小系統(tǒng)到紅外循跡功能和避障功能,都是非常謹慎的選擇與對比試驗才得出的結(jié)論。經(jīng)過一系列的調(diào)試與檢測,才得到準確的信號,將應(yīng)該有的功能實現(xiàn)出來。在單片機的控制下,可以將各模塊整合在一起,達到所預(yù)期的設(shè)計想法,成功的完了本次的設(shè)計與制作,可以使智能小車實現(xiàn)智能化的各種功能。
[關(guān)鍵詞]智能小車避障 循跡 智能化
Intelligent car control system based on single chip microcomputer
[Abstract] Intelligence is an important direction for the future development as a new product of modern society. It can operate automatically in a specific environment according to the predetermined pattern and will be able to complete the intended target without user’s management. This paper discusses the intelligent tracing electric trolley control process. Automatic tracing is used to make the car indentify route automatically , and choosing the right route, based on the automatic guide robot system. Intelligent tracing electric trolley is an advanced technology to realize automatic tracing navigation.
This dissertation discusses mainly on the design of the intelligent car in single-chip processor as the control core. To realize the car moving around and transform the mode of the small car function, it uses wireless remote control; to realize the small car obstacle-avoidance function and comprehensively car tracing function, it uses the infrared sensor. This excogitation adopts the research methods of contrast selected, independent modules, comprehensive treatment method. After the comparison between Pros and cons, the best program design will be elected combining with the actual situation. It is complete in accordance with the rigorous scientific attitude from the smallest systems to the wireless remote control, infrared tracking and ultrasonic obstacle avoidance. The right signal outputs can be gotten to achieve its function by the debugging detection module. Finally on the commissioning of the module into the bodywork of the car, with procedure and by single-chip processor control, it will be effectively integrated with the module, achieve the intended objectives, final design and production that can make cars intelligently operate in a certain circumstances.
[Key words] Intelligent toy car; Obstacle avoidance; tracking; Intelligent
目錄
第1章 緒論 2
1.1 研究的背景 2
1.2研究意義 3
1.3研究內(nèi)容 3
1.4國內(nèi)外研究現(xiàn)狀 3
1.5國內(nèi)外發(fā)展現(xiàn)狀 5
第2章 系統(tǒng)方案設(shè)計 6
2.1 主控制系統(tǒng) 6
2.2電源模塊 9
2.3 電機模塊 9
2.4循跡模塊 9
2.5避障模塊 10
2.6測速模塊 11
2.7顯示模塊 11
第3章 硬件設(shè)計 11
3.1 系統(tǒng)硬件設(shè)計 12
3.2電機驅(qū)動原理 13
3.3循跡電路 16
3.4避障檢測電路 17
3.5測速電路 18
3.6顯示電路 18
3.7復(fù)位電路 19
3.8晶振電路 20
3.9單片機最小系統(tǒng) 20
小結(jié) 21
第4章 軟件設(shè)計 22
4.1主程序模塊設(shè)計 22
4.2電機驅(qū)動程序設(shè)計 25
4.2.1電機驅(qū)動程序圖 25
4.2.2電機驅(qū)動程序的設(shè)計 25
4.3循跡程序設(shè)計 27
4.3.1循跡流程圖 27
4.3.2循跡程序 28
小結(jié) 29
總結(jié) 30
致 謝 31
參考文獻 31
附錄 A 33
附錄B 33
第1章 緒論
1.1 研究的背景
近年來計算機和微電子技術(shù)的高速發(fā)展使得各方對智能化技術(shù)的開發(fā)進程也隨之加快,不但在其智能程度方面有所提高,在各個領(lǐng)域的應(yīng)用也越來越廣。智能小車系統(tǒng)以成熟的現(xiàn)代汽車電子技術(shù)為基礎(chǔ),涉及到多個學科領(lǐng)域,如計算機、電子、傳感技術(shù)和電子等。同時,當今機器人技術(shù)的發(fā)展日新月異,其應(yīng)用于考古,探測,國防等眾多領(lǐng)域。無人飛船,外星探測,智能化生產(chǎn)等等無不得益于機器人技術(shù)的發(fā)展。一些發(fā)達國家已經(jīng)把機器人設(shè)計制作競賽作為創(chuàng)新教育的戰(zhàn)略手段。以某種角度來看,判定一個國家綜合科技技術(shù)水平的高低,機器人技術(shù)在其中占比很大。而智能小車是機器人的雛形,它的控制系統(tǒng)的研究與制作將有助于推動智能機器人控制系統(tǒng)的發(fā)展[1]。隨著智能化技術(shù)的發(fā)展,對于智能化技術(shù)的研究也越來越受關(guān)注。根據(jù)調(diào)查,近些年全國性的或者地方性的電子競賽中,有關(guān)智能小車的賽題越來越常見,這也引起了全國很多重點高校對該項目的重視,其中部分高校已經(jīng)開始投入對其的研究,由此見得,對智能小車的研究重要意義。
生活和生產(chǎn)的智能化大大提高了現(xiàn)代生活和工作的效率,同時也是今后的發(fā)展和研究方向。所謂智能,其實是在某種特定的情境下,依照提前設(shè)置的某種模式來進行自動化運行,我們不需要再投入些許精力去管理它的運作,就可以達到我們前面設(shè)定的目標。由于智能的高效化,越來越多的領(lǐng)域?qū)⑵溥\用其中,比如工業(yè)控制、科學勘探、智能家居等領(lǐng)域。而智能的其中一個簡單應(yīng)用就是智能小車,市場上隨處可見一些功能簡單的智能小車,這也是眾多智能化玩具種類中的其中一種,對玩家來說,智能化玩具的交互性和可控性較強,能夠按照提前設(shè)置好的模式去自動運行,光是這一點,就深受人們喜愛。一些功能較齊全的智能小車還可以應(yīng)用于危險搜索和機器人研究的各個方面,所以智能小車的研究不光有現(xiàn)實意義,還擁有長遠的應(yīng)用前景和不可估量的市場價值。
1.2研究意義
智能小車作為一個高新技術(shù)綜合體,需要運用計算機結(jié)束、傳感技術(shù)、信息技術(shù)、通信技術(shù)、導(dǎo)航技術(shù)、人工智能技術(shù)和自動控制技術(shù)去實現(xiàn)對環(huán)境的感知,自動規(guī)劃決策及自動行駛。目前,它已經(jīng)被軍事、民用和科學研究等方面所應(yīng)用,并且為解決道路交通安全的問題尋找到一條全新方法。隨著各種交通工具的速度被不斷提升,能夠按照既定的行駛路線自動行駛并且能夠自動避開途中的障礙物的智能汽車也在研究之列。
本設(shè)計就把這一設(shè)想基本變成了現(xiàn)實,小車能夠利用傳感器裝置實現(xiàn)對車體自身的智能控制,它不僅可以沿著地面的黑線行駛,還能夠自動檢測并且避開前方設(shè)置的障礙,實現(xiàn)了對現(xiàn)代機器的基本智能控制。對小車進行遠程遙控可以利用無線模塊,通過控制小車的前進和后退,左轉(zhuǎn)和右轉(zhuǎn)及停止行駛來分別實現(xiàn)循跡模式、避障模式、以及遙控模式這三種模式之間的相互轉(zhuǎn)換,所以它是一個相當?shù)湫偷默F(xiàn)代測控系統(tǒng),更是現(xiàn)代測控技術(shù)應(yīng)用中的典型。
1.3研究內(nèi)容
整個智能小車的設(shè)計主要是以STC89C52為主控制的核心,利用無線遙控功能來實現(xiàn)智能小車的各項運動,以及對智能小車各種功能模式的切換;采用了紅外線光電傳感器和接收器,實現(xiàn)智能小車的進行自動避障和循跡兩種功能。這篇設(shè)計的各個模塊都是獨立的,綜合的分析與對比,選擇出實用性最強的方案來設(shè)計。從最智能小車的小系統(tǒng)到紅外循跡功能和避障功能,都是非常謹慎的選擇與對比試驗才得出的結(jié)論。經(jīng)過一系列的調(diào)試與檢測,才得到準確的信號,將應(yīng)該有的功能實現(xiàn)出來。在單片機的控制下,可以將各模塊整合在一起,達到所預(yù)期的設(shè)計想法,成功的完了本次的設(shè)計與制作,可以使智能小車實現(xiàn)智能化的各種功能。
1.4國內(nèi)外研究現(xiàn)狀
作為高技術(shù)領(lǐng)域的一個重要研究課題,智能車的研究工作得到了世界各國的廣泛關(guān)注。美、德、意、法、日等國從多種角度展開了對智能車的研究,取得了許多有實際價值的研究成果,產(chǎn)生了明顯的社會和經(jīng)濟效益。下面簡要的介紹一下他們在智能車輛領(lǐng)域的研究現(xiàn)狀。
在美國,早在1954年,Barret Electronic:公司就研制出了世界上第一臺自動引導(dǎo)的車輛系統(tǒng)AGVS,是最早的關(guān)于智能車的研究,該系統(tǒng)還在SouthCarolina州的Mercury Motor Freight公司的倉庫內(nèi)投入運營,用于物品的自動運輸。同時,美國俄亥俄州立大學和加州大學以及其他一些研究機構(gòu)也正在進行全自動車輛的研制與改進工作。美國卡內(nèi)基.梅隆大學機器人研究所研制了一臺能夠完成傳感器信息融合、圖像理解和車體橫向控制等功能的NabLab-5系統(tǒng)智能車。1995年6月,NabLab-5進行了從賓州的匹茲堡到加州的圣地亞哥行程4587公里的實驗,其中自主駕駛部分占98.2%。另外,CMU大學研制出了一種類似于行星探測車的“流浪者”號智能車,此車具有多種環(huán)境感知能力,能在非結(jié)構(gòu)動態(tài)環(huán)境中實現(xiàn)自學習、自推理等功能,并能在沙漠中進行自主控制和幾千公里以外的人工遙控。由美國噴氣推進實驗室開發(fā)的一種微型智能車—納漫游車,用于協(xié)助火星車的工作。它的可移動柱桿的關(guān)節(jié)帶有輪子結(jié)構(gòu),是腿式機器人和輪式機器人結(jié)構(gòu)的結(jié)合,它可以在底盤朝上時自動翻轉(zhuǎn),實現(xiàn)自動矯正功能,并能在微重力的環(huán)境下行走。
在歐洲,意大利Parma大學信息工程系研制的帶有攝像機、霍爾效應(yīng)傳感器、IO接口板、信息輸出裝置和奔騰200MMX的PC ARGO試驗車,使用Linux操作系統(tǒng),在1998年6月進行了具有大量的高架橋和隧道2000公里的長距離實驗。在試驗中,ARGO試驗車自動駕駛里程達到總里程是94%。德國慕尼黑聯(lián)邦國防大學與奔馳汽車公司合作研制開發(fā)了VAMP試驗車,裝有道路檢測與跟蹤RDT和障礙物檢測與跟蹤ODT視覺系統(tǒng),具有強大的自動駕駛功能。法國帕斯卡大學的Peugeot系統(tǒng),將CCD攝像機和速度傳感器以及集成了計算機功能的一塊數(shù)字信號處理卡都安裝在雪鐵龍汽車上,該車在數(shù)百千米不同路況的自動行車試驗中最高時速達130km/h。
在亞洲,日本千葉技術(shù)研究所在2004年宣稱研制出一名叫“阿呂西格尼亞一號”的新型智能車,它的8個汽車輪子各帶一個智能腿,組合安裝在汽車上,由30個發(fā)動機帶動,使其按一定的規(guī)律運動,具有人腿的行走功能,可以自由前進、后退、跨越像樓梯等障礙物。夜視、后視報警系統(tǒng)、防撞設(shè)備、前方防撞和車道偏離報警系統(tǒng)等都己應(yīng)用在某些汽車上。本田公司、尼桑公司和豐田公司都在先進安全性車輛計劃中發(fā)展類似于這種的行車安全子系統(tǒng),它們包括:車道定位系統(tǒng)、前車距離控制系統(tǒng)、自動控制系統(tǒng)、障礙物警報系統(tǒng)、駕駛員打噸報警系統(tǒng)和夜間行人報警系統(tǒng)等。
在我國,關(guān)于智能車的研究起步較晚,但發(fā)展迅速,差距也在逐步減小。一汽和國防科技大學機電工程與自動化學院共同研發(fā)了中國第一輛自主駕駛車輛,采用最先進的計算機視覺導(dǎo)航方案,能實時分辨岔道、斑馬線和虛線,能自適應(yīng)能車體姿態(tài)變動和自然光照的變化,具有很強的自主駕駛功能。清華大學計算機系智能技術(shù)與系統(tǒng)國家重點實驗室研究開發(fā)的THMR系列智能車輛系統(tǒng)。其最新一代的智能車THMR-V系統(tǒng)裝備了超聲波測距、光碼盤和電子羅盤等傳感測量元件,同時載有DGPS互補定位系統(tǒng),激光雷達測距儀LMS220和攝像機遠近距離處理系統(tǒng)等主要設(shè)備,兼有面向高速公路和一般道路的功能。
在智能車輛的自主導(dǎo)航方面處于國內(nèi)領(lǐng)先水平的吉林大學,其智能車輛課題組正在研制第四代視覺導(dǎo)航車輛一UIV-IV,能感知車輛周圍環(huán)境、完成圖像處理、導(dǎo)航路徑識別及決策控制,可實現(xiàn)路徑自動跟蹤、自動轉(zhuǎn)向和自動行駛上海交通大學牽頭研制的首輛無人駕駛智能車采用發(fā)射激光并捕捉反射光判斷前方180”范圍內(nèi)的障礙物的方式控制,可以在特定校園環(huán)境中自由行駛,最高車速達27km/h。
由上述可以看到目前智能車輛技術(shù)在實際應(yīng)用汽車上還只局限在智能速度適應(yīng)、自動操作、智能檢測導(dǎo)航、碰撞預(yù)警系統(tǒng)、危險報警系統(tǒng)等輔助駕駛上,還不能實現(xiàn)完全的全智能控制,但隨著科學技術(shù)的發(fā)展,車輛智能化是未來汽車的發(fā)展方向,適應(yīng)性強、環(huán)境適應(yīng)性好、安全可靠的智能車輛將是汽車領(lǐng)域的一個研究熱點。
從2005年起,開始舉辦了一年一度的飛思卡爾杯全國大學生智能車競賽,該大賽是在飛思卡爾半導(dǎo)體公司資助下舉辦的大學生課外科技競賽。組委會提供一個標準的汽車模型,要求參賽隊伍以飛思卡爾半導(dǎo)體公司的8位、16位微控制器作為核心控制單元制作智能車,讓其能夠沿著白色賽道上的25~寬的黑色導(dǎo)航線行駛,跑完賽道單圈用時最短者勝出。
1.5國內(nèi)外發(fā)展現(xiàn)狀
世界上對機器人的設(shè)計和制造是由80年代中期開始的,很快這股浪潮推動了一些著名的公司開始對移動機器人的研制(但此時主要是一些大學的實驗室和特定的研究機構(gòu)平臺會用到),從而引申出更多的對移動機器人學的研究方向。90年代以后,研究人員把研制出高水準的環(huán)境信息傳感器和信息處理技術(shù),適應(yīng)性強的移動機器人住址技術(shù)和真實環(huán)境下的規(guī)劃技術(shù)作為標桿,開始了更高層次的對移動機器人的研究?,F(xiàn)代應(yīng)用到機器人的領(lǐng)域越來越廣泛,機器人的功能也越來越繁雜,但是總體層面上可以歸類為輪式機器人和足式機器人,而輪式機器人中最基本,最簡單的雛形就是智能小車,而且就是這樣一種簡單的智能小車就已經(jīng)具備了機器人的大部分功能,綜合國內(nèi)外專家的解釋,可普遍認為機器人一般是具有如下功能的機器:
(1)動作機構(gòu)具有類似于人或其他生物體某些器官(肢體、感官等)的功能;
(2)有通用性,工作種類多樣,動作程序靈活易變;
(3)有一定程度的智能,如記憶、感知、推測、決策和學習等;
(4)有獨立性,完整的機器人系統(tǒng)在工作時不依賴于人的操縱。隨著人工智能技術(shù)、計算機技術(shù)、自動控制技術(shù)的迅速發(fā)展,智能控制必將迎來它的發(fā)展新時代。
機器人領(lǐng)域近幾年有如下幾個發(fā)展趨勢:
(1)機器人的性價比在不斷提高的同時,其性能在速度、精度可靠性便于操作性和維修方面也在提升,但是單價卻與之成反比,呈下降趨勢。
(2)工業(yè)機器人為了實現(xiàn)標準化和網(wǎng)絡(luò)化,其控制系統(tǒng)朝著基于PC機的開放性控制器的方向發(fā)展,與此同時,其器件的集成度也在很大程度上得到了提高,更促進了系統(tǒng)的可靠性。易操作性和可維護性。
(3)眾多領(lǐng)域?qū)鞲衅鞯膽?yīng)用越來越頻繁,更加顯現(xiàn)出傳感器作用的重要性,傳統(tǒng)的傳感器,如位置傳感器、速度傳感器、加速度傳感器等已經(jīng)遠不能滿足需要,而像視覺、聲覺、力覺、觸覺等其他新興的多種傳感器早已被成熟融合運用于環(huán)境的建模和對決策的控制。
(4)機器人中運用到的虛擬現(xiàn)實技術(shù)發(fā)揮的作用已經(jīng)從一開始的仿真、預(yù)演發(fā)展到應(yīng)用于對過程的控制,例如讓遙控機器人的操作者根據(jù)在遠處其他情境中的感覺來對機器人進行相關(guān)操作。
(5)隨著發(fā)展,遙控機器人系統(tǒng)追求的不是全自制系統(tǒng),而是在發(fā)展中尋求操作者和機器人之間的相互控制,也就是說操作系統(tǒng)由人為的遙控再加上部分自主的系統(tǒng)能夠然研制的智能機器人不再是實驗室的常客,而是能夠真正進入社會,被各個領(lǐng)域廣泛應(yīng)用。
第2章 系統(tǒng)方案設(shè)計
基于單片機的智能電動小車控制系統(tǒng)主要實現(xiàn)循跡功能,為實現(xiàn)對小車的運動狀態(tài)進行實時控制,需要對小車設(shè)計進行軟硬件方案的設(shè)計與論證,以使其滿足控制靈活、可靠,精度高等性能。據(jù)此,確定如下方案:畫出要設(shè)計小車的PCB原理圖打成印制板,把印制板合理規(guī)劃作為小車的底板,在底板上加裝光電傳感器和單片機控制系統(tǒng)以實現(xiàn)對小車的位置、運行狀況等進行實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,以便單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對小車的智能控制。
2.1 主控制系統(tǒng)
方案一:單片機的另一個名稱是單片微控制器,它不具有完成某一個邏輯的功能,是能把一個計算機的系統(tǒng)集成到一個芯片上。概括的說:一塊芯片就變成了一臺計算機。它的體積很小、質(zhì)量也輕、價格也比較便宜。單片機的內(nèi)部有的模塊和電腦功能相似。例如CPU,并行總線,內(nèi)存,也有的存儲器件和硬盤作用一樣的。
單片機它是一種集成電路的芯片,應(yīng)用了很大規(guī)模的集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。
因為單片機擁有價格相對較便宜,而且種類多、控制功能也非常的強大等優(yōu)點,所以本次的設(shè)計就以STC89C52單片機作為整個智能小車的核心,它來控制智能小車使其能完成各項功能。STC89C52是一個擁有超低功耗的增強型51單片機,它與其他的51單片機對比下,它具有更快的運算速度,抗干擾能力也比其他的51系列單片機要強很多,它還可以在ISP在線編程,片上集成了512字節(jié)的隨機存取數(shù)據(jù)存儲器(RAM),并且片內(nèi)含8k字節(jié)空間的可以反復(fù)擦寫1000次的Flash只讀存儲器, 32個I/O口,以及3個16位可編程定時計數(shù)器。其指令系統(tǒng)和傳統(tǒng)的8051系列單片機指令系統(tǒng)完全兼容,降低了系統(tǒng)軟件設(shè)計的難度,電路設(shè)計簡單、價格低廉,在實驗中就可以發(fā)現(xiàn),STC 89C52的準確度和運算速率非常的高可以更有效的完成智能小車的各項功能。
STC89C52單片機是一種功耗低、性能高CMOS8位微控制器,帶8K字節(jié)閃爍可編程可除只讀存儲器。是擁有8位CPU的芯片,而且在系統(tǒng)還可以編程Flash。STC89C52單片機提供給為大多數(shù)嵌入式控制應(yīng)用系統(tǒng)靈活高、非常有效的解決方案。 STC89C52單片機擁有以下標準功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時器,內(nèi)設(shè)4KB EEPROM,還有兩個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。此外,當在空閑模式下,CPU 已經(jīng)停止工作,允許定時器/計數(shù)器、RAM、串口、中斷繼續(xù)工作。在掉電保護方式下,振蕩器被凍結(jié),RAM內(nèi)容被保存,單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。
方案二:
選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進行編寫開發(fā)。但CPLD在控制上較單片機有較大的劣勢。同時,CPLD的處理速度非??欤≤嚨男羞M速度不可能太高,相對緩慢,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許多不必要增加的難題,進而提出了第三種方案。
方案三:
采用單片機作為整個系統(tǒng)的核心,用其控制行進中的小車,以實現(xiàn)其既定的性能指標。充分分析設(shè)計的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機就顯現(xiàn)出了它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發(fā)揮其資源豐富、有較為強大的控制功能、可位尋址操作功能以及價格低廉等優(yōu)點。本設(shè)計采用方案二來完成智能小車的控制系統(tǒng)的設(shè)計。
針對本設(shè)計特點——多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標準單片機,在小車運行過程中需實時控制小車的運動狀態(tài),控制智能小車運行程序比較復(fù)雜,因而所需的內(nèi)存空間比較大。根據(jù)這些分析,我選定了STC12C5A60S2單片機作為本設(shè)計的主控裝置。STC12C5A60S2單片機有內(nèi)存空間大、高速、高可靠、寬電壓、超強抗干擾等功能;具有功能強大的位操作指令;I/O口均可按位尋址,程序空間多達60K;有8路8位高速A/D轉(zhuǎn)換器,速度可達到300KHz,且STC12C5A60S2單片機具有A/D轉(zhuǎn)換和PWM功能。
通過以上的分析我們可以知道方案一最為適合。
2.2電源模塊
由于本系統(tǒng)需要給整個智能小車系統(tǒng)供電,考慮了以下幾種方案:
方案一:采用4節(jié)1.2V可充電電池組。在電充滿時4節(jié)電池電壓可以達到5v且可充電電池組具有較強的電流驅(qū)動能力及穩(wěn)定的電壓輸出性能,但是直流電機工作時會對LCD1602液晶顯示有一定干擾,使其顯示不穩(wěn)定。故放棄此方案。
方案二:可采用兩個電源供電,將9v可充電方塊電池電壓降壓、穩(wěn)壓到5V后給單片機系統(tǒng)和LCD1602液晶和芯片的供電。另外選用4節(jié)1.2V可充電電池組為直流電機供電,經(jīng)測試在用此種供電方式下,單片機和傳感器工作穩(wěn)定,直流電機工作良好,LCD顯示也很穩(wěn)定,小車也能長時間工作。
根據(jù)以上的參考,此次設(shè)計選擇方案二能比方案一更好的為此設(shè)計的整個系統(tǒng)的供電。
2.3 電機模塊
方案一:此次設(shè)計應(yīng)用繼電器控制電動機,采用轉(zhuǎn)換電動機的開關(guān)從而調(diào)節(jié)小車的車速。電路非常簡單是次設(shè)計的優(yōu)點,可是他也有很多的缺點,比如說:繼電器的響應(yīng)時間相對來說比較慢, 可使用的時間也相對較短,并且很容易就會損壞,穩(wěn)定性也不是很好。所以決定放棄這個設(shè)計方案。
方案二:采用專用的電機驅(qū)動芯片L298N來控制直流減速電機, L298N芯片是一個具有高電壓大電流的全橋驅(qū)動芯片,單個L298N芯片可以對兩個直流減速電機分別控制,當電壓值為5至45V時,所提供的額定電流為2A,而且還擁有電流反饋檢測和當過熱的時候自動關(guān)斷的功能,穩(wěn)定性非常高也非常的安全。L298N利用了TTL電平進行整體控制。利用單片機的IO口輸出高電平和低電平對L298N控制端的輸入電平進行改變改,也就完成了對電機進行的反轉(zhuǎn)、正轉(zhuǎn)和停止的幾種操作。為了確保芯片可以正常的工作,還需要使用續(xù)流二極管。使用L298N驅(qū)動電機,提高了驅(qū)動的能力、更方便操作、具有良好的穩(wěn)定性、安全系數(shù)大。
L298N的綜合性能要比繼電器強,所以此次設(shè)計選用方案二作為多功能智能小車的電機驅(qū)動。
2.4循跡模塊
方案一:探測是采用光敏電阻來進行的。當周圍環(huán)境的光線增強或者減弱的時候可以改變光敏電阻的阻值。所以光敏電阻的阻值變化差異很大的時候是在黑色或白色軌跡上。輸出電平的高低取決于電壓比較器輸入的電阻值。當輸出的電平信號有變化時,小車會收到來自單片機的左右轉(zhuǎn)動和向前向后還有停止的指令,小車就會做出相應(yīng)的工作狀態(tài)。但是此方案的最終效果并不是非常的理想,因為小車受到環(huán)境因素的影響非常的大,極其容易產(chǎn)生較大的偏差,從而使小車不能正常的工作,所以此方案的實用性不大,而且不穩(wěn)定,故放棄此方案。
方案二:應(yīng)用紅外反射式光電管來實現(xiàn)小車系統(tǒng)的循跡。TCRT5000是一種一體化反射型的光電探測器,它的傳感器是應(yīng)用了高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,它的發(fā)射器是一個砷化鎵紅外發(fā)光二極管,但是它的接收器卻是一個靈敏度很高,硅平面的光電三極管。鄭重探測器運用了物理學中的光的反射,白紙被光線照射的時候,反射量相對來講會較大,黑紙被光線照射的時候,反射量相對較小,原因是黑色可以吸收光,通過這個原理就能知道黑色軌跡的方向。它應(yīng)用了紅外線發(fā)射的原理,一些在外邊的可見光對接的收影響并不是跟大,當檢測黑色軌跡的時候采用紅外管,之后經(jīng)過LM393的檢測來對比,取反,然后在單片機中進行處理。這個電路不是很復(fù)雜,并且可使用的壽命長,且具有穩(wěn)定的工作性能。
方案一的工作性能與方案二相比差了很多,系統(tǒng)的穩(wěn)定性也不如方案二強,經(jīng)過經(jīng)測,決定放棄方案一,選取方案二為小車循跡系統(tǒng)。
2.5避障模塊
小車的速度和反應(yīng)會受到定的限制在小車近視避障的時候,當在障礙物距離小車還有十五厘米的范圍之中的時候小車做出避障反應(yīng),當順利避開障礙物之后,就能找到合適的位置與方向。加入范圍太大的話,就很可能產(chǎn)生對障礙物的檢測失敗;當在短距離避障過程中又非常的容易造成車身撞上障礙物或者已經(jīng)避開了障礙物但是也不能找到合適的位置與方向。根據(jù)這幾點要求,提出以下方案:
方案一:利用激光傳感器探測障礙物。激光傳感器能夠非常精確的測出障礙物的距離與方向,可是價格昂貴,并且設(shè)計難度高,所以此設(shè)計不使用它。
方案二:利用紅外線避障傳感器進行小車的避障。用單片機產(chǎn)生的38KHz信號對紅外線發(fā)射管進行調(diào)制發(fā)射,紅外線接收管對被避障物反射回來的紅外線進行調(diào)節(jié),輸出比較電平。外界對紅外信號的干擾相對較小,并且容易實現(xiàn)。使用壽命長,價格低廉。
方案三:應(yīng)用超聲波傳感器進行障礙物的探測。將小車的前邊安裝上超聲波傳感器,當在十五厘米范圍內(nèi),當前方的障礙物被檢測到的時候,信號由超聲波傳感器傳送向單片機,信號被單片機檢測后,小車會自動調(diào)節(jié)方向,從而使小車成功避開障礙物。并且超聲波傳感器具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、具有定向傳播等特點[6]。
綜上所述,選用方案二為小車避障系統(tǒng)。
2.6測速模塊
方案1:利用霍爾開關(guān)元器件來檢測輪子上的磁感應(yīng)來記錄小車輪子轉(zhuǎn)動的圈數(shù),它的作用就是測速?;魻栐|(zhì)量小,安裝方便,并且操作簡單,使用壽命長,對外圍電路的設(shè)計要求不多,電源的要求也不高。霍爾元件對具有一定強度的磁場有用,不容易被干擾能,因此可以在車輪上安裝小磁鐵,而將霍爾器件安裝在固定軸上,通過對脈沖的計數(shù)進行車速測量。
方案2:利用紅外傳感器來對小車測速。可測速的紅外傳感器有兩種,一種是反射式紅外傳感器,另一種是對射式紅外傳感器,但是這兩種紅外傳感器的價格相對較高,而且使用起來條件苛刻,穩(wěn)定性也不高。
綜上所述,選擇方案一來作為小車的測速系統(tǒng)。
2.7顯示模塊
方案一:應(yīng)用LED數(shù)碼管作為小車進行顯示系統(tǒng)。LED數(shù)碼顯示管具有操作方便簡單,價格相對來講較低等優(yōu)點,但是一個數(shù)碼管也只能顯示一個數(shù)字,如果要顯示多個數(shù)字時就要同時使用多個數(shù)碼管,所以會增加額外的功耗,也使硬件電路的復(fù)雜程度大大提高,并且LED數(shù)碼管不能顯示數(shù)字以外的字符。因為LED數(shù)碼管不可以顯示過多的信息,所以不選用此方案為小車的顯示模塊。
方案二:應(yīng)用LCD液晶顯示作為小車的顯示模塊。LCD液晶之所以被廣泛的應(yīng)用是因為它的功耗相對較低,并且顯示的內(nèi)容清楚和顯示的容量大,它的速度也比LED塊很多。它的運行電路并不復(fù)雜,所以選擇此方案為小車的顯示模塊。
綜上所述,選擇方案二來顯示小車運行速度和路程。
第3章 硬件設(shè)計
一個單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計包含有兩部分內(nèi)容:一是系統(tǒng)擴展,即單片機內(nèi)部的功能單元,如ROM﹑RAM﹑I/O口﹑定時/記數(shù)器﹑中斷系統(tǒng)等能量不能滿足應(yīng)用系統(tǒng)的要求時,必須在片外進行擴展,選擇適當?shù)男酒?,設(shè)計相應(yīng)的電路。二是系統(tǒng)配置,既按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤顯示器﹑打印機﹑A/D﹑D/A轉(zhuǎn)換器等,要設(shè)計合適的接口電路,對于硬件的設(shè)計是最為重要的。
3.1 系統(tǒng)硬件設(shè)計
智能小車依靠前輪來進行驅(qū)動,即前輪的一左一右各會用到一個電機驅(qū)動,通過店家驅(qū)動芯片L298N來輪子的運動進而控制小車的轉(zhuǎn)向,后輪是萬向輪,它的作用是支持前輪的轉(zhuǎn)向,在小車底座的前端裝4個紅外光電傳感器,這樣一來,小車就可以由傳感器對地面環(huán)境檢測到的境況前進。
對小車速度的檢測則要利用到槽型光電傳感器,把碼盤裝在電機的轉(zhuǎn)動軸上面,然后碼盤會跟著電機的轉(zhuǎn)動而轉(zhuǎn)動,最后把對數(shù)據(jù)的檢測情況傳給單片機處理。
小車要達到避障的目的就需要用到超聲波避障模塊HC-SR04,把這個模塊放在車頭,這樣小車才能及時檢測到前方障礙物,從而車體做出相應(yīng)的避障運動。
3.2電機驅(qū)動原理
電機的驅(qū)動芯片需要用到L298N,這是一款能夠承受高壓大電流的全橋型直流、步進電壓驅(qū)動器。
表3-1 L298N引腳編號與功能
引腳編號
名稱
功能
1
電流傳感器A
在該引腳和地之間接小阻值電阻可用來檢測電流
2
輸出引腳1
內(nèi)置驅(qū)動器A的輸出端1,接至電機A
3
輸出引腳2
內(nèi)置驅(qū)動器A的輸出端2,接至電機A
4
電機電源端
電機供電輸入端,電壓可達46V
5
輸入引腳1
內(nèi)置驅(qū)動器A的邏輯控制輸入端1
6
使能端A
內(nèi)置驅(qū)動器A的使能端
7
輸入引腳2
內(nèi)置驅(qū)動器A的邏輯控制輸入端2
8
邏輯地
邏輯地
9
邏輯電源端
邏輯控制電路的電源輸入端為5V
10
輸入引腳3
內(nèi)置驅(qū)動器B的邏輯控制輸入端1
11
使能端B
內(nèi)置驅(qū)動器B的使能端
12
輸入引腳4
內(nèi)置驅(qū)動器B的邏輯控制輸入端2
13
輸出引腳3
內(nèi)置驅(qū)動器B的輸出端1,接至電機B
14
輸出引腳4
內(nèi)置驅(qū)動器B的輸出端2,接至電機B
15
電流傳感器B
在該引腳和地之間接小阻值電阻可用來檢測電流
如上圖:這是一個典型的控制直流電機的電路。因為它的形狀很接近英文字母H,其中,四個三極管就像是H橋的四條垂直的線,H中的橫線就是電機,所以被稱作“H橋驅(qū)動電路”。
如圖所示,H橋電機驅(qū)動電路包括兩個部分,第一個部分是四個三極管,第二個部分就是一個電機。電機要運轉(zhuǎn),一定要按照導(dǎo)通在對角線上的一對三極管,根據(jù)不同三極管導(dǎo)通的情況來控制電機的轉(zhuǎn)向,電流不但可以從左至右流過電機,也可以反方向流通。
當Q1管和Q4管導(dǎo)通時,電流就會由電源的正極經(jīng)過Q1從左享有地流過電機,然后再由Q4流回到電源的負極,這樣的電流流向才會驅(qū)動電機進行順時針的轉(zhuǎn)動。
接下來將對另一對三極管Q2和Q3進行分析,在兩個三極管同時被導(dǎo)通之后,電流的流向是從右向左流動,繼而驅(qū)動機按逆時針方向運動。
電機被驅(qū)動前,一定要確保H橋上兩邊同側(cè)的三極管沒有被導(dǎo)通,若在同一時間把三極管Q1和Q2,電流的流向就會變成,由正極開始,經(jīng)過兩個三極管,最后回到負極,這種情況下,整個電路上的電流就可能達到最大值,因為除了三極管,整個電路中再無其他的負載,電流只受到電源性能的限制,所以可能會把三極管燒壞掉。由此可知,最好用硬件電路去控制實際驅(qū)動電路中三極管的開關(guān)。
如圖下圖所示,它的電路已經(jīng)在上述的基礎(chǔ)上改進過,在H橋電路上加了四個二極管以達到對電路的保護目的。四個與門和同一個“使能”導(dǎo)通信號相接后,就能達到只利用一個信號來控制整個電路的開關(guān)的目的。
如果采用上述方式,那么兩個方向信號和一個使能信號就能控制電機的運轉(zhuǎn)。如果DIR-L信號為"0",DIR-R信號為"1",并且使能信號是"1",當三極管Q1和Q4被導(dǎo)通后,電流的流向就會是從左到右流過電機;如果DIR-L信號變?yōu)?"1",而DIR-R信號變?yōu)?0"時,導(dǎo)通的將會是Q2和Q3,電流的流向則會變反流過電機。
小車運動邏輯
使能端A
使能端B
左電機
右電機
左電機
運行狀態(tài)
右電機
運行狀態(tài)
小車
運行狀態(tài)
IN1
IN2
IN3
IN4
1
1
1
0
1
0
正轉(zhuǎn)
正轉(zhuǎn)
前行
1
1
1
0
0
1
正轉(zhuǎn)
反轉(zhuǎn)
右轉(zhuǎn)
1
1
1
0
1
1
正轉(zhuǎn)
停止
以右電機為中心原地右轉(zhuǎn)
1
1
0
1
1
0
反轉(zhuǎn)
正轉(zhuǎn)
左轉(zhuǎn)
1
1
0
1
0
1
反轉(zhuǎn)
反轉(zhuǎn)
后退
1
1
1
1
1
0
停止
正轉(zhuǎn)
以左電機為中心原地左轉(zhuǎn)
3.3循跡電路
循跡檢測電路主要是由紅外發(fā)射器和接受傳感器組成。如圖所示。當物體被紅外發(fā)光二極管以一定的光強照射時,電路中的三極管在接收到反射回來的紅外線后導(dǎo)通,然后發(fā)出一個電平跳變信號。如果小車在不是黑色的地方運動時,當紅外信號被發(fā)射管反射之后,就會被紅外接受傳感器接受,當接收管接收到信號的時候,光敏三極管就會導(dǎo)通,然后輸出低電平,經(jīng)過電壓比較器傳送給單片機進行控制。如果小車行駛到黑色軌跡上的時候,紅外發(fā)射器的紅外線信號就會被黑色軌道吸收,光敏三極管斷路,然后輸出高電平,這就是紅外線信號檢測的原理。把之前檢測到的信號傳送給單片機,當檢測到的信號為高電平的時候,就說明小車在黑色的軌道上行駛,因為紅外光會被黑色軌道吸收,如果單片機檢測到的信號為低電平的時候,說明小車沒有在黑色軌道上行駛。
圖3-4 循跡檢測電路
循跡電路是可以利用電阻值得變化改變傳感器的靈敏度,這樣就你那個使小車在不同亮度的地方完成循跡功能。在車的底盤上安裝了接受器,信號很難控制,調(diào)節(jié)可調(diào)電阻,靈敏度不高,因此采用在對管上套塑料管,屏蔽外界光的影響,靈敏度將大幅提升。在該電路中,加比較器LM339的目的是使模擬量轉(zhuǎn)化為開關(guān)量,便于處理。
3.4避障檢測電路
本模塊主要有兩部分組成,38KHz的紅外發(fā)射模塊和接收比較模塊,采用38KHZ頻率段是能有效的排除可見光的干擾[10],實現(xiàn)避障有效距離50CM左右,更好的完成對電機的控制。如圖3-11 紅外線避障電路原理圖。通過555芯片組成多諧振蕩器,根據(jù)F=1.43/(R1+2*R2)*C設(shè)計出38KHZ方波信號[11]。
圖3-6 紅外避障原理圖
接通電源后,電容C被充電,當2腳VC上升到2VCC/3,使3腳V0為低電平,同時內(nèi)部三極管T導(dǎo)通,此時電容C通過R2和T放電,VC下降,當VC下降到VCC/3時,V0翻轉(zhuǎn)為高電平。當放電結(jié)束時,T截止,VCC通過R1、R2向電容C充電,上升到VCC/3時,電路又翻轉(zhuǎn)為低電平,如此周而復(fù)始,于是,在電路的輸出端就得到一個周期性的矩形波,由3腳輸出,再通過三極管9013驅(qū)動后由發(fā)射管發(fā)出并由接收模塊接收實現(xiàn)單片機控制。
3.5測速電路
通過霍爾元件感應(yīng)磁鐵來產(chǎn)生脈沖(當霍爾元件在離磁場較近時輸出會是高電平,其它時候是低電平),在小車的每一個輪子上都放上磁鐵,這樣就能知道每秒的脈沖數(shù),然后就可以算出每秒小車車輪轉(zhuǎn)了多少圈,小車的車輪周長可以通過測量算出,從而可以計算出小車的速度,同樣也能計算出小車行駛的總路程。
3.6顯示電路
顯示電路用LCD1602來進行數(shù)據(jù)的顯示,顯示電路的目的是顯示行駛距離還有行駛時間,LCD液晶具有的優(yōu)點有功耗相對較低、可以顯示非常多的內(nèi)容、顯示出來的內(nèi)容清晰,顯示的信息量也很大,顯示的速度快。LCD1602的亮度由滑動變阻器來挑動,電路原理圖如下圖。
3.7復(fù)位電路
復(fù)位電路的作用是在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài):在這段時間里使CPU時刻保持復(fù)位的狀態(tài),而不是剛一上電或剛復(fù)位完畢就工作,預(yù)防CPU發(fā)出的指令有錯誤、從而導(dǎo)致操作錯誤。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。施密特觸發(fā)電路是一種波形整形電路,當電路檢測出任何波形的信號的時候,輸出在正飽和與負飽和之間轉(zhuǎn)換,從而產(chǎn)生方波或脈波輸出。與比較器不同的是,施密特觸發(fā)電路的滯后區(qū)由兩個臨界電壓組成,它的作用是防止在滯后的范圍內(nèi)受到噪聲干擾電路的能繼續(xù)正常工作。
本設(shè)計采用的電容值為10μF的電容和電阻采用1.5KΩ和200Ω的電阻。如圖所示上電后,由于電容充電,使RST持續(xù)一段高電平時間。當單片機已在運行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位的操作[6] [7]。
3.8晶振電路
在STC89C52單片機上內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。在1和XTAL2引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。從XTAL1接入,如圖所示。由于外部時鐘信號經(jīng)過二分頻觸發(fā)后作為外部時鐘電路輸入的,所以對外部時鐘信號的占空比沒有要求。
此電路采用12MHZ無源晶振、2個22pF電容,使一個機器周期是1μs。晶振起到提供時鐘信號的作用,兩個電容的作用是并聯(lián)諧振,若是把電容拿走,振蕩電路就會停止震動,因為沒有回路,電路就不能正常運行。
3.9單片機最小系統(tǒng)
小結(jié)
智能小車依靠前輪來進行驅(qū)動,即前輪的一左一右各會用到一個電機驅(qū)動,通過店家驅(qū)動芯片L298N來輪子的運動進而控制小車的轉(zhuǎn)向,后輪是萬向輪,它的作用是支持前輪的轉(zhuǎn)向,在小車底座的前端裝4個紅外光電傳感器,這樣一來,小車就可以由傳感器對地面環(huán)境檢測到的境況前進。
對小車速度的檢測則要利用到槽型光電傳感器,把碼盤裝在電機的轉(zhuǎn)動軸上面,然后碼盤會跟著電機的轉(zhuǎn)動而轉(zhuǎn)動,最后把對數(shù)據(jù)的檢測情況傳給單片機處理。
小車要達到避障的目的就需要用到超聲波避障模塊HC-SR04,把這個模塊放在車頭,這樣小車才能及時檢測到前方障礙物,從而車體做出相應(yīng)的避障運動。
第4章 軟件設(shè)計
智能小車系統(tǒng)的軟件設(shè)計在整個設(shè)計中起到至關(guān)重要的最用,軟件設(shè)計可以使各個模塊都正常運行。這個智能小車整體的靈魂就是軟件系統(tǒng),它可以控制硬件來實現(xiàn)智能小車的各項功能的正常運行。整個系統(tǒng)的功能是由軟件和硬件共同來實現(xiàn)的,軟件具有可伸縮性,才能實現(xiàn)的系統(tǒng)各項功能有很大的差別的可能。此次系統(tǒng)軟件的設(shè)計采用模塊化,這種方法可以大大減少的出錯率,提高的系統(tǒng)的穩(wěn)定性,而且這種方法容易編程。對軟件設(shè)計檢測的主要方法還有檢查錯誤故障。。在此次設(shè)計中,系統(tǒng)軟件設(shè)計主要包括電動機控制程序設(shè)計、循跡模塊程序設(shè)計、避障模塊程序設(shè)計。
4.1主程序模塊設(shè)計
void main()
{
Timer_Init(); //定時器初始化
INT0_Init(); //外部中斷初始化
LCD_Init(); //LCD1602初始化
TR1=1; //啟動定時器
lcd_write_cmd(0x80);
LED1 = 1;
LED2 = 1;
while(1)
{
PWM(); //pwm調(diào)速
track(); //調(diào)用循跡子程序
lcd_write_cmd(0x80+0x09);
lcd_write_dat(qian);
lcd_write_cmd(0x80+0x0a);
lcd_write_dat(bai2);
lcd_write_cmd(0x80+0x0b);
lcd_write_dat(shi2);
lcd_write_cmd(0x80+0x0c);
lcd_write_dat(ge2);
lcd_write_cmd(0x80+0x47);
lcd_write_dat(bai1);
lcd_write_cmd(0x80+0x48);
lcd_write_dat(shi1);
lcd_write_cmd(0x80+0x49);
lcd_write_dat(ge1);
if(flag1==1&&flag2==1)
{
csb(); //調(diào)用超聲波子程序
flag1=0;
}
}
}
4.2電機驅(qū)動程序設(shè)計
電機驅(qū)動的程序流程圖如下圖,如果小車在黑色軌道上,那么小車前邊的左右兩個電動機同時轉(zhuǎn)動,小車向前行駛,如果小車在黑色軌道的右側(cè),那么小車的右側(cè)電動機正轉(zhuǎn),左側(cè)電動機反轉(zhuǎn),小車向左轉(zhuǎn)彎,如果小車在黑色軌道的左側(cè),那么小車的左側(cè)電動機正轉(zhuǎn),右側(cè)電動機反轉(zhuǎn),小車向右轉(zhuǎn)彎。若小車不在黑色軌道上,那么小車的兩個電動機同時反轉(zhuǎn),小車向后行駛并回到初始位置,電動機停止轉(zhuǎn)動。
4.2.1電機驅(qū)動程序圖
4.2.2電機驅(qū)動程序的設(shè)計
void goahead() //小車直走
{
IN1 = 1;
IN2 = 0;
IN3 = 1;
IN4 = 0;
}
void goback() //小車后退
{
IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 1;
}
void turnright() //小車向右轉(zhuǎn)
{
IN1 = 1;
IN2 = 0;
IN3 = 0;
IN4 = 1;
}
void turnleft() //小車向左轉(zhuǎn)
{
IN1 = 0;
IN2 = 1;
IN3 = 1;
IN4 = 0;
}
void zw_turnright() //用于轉(zhuǎn)彎時的左轉(zhuǎn)
{
IN1 = 1;
IN2 = 0;
IN3 = 0;
IN4 = 0;
}
void zw_turnleft() //用于轉(zhuǎn)彎時的右轉(zhuǎn)
{
IN1 = 0;
IN2 = 0;
IN3 = 1;
IN4 = 0;
}
void stop() //小車停止
{
IN1 = 0;
IN2 = 0;
IN3 = 0;
IN4 = 0;
}
void PWM(void) //小車調(diào)速
{
PWM_ENA = 1;
PWM_ENB = 1;
delayXms(H);
PWM_ENA = 0;
PWM_ENB = 1;
delayXms(L);
PWM_ENA = 0;
PWM_ENB = 0;
delayXms(N);
}
4.3循跡程序設(shè)計
在循跡模塊流程圖中,通過檢測P1口第四位的電平并把它賦給變量temp然后用switch-case語句來根據(jù)P1口低四位的電平,向L298N傳送電平,然后控制小車進行前進、后退左右轉(zhuǎn)彎等功能。
4.3.1循跡流程圖
4.3.2循跡程序
void track( void )
{
uchar temp = 0;
temp = P1 & 0x0f; //取P1口低四位賦給變量temp
switch( temp )
{
case 0x09:
goahead(); //直走
break;
case 0x0c:
case 0x0e:
turnleft();//左轉(zhuǎn)
break;
case 0x03:
case 0x07:
turnright();//右轉(zhuǎn)
break;
case 0x0f:
goback();// 后退
break;
case 0x00:
stop(); //停止
break;
case 0x08:
zw_turnleft();//用于直角轉(zhuǎn)彎時的左轉(zhuǎn)
delayXms(20);
break;
case 0x01:
zw_turnright(); //用于直角轉(zhuǎn)彎時的右轉(zhuǎn)
delayXms(20);
break;
default:
break;
}
}
小結(jié)
在這一章,主要對于主程序模塊設(shè)計、電機驅(qū)動程序設(shè)計、循跡程序設(shè)計的模塊的控制的程序進行了分析和設(shè)計,更好的為實現(xiàn)小車循跡功能做出了鋪墊。
總結(jié)
這次設(shè)計是多功能智能小車系統(tǒng)設(shè)計,主要的功能有循跡功能、測速功能、避障功能和顯示功能等。以單片機為整體設(shè)計的核心,采用霍爾傳感器進行里程計算和統(tǒng)計,利用紅外傳感器進行目標識別與避障;采用直流電機使小車具有改變方向的功能和對車速的控制,由軟件系統(tǒng)實現(xiàn)小車自動行駛、自動避障,里程統(tǒng)計,行駛時間顯示,并發(fā)出指示信息
收藏
編號:2689573
類型:共享資源
大?。?span id="kywiwiy4em" class="font-tahoma">9.98MB
格式:ZIP
上傳時間:2019-11-28
5
積分
- 關(guān) 鍵 詞:
-
基于
單片機
多功能
智能
小車
設(shè)計
論文
- 資源描述:
-
基于單片機的多功能智能小車設(shè)計論文,基于,單片機,多功能,智能,小車,設(shè)計,論文
展開閱讀全文
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。