版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 題目名稱: 循跡壁障智能小車設(shè)計(jì) </p><p> 組員: </p><p> 班 級: </p><p> 指導(dǎo)老師: </p><p> 日 期: </p><p>&
2、lt;b> 智能循跡避障小車</b></p><p> 摘 要:利用紅外對管檢測黑線與障礙物,并以STC89C52單片機(jī)為控制芯片控制電動小汽車的速度及轉(zhuǎn)向,從而實(shí)現(xiàn)自動循跡避障的功能。其中小車驅(qū)動由L298N驅(qū)動電路完成,速度由單片機(jī)輸出的PWM波控制。</p><p> 關(guān)鍵詞:智能小車;STC89C52單片機(jī); L298N; </p><p
3、> 實(shí)驗(yàn)?zāi)康模和ㄟ^設(shè)計(jì)進(jìn)一步掌握5別1單片機(jī)的應(yīng)用,特是在嵌入式系統(tǒng)中的應(yīng)用。進(jìn)一步學(xué)習(xí)51單片機(jī)在系統(tǒng)中的控制功能,能夠合理設(shè)計(jì)單片機(jī)的外圍電路,并使之與單片機(jī)構(gòu)成整個系統(tǒng)。實(shí)現(xiàn)控制小車的循跡和蔽障的功能,</p><p><b> 一、方案設(shè)計(jì)與論證</b></p><p><b> 1.1 主控系統(tǒng)</b></p>
4、<p> 根據(jù)設(shè)計(jì)要求,我認(rèn)為此設(shè)計(jì)屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進(jìn)行了綜合的比較論證,具體如下:</p><p><b> 方案一:</b></p><p> 選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點(diǎn),可利用VHD
5、L語言進(jìn)行編寫開發(fā)。但CPLD在控制上較單片機(jī)有較大的劣勢。同時(shí),CPLD的處理速度非???,而小車的行進(jìn)速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點(diǎn)上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。</p><p><b> 方案二:</b></p><p> 采用
6、51單片機(jī)作為整個系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)小車的自動控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案。</p><p> 針對本設(shè)計(jì)特點(diǎn)——多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量
7、的標(biāo)準(zhǔn)單片機(jī),而不能用精簡I/O口和程序存儲器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了P89C51RA單片機(jī)作為本設(shè)計(jì)的主控裝置,51單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對于本設(shè)計(jì)也綽綽有余,更可貴的是51單片機(jī)價(jià)格非常低廉。</p><p> 在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動等諸多因素后,我們決定采用一片單片機(jī),充分利用STC89C52單片機(jī)的
8、資源。</p><p> 1.2 電機(jī)驅(qū)動模塊</p><p><b> 方案一:</b></p><p> 采用繼電器對電動機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對小車的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。</p><p><b> 方案二:&
9、lt;/b></p><p> 采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問題在于一般的電動機(jī)電阻很小,但電流很大,分壓不僅回降低效率,而且實(shí)現(xiàn)很困難。</p><p><b> 方案三:</b></p><p> 采用功率三極管作為功率放大器的
10、輸出控制直流電機(jī)。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強(qiáng),采用由達(dá)林頓管組成的 H型橋式電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N。</p><p> 這種調(diào)速方
11、式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。</p><p><b> 1.3 循跡模塊</b></p><p><b> 方案一:</b></p><p> 采用簡易光電傳感器結(jié)
12、合外圍電路探測,但實(shí)際效果并不理想,對行駛過程中的穩(wěn)定性要求很高,且誤測幾率較大、易受光線環(huán)境和路面介質(zhì)影響。在使用過程極易出現(xiàn)問題,而且容易因?yàn)?該部件造成整個系統(tǒng)的不穩(wěn)定。故最終未采用該方案。</p><p><b> 方案二:</b></p><p> 采用兩只紅外對管,分別置于小車車身前軌道的兩側(cè),根據(jù)兩只光電開關(guān)接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整
13、車向,測試表明,只要合理安裝好兩只光電開關(guān)的位置就可以很好的實(shí)現(xiàn)循跡的功能。</p><p><b> 方案三:</b></p><p> 采用三只紅外對管,一只置于軌道中間,兩只置于軌道外側(cè),當(dāng)小車脫離軌道時(shí),即當(dāng)置于中間的一只光電開關(guān)脫離軌道時(shí),等待外面任一只檢測到黑線后,做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的光電開關(guān)重新檢測到黑線(即回到軌道)再恢復(fù)正向行駛?,F(xiàn)場實(shí)
14、測表明,小車在尋跡過程中有一定的左右搖擺不定,雖然可以正確的循跡但其成本與穩(wěn)定性都次與第二種方案。</p><p> 通過比較,我選取第二種方案來實(shí)現(xiàn)循跡。</p><p><b> 1.4 避障模塊</b></p><p><b> 方案一:</b></p><p> 采用一只紅外對管置于
15、小車中央。其安裝簡易,也可以檢測到障礙物的存在,但難以確定小車在水平方向上是否會與障礙物相撞,也不易讓小車做出精確的轉(zhuǎn)向反應(yīng)。</p><p><b> 方案二:</b></p><p> 采用二只紅外對管分別置于小車的前端兩側(cè),方向與小車前進(jìn)方向平行,對小車與障礙物相對距離和方位能作出較為準(zhǔn)確的判別和及時(shí)反應(yīng)。但此方案過于依賴硬件、成本較高、缺乏創(chuàng)造性,而且置于
16、小車左方的紅外對管用到的幾率很小,所以最終未采用。</p><p><b> 方案三:</b></p><p> 采用一只紅外對管置于小車右側(cè)。通過測試此種方案就能很好的實(shí)現(xiàn)小車避開障礙物,且充分的利用資源而不浪費(fèi)。</p><p> 通過比較我們采用方案一。</p><p><b> 1.5電源模塊&
17、lt;/b></p><p><b> 方案一:</b></p><p> 采用實(shí)驗(yàn)室有線電源通過穩(wěn)壓芯片7805供電,其優(yōu)點(diǎn)是可穩(wěn)定的提供5V電壓,但占用資源過大。</p><p><b> 方案二:</b></p><p> 采用4支1.5V電池單電源供電,但6V的電壓太小不能同時(shí)
18、給單片機(jī)與與電機(jī)供電。</p><p> 方案三:采用8支1.5V電池雙電源分別給單片機(jī)與電機(jī)供電可解決方案二的問題且能讓小車完成其功能。</p><p> 所以,我選擇了方案一來實(shí)現(xiàn)供電。</p><p><b> 二、硬件設(shè)計(jì)</b></p><p><b> 2.1總體設(shè)計(jì)</b>&l
19、t;/p><p> 智能小車采用前輪驅(qū)動,前輪左右兩邊各用一個電機(jī)驅(qū)動,調(diào)制前面兩個輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的,后輪是萬象輪,起支撐的作用。將循跡光電對管分別裝在車體下的左右。當(dāng)車身下左邊的傳感器檢測到黑線時(shí),主控芯片控制左輪電機(jī)停止,車向左修正,當(dāng)車身下右邊傳感器檢測到黑線時(shí),主控芯片控制右輪電機(jī)停止,車向右修正。</p><p> 避障的原理和循線一樣,在車身中間裝一個光電對
20、管,當(dāng)其檢測到障礙物時(shí),主控芯片給出信號報(bào)警并控制車子倒退,轉(zhuǎn)向,從而避開障礙物。</p><p> 2.1.1主板設(shè)計(jì)框圖,所需原件清單。</p><p><b> 元件清單</b></p><p><b> 2.2驅(qū)動電路</b></p><p> 電機(jī)驅(qū)動一般采用H橋式驅(qū)動電路,L29
21、8N內(nèi)部集成了H橋式驅(qū)動電路,從而可以采用L298N電路來驅(qū)動電機(jī)。通過單片機(jī)給予L298N電路PWM信號來控制小車的速度,起停。</p><p><b> 電機(jī)驅(qū)動電路</b></p><p><b> 三、軟件設(shè)計(jì)</b></p><p><b> 3.1主程序框圖:</b></p&g
22、t;<p><b> 3.2循跡模塊</b></p><p><b> 循跡框圖:</b></p><p><b> 循跡框圖</b></p><p><b> 3.3避障模塊</b></p><p><b> 避障框圖:
23、</b></p><p><b> 程序:</b></p><p> #include <reg52.h>//器件配置文件</p><p> #include <intrins.h></p><p> unsigned int tt,i,l;</p><
24、;p> void init();</p><p> sbit D1=P1^0;</p><p> sbit D2=P1^1;</p><p> sbit D3=P1^2;</p><p> sbit D4=P1^3;</p><p> sbit D5=P0^7;</p><p>
25、; sbit D7=P1^4;</p><p> sbit D8=P1^5;</p><p> sbit D9=P1^6;</p><p> sbit D10=P1^7;</p><p> void delay(unsigned int t)</p><p><b> {</b><
26、;/p><p> while(--t);</p><p><b> }</b></p><p> void stop()</p><p><b> {</b></p><p> D1=1;D2=1;D3=1;D4=1;</p><p><b
27、> }</b></p><p> void forward()</p><p><b> {</b></p><p> D1=1;D2=1;D3=1;D4=1;</p><p> delay(40);</p><p> D1=1;D2=0;D3=1;D4=0;<
28、/p><p> delay(60);</p><p><b> }</b></p><p> void backward()</p><p><b> {</b></p><p> D1=0;D2=1;D3=0;D4=1;</p><p><
29、;b> } </b></p><p> void turnleft()</p><p><b> {</b></p><p> D1=0;D2=1;D3=1;D4=0;</p><p><b> }</b></p><p> void turnr
30、ight()</p><p><b> {</b></p><p> D1=1;D2=0;D3=0;D4=1;</p><p><b> }</b></p><p> void bizhang()</p><p><b> {</b></
31、p><p> while(D5==0)</p><p><b> {</b></p><p> backward();</p><p> delay(65535);</p><p> turnleft();</p><p> delay(65535);</p&
32、gt;<p><b> }</b></p><p><b> }</b></p><p> void xjbzwx()</p><p><b> {</b></p><p> while(D8==0&&D9==0&&D7
33、==0&&D10==0)</p><p><b> {</b></p><p> bizhang();</p><p> forward();</p><p><b> }</b></p><p> if(D8==1&&D9==1&a
34、mp;&D7==1&&D10==1)</p><p><b> {</b></p><p> bizhang();</p><p><b> stop();</b></p><p><b> }</b></p><p>
35、 if(D7==1&&D8==0&&D9==0&&D10==0)</p><p><b> {</b></p><p> bizhang();</p><p> for(i=400;i>0;i--)</p><p><b> {</b>&
36、lt;/p><p> turnleft();</p><p><b> } </b></p><p><b> }</b></p><p> if(D7==0&&D8==0&&D9==0&&D10==1)</p><p>
37、;<b> {</b></p><p> bizhang();</p><p> for(i=400;i>0;i--)</p><p><b> {</b></p><p> turnright();</p><p><b> }</b>
38、;</p><p><b> }</b></p><p> if(D7==0&&D8==1&&D9==0&&D10==0)</p><p><b> {</b></p><p> bizhang();</p><p>
39、 for(i=100;i>0;i--)</p><p><b> {</b></p><p> turnleft();</p><p><b> } </b></p><p><b> }</b></p><p> if(D7==0&
40、amp;&D8==0&&D9==1&&D10==0)</p><p><b> {</b></p><p> bizhang();</p><p> for(i=100;i>0;i--)</p><p><b> {</b></p>
41、<p> turnright();</p><p><b> }</b></p><p><b> }</b></p><p> if((D7==1||D8==1)&&(D9==0&&D10==0))</p><p><b> {<
42、;/b></p><p> bizhang();</p><p> for(i=100;i>0;i--)</p><p><b> {</b></p><p> turnleft();</p><p><b> }</b></p>&l
43、t;p><b> }</b></p><p> if((D7==0&&D8==0)&&(D9==1||D10==1))</p><p><b> {</b></p><p> bizhang();</p><p> for(i=100;i>0;i
44、--)</p><p><b> {</b></p><p> turnright();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
45、<p> void main(void)</p><p><b> {</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> xjbzwx();</b></
46、p><p><b> } </b></p><p><b> }</b></p><p><b> 四、結(jié)束語</b></p><p> 通過很多天的準(zhǔn)備,終于在老師和同學(xué)的幫助下,初步完成了對循跡蔽障小車的制作。在這個過程中,我們又進(jìn)一步學(xué)習(xí)了單片機(jī)及其外圍模塊的
47、原理和應(yīng)用。對電路的焊接和器件的組合,加強(qiáng)了我們實(shí)驗(yàn)上的動手能力,尤其是小車模塊的安裝,電機(jī)的去驅(qū)動等等,都讓我們學(xué)到了很多東西。軟件方面,多個程序的組合以及中斷定時(shí)的應(yīng)用,讓我們對C51語言的學(xué)習(xí)有了更多的體會。在這個過程中,也遇到了很多的困難的和挫折,雖然這個循跡壁障小車看起來很簡單,但是我們在實(shí)現(xiàn)的過程中總屢屢失敗。開始時(shí)對個模塊的安裝及連接,這個過程還算順利,在后面的循跡調(diào)試時(shí)就有很多問題了,首先在軟件上,我們結(jié)合硬件,不斷的調(diào)
48、試程序,讓其實(shí)現(xiàn)該循跡功能,這個過程花費(fèi)了我們很多的時(shí)間,因?yàn)樾≤囇E時(shí)總往往不如人愿,一直不能沿著黑線跑,總沖出線外,所以調(diào)試有點(diǎn)困難。但是這個不單單是軟件的問題,在循跡模塊安裝的位置也對其循跡的準(zhǔn)確度有很大的影響,在我們的調(diào)試過程中發(fā)現(xiàn),同樣的程序,左右循跡的程序都一樣的,但是在實(shí)現(xiàn)過程中發(fā)現(xiàn)小車有時(shí)能成功循跡,有時(shí)卻不行,或者一邊循跡靈敏,另一邊卻不靈敏的情況,經(jīng)過多次的探尋,發(fā)現(xiàn)是循跡模塊安裝的位置以及其自身靈敏度有關(guān),<
49、/p><p><b> 參考文獻(xiàn)</b></p><p> [1]郭惠,吳迅.單片機(jī)C語言程序設(shè)計(jì)完全自學(xué)手冊[M].電子工業(yè)出版社,2008.10:1-200.</p><p> [2]王東鋒,王會良,董冠強(qiáng). 單片機(jī)C語言應(yīng)用100例[M]. 電子工業(yè)出版社,2009.3:145-300.</p><p> [3
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)+智能循跡避障小車設(shè)計(jì)
- 智能循跡避障小車控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文---智能循跡避障小車
- 智能循跡避障小車畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---智能循跡避障聲控小車設(shè)計(jì)
- 避障小車課程設(shè)計(jì)
- 智能小車課程設(shè)計(jì)--智能循跡小車
- 基于單片機(jī)的智能循跡避障小車設(shè)計(jì)
- 尋光循跡避障智能小車實(shí)驗(yàn)報(bào)告
- 尋光循跡避障智能小車實(shí)驗(yàn)報(bào)告
- 智能避障小車設(shè)計(jì)
- 紅外避障小車課程設(shè)計(jì)報(bào)告
- 智能避障小車設(shè)計(jì)
- 紅外避障小車課程設(shè)計(jì)報(bào)告
- 智能小車論文單片機(jī)循跡測速避障顯示
- 小車避障課程設(shè)計(jì)說明書
- 小車循跡課程設(shè)計(jì)
- 小車設(shè)計(jì)論文-智能尋光避障小車
- 循跡小車課程設(shè)計(jì)
- 嵌入式課程設(shè)計(jì)--智能循跡小車設(shè)計(jì)
評論
0/150
提交評論