版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計)</b></p><p> 題 目:利用接近開關(guān)實現(xiàn)小車的循跡問題</p><p> 完 成 人: </p><p> 班 級: 09級通信7班 </p><p>
2、學 制: </p><p> 專 業(yè): 通信工程 </p><p> 指導(dǎo)教師: </p><p> 完成日期: 2013—03—06 </p>
3、;<p><b> 摘 要</b></p><p> 本設(shè)計是一種基于單片機控制的簡易智能尋跡小車系統(tǒng),旨在設(shè)計出一款可以自主按照人類預(yù)設(shè)的軌跡行走并完成指定任務(wù)的小車。本設(shè)計主要有三個模塊包括信號檢測模塊、主控模塊、電機驅(qū)動模塊。信號檢測模塊采用紅外光對管,用以對黑線進行檢測。控制系統(tǒng)以STC89C52為控制核心, 用單片機產(chǎn)生PWM波,控制小車速度及轉(zhuǎn)向,從而實現(xiàn)自動
4、循跡的功能。</p><p> 關(guān)鍵詞 : 循跡小車,單片機,紅外傳感器</p><p> Abstract(需改)</p><p> The design is a simple microcontroller-based control automatically tracing the car system.The design aims to desi
5、gn a can of independent walking in accordance with the trajectory of human default (or completely autonomous walking) and to complete the tasks assigned to the car. The design includes the functional requirements from th
6、e design of car mechanical design and control system hardware and software design. Control system to control the core to STC89C52 microcontroller PWM wave to control t</p><p> Keywords: car tracking;microco
7、ntroller;Infrared sensors</p><p><b> 目錄</b></p><p> 第一章 緒論4</p><p> 1.1智能循跡小車的意義和作用4</p><p> 1.2智能小車的現(xiàn)狀4</p><p> 第二章 方案設(shè)計與論證5<
8、/p><p> 2.1 主控系統(tǒng)5</p><p> 2.2 電機驅(qū)動模塊5</p><p> 2.3 循跡模塊6</p><p> 2.5 機械系統(tǒng)7</p><p> 第三章 硬件設(shè)計8</p><p><b> 3.1總體設(shè)計9</b></p
9、><p> 3.2TCRT5000黑色軌跡識別電路9</p><p> 3.3LM324電壓比較電路9</p><p> 3.4 STC89C52單片機控制電路10</p><p> 3.4.1 時鐘電路11</p><p> 3.4.2 復(fù)位電路11</p><p> 3.4
10、.3 EA/VPP(31 腳)的功能和接法12</p><p> 3.4.4 P0 口外接上拉電阻12</p><p> 3.5 L298N馬達驅(qū)動電路13</p><p> 第四章 程序設(shè)計14</p><p><b> 4.1主程序14</b></p><p> 4.2T
11、CRT5000掃描程序16</p><p><b> 結(jié)束語17</b></p><p><b> 參考文獻18</b></p><p><b> 致謝20</b></p><p><b> 附 錄21</b></p>&
12、lt;p><b> 第一章 緒論</b></p><p> 1.1智能循跡小車的意義和作用 </p><p> 隨著科技的迅速發(fā)展,關(guān)于智能化的研究也就越來越受人關(guān)注。機器人的發(fā)展已經(jīng)遍及機械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。近幾十年來中國在航天領(lǐng)域的發(fā)展越來越快,世界各國也從
13、沒停止過探索外星的腳步。在外星球惡劣的環(huán)境下探索全由人去完成是不可能的。那么可以自動駕駛的小車就發(fā)揮了它的作用了。用帶有攝像頭的小車就可以讓我們在地球上看到外星球的地貌。如何讓小車自動的準確的按照人預(yù)設(shè)的路線去進行工作成了人們開始研究的課題,現(xiàn)在也有很多的相關(guān)成果。</p><p> 尋跡小車要實現(xiàn)自動導(dǎo)引功能就必須要感知導(dǎo)引線,感知導(dǎo)引線相當給機器人一個視覺功能。避障控制系統(tǒng)是基于自動導(dǎo)引小車(AGV—aut
14、o-guide vehicle)系統(tǒng),基于它的智能小車實現(xiàn)自動識別路線,判斷并自動避開障礙,選擇正確的行進路線。使用傳感器感知路線和障礙并做出判斷和相應(yīng)的執(zhí)行動作。</p><p> 本設(shè)計就采用了比較先進的 80C51 為控制核心,功耗很低。該設(shè)計具有實際意義,可以應(yīng)用于考古、機器人、醫(yī)療器械等許多方面。尤其是 在足球機器人研究方面具有很好的發(fā)展前景;在考古方面也應(yīng)用到了超聲波傳感器進行檢測。所以本設(shè)計與實際
15、相結(jié)合,現(xiàn)實意義很強。該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、CPU。實現(xiàn)小車自動識別路線,選擇正確的行進路線。傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價廉物美的紅外反射式傳感器來充當。智能小車的執(zhí)行部分,是由直流電機來充當?shù)?,主要控制小車的行進方向。實現(xiàn)了小車根據(jù)路線自動轉(zhuǎn)向也就可以讓小車去完成人預(yù)設(shè)的任務(wù)。</p&
16、gt;<p> 1.2智能小車的現(xiàn)狀 </p><p> 現(xiàn)智能小車發(fā)展很快,從智能玩具到其它各行業(yè)都有實質(zhì)成果。其基本可實現(xiàn)循跡、避障、檢測貼片、尋光入庫、避崖等基本功能,這幾節(jié)的電子設(shè)計大賽智能小車又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車更是走在前列。我此次的設(shè)計主要實現(xiàn)循跡避障這兩個功能。 </p><p> 第二章 方案設(shè)計與論證</p>
17、<p> 根據(jù)要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電檢測器,實現(xiàn)對電動車的位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,然后由單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。這種方案能實現(xiàn)對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。</p><p><b> 2.1 主控系統(tǒng)</b></p>&
18、lt;p> 根據(jù)設(shè)計要求,我認為此設(shè)計屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進行了綜合的比較論證,具體如下:</p><p><b> 方案一:</b></p><p> 采用PLC作為主控系統(tǒng),PLC雖然性能穩(wěn)定但是價格昂貴,為此,我們不采用該種方案,進而提出了第二種設(shè)想。</p><p><b>
19、 方案二:</b></p><p> 采用單片機作為整個系統(tǒng)的核心,用其控制行進中的小車,以實現(xiàn)其既定的性能指標。充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發(fā)揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。因此,這種方案是一種較為理想的方案。</p><p>
20、; 針對本設(shè)計特點——多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標準單片機,而不能用精簡I/O口和程序存儲器的小體積單片機,D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52RA單片機作為本設(shè)計的主控裝置,51單片機具有功能強大的位操作指令,I/O口均可按位尋址,程序空間多達8K,對于本設(shè)計也綽綽有余,更可貴的是51單片機價格非常低廉。</p><p> 在綜合考慮了傳感器、兩部
21、電機的驅(qū)動等諸多因素后,我們決定采用一片單片機,充分利用STC89C52單片機的資源。</p><p> 2.2 電機驅(qū)動模塊</p><p><b> 方案一:</b></p><p> 采用繼電器對電動機的開或關(guān)進行控制,通過開關(guān)的切換對小車的方向進行調(diào)整.此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性
22、不高。</p><p><b> 方案二:</b></p><p> 采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機的分壓,從而達到分壓的目的。但電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機電阻很小,但電流很大,分壓不僅會降低效率,而且實現(xiàn)很困難。</p><p><b> 方案三:</b&g
23、t;</p><p> 采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強,采用由達林頓管組成的 H型橋式電路(如圖3.1)。用單片機控制達林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強,是一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面
24、上有很多此種芯片,我選用了L298N。</p><p> 這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機。</p><p><b> 2.3 循跡模塊</b></p><p><b>
25、方案一:</b></p><p> 采用簡易光電傳感器結(jié)合外圍電路探測,但實際效果并不理想,對行駛過程中的穩(wěn)定性要求很高,且誤測幾率較大、易受光線環(huán)境和路面介質(zhì)影響。在使用過程極易出現(xiàn)問題,而且容易因為 該部件造成整個系統(tǒng)的不穩(wěn)定。故最終未采用該方案。</p><p><b> 方案二:</b></p><p> 采用三只紅外
26、對管,平均置于小車車頭前端,根據(jù)三只光電開關(guān)接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整車向,測試表明,只要合理安裝好三只光電開關(guān)的位置就可以很好的實現(xiàn)循跡的功能。</p><p><b> 方案三:</b></p><p> 采用三只紅外對管,一只置于軌道中間,兩只置于軌道外側(cè),當小車脫離軌道時,即當置于中間的一只光電開關(guān)脫離軌道時,等待外面任一只檢測到黑線后,做
27、出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的光電開關(guān)重新檢測到黑線(即回到軌道)再恢復(fù)正向行駛。現(xiàn)場實測表明,小車在尋跡過程中有一定的左右搖擺不定,雖然可以正確的循跡但其成本與穩(wěn)定性都次與第二種方案。</p><p> 通過比較,我選取第二種方案來實現(xiàn)循跡。</p><p> 通過比較,我選取第二種方案來實現(xiàn)循跡。</p><p><b> 2.4 避障模塊<
28、/b></p><p><b> 方案一:</b></p><p> 采用一只紅外對管置于小車中央。其安裝簡易,也可以檢測到障礙物的存在,但難以確定小車在水平方向上是否會與障礙物相撞,也不易讓小車做出精確的轉(zhuǎn)向反應(yīng)。</p><p><b> 方案二:</b></p><p> 采用二
29、只紅外對管分別置于小車的前端兩側(cè),方向與小車前進方向平行,對小車與障礙物相對距離和方位能作出較為準確的判別和及時反應(yīng)。但此方案過于依賴硬件、成本較高、缺乏創(chuàng)造性,而且置于小車左方的紅外對管用到的幾率很小,所以最終未采用。</p><p><b> 方案三:</b></p><p> 采用一只紅外對管置于小車右側(cè)。通過測試此種方案就能很好的實現(xiàn)小車避開障礙物,且充分
30、的利用資源而不浪費。(參考文獻[3])</p><p> 通過比較我采用方案三。</p><p><b> 2.5 機械系統(tǒng)</b></p><p> 本題目要求小車的機械系統(tǒng)穩(wěn)定、靈活、簡單,可選用三輪和四輪式,考慮到現(xiàn)在的汽車多采用四輪式我選用四輪式的設(shè)計,使設(shè)計更貼近生活需求。驅(qū)動和轉(zhuǎn)向方式和現(xiàn)在的汽車一樣。</p>
31、<p> 驅(qū)動部分:采用玩具小車原有的驅(qū)動電機,由L298N雙通道馬達驅(qū)動模塊驅(qū)動前后兩個馬達,其力矩完全可以達到模擬效果。</p><p> 電池的安裝:將電池放置在車體的下面,降低車體重心,提高穩(wěn)定性,同時可增加驅(qū)動輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。</p><p> 電源模塊:采用6支1.5V電池給電機供電,再用穩(wěn)壓芯片對電池電壓進行降壓給單片機。采用一套電源可減
32、少小車的負重。電壓轉(zhuǎn)換電路如圖2所示。整體組裝效果如圖3所示。</p><p><b> 圖2 5V穩(wěn)壓電路</b></p><p><b> 圖3 小車組裝效果</b></p><p><b> 2.6電源模塊</b></p><p><b> 方案一:&l
33、t;/b></p><p> 采用實驗室有線電源通過穩(wěn)壓芯片供電,其優(yōu)點是可穩(wěn)定的提供5V電壓,但占用資源過大。</p><p><b> 方案二:</b></p><p> 采用4支1.5V電池單電源供電,但6V的電壓太小不能同時給單片機與與電機供電。</p><p><b> 方案三:<
34、/b></p><p> 采用8支1.5V電池雙電源分別給單片機與電機供電可解決方案二的問題且能讓小車完成其功能。</p><p> 所以,我選擇了方案三來實現(xiàn)供電。</p><p><b> 第三章 硬件設(shè)計</b></p><p><b> 3.1總體設(shè)計</b></p>
35、;<p> 智能小車采用前輪驅(qū)動,前輪左右兩邊各用一個電機驅(qū)動,調(diào)制前面兩個輪子的轉(zhuǎn)速起停從而達到控制轉(zhuǎn)向的目的,后輪是萬象輪,起支撐的作用。將循跡光電對管分別裝在車體下的左右。當車身下左邊的傳感器檢測到黑線時,主控芯片控制左輪電機停止,車向左修正,當車身下右邊傳感器檢測到黑線時,主控芯片控制右輪電機停止,車向右修正。</p><p> 避障的原理和循線一樣,在車身右邊裝一個光電對管,當其檢測到
36、障礙物時,主控芯片給出信號報警并控制車子倒退,轉(zhuǎn)向,從而避開障礙物。</p><p> 圖11 整體設(shè)計框圖</p><p> 3.2TCRT5000黑色軌跡識別電路</p><p> 小車循跡原理是小車在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強弱來判斷“道路”—黑線。本次設(shè)計規(guī)定正常行駛時三個紅外探頭都在黑
37、色軌跡之內(nèi),如果有探頭檢測到車體開始偏離軌道則由控制系統(tǒng)做出相應(yīng)響應(yīng)使車體回到軌道上。此電路模塊就是用于檢測車體是否超出軌道并反饋給下一級電路。這一方法經(jīng)常被叫做紅外探測法。紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號。如圖12軌跡識別電路所示,發(fā)射管
38、(1、2端)與阻值為330歐姆的電阻串聯(lián)發(fā)射紅外線。接收管(3、4)與阻值為47K歐姆的電阻串聯(lián)。在沒有接收到反射光線時接收管截止呈高阻態(tài),TX輸出高電平。當接收管接收到反射光線時,接收管被導(dǎo)通,并且電阻遠小于47K,TX輸出低電平。</p><p> 圖12 黑色軌跡設(shè)別電路</p><p> 3.3LM324電壓比較電路</p><p> 電壓比較器式在運
39、放的基礎(chǔ)上去掉反饋電阻使放大倍數(shù)趨于無窮大。此時形成了一個電壓比較器。當同相端電壓大于反相端電壓時比較器輸出高電平,當反相端電壓高于同相端電壓時輸出端輸出度電平。如圖13電壓比較電路,用了LM324內(nèi)部3個單獨的運放外接一個可調(diào)電阻輸入基準電壓?;鶞孰妷杭釉诜聪噍斎攵松希弦患夒娐贩答佭^來的電壓從電壓比較器的同相端輸入。當TCRT5000反饋的電壓高于基準電壓時,比較器輸出高電平。當TCRT5000反饋的電壓低于基準電壓時,比較器輸出低
40、電平。這樣就使探頭把地面的反射光線的程度只分成了兩種情況,易于單片機識別??紤]到地面的粗超程度不一樣我們可以用可調(diào)電位器去調(diào)節(jié)基準電壓,經(jīng)過軌道實際測量后確定基準電壓的值。</p><p><b> 圖13電壓比較電路</b></p><p> 3.4 STC89C52單片機控制電路</p><p> 單片機控制電路由但單片機最小系統(tǒng)組成
41、,主要作用是接受探頭傳來的電壓信號,再通過程序設(shè)定的邏輯算法給出下一級馬達驅(qū)動電路的指令。單片機最小系統(tǒng)包括主控IC,外部時鐘電路,復(fù)位電路和電源組成。本設(shè)計采用如圖14所示的單片機最先系統(tǒng)。在此就圖14為參照解釋一下51單片機最小系統(tǒng)各子電路的特點。</p><p> 圖14單片機主控電路</p><p> 3.4.1 時鐘電路</p><p> XTAL1
42、 和XTAL2 是獨立的輸入和輸出反相放大器,它們可以被配置為使用石英晶振的片內(nèi)振蕩器,或者是器件直接由外部時鐘驅(qū)動。圖14 中采用的是內(nèi)時鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2 的引腳上外接定時元件(一個石英晶體和兩個電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來說晶振可以在1.2 ~ 12MHz 之間任選,甚至可以達到24MHz 或者更高,但是頻率越高功耗也就越大。在本實驗套件中采用的11.0592M 的石英晶振
43、。和晶振并聯(lián)的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當采用石英晶振時,電容可以在20 ~ 40pF 之間選擇(本實驗套件使用30pF);當采用陶瓷諧振器件時,電容要適當?shù)卦龃笠恍?,?0 ~ 50pF 之間。通常選取33pF 的陶瓷電容就可以了。另外值得一提的是如果在設(shè)計單片機系統(tǒng)的印刷電路板(PCB) 時,晶體和電容應(yīng)盡可能與單片機芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。檢測晶振是否起振的方法可以用示波
44、器可以觀察到XTAL2 輸出的十分漂亮的正弦波,也可以使用萬用表測量( 把擋位打到直流擋,這個時候測得的是有效</p><p> 3.4.2 復(fù)位電路</p><p> 在單片機系統(tǒng)中,復(fù)位電路是非常關(guān)鍵的,當程序跑飛(運行不正常)或死機(停止運行)時,就需要進行復(fù)位。MCS-5l 系列單片機的復(fù)位引腳RST( 第9 管腳) 出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果R
45、ST 持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作通常有兩種基本形式:上電自動復(fù)位和開關(guān)復(fù)位。圖14 中所示的復(fù)位電路就包括了這兩種復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時電容的負極和RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當復(fù)位按鍵沒有被按下的時候電路實現(xiàn)上電復(fù)位,在芯片正常工作后,通過
46、按下按鍵使RST管腳出現(xiàn)高電平達到手動復(fù)位的效果。一般來說,只要RST 管腳上保持10ms 以上的高電平,就能使單片機有效的復(fù)位。圖中所示的復(fù)位電阻和電容為經(jīng)典值,實際制作是可以用同一數(shù)量級的電阻和電容代替,讀者也可自行計算RC 充電時間或在工作環(huán)境實際測量,以確保單片機的復(fù)位電路可靠。</p><p> 3.4.3 EA/VPP(31 腳)的功能和接法</p><p> 51 單片機
47、的EA/VPP(31 腳) 是內(nèi)部和外部程序存儲器的選擇管腳。當EA 保持高電平時,單片機訪問內(nèi)部程序存儲器;當EA 保持低電平時,則不管是否有內(nèi)部程序存儲器,只訪問外部存儲器。對于現(xiàn)今的絕大部分單片機來說,其內(nèi)部的程序存儲器(一般為flash)容量都很大,因此基本上不需要外接程序存儲器,而是直接使用內(nèi)部的存儲器。在本實驗套件中,EA 管腳接到了VCC 上,只使用內(nèi)部的程序存儲器。</p><p> 3.4.4
48、 P0 口外接上拉電阻</p><p> 51 單片機的P0 端口為開漏輸出,內(nèi)部無上拉電阻(見圖15)。所以在當做普通I/O 輸出數(shù)據(jù)時,由于V2 截止,輸出級是漏極開路電路,要使“1”信號(即高電平)正常輸出,必須外接上拉電阻。</p><p> 圖15 P0端口的1位結(jié)構(gòu)</p><p> 另外,避免輸入時讀取數(shù)據(jù)出錯,也需外接上拉電阻。在這里簡要的說下
49、其原因:在輸入狀態(tài)下,從鎖存器和從引腳上讀來的信號一般是一致的,但也有例外。例如,當從內(nèi)部總線輸出低電平后,鎖存器Q = 0, Q = 1,場效應(yīng)管V1 開通,端口線呈低電平狀態(tài)。此時無論端口線上外接的信號是低電平還是高電平,從引腳讀入單片機的信號都是低電平,因而不能正確地讀入端口引腳上的信號。又如,當從內(nèi)部總線輸出高電平后,鎖存器Q = 1, Q = 0,場效應(yīng)管V1 截止。如外接引腳信號為低電平, 從引腳上讀入的信號就與從鎖存器讀入
50、的信號不同。所以當P0 口作為通用I/O 接口輸入使用時,在輸入數(shù)據(jù)前,應(yīng)先向P0 口寫“1”,此時鎖存器的Q 端為“0”,使輸出級的兩個場效應(yīng)管V1、V2 均截止,引腳處于懸浮狀態(tài),才可作高阻輸入??偨Y(jié)來說:為了能使P0 口在輸出時能驅(qū)動NMOS 電路和避免輸入時讀取數(shù)據(jù)出錯,需外接上拉電阻。在設(shè)計中采用的是外加一個10K 排阻。此外,51 單片機在對端口P0—P3 的輸入操作上,為避免讀錯,應(yīng)先向電路中的鎖存器寫入“1”,使場效應(yīng)管
51、截止,以避免鎖存器為“0”狀態(tài)時對引腳讀入的干擾。</p><p> 3.5 L298N馬達驅(qū)動電路</p><p> 電機驅(qū)動一般采用H橋式驅(qū)動電路,L298N內(nèi)部集成了H橋式驅(qū)動電路,從而可以采用L298N電路來驅(qū)動電機。通過單片機給予L298N電路PWM信號來控制小車的速度,起停。為了設(shè)計方便我采用了市面上已有的L298N電機驅(qū)動模塊,其特點便宜穩(wěn)定性高。為了是設(shè)計達到更加好的效
52、果我選用了L298N馬達驅(qū)動模塊。其原理圖如圖16所示。</p><p> 圖16 L298N引腳圖</p><p><b> 第四章 程序設(shè)計</b></p><p><b> 4.1主程序</b></p><p> 主程序流程圖如圖18所示。</p><p>
53、 圖18 主程序流程圖</p><p> 程序掃描后到的小車位置狀態(tài)與對應(yīng)輸出的驅(qū)動指令對應(yīng)關(guān)系如圖21。黑色表示黑色軌跡。</p><p> 圖21小車位置與響應(yīng)動作對照</p><p><b> 主程序源程序如下:</b></p><p> /********************************
54、************</p><p> * 函 數(shù):main();*</p><p> * 功 能: 主函數(shù) *</p><p> *********************************************/</p><p> void ma
55、in (void)</p><p><b> {</b></p><p> TMOD=0x01; //定時器初始化</p><p><b> TH0=0xd8;</b></p><p> TL0=0xf0;</p><p><b> EA
56、=1;</b></p><p><b> ET0=1;</b></p><p> P3=0;TR0=1;</p><p> while(1) //主循環(huán)</p><p><b> {</b></p><p> col=collect();
57、 //探頭掃描</p><p> if(col!=sto)</p><p><b> {</b></p><p> switch(col)</p><p><b> {</b></p><p> case 0: P3=0;P3=1;break; //采
58、樣無出線,執(zhí)行向前</p><p> case 1: if(P3==10)</p><p><b> {;} </b></p><p> else {P3=0;P3=5;}</p><p> break; //采樣為右出線,執(zhí)行左轉(zhuǎn)</p><p> case 4: if(P3==6)
59、</p><p><b> {;} </b></p><p> else {P3=0;P3=9;}</p><p> break; //采樣為左出線,執(zhí)行右轉(zhuǎn)</p><p> case 3: P3=0;P3=10;break; //采樣車頭向右出線一半,執(zhí)行左倒車</p><p>
60、case 6: P3=0;P3=6;break; //采樣車頭向左出線一半,執(zhí)行右倒車</p><p> case 7: P3=0;P3=2;break; //采樣全出線,執(zhí)行向后</p><p> default:break;</p><p><b> }</b></p><p><b> }<
61、/b></p><p> sto=col;</p><p><b> }</b></p><p> 4.2TCRT5000掃描程序</p><p> TCRT500掃描程序流程圖如圖19所示。</p><p> TCRT500掃描程序如下:</p>
62、<p> /********************************************</p><p> * 函 數(shù):collect(); *</p><p> * 功 能: 采集紅外探頭信息,返回一個值 *</p><p> ************************************
63、*********/</p><p> char collect()</p><p><b> {</b></p><p> uchar a,b;</p><p><b> P1=255;</b></p><p><b> a=P1;</b>&
64、lt;/p><p> b=a&7;//屏蔽后5位</p><p> return(b);</p><p><b> }</b></p><p><b> 結(jié)束語</b></p><p> 整個系統(tǒng)的設(shè)計以單片機為核心,利用了多種傳感器,將軟件和硬件相結(jié)合。本系統(tǒng)
65、能實現(xiàn)如下功能:</p><p> 自動沿預(yù)設(shè)軌道行駛小車在行駛過程中,能夠自動檢測預(yù)先設(shè)好的軌道,實現(xiàn)直道和弧形軌道的前進。若有偏離,能夠自動糾正,返回到預(yù)設(shè)軌道上來。</p><p> 從運行情況來看循跡的效果比較好,避障的效果不是很好,我認為是由于電源不能穩(wěn)定而是的小車的速度不好控制,這也是我這次設(shè)計最大的誤區(qū),沒有選取穩(wěn)定的電源。我相信如果實驗條件和時間的允許下我肯定能解決這一
66、問題。</p><p> 通過本次設(shè)計我掌握了很多以前不熟練的東西,認識了很多以前不熟悉得東西,使我在人生上又進了一步。也認識到很多的不足。</p><p><b> 參考文獻</b></p><p> [1]郭惠,吳迅.單片機C語言程序設(shè)計完全自學手冊[M].電子工業(yè)出版社,2008.10:1-200.</p><p
67、> [2]王東鋒,王會良,董冠強. 單片機C語言應(yīng)用100例[M]. 電子工業(yè)出版社,2009.3:145-300.</p><p> [3]韓毅,楊天. 基于HCS12單片機的智能尋跡模型車的設(shè)計與實現(xiàn)[J].學術(shù)期刊,2008,29(18):1535-1955.</p><p> [4] 王曉明. 電動機的單片機控制[J]. 學術(shù)期刊,2002,13(15):1322-17
68、55.</p><p> [5]Yamato I , et al 1 New conversion system for UPS using high fre2</p><p> quency link[J ]1 IEEE PESC ,1988 :210-320.</p><p> [6]Yamato I , et al 1 High frequency li
69、nk DC/ AC converter for UPS</p><p> with a new voltage clamper[J ]1IEEE PESC ,1990 :52-105.</p><p><b> 致謝</b></p><p> 本設(shè)計能夠順利完成,還承蒙*老師以及身邊的很多同學的指導(dǎo)和幫助。在設(shè)計過程中,*老師給予了悉心的
70、指導(dǎo),最重要的是給了我解決問題的思路和方法,并且在設(shè)計環(huán)境和器材方面給予了大力的幫助和支持,在此,我對*老師表示最真摯的感謝!同時感謝所有幫助過我的同學!</p><p> 感些評閱老師百忙之中抽出時間對本論文進行了評閱!</p><p><b> 附 錄</b></p><p><b> 源程序</b></
71、p><p> /********************************************</p><p> *項目:尋跡小車 *</p><p> *設(shè)計者:郭珊珊 *</p><p> *時間:2013-3-5 *</p><p>
72、 **</p><p> * P10右采樣 P11中采樣 P12左采樣 *</p><p> * P30前 P31后 P32左 P33右 *</p><p> * *</p><p> * *</p><p> ********
73、*************************************/</p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> uchar col,sto=1
74、00,m,n,s;//采樣,前一個采樣,中斷次數(shù),普通變量</p><p> sbit c = P2^0;</p><p> /********************************************</p><p> * 函 數(shù):DelayX1ms(uint count)*</p><p> *
75、 功 能: 延時count*1ms (晶振12MHz) *</p><p> *********************************************/</p><p> void DelayX1ms(uint count) </p><p><b> {</b></p><p&g
76、t;<b> uint j;</b></p><p> while(count--!=0)</p><p><b> {</b></p><p> for(j=0;j<90;j++);</p><p><b> }</b></p><p>
77、;<b> }</b></p><p> /********************************************</p><p> * 函 數(shù):collect();*</p><p> * 功 能: 采集紅外探頭信息,返回一個值 *</p><p> ***
78、******************************************/</p><p> char collect()</p><p><b> {</b></p><p> uchar a,b;</p><p><b> P1=255;</b></p><
79、;p><b> a=P1;</b></p><p> b=a&7;//屏蔽后5位</p><p> return(b);</p><p><b> }</b></p><p> /********************************************<
80、/p><p> * 函 數(shù):key();*</p><p> * 功 能:按鍵判斷(按鍵后為低電平)*</p><p> *********************************************/</p><p> char key()</p><p><
81、;b> {</b></p><p> uchar a,b;</p><p><b> P2=255;</b></p><p><b> a=P2;</b></p><p> b=a&24;//屏蔽</p><p> return(b);&
82、lt;/p><p><b> }</b></p><p> /********************************************</p><p> * 函 數(shù):main();*</p><p> * 功 能: 主函數(shù) *&
83、lt;/p><p> *********************************************/</p><p> void main (void)</p><p><b> {</b></p><p> TMOD=0x01; //定時器初始化</p><p>
84、;<b> TH0=0xd8;</b></p><p> TL0=0xf0;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p> P3=0;TR0=1;</p><p> whil
85、e(1) //主循環(huán)</p><p><b> {</b></p><p> col=collect();</p><p> if(col!=sto)</p><p><b> {</b></p><p> switch(col)</p>
86、<p><b> {</b></p><p> case 0: P3=0;P3=1;break; //f=1; b=0; r=0; l=0//采樣無出線,執(zhí)行向前</p><p> case 1: if(P3==10)</p><p><b> {;} </b></p><p&g
87、t; else {P3=0;P3=5;}</p><p> break; //f=1; b=0; r=0; l=1//采樣為右出線,執(zhí)行左轉(zhuǎn)</p><p> case 4: if(P3==6)</p><p><b> {;} </b></p><p> else {P3=0;P3=9;}</p>
88、;<p> break; //f=1; b=0; r=1; l=0//采樣為左出線,執(zhí)行右轉(zhuǎn)</p><p> case 3: P3=0;P3=10;break; //f=0; b=1; r=1; l=0//采樣車頭向右出線一半,執(zhí)行左倒車</p><p> case 6:P3=0;P3=6;break; //f=0; b=1; r=0; l=1//采樣車頭向左出
89、線一半,執(zhí)行右倒車</p><p> case 7:P3=0;P3=2;break; //f=1; b=0; r=0; l=0//采樣全出線,執(zhí)行向后</p><p> default:break;</p><p><b> }</b></p><p><b> }</b></p&
90、gt;<p> sto=col;</p><p><b> }</b></p><p><b> }</b></p><p> /************************************************************************</
91、p><p> * 函 數(shù):定時器0中斷;</p><p> * 功 能: 產(chǎn)生控速脈沖10ms高電平 10ms低電平</p><p> ************************************************************************/</p><p> void ma
92、ichong (void) interrupt 1 using 1</p><p><b> {</b></p><p><b> TH0=0xd8;</b></p><p><b> TL0=0xf0;</b></p><p><b> c=~c;</
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- arduino循跡小車畢業(yè)論文
- 自動循跡小車-畢業(yè)論文
- 循跡小車的設(shè)計畢業(yè)論文
- 蔽障循跡智能小車畢業(yè)論文
- 智能循跡小車設(shè)計【畢業(yè)論文】
- 畢業(yè)論文---智能循跡避障小車
- 智能循跡避障小車畢業(yè)論文
- 電氣自動化循跡小車畢業(yè)論文
- 循跡小車畢業(yè)設(shè)計論文
- 循跡小車畢業(yè)設(shè)計--循跡小車設(shè)計
- 基于單片機的循跡小車的設(shè)計【畢業(yè)論文】
- 畢業(yè)論文-開題報告-文獻綜述智能循跡小車設(shè)計
- 基于單片機的智能循跡小車設(shè)計畢業(yè)論文
- 智能循跡小車-職業(yè)學院畢業(yè)論文開題報告
- 畢業(yè)論文-開題報告-文獻綜述智能循跡小車設(shè)計
- 智能循跡小車論文
- 基于單片機的循跡避障小車的設(shè)計與實現(xiàn)-本科畢業(yè)論文
- 基于單片機的循跡避障小車的設(shè)計與實現(xiàn)-本科畢業(yè)論文
- 基于單片機的循跡避障小車的設(shè)計與實現(xiàn)-本科畢業(yè)論文
- 智能循跡澆水小車論文
評論
0/150
提交評論