蔽障循跡智能小車(chē)畢業(yè)論文_第1頁(yè)
蔽障循跡智能小車(chē)畢業(yè)論文_第2頁(yè)
蔽障循跡智能小車(chē)畢業(yè)論文_第3頁(yè)
蔽障循跡智能小車(chē)畢業(yè)論文_第4頁(yè)
蔽障循跡智能小車(chē)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、蔽障循跡智能小車(chē)一.導(dǎo)言1.1智能汽車(chē)的作用和意義自從第一臺(tái)工業(yè)機(jī)器人誕生以來(lái),機(jī)器人的發(fā)展已經(jīng)遍布機(jī)械、電子、冶金、交通、航空航天、國(guó)防等各個(gè)領(lǐng)域。近年來(lái),機(jī)器人的智能水平不斷提高,人們的生活方式被迅速改變。在人類(lèi)不斷探索、改造和認(rèn)識(shí)自然的過(guò)程中,制造出能夠代替人類(lèi)勞動(dòng)的機(jī)器一直是人類(lèi)的夢(mèng)想。隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感覺(jué)系統(tǒng)、圖像處理技術(shù)已經(jīng)相當(dāng)發(fā)達(dá),對(duì)于各種視覺(jué)技術(shù),而基于圖像的理解技術(shù)還很落后。機(jī)器視覺(jué)只能通過(guò)大量的運(yùn)算來(lái)識(shí)別結(jié)構(gòu)化環(huán)境中的一些簡(jiǎn)單目標(biāo)。視覺(jué)傳感器的核心器件是攝像管或CCD,目前的CCD可以實(shí)現(xiàn)自動(dòng)對(duì)焦。但是CCD傳感器的價(jià)格、體積、使用量都不占優(yōu)勢(shì)。因此,在不需要清

2、晰圖像而只需要粗糙感覺(jué)的系統(tǒng)中考慮使用接近傳感器時(shí),接近傳感器的種類(lèi)越來(lái)越多,其中視覺(jué)傳感器成為自動(dòng)行走和駕駛的重要組成部分。典型應(yīng)用視野是一種實(shí)用有效的自主智能導(dǎo)航方法。為了實(shí)現(xiàn)自動(dòng)引導(dǎo)功能和避障功能,機(jī)器人必須感知引導(dǎo)線(xiàn)和障礙物,感知引導(dǎo)線(xiàn)相當(dāng)于賦予機(jī)器人視覺(jué)功能。避障控制系統(tǒng)是基于AVG自動(dòng)引導(dǎo)車(chē)系統(tǒng)。基于AVG-自動(dòng)引導(dǎo)車(chē)系統(tǒng),智能車(chē)能夠自動(dòng)識(shí)別路線(xiàn),判斷并自動(dòng)避開(kāi)障礙物,選擇正確的路線(xiàn)。使用傳感器感知路線(xiàn)和障礙物,做出判斷并采取相應(yīng)的行動(dòng)。這款智能車(chē)可以說(shuō)是機(jī)器人的典型代表。可以分為三個(gè)部分:傳感器檢測(cè)部分、CPU和執(zhí)行部分。為了實(shí)現(xiàn)自動(dòng)避障功能,機(jī)器人還可以擴(kuò)展跟蹤、感知引導(dǎo)線(xiàn)和障

3、礙物等功能。它能自動(dòng)識(shí)別汽車(chē)的行駛路線(xiàn),選擇正確的路線(xiàn),并檢測(cè)障礙物自動(dòng)避讓。基于上述要求,感知和檢測(cè)部分考慮到汽車(chē)一般不需要感知清晰的圖像,只需要粗略的感知。智能車(chē)的執(zhí)行部分由DC電機(jī)驅(qū)動(dòng),主要控制汽車(chē)的方向和速度。二、方案設(shè)計(jì)和論證2.1總體方案設(shè)計(jì)本系統(tǒng)是基于AT89C52單片機(jī)的汽車(chē)跟蹤系統(tǒng)。該系統(tǒng)采用兩組高靈敏度的紅外反射式光電傳感器檢測(cè)路面的黑跡,并將檢測(cè)到的數(shù)據(jù)送到單片機(jī)進(jìn)行處理,利用單片機(jī)產(chǎn)生PWM波,可以在最短的時(shí)間內(nèi)完成跟蹤。同時(shí),紅外傳感器用于躲避障礙物。當(dāng)檢測(cè)到紅綠燈時(shí),用固定頻率的紅外信號(hào)指示不同的紅綠燈,使控制系統(tǒng)更加智能。在軟件程序中,采用了一定的控制算法,使得汽

4、車(chē)在通道中第一次遇到十字黑線(xiàn)時(shí)減速,第二次遇到十字黑線(xiàn)時(shí)可以以更慢的速度轉(zhuǎn)彎。因此,本系統(tǒng)由紅外光電傳感器、單片機(jī)和驅(qū)動(dòng)單元組成,保證小車(chē)能在預(yù)定的軌道上運(yùn)行。本設(shè)計(jì)的主要特點(diǎn)本設(shè)計(jì)的主要特點(diǎn)本設(shè)計(jì)的主要特點(diǎn):1.自制PWM調(diào)速四輪結(jié)構(gòu)車(chē)。2.采用6V電池供電,DC穩(wěn)壓電路工作穩(wěn)定。3.采用紅外發(fā)射傳感器接收和識(shí)別黑線(xiàn)標(biāo)志,具有較高的準(zhǔn)確性和靈敏度。2.2主控系統(tǒng)根據(jù)設(shè)計(jì)要求,我認(rèn)為這個(gè)設(shè)計(jì)是一個(gè)多輸入的復(fù)雜程序控制問(wèn)題。據(jù)此,擬定并綜合論證了如下兩個(gè)方案:方案一:選擇一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制和處理功能。CPLD具有速度快、編程容易、資源豐富、

5、開(kāi)發(fā)周期短等優(yōu)點(diǎn)。可以用VHDL語(yǔ)言編寫(xiě)和開(kāi)發(fā)。但CPLD在控制上不如單片機(jī)。同時(shí)CPLD的處理速度很快,汽車(chē)的行駛速度不能太高,所以對(duì)系統(tǒng)處理信息的要求不會(huì)太高。在這一點(diǎn)上,MCU已經(jīng)可以勝任了。如果采用這種方案,控制上會(huì)出現(xiàn)很多不必要的問(wèn)題。因此,我們不采納這個(gè)方案,然后提出第二個(gè)想法。方案二:以單片機(jī)為整個(gè)系統(tǒng)的核心,用它來(lái)控制移動(dòng)的小車(chē),使其達(dá)到既定的性能指標(biāo)。充分分析我們的系統(tǒng),關(guān)鍵在于實(shí)現(xiàn)對(duì)小車(chē)的自動(dòng)控制,而在這一點(diǎn)上,單片機(jī)顯示了它的優(yōu)勢(shì)簡(jiǎn)單、方便、快捷的控制。這樣,單片機(jī)就能充分發(fā)揮其資源豐富、控制功能強(qiáng)大、可尋址操作功能和價(jià)格低廉的優(yōu)勢(shì)。因此,這是一個(gè)理想的方案。根據(jù)這種設(shè)計(jì)

6、的特點(diǎn)多開(kāi)關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要善于處理多開(kāi)關(guān)量輸入的標(biāo)準(zhǔn)單片機(jī),但不能使用I/O口和程序存儲(chǔ)器簡(jiǎn)化的小型單片機(jī),D/A和A/D功能也不必選擇。根據(jù)這些分析,我選擇了STC89C52RA單片機(jī)作為本次設(shè)計(jì)的主控器件。52單片機(jī)具有強(qiáng)大的位操作指令,I/O口可逐位尋址,程序空間高達(dá)8K,對(duì)于本設(shè)計(jì)來(lái)說(shuō)綽綽有余。更可貴的是52單片機(jī)很便宜。在考慮了很多因素之后,比如傳感器,兩個(gè)電機(jī)的驅(qū)動(dòng)等等。我們決定采用單片機(jī),充分利用STC89C52的資源。2.3傳感器選擇方案方案一:用LED發(fā)光,用光電二極管接收;當(dāng)發(fā)光二極管發(fā)出的可見(jiàn)光照射黑帶時(shí),光被黑帶吸收,光電二極管檢測(cè)到信號(hào)。高阻抗,使輸出

7、低。當(dāng)LED發(fā)出的可見(jiàn)光照射到地面上時(shí),LED發(fā)出的可見(jiàn)光被反射回來(lái),被光電二極管檢測(cè)到,其阻抗迅速下降。此時(shí),輸出端處于高電平。但由于光電二極管受環(huán)境中可見(jiàn)光影響較大,電路的穩(wěn)定性很差,但檢測(cè)信號(hào)可以通過(guò)運(yùn)算放大器進(jìn)行處理。方案二:采用反射式紅外光電傳感器。由TCRT5000反射式紅外二極管組成的路徑識(shí)別傳感器模塊在探測(cè)距離和靈敏度上可以滿(mǎn)足系統(tǒng)要求。該器件具有以下特點(diǎn):當(dāng)LED發(fā)出的光反射回來(lái)時(shí),三極管導(dǎo)通,輸出低電平。光電二極管調(diào)理電路簡(jiǎn)單,工作性能穩(wěn)定。綜上所述,本設(shè)計(jì)采用LED進(jìn)行檢測(cè),因?yàn)樾詢(xún)r(jià)比合理。2.4電機(jī)驅(qū)動(dòng)芯片選擇方案方案1:采用分立元件的H橋驅(qū)動(dòng)電路。方案二:采用集成H橋

8、驅(qū)動(dòng)電路芯片。由于集成H橋驅(qū)動(dòng)電路芯片體積小,穩(wěn)定性高,所以選用集成驅(qū)動(dòng)電路芯片作為電機(jī)驅(qū)動(dòng)芯片,型號(hào)為L(zhǎng)298N。2.5電機(jī)方案選擇方案一:采用步進(jìn)電機(jī)。步進(jìn)電機(jī)的一個(gè)顯著特點(diǎn)是具有快速啟動(dòng)和停止的能力,可以實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)和調(diào)速,啟動(dòng)性能好,啟動(dòng)轉(zhuǎn)矩大。工作電壓可達(dá)36V,4A。可以同時(shí)驅(qū)動(dòng)兩臺(tái)DC發(fā)動(dòng)機(jī)。適用于機(jī)器人設(shè)計(jì)和智能汽車(chē)設(shè)計(jì)。如果沒(méi)有超過(guò)步進(jìn)電機(jī)提供的動(dòng)態(tài)轉(zhuǎn)矩值,步進(jìn)電機(jī)可以立即啟動(dòng)或反轉(zhuǎn)。調(diào)速方式:DC電機(jī)采用PWM信號(hào)平滑調(diào)速。方案二:采用普通DC減速電機(jī),DC電機(jī)調(diào)速特性?xún)?yōu)良,調(diào)速平穩(wěn)、方便,調(diào)節(jié)范圍廣,過(guò)載能力強(qiáng),能承受頻繁的沖擊負(fù)載,能實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反

9、轉(zhuǎn),能滿(mǎn)足各種特殊運(yùn)行要求。綜上所述,我們選擇DC減速電機(jī)。2.6供電方案選擇方案一:直接使用AA干電池供電。它的結(jié)構(gòu)很簡(jiǎn)單,但是供電能力差,不容易長(zhǎng)時(shí)間供電。方案二:使用3500mA干電池,DC穩(wěn)壓整流電路的輸入端口接9mA干電池,經(jīng)過(guò)電容濾波和L7805、L7806穩(wěn)壓后輸出5v、6v左右的電壓。它能保證長(zhǎng)時(shí)間穩(wěn)定的輸出電壓。這樣就可以提供持續(xù)穩(wěn)定的電流,穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電。考慮到系統(tǒng)穩(wěn)定工作的要求,選擇了第一種方案。三種主要設(shè)備介紹3.1 STC 89 c 52簡(jiǎn)介STC89C52引腳功能描述VCC(40針):電源電壓VSS(20針):接地P0端口(P0.0P0.7,39

10、32引腳):P0端口是一個(gè)開(kāi)漏的8位雙向I/O端口。作為輸出端口,每個(gè)引腳可以驅(qū)動(dòng)8個(gè)TTL負(fù)載。將“1”寫(xiě)入端口P0時(shí),它可以用作高阻抗輸入。當(dāng)訪(fǎng)問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0端口還可以提供低8位地址和8位數(shù)據(jù)的多路復(fù)用總線(xiàn)。此時(shí),P0口的上拉電阻有效。在Flash ROM編程中,P0端口接收指令字節(jié);檢查程序時(shí),輸出指令字節(jié)。驗(yàn)證時(shí),需要外部上拉電阻。P1端口(P1.0P1.7,1 8針):P1端口是一個(gè)8位雙向I/O端口,帶有部分上拉電阻。P1的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流)四個(gè)TTL輸入。向端口寫(xiě)入1時(shí),端口被器件的上拉電阻拉至高電位,可用作輸入端口。當(dāng)P1端口作為輸入端口時(shí),因

11、為有一個(gè)上拉電阻,被外界拉低的管腳會(huì)輸出一個(gè)電流。此外,P1.0和P1.1也可用作定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入(P1.0/T2)和觸發(fā)輸入(P1.1/T2EX)。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)下表:編程和驗(yàn)證閃存ROM時(shí),P1接收低8位地址。表XX P1.0和P1.1引腳復(fù)用功能當(dāng)編程或驗(yàn)證閃速ROM時(shí),P3也接收一些控制信號(hào)。除了作為通用I/O端口之外,P3端口還具有其他復(fù)用功能,如下表所示:表XX P3端口引腳復(fù)用功能完成單片機(jī)的復(fù)位初始化操作。看門(mén)狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。專(zhuān)用寄存器AUXR(地址8EH)中的DISRTO位可以禁用此功能。在DISRTO默認(rèn)狀態(tài)下,復(fù)位高

12、電平有效。XTAL1(19針):振蕩器反相放大器和時(shí)鐘產(chǎn)生電路的輸入。XTAL2(18引腳):振蕩器反相放大器的輸入。特殊功能寄存器3.2 L298N的介紹L298N是一款高壓大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V輸出電流大,瞬時(shí)峰值電流可達(dá)3A,連續(xù)工作電流為2A;具有兩個(gè)H橋的高壓大電流全橋驅(qū)動(dòng)器可用于驅(qū)動(dòng)DC電機(jī)、步進(jìn)電機(jī)、繼電器、線(xiàn)圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號(hào)控制;有兩個(gè)使能控制端子,允許或禁止設(shè)備工作而不受輸入信號(hào)的影響;有一個(gè)邏輯電源輸入端,使部分邏輯電路工作在低電壓;可以外接檢測(cè)電阻,將變化反饋到控制電路。L298N的功能L298N

13、的操作參數(shù)L298N的邏輯控制L298N主要用于通過(guò)單片機(jī)的I/O輸入來(lái)改變芯片的控制端的電平,即可以使電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、停止。輸入引腳和輸出引腳之間的邏輯關(guān)系如下所示表3.3電機(jī)控制L298N邏輯真值表3.3 TCRT 5000簡(jiǎn)介T(mén)CRT5000光電傳感器模塊是基于TCRT5000紅外光電傳感器的紅外反射式光電開(kāi)關(guān)。傳感器由高發(fā)射功率的紅外光電二極管和高靈敏度的光電晶體管組成,輸出信號(hào)經(jīng)施密特電路整形,穩(wěn)定可靠。+:連接DC DC5V陽(yáng)極-:連接DC DC5V負(fù)極s:信號(hào)輸出,光電晶體管飽和。此時(shí),模塊的輸出處于高電平,表示二極管點(diǎn)亮。應(yīng)用場(chǎng)合:電能表脈沖數(shù)據(jù)采樣、碎紙機(jī)紙張檢測(cè)、障礙物檢測(cè)

14、、黑白線(xiàn)檢測(cè)。基本參數(shù):尺寸:長(zhǎng)32毫米 37毫米;寬度7.5mm;5毫米厚工作電壓:DC 3V5.5V,推薦工作電壓為5V。探測(cè)距離:1mm8mm適用,焦距2.5 mm。傳感器的紅外發(fā)射二極管持續(xù)發(fā)射紅外線(xiàn)。當(dāng)發(fā)射的紅外線(xiàn)沒(méi)有反射回來(lái)或反射回來(lái)但強(qiáng)度不夠高時(shí),光電晶體管一直處于關(guān)斷狀態(tài),模塊輸出處于低電平,說(shuō)明二極管一直處于關(guān)斷狀態(tài);當(dāng)被檢測(cè)物體出現(xiàn)在檢測(cè)區(qū)域時(shí),紅外線(xiàn)以足夠的強(qiáng)度反射回來(lái),光電晶體管飽和。此時(shí),模塊的輸出處于高電平,表示二極管點(diǎn)亮。靈敏度可調(diào)的跟蹤電路。當(dāng)比較器正向輸入端的電壓低于反向輸入端的電壓時(shí),輸出低電平,LED點(diǎn)亮,表示接收到反射光。3.4簡(jiǎn)介3.4 LM339用于

15、智能小車(chē)的電路分析模塊LM339引腳圖和功能介紹LM339集成塊配有四個(gè)獨(dú)立的電壓比較器。LM339類(lèi)似于增益不可調(diào)的運(yùn)算放大器。每個(gè)比較器有兩個(gè)輸入和一個(gè)輸出。兩個(gè)輸入端中的一個(gè)稱(chēng)為同相輸入端,用“+”表示,另一個(gè)稱(chēng)為反相輸入端,用“-”表示。比較兩個(gè)電壓時(shí),任一輸入端加一個(gè)固定電壓作為參考電壓(也叫閾值電平,可以選擇LM339輸入共模中的任意一點(diǎn)),另一端加一個(gè)要比較的信號(hào)電壓。當(dāng)“+”端電壓高于“-”端電壓時(shí),輸出管截止,相當(dāng)于輸出端開(kāi)路。當(dāng)“-”端電壓高于“+”端時(shí),輸出管飽和,相當(dāng)于輸出端接了一個(gè)低電位。如果兩個(gè)輸入端子之間的電壓差大于10mV,輸出可以可靠地從一種狀態(tài)切換到另一種狀

16、態(tài)。因此,在微弱信號(hào)檢測(cè)等場(chǎng)合使用LM339是比較理想的。LM339的輸出相當(dāng)于沒(méi)有集電極電阻的晶體管。使用時(shí),應(yīng)在正電源上連接一個(gè)電阻(稱(chēng)為上拉電阻,選擇3-15K)。選擇不同電阻值的上拉電阻會(huì)影響輸出端的高電位值。因?yàn)楫?dāng)輸出晶體管關(guān)斷時(shí),其集電極電壓基本取決于上拉電阻和負(fù)載的值。此外,比較器的輸出可以連接在一起。3.5 l 7805 cv和L7806CV的介紹L7805L7805是最常用的穩(wěn)壓芯片。它很容易使用。用一個(gè)非常簡(jiǎn)單的電路,就可以輸入一個(gè)DC穩(wěn)壓電源。它的輸出電壓正好是5v,正好是51系列單片機(jī)運(yùn)行所需的電壓。有ka7805、ads7805、cw7805等多個(gè)系列。,性能略有差異

17、。用的最多的是LM7805。在這里,我簡(jiǎn)單介紹一下他使用的三個(gè)圖釘。其中1接整流器輸出的+電壓,2接公共地(也就是負(fù)極),3是我們需要的正5V輸出電壓。L7806L7806是一種固定式正電壓調(diào)節(jié)器電路,屬于三端正電壓調(diào)節(jié)器系列。產(chǎn)品應(yīng)用廣泛,涉及各種穩(wěn)壓電源、充電器、數(shù)碼產(chǎn)品和家用電器。L7806芯片參數(shù):密封和包裝四。硬件設(shè)計(jì)。4.1主控芯片AT89C52單片機(jī)最小系統(tǒng)板電路本智能車(chē)采用的單片機(jī)最小系統(tǒng)板是我們自制的AT89C52最小系統(tǒng)板,具有體積小、重量輕、使用方便等優(yōu)點(diǎn),可以很好的放置在智能車(chē)內(nèi)。示意圖如下。小型系統(tǒng)PCB板4.2電機(jī)驅(qū)動(dòng)模塊電路電機(jī)驅(qū)動(dòng)模塊采用專(zhuān)用驅(qū)動(dòng)芯片L298N作

18、為電機(jī)的驅(qū)動(dòng)芯片。L298N是高壓大電流全橋驅(qū)動(dòng)芯片,響應(yīng)頻率高。一個(gè)L298N可以分別控制兩個(gè)DC減速電機(jī),它還有一個(gè)控制使能端子。用它做驅(qū)動(dòng)芯片,操作簡(jiǎn)單,穩(wěn)定,性能優(yōu)異。L298N的管腳5和7是一個(gè)電機(jī)的控制信號(hào)輸入,管腳10和12是另一個(gè)電機(jī)的控制信號(hào)輸入,管腳2和3是一個(gè)電機(jī)的控制信號(hào)輸出,管腳13和14是另一個(gè)電機(jī)的控制信號(hào)輸出。通過(guò)單片機(jī)控制L298N的輸入,可以實(shí)現(xiàn)DC減速電機(jī)的正反轉(zhuǎn),從而控制小車(chē)的前進(jìn)和后退。電機(jī)驅(qū)動(dòng)電路原理圖如下。驅(qū)動(dòng)模塊PCB板4.3紅外線(xiàn)黑線(xiàn)檢測(cè)模塊電路由于有六個(gè)紅外傳感器排成一排,均勻安裝在車(chē)底,當(dāng)光線(xiàn)照射在路面上發(fā)生反射時(shí),由于黑線(xiàn)和白紙的反射系數(shù)

19、不同,可以根據(jù)接收到的反射光強(qiáng)度來(lái)判斷黑線(xiàn)是否在前進(jìn)。一般情況下,當(dāng)黑線(xiàn)位于中間的兩個(gè)紅外傳感器之間時(shí),無(wú)論汽車(chē)向哪一側(cè)傾斜,都可以檢測(cè)到汽車(chē)的偏移方向。或者汽車(chē)向左傾斜時(shí),右側(cè)傳感器檢測(cè)到黑線(xiàn),輸出低電平給電機(jī);否則,它輸出高電平。紅外跟蹤電路原理圖紅外跟蹤PCB板跟蹤電路由紅外二極管構(gòu)成。當(dāng)檢測(cè)到黑線(xiàn)時(shí),打開(kāi)紅外接收器,否則關(guān)閉紅外二極管。通過(guò)比較器LM339的電壓比較,將電平狀態(tài)送到單片機(jī)進(jìn)行進(jìn)一步處理。示意圖如下。電路分析原理圖紅外電路分析PCB板4.4穩(wěn)壓電源電路電機(jī)驅(qū)動(dòng)電路模塊:這個(gè)題目要求汽車(chē)的機(jī)械系統(tǒng)穩(wěn)定、靈活、簡(jiǎn)單,可以選擇兩個(gè)輪子。考慮到現(xiàn)在大部分車(chē)都是兩個(gè)輪子,我選擇兩個(gè)

20、輪子的設(shè)計(jì),讓設(shè)計(jì)更貼近生活需求。驅(qū)動(dòng)部分:DC驅(qū)動(dòng)電機(jī),前后電機(jī)采用L298N雙通道電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng),其扭矩完全可以達(dá)到仿真效果。安裝電池:將電池放置在車(chē)身下方,降低車(chē)身重心,提高穩(wěn)定性,同時(shí)增加驅(qū)動(dòng)輪的抓地力,減少車(chē)輪空轉(zhuǎn)帶來(lái)的誤差。電源模塊:用兩節(jié)3500mA電池給電機(jī)供電,然后用穩(wěn)壓芯片把電池電壓降壓給單片機(jī)。一套電源可以減輕汽車(chē)的負(fù)荷。電機(jī)電源電路應(yīng)用說(shuō)明:基本思路是使能信號(hào)輸入使能端,即高電平接通,PWM信號(hào)輸入控制輸入端A,方向信號(hào)輸入控制輸出端b,在一個(gè)PWM周期內(nèi),電機(jī)只承受單極性電壓,電機(jī)的選擇方向由控制信號(hào)決定,電機(jī)轉(zhuǎn)速由PWM決定,PWM占空比0%-100%對(duì)應(yīng)電機(jī)轉(zhuǎn)速

21、0-MAX。因此,當(dāng)接收到來(lái)自檢測(cè)模塊的信號(hào)時(shí),單片機(jī)對(duì)該信號(hào)進(jìn)行處理,并根據(jù)該信號(hào)產(chǎn)生相應(yīng)的PWM波,從而可以根據(jù)該信號(hào)調(diào)整電機(jī)的轉(zhuǎn)速和方向。穩(wěn)壓電源電路圖穩(wěn)壓電源PCB板設(shè)計(jì)5.1主程序#include#定義uchar無(wú)符號(hào)字符#定義uint無(wú)符號(hào)整數(shù)uchar PWM _ left = 0;/變量定義,變量與速度的比較uchar push _ left = 0;/左電機(jī)占空比N/10速度調(diào)節(jié)uchar PWM _ right = 0;/與速度相比的變量uchar push _ right = 0;/右電機(jī)占空比N/10速度調(diào)節(jié)bit Right _ moto _ stop = 1;bit

22、 Left _ moto _ stop = 1;uint time = 0;uint a=0,flag=0,flag 1 = 0;sbit left_1_led=p10;/四通道跟蹤模塊接口的第一個(gè)通道sbit left_2_led=p11;/四通道跟蹤模塊接口的第二通道sbit right_1_led=p12;/四通道跟蹤模塊接口的第二通道sbit right_2_led=p13;/四通道跟蹤模塊接口的第三通道uint a,d,y,z,q,w,c;sbit out 1 = p20;sbit out 2 = p21;sbit out 3 = p22;sbit out 4 = p23;sbit

23、ENA = p16;sbit enb = p17;sbit in right = p24;sbit in left = p25;延遲(uint a);int左轉(zhuǎn)(uint z)ENA = 1;enb = 1;out1 = 1out 2 = 0;out 3 = 1;out 4 = 0;延遲(z);返回0;int右轉(zhuǎn)(uint y)ENA = 1;enb = 1;out 1 = 0;out 2 = 1;out 3 = 0;out 4 = 1;延遲(y);返回0;國(guó)際貨幣基金組織ENA = 0;enb = 0;out 1 = 0;out 2 = 0;out 3 = 0;out 4 = 0;延遲(d)

24、;返回0;無(wú)效go(單位q)ENA = 1;enb = 1;out 1 = 0;out 2 = 1;out 3 = 1;out 4 = 0;延遲(q);int back(uint w)ENA = 1;enb = 1;out1 = 1out 2 = 0;out 3 = 0;out 4 = 1;延遲(w);返回0;int右后衛(wèi)(int c)ENA = 0;enb = 1;out 1 = 0;out 2 = 0;out 3 = 0;out 4 = 1;延遲(c);返回0;無(wú)效張碧()if(inright=1&inleft=1)go(50);if(inright=0)右轉(zhuǎn)(50);if(inleft=

25、0)左轉(zhuǎn)(50);if(inright=0&inleft=0)back right(2000);void荀集() if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 0)/0go(50);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/0001右轉(zhuǎn)(20);延遲(5);else if(L

26、eft _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 0)/0010右轉(zhuǎn)(20);/(9,6)延遲(1);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/0011右轉(zhuǎn)(20);延遲(3);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 1 &

27、 & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 0)/0100左轉(zhuǎn)(30);延遲(3);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/0101右轉(zhuǎn)(30);延遲(2);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/

28、0111左轉(zhuǎn)(30);延遲(1);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 0)/1000左轉(zhuǎn)(30);延遲(3);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/1001go(30);延遲(3);/原始延遲為6else if(Left _ 1 _ led = = 1

29、 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 0)/1010左轉(zhuǎn)(30);延遲(3);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/1011右轉(zhuǎn)(20);延遲(3);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 0

30、& & Right _ 2 _ led = = 0)/1100左轉(zhuǎn)(20);延遲(5);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/1101左轉(zhuǎn)(20);延遲(5);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 0)/1110左轉(zhuǎn)(20);延遲(5);/else if

31、(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/1111/tiaosu();/go(20);/delay(5);/ 中間延遲(單位a)uint x,y;for(x = a;x 0;x -)for(y = 110;y 0;y-);返回0;/*/* PWM調(diào)節(jié)電機(jī)速度*/*/*左電機(jī)速度調(diào)節(jié)*/*調(diào)整push_val_left的值以改變電機(jī)速度和占空比*/void pwm_out_left_moto(無(wú)效)if(左_機(jī)動(dòng)_停止)if(pwm_lef

32、t=100)PWM _ left = 0;else ENA = 0;/*/*右電機(jī)速度調(diào)節(jié)*/void pwm_out_right_moto(void)if(右_馬達(dá)_停止)if(pwm_right=100)PWM _ right = 0;else enb = 0;/*/* */*定時(shí)器已初始化*/*/void init0(void)TMOD = 0 x 01;TH0 = 0XF8/1ms時(shí)序TH0 = 0XF8TL0 = 0X30TL0 = 0X30TR0 = 1;ET0 = 1;EA = 1;void init1(void)TMOD = 0 x 10;/設(shè)置定時(shí)器0的工作模式1TH1 =(

33、65536-50000)/256;/計(jì)時(shí)器的初始值TL1 =(65536-50000)% 256;IT0 = 1;IT1 = 1;EX0 = 1;/打開(kāi)外部中斷0EX1 = 1;/打開(kāi)外部中斷1ET1 = 1;/啟動(dòng)定時(shí)器0中斷TR1 = 1;/起始定時(shí)器0EA = 1;/打開(kāi)總中斷/*/*定時(shí)器0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)*/使用2使定時(shí)器0()中斷1無(wú)效TH0 = 0XF8/1毫秒時(shí)序TL0 = 0X30time+;PWM _ left+;PWM _ right+;PWM _ out _ left _ moto();PWM _ out _ right _ moto();空行程(整數(shù)m,整

34、數(shù)n)push _ left = m;/PWM調(diào)整參數(shù)1-10 1最慢,10最快。改變這個(gè)值可以改變它的速度。push _ right = n;/PWM調(diào)整參數(shù)1-10 1最慢,10最快。改變這個(gè)值可以改變它的速度。out 1 = 0;/左側(cè)電機(jī)前進(jìn)。out 2 = 1;out 3 = 1;out 4 = 0;/右電機(jī)向前移動(dòng)虛空調(diào)和() while(flag=1)跑(30,30);延遲(30);訊奇();if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led

35、= = 1) a = 1;flag = 0;while(a=1)run(99,99);延遲(30);訊奇();if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1) a = 2;void main() init 0();init 1();P1 = 0 x ff;P2 = 0 x ff;while(1) if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1

36、 & & Right _ 2 _ led = = 1) flag = 1; /1111else標(biāo)志= 0;延遲(3);如果(標(biāo)志=0)訊奇();其他條素();不及物動(dòng)詞調(diào)試:6.1硬件調(diào)試部件的固定小車(chē)主要由五個(gè)模塊的電路板組成,各板之間用導(dǎo)線(xiàn)連接。小車(chē)沿軌道運(yùn)動(dòng)時(shí),經(jīng)常會(huì)發(fā)生顛簸,導(dǎo)致電路板位移,電路板上的元器件受到擾動(dòng),使小車(chē)運(yùn)動(dòng)不平穩(wěn),尤其是L298N。所以我們不僅在板材上打孔鎖緊螺絲,還在板材之間用熱熔膠固定,減少震動(dòng)。TCRT5000探針由TCRT5000組成的軌跡識(shí)別電路是本設(shè)計(jì)成敗的關(guān)鍵。在最初的調(diào)試中,車(chē)頭的晃動(dòng)(即轉(zhuǎn)向)往往顯得無(wú)效。后來(lái)用電壓表測(cè)量電壓比較器輸入端的電壓,發(fā)

37、現(xiàn)參考電壓達(dá)到了3.5V,而紅外探頭檢測(cè)黑線(xiàn)時(shí)只有3.6V。兩者的電壓幾乎相同,所以單片機(jī)遇到黑線(xiàn)較淺或反光的區(qū)域會(huì)誤判。因此,我們?cè)趦煞N極端情況下測(cè)量了紅外探頭的電壓輸出:黑色和白色。在測(cè)量了黑白兩種極端情況下紅外探頭的電壓后,我通過(guò)調(diào)整電阻將參考電壓調(diào)整為5V。這個(gè)電壓值和輸出的電壓值無(wú)論是黑還是白都相差很遠(yuǎn),所以單片機(jī)會(huì)減少誤判的現(xiàn)象。改進(jìn)后測(cè)試正常,汽車(chē)可以靈活搖頭,實(shí)現(xiàn)更多功能。L298N電機(jī)驅(qū)動(dòng)模塊L298N電機(jī)驅(qū)動(dòng)模塊首次通電,實(shí)現(xiàn)簡(jiǎn)單的單向電機(jī)驅(qū)動(dòng)。當(dāng)找到馬達(dá)時(shí),它不運(yùn)行。測(cè)試后發(fā)現(xiàn)某信號(hào)線(xiàn)接觸不良,重新連接后運(yùn)行正常。這個(gè)模塊是商用模塊,所以性能比較穩(wěn)定,調(diào)試非常成功。6.2

38、軟件調(diào)試6.2.1調(diào)試平臺(tái)介紹Keil V4用于此編程。KeilSoftware公司推出的UVision4是一個(gè)可用于各種8051MCU的集成開(kāi)發(fā)環(huán)境(IDE)。IDE也是PK51和其他開(kāi)發(fā)工具包的重要組成部分。除了添加源代碼、函數(shù)導(dǎo)航器、模板編輯和改進(jìn)的搜索功能,uVision4還提供了配置向?qū)Чδ埽铀倭藛?dòng)代碼和配置文件的生成。此外,外部仿真器可以模擬目標(biāo)MCU,包括指令集、片內(nèi)外設(shè)和外部信號(hào)。UVision4提供了邏輯分析器,可以根據(jù)MCUI/O引腳和外設(shè)狀態(tài)變化來(lái)監(jiān)控程序變量。UVision4支持各種最新的8051微處理器,包括AnalogDevices的ADuC83x和ADuC84

39、x以及英飛凌的XC866。界面如下圖所示。程序調(diào)試調(diào)試完硬件,第一次下載軟件到系統(tǒng)進(jìn)行實(shí)際測(cè)試,發(fā)現(xiàn)車(chē)子過(guò)不了彎,會(huì)出軌。后來(lái)我仔細(xì)分析了自己的算法。本來(lái)我是把車(chē)設(shè)置成遇到彎道后完全掉頭的,但是他們有些著急,車(chē)?yán)@不過(guò)彎。在這一點(diǎn)上,我想用有限的轉(zhuǎn)向角來(lái)解決急轉(zhuǎn)彎的問(wèn)題。想到日常汽車(chē)在狹窄的道路上轉(zhuǎn)彎,我想到了向后調(diào)整車(chē)身位置的方法。也就是說(shuō),當(dāng)發(fā)現(xiàn)小車(chē)在現(xiàn)有的轉(zhuǎn)向角度下無(wú)法轉(zhuǎn)彎時(shí),小車(chē)會(huì)反相,從而快速調(diào)整小車(chē)的位置。改進(jìn)算法后,我又進(jìn)行了一次測(cè)試,這次汽車(chē)成功繞過(guò)了90度彎道。根據(jù)測(cè)試結(jié)果可以看出,基本實(shí)現(xiàn)了小車(chē)跟蹤避障功能。然而,測(cè)試仍然失敗。這種分析有兩個(gè)原因。第一,車(chē)讀太快,轉(zhuǎn)彎時(shí)剎車(chē)失

40、靈。第二,畫(huà)在紙上的跑道會(huì)有褶皺,這些地方容易出現(xiàn)誤判。知道了這些原因,我把現(xiàn)在的車(chē)的速度降下來(lái),重新測(cè)試了一遍。結(jié)果表明,即使跟蹤軌跡發(fā)生變化,小車(chē)也能很好地完成跟蹤。但是賽車(chē)不能根據(jù)賽道的情況自主改變速度。這也是這個(gè)設(shè)計(jì)的一個(gè)缺陷。實(shí)際調(diào)試過(guò)程中,車(chē)的程序跑偏了。經(jīng)過(guò)對(duì)方案的調(diào)整和改進(jìn),該車(chē)運(yùn)行狀態(tài)穩(wěn)定。它可以很好的完成沿著黑色賽道的行進(jìn),改變賽道的形狀和轉(zhuǎn)彎角度,賽車(chē)依然可以完成循跡。七、體驗(yàn)。在智能車(chē)系統(tǒng)的設(shè)計(jì)、調(diào)試、論文撰寫(xiě)過(guò)程中,我感覺(jué)很多同學(xué)都給予了無(wú)數(shù)的指導(dǎo)和大力支持。在這個(gè)過(guò)程中,我們不僅學(xué)到了知識(shí),也學(xué)到了治學(xué)的態(tài)度,那就是嚴(yán)謹(jǐn),把知識(shí)變成自己的,去其糟粕,留其精華,用自己的方式解決問(wèn)題,而不是人云亦云。智能汽車(chē)是傳感技術(shù)和自動(dòng)控制技術(shù)快速發(fā)展的產(chǎn)物,使得機(jī)械和電子信息的分離不再明顯。自動(dòng)控制在工業(yè)領(lǐng)域發(fā)揮著越來(lái)越重要的作用。智能這個(gè)詞是我們科技發(fā)展的重要產(chǎn)物。本次實(shí)習(xí)涉及的主要部分有傳感器巡檢車(chē)、驅(qū)動(dòng)部分、以單片機(jī)為核心的控制芯片、穩(wěn)壓及電路分析部分。各部分的成功參與、相互聯(lián)系和協(xié)調(diào)等。,是建立在系統(tǒng)閱讀大量資料,認(rèn)真分析課題需求,系統(tǒng)學(xué)習(xí)單片機(jī)工

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論