




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、棗莊學(xué)院?jiǎn)纹瑱C(jī)原理及接口技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)題 目 智能避障避險(xiǎn)小車(chē) 院 部機(jī)電工程學(xué)院 專(zhuān)業(yè)及班級(jí)機(jī)械設(shè)計(jì)制造及其自動(dòng)化 11級(jí)本2設(shè) 計(jì) 人 馬飛劉洪濤彭鵬 劉智慧 任可勝史維鑫 劉悅 劉飛飛 學(xué) 號(hào)指導(dǎo)教師尹相雷成 績(jī)?cè)O(shè)計(jì)時(shí)間:2013年7月4日目錄設(shè)計(jì)題目2第一章設(shè)計(jì)目的2第二章設(shè)計(jì)思路42.1 主控系統(tǒng)42.2 電機(jī)驅(qū)動(dòng)模塊42.3 循跡模塊62.4 避障模塊72.5 機(jī)械系統(tǒng)72.6電源模塊8第三章硬件電原理圖和連接圖83.1總體設(shè)計(jì)83.2驅(qū)動(dòng)電路93.3信號(hào)檢測(cè)模塊103.4主控電路11第四章程序流程圖 124.1主程序模塊124.2循跡模塊134.3避障模塊15第五章程序清單
2、第六章設(shè)計(jì)心得 1819參考文獻(xiàn)19設(shè)計(jì)題目(選自 山東省大學(xué)生機(jī)器人大賽比賽-智能避障避險(xiǎn)小車(chē)比賽)(一)比賽任務(wù)小車(chē)從出發(fā)區(qū)出發(fā)后,沿車(chē)道行駛一圈,并返回出發(fā)區(qū)。(二)比賽場(chǎng)地圖4 比賽場(chǎng)地俯視圖(注1有變化)1、比賽場(chǎng)地平面(即車(chē)道表面)俯視圖如圖4所示。2、比賽場(chǎng)地平面(即車(chē)道表面)由2塊細(xì)木工板(尺寸規(guī)格:寬度122.0cm,長(zhǎng)度244.0cm,厚度不定)拼接而成。細(xì)木工板表面未進(jìn)行任何特殊處理(如:拋光、刷漆和貼紙等),保持木材本身的材質(zhì)和顏色。3、比賽場(chǎng)地下方的地面的顏色不確定(不作規(guī)定)。4、車(chē)道表面距離車(chē)道下方的地面的高度不小于6cm,可用墊高物墊在場(chǎng)地下方,墊高物不外露。5
3、、在直行車(chē)道轉(zhuǎn)入環(huán)形車(chē)道和環(huán)形車(chē)道轉(zhuǎn)入直行車(chē)道處均有提示線(為直線),提示線由黑色防滑膠帶(線寬1.52.0厘米,常規(guī)為1.7厘米)粘貼而成。6、圖4中的遮擋墻和遮擋柱的位置,在開(kāi)始正式比賽前由裁判組協(xié)商后確定位置(所有參賽隊(duì)采用相同位置)。(三)車(chē)子規(guī)格1、車(chē)體(安裝傳感器后)的長(zhǎng)度和寬度均不得超過(guò)20cm,高度不限。2、所用電壓不超過(guò)24V。3、所用處理器類(lèi)型不限。(四)比賽規(guī)則1、車(chē)子必須按圖4中指定的方向離開(kāi)和返回出發(fā)區(qū)。2、車(chē)子通過(guò)車(chē)道中的環(huán)形區(qū)時(shí),采用順時(shí)針或逆時(shí)針?lè)较蚓伞?、車(chē)子不能以任何方式人為遙控,如:使用激光束或通過(guò)無(wú)線通信遙控車(chē)子等。凡是違反此項(xiàng)規(guī)定者,取消其比賽資格。
4、4、每隊(duì)有3次運(yùn)行機(jī)會(huì)。每次運(yùn)行前有1分鐘準(zhǔn)備時(shí)間。5、比賽過(guò)程中,如果車(chē)子出現(xiàn)以下異常表現(xiàn),則認(rèn)定運(yùn)行失?。海?)車(chē)子啟動(dòng)運(yùn)行后,未在5分鐘內(nèi)完成任務(wù);(2)車(chē)子出現(xiàn)嚴(yán)重故障或失控;(3)車(chē)子掉下場(chǎng)地;(4)參賽隊(duì)員未經(jīng)裁判同意干預(yù)車(chē)子工作;(5)車(chē)子進(jìn)行鉆、挖等破壞場(chǎng)地(包括撞倒遮擋墻或遮擋柱屬于破壞比賽場(chǎng)地的行為,判一次運(yùn)行失?。┗顒?dòng)。6、認(rèn)定運(yùn)行失敗后,參賽隊(duì)員可以向裁判提出重新運(yùn)行的請(qǐng)求。經(jīng)裁判同意,參賽隊(duì)員可以將車(chē)子重新放回到出發(fā)區(qū),重新啟動(dòng)運(yùn)行。7、比賽過(guò)程中,只允許一名參賽隊(duì)員進(jìn)入場(chǎng)地操作。第一章設(shè)計(jì)目的整個(gè)系統(tǒng)的設(shè)計(jì)以單片機(jī)為核心,利用了多種傳感器,將軟件和硬件相結(jié)合。本系統(tǒng)
5、能實(shí)現(xiàn)如下功能:(1)自動(dòng)沿預(yù)設(shè)軌道行駛小車(chē)在行駛過(guò)程中,能夠自動(dòng)檢測(cè)預(yù)先設(shè)好的軌道,實(shí)現(xiàn)直道和弧形軌道的前進(jìn)。若有偏離,能夠自動(dòng)糾正,返回到預(yù)設(shè)軌道上來(lái)。(2)當(dāng)小車(chē)探測(cè)到前進(jìn)前方的障礙物時(shí),可以自動(dòng)調(diào)整,躲避障礙物,從無(wú)障礙區(qū)通過(guò)。小車(chē)通過(guò)障礙區(qū)后,能夠自動(dòng)循跡(3)自動(dòng)檢測(cè)號(hào)遮擋墻并自動(dòng)入庫(kù)停車(chē)。機(jī)器人要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機(jī)器人一個(gè)視覺(jué)功能。使用傳感器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動(dòng)作。該智能避障避險(xiǎn)機(jī)器人可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測(cè)部分、執(zhí)行部分、CPU。機(jī)器人要實(shí)現(xiàn)自動(dòng)避障功能,還可以擴(kuò)展循跡等
6、功能,感知導(dǎo)引線和障礙物??梢詫?shí)現(xiàn)小車(chē)自動(dòng)識(shí)別路線,選擇正確的行進(jìn)路線,并檢測(cè)到障礙物自動(dòng)躲避?;谏鲜鲆?,傳感檢測(cè)部分考慮到小車(chē)一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價(jià)廉物美的光電開(kāi)關(guān)和紅外對(duì)管來(lái)充當(dāng)。智能避障避險(xiǎn)機(jī)器人的執(zhí)行部分,是由直流電機(jī)來(lái)充當(dāng)?shù)?,主要控制小?chē)的行進(jìn)方向和速度。單片機(jī)驅(qū)動(dòng)直流電機(jī)一由軟件模擬PWM輸出調(diào)制,需要占用單片機(jī)資源,難以精確調(diào)速,但單片機(jī)型號(hào)的選擇余地較大??紤]到實(shí)際情況,本文選擇第二種方案。CPU使用STC89C52單片機(jī),配合軟件編程實(shí)現(xiàn)。現(xiàn)在智能機(jī)器人發(fā)展很快,從智能玩具到其它各行業(yè)都有實(shí)質(zhì)成果。其基本可
7、實(shí)現(xiàn)循跡、避障、檢測(cè)貼片、尋光入庫(kù)、避崖等基本功能,電子設(shè)計(jì)大賽智能小車(chē)又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車(chē)更是走在前列。我此次的設(shè)計(jì)主要實(shí)現(xiàn)循跡避障避險(xiǎn)這兩個(gè)功能。第二章設(shè)計(jì)思路根據(jù)要求,確定如下方案:購(gòu)買(mǎi)小車(chē)組件和塑料板材進(jìn)行改裝制作小車(chē),加裝光電開(kāi)關(guān)和紅外對(duì)管,實(shí)現(xiàn)小車(chē)對(duì)道路和障礙物的檢測(cè),并將測(cè)量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測(cè)的各種數(shù)據(jù)實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的智能控制。這種方案能實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿足對(duì)系統(tǒng)的各項(xiàng)要求。2.1 主控系統(tǒng)根據(jù)課題的設(shè)計(jì)要求,我認(rèn)為此設(shè)計(jì)屬于多輸入量的復(fù)雜程序控制問(wèn)題。據(jù)此,擬定了以下兩種方案并進(jìn)
8、行了綜合的比較論證,具體如下:方案一:選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開(kāi)發(fā)周期短等優(yōu)點(diǎn),可利用VHDL語(yǔ)言進(jìn)行編寫(xiě)開(kāi)發(fā)。但CPLD在控制上較單片機(jī)有較大的劣勢(shì)。同時(shí),CPLD的處理速度非??欤≤?chē)的行進(jìn)速度不可能太高,那么對(duì)系統(tǒng)處理信息的要求也就不會(huì)太高,在這一點(diǎn)上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。方案二:采用單片機(jī)作為整個(gè)系統(tǒng)的核心,用其控制行進(jìn)中的小車(chē),以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng)
9、,其關(guān)鍵在于實(shí)現(xiàn)小車(chē)的自動(dòng)控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來(lái)它的優(yōu)勢(shì)控制簡(jiǎn)單、方便、快捷。這樣一來(lái),單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案。針對(duì)本設(shè)計(jì)特點(diǎn)多開(kāi)關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長(zhǎng)處理多開(kāi)關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡(jiǎn)I/O口和程序存儲(chǔ)器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52單片機(jī)作為本設(shè)計(jì)的主控裝置,51單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對(duì)于本設(shè)計(jì)也綽綽有余,更可貴的是51單片機(jī)價(jià)格非常低廉。在綜合考慮了傳感器
10、、兩部電機(jī)的驅(qū)動(dòng)等諸多因素后,我們決定采用一片單片機(jī),充分利用STC89C52單片機(jī)的資源。2.2 電機(jī)驅(qū)動(dòng)模塊方案一:采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)小車(chē)的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。方案二:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動(dòng)機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問(wèn)題在于一般的電動(dòng)機(jī)電阻很小,但電流很大,分壓不僅回降低效率,而且實(shí)現(xiàn)很困難。方案三:采用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動(dòng)的電路結(jié)構(gòu)和原理簡(jiǎn)單,加速能力強(qiáng),采用由達(dá)
11、林頓管組成的 H型橋式電路(如圖2.1)。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài)下,精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡(jiǎn)單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開(kāi)關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N(如圖2.2)。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。圖2.1 H橋式電路圖2.2 L298N2.3 循跡模塊方案一:采
12、用簡(jiǎn)易光電傳感器結(jié)合外圍電路探測(cè),但實(shí)際效果并不理想,對(duì)行駛過(guò)程中的穩(wěn)定性要求很高,且誤測(cè)幾率較大、易受光線環(huán)境和路面介質(zhì)影響。在使用過(guò)程極易出現(xiàn)問(wèn)題,而且容易因?yàn)樵摬考斐烧麄€(gè)系統(tǒng)的不穩(wěn)定。故最終未采用該方案。方案二:采用兩只紅外對(duì)管(如圖2.3),分別置于小車(chē)車(chē)身前軌道的兩側(cè),根據(jù)兩只光電開(kāi)關(guān)接受到白線與黑線的情況來(lái)控制小車(chē)轉(zhuǎn)向來(lái)調(diào)整車(chē)向,測(cè)試表明,只要合理安裝好兩只光電開(kāi)關(guān)的位置就可以很好的實(shí)現(xiàn)循跡的功能, 但是檢測(cè)不到停車(chē)線。(參考文獻(xiàn)3)方案三:采用四只紅外對(duì)管,兩只置于小車(chē)中間,兩只置于小車(chē)外側(cè),當(dāng)小車(chē)脫離軌道時(shí),即當(dāng)兩側(cè)的任意一只光電開(kāi)關(guān)檢測(cè)到空地時(shí),做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到兩邊
13、的光電開(kāi)關(guān)檢測(cè)不到到空地再恢復(fù)正向行駛。中間的兩只光電對(duì)管檢測(cè)到停車(chē)線時(shí),停車(chē)。經(jīng)過(guò)試驗(yàn),此方案小車(chē)行駛穩(wěn)定。通過(guò)比較,我選取第三種方案來(lái)實(shí)現(xiàn)循跡。圖2.3 紅外對(duì)管2.4 避障模塊方案一:采用一只紅外對(duì)管置于小車(chē)中央。其安裝簡(jiǎn)易,也可以檢測(cè)到障礙物的存在,但難以確定小車(chē)在水平方向上是否會(huì)與障礙物相撞,也不易讓小車(chē)做出精確的轉(zhuǎn)向反應(yīng)。方案二:采用兩只光電對(duì)管分別置于小車(chē)的前端兩側(cè),方向與小車(chē)前進(jìn)方向平行,對(duì)小車(chē)與障礙物相對(duì)距離和方位能作出較為準(zhǔn)確的判別和及時(shí)反應(yīng),兩只光電對(duì)管分別放在小車(chē)的兩側(cè),確保能夠檢測(cè)到障礙物,避免因小車(chē)運(yùn)行軌跡的變化而檢測(cè)不到障礙物。通過(guò)比較我采用方案二。2.5 機(jī)械系
14、統(tǒng)本題目要求小車(chē)的長(zhǎng)、寬較小,轉(zhuǎn)向穩(wěn)定、靈活,將電機(jī)樹(shù)立放置減小小車(chē)的長(zhǎng)度,電池的安裝:將電池樹(shù)放減小小車(chē)的寬度,降低車(chē)體重心,提高穩(wěn)定性,同時(shí)可增加驅(qū)動(dòng)輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。方案一:采用實(shí)驗(yàn)室有線電源通過(guò)穩(wěn)壓芯片供電,其優(yōu)點(diǎn)是可穩(wěn)定的提供5V電壓,但占用資源過(guò)大。方案二:采用4支1.5V電池單電源供電,但6V的電壓太小不能同時(shí)給單片機(jī)與與電機(jī)供電。方案三:采用8支1.5V電池雙電源分別給單片機(jī)與電機(jī)供電可解決方案二的問(wèn)題且能讓小車(chē)完成其功能。所以,我選擇了方案三來(lái)實(shí)現(xiàn)供電。第三章硬件電原理圖和連接圖3.1總體設(shè)計(jì)智能小車(chē)采用四輪驅(qū)動(dòng),前后輪左右兩邊各用一個(gè)電機(jī)驅(qū)動(dòng),調(diào)制前后四
15、個(gè)輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的。將循跡紅外對(duì)管分別裝在車(chē)體前方偏下的左右。當(dāng)車(chē)身下左邊的傳感器檢測(cè)到黑線時(shí),主控芯片控制左輪電機(jī)停止,車(chē)向左修正,當(dāng)車(chē)身下右邊傳感器檢測(cè)到黑線時(shí),主控芯片控制右輪電機(jī)停止,車(chē)向右修正。檢測(cè)黑線紅外對(duì)管裝在前方中間,兩只紅外對(duì)管對(duì)稱(chēng)固定,當(dāng)檢測(cè)到黑線時(shí)調(diào)整車(chē)的行進(jìn)方向。避障的原理和循線一樣,在車(chē)身前方兩邊裝兩個(gè)紅外對(duì)管,當(dāng)其檢測(cè)到障礙物時(shí),主控芯片給出信號(hào)報(bào)警并控制車(chē)子倒退,轉(zhuǎn)向,從而避開(kāi)障礙物。主板設(shè)計(jì)框圖如圖3.1STC89C52時(shí)鐘電路復(fù)位電路循跡紅外對(duì)管電機(jī)驅(qū)動(dòng)避障紅外對(duì)管電源電路圖3.1 主板設(shè)計(jì)框圖3.2驅(qū)動(dòng)電路(參考文獻(xiàn)4)電機(jī)驅(qū)動(dòng)一般采用H
16、橋式驅(qū)動(dòng)電路,L298N內(nèi)部集成了H橋式驅(qū)動(dòng)電路,從而可以采用L298N電路來(lái)驅(qū)動(dòng)電機(jī)。通過(guò)單片機(jī)給予L298N電路PWM信號(hào)來(lái)控制小車(chē)的速度,起停。其引腳圖如3.2,驅(qū)動(dòng)原理圖如圖3.3。圖3.2 L298N引腳圖圖3.3 電機(jī)驅(qū)動(dòng)電路3.3信號(hào)檢測(cè)模塊小車(chē)循跡原理是小車(chē)在細(xì)木工板表面上行駛,由于細(xì)木工板表面和空地對(duì)光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來(lái)判斷行進(jìn)路線。本小車(chē)采用紅外對(duì)管采集數(shù)據(jù)紅外探測(cè)法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。在小車(chē)行駛過(guò)程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時(shí)發(fā)生漫發(fā)射,反射光被裝在小車(chē)上的接收管接收;如果遇到黑線則紅
17、外光被吸收,則小車(chē)上的接收管接收不到信號(hào),再通過(guò)LM324作比較器來(lái)采集高低電平,從而實(shí)現(xiàn)信號(hào)的檢測(cè)。避障亦是此原理。電路圖如圖3.4。市面上有很多紅外傳感器,在這里我選用TCRT5000型光電對(duì)管。圖3.4循跡原理圖3.4主控電路本模塊主要是對(duì)采集信號(hào)進(jìn)行分析,同時(shí)給出PWM波控制電機(jī)速度,起停。以及再檢測(cè)到障礙轉(zhuǎn)彎等作用。其電路圖如圖5。圖3.5 主控電路第四章程序流程圖4.1啟動(dòng)循跡停車(chē)標(biāo)志位置位N是否檢測(cè)到障礙避障YNYY停止主程序框圖:圖4.1 主程序框圖void main()a=0;b=0;Time0();zhouqi = 100;while(1)zhixing();jiance_
18、a ();qianfang_b ();4.2循跡模塊開(kāi)始前進(jìn)掃描I/O口,是否檢測(cè)到黑線Y左邊 右邊左轉(zhuǎn)右轉(zhuǎn)N循跡框圖:圖4.2 循跡框圖void jiance_a () if(a=0&jiancezr=1&jiancezl=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(35);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(20);/you轉(zhuǎn) 90ltui_pwm=0;rtui_pwm=50;lji
19、n_pwm=50;rjin_pwm=0;Delay(180);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(30);zhixing_a0zhuanyong ();if(a=1&jiancezr=1&jiancezl=1)/&jiancer=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(40);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(150)
20、;/zuo轉(zhuǎn)90 /2222222222ltui_pwm=60;rtui_pwm=0;ljin_pwm=0;rjin_pwm=20;Delay(110);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if(a=2&jiancezr=1&jiancezl=1)/光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(80);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0
21、;rjin_pwm=0;Delay(100);/you轉(zhuǎn) 90/5555555555555555555555555ltui_pwm=0;rtui_pwm=60;ljin_pwm=60;rjin_pwm=0;Delay(100);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);pianzuo (); if(a=3&jiancezr=1&jiancezl=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Del
22、ay(100);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);/zuo轉(zhuǎn) 90ltui_pwm=40;rtui_pwm=0;ljin_pwm=0;rjin_pwm=60;Delay(80);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100); if(a=4&jiancezr=1&jiancel=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;De
23、lay(90);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);/zuo轉(zhuǎn)90 /2222222222ltui_pwm=40;rtui_pwm=0;ljin_pwm=0;rjin_pwm=50;Delay(150);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if (a=5&jiancezr=1&jiancezl=1&jiancezr=1&jiancel=1)/圓盤(pán) +a;zhixing(); if(a=6&jiancezr=1&jiancezl
24、=1) +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(35);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(50);/you轉(zhuǎn) 90ltui_pwm=0;rtui_pwm=50;ljin_pwm=50;rjin_pwm=0;Delay(180);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); 4.3避障模塊避障框圖:微停車(chē),后退一點(diǎn)N判斷標(biāo)志位,標(biāo)志位加1左轉(zhuǎn)右轉(zhuǎn) 前進(jìn)是
25、否檢測(cè)到障礙 Y開(kāi)始圖4.3 避障框圖void qianfang_b () if (b=0&qianfangr=0)|(b=0&qianfangl=0 ) ) /斜擋板 +b;duanting (); ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(45);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(50); /可以加檢測(cè)到邊a=2/zuo轉(zhuǎn)小于90 /33333333333ltui_pwm=50;rtui_pwm=0;ljin_pwm=0;rjin_pwm=50;Delay(110
26、);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if (b=1&qianfangr=0)|(b=1&qianfangl=0 ) )/中間的擋板/ +b;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(10);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(20);/zuo轉(zhuǎn)90 /44444444444444444444/zuo轉(zhuǎn)90ltui_pwm=0;rtui_pwm=0;
27、ljin_pwm=0;rjin_pwm=50;Delay(220);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if (b=2&qianfangr=0)|(b=2&qianfangl=0) +b;duanting ();/you轉(zhuǎn)90 /66666666666666666666ltui_pwm=0;rtui_pwm=60;ljin_pwm=40;rjin_pwm=0;Delay(145);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixi
28、ng();ltui_pwm=0;rtui_pwm=0;ljin_pwm=35;rjin_pwm=39; if (b=3&qianfangr=0)|(b=3&qianfangl=0) +b;duanting ();ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay (20);/you轉(zhuǎn) 90/5555555555555555555555555ltui_pwm=0;rtui_pwm=60;ljin_pwm=60;rjin_pwm=0;Delay(120);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Dela
29、y(100);pianyou (); if (b=4&qianfangr=0)|(b=4&qianfangl=0) ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay (20);ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(0); 第五章程序清單#include#define uint unsigned int#define uchar unsigned charuinti,j;ucharljin_pwm,ltui_pwm,rjin_pwm,rtui_pwm;ucharzhouqi,a,b
30、;sbitzuotui=P10;sbitzuojin=P11;sbityoutui=P12;sbityoujin=P13;sbitjiancer=P20;sbitjiancezr=P21;sbitjiancezl=P22;sbitjiancel=P23;sbitqianfangl=P14;sbitqianfangr=P15;void Time0(void)TMOD |=0x01; /定時(shí)器設(shè)置 1ms in 12M crystalTH0=0xff;/(65536-1000)/256; TL0=0xd1;/0.05ms/(65536-1000)%256; /定時(shí)1mS IE= 0x82; /打開(kāi)
31、中斷TR0=1; /定時(shí)器打開(kāi)void Delay(uint i)ucharx,j;for(j=0;ji;j+)for(x=0;x=148;x+);void qianfang_b ();void jiance_a ();void pianyou ();void pianzuo ()ltui_pwm=0;rtui_pwm=0;ljin_pwm=20;rjin_pwm=100;void duanting ()ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=5;Delay (20);void zhixing_a0zhuanyong ()ljin_pwm=90;rj
32、in_pwm=90;if(jiancer=0&jiancel=1) ljin_pwm=40;rjin_pwm=0; Delay(50); if(jiancer=1&jiancel=0) ljin_pwm=0;rjin_pwm=40; Delay(50); void zhixing()ltui_pwm=0;rtui_pwm=0;ljin_pwm=35;rjin_pwm=39;if (jiancel=0&jiancer=1)ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay (20);ltui_pwm=50;rtui_pwm=0;ljin_pwm=0
33、;rjin_pwm=60;Delay (25);if(jiancer=0&jiancel=1) ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0; Delay (20);ltui_pwm=0;rtui_pwm=55;ljin_pwm=50;rjin_pwm=0; Delay(25); void main()a=0;b=0;Time0();zhouqi = 100;while(1)zhixing();jiance_a ();qianfang_b ();void tim(void) interrupt 1 using 1static unsigned char
34、 count0,count1,count2,count3; TH0=0xff;/(65536-1000)/256; TL0=0xd1;/(65536-1000)%256;/定時(shí)1mS if (count0=ltui_pwm) /0zuotui = 1; /直流電機(jī)轉(zhuǎn)count0+;if(count0 = zhouqi)count0=0;if(ltui_pwm!=0) /如果左右時(shí)間是0 保持原來(lái)狀態(tài)zuotui = 0; /直流電機(jī)不轉(zhuǎn)if (count1=ljin_pwm) /1zuojin = 1; /直流電機(jī)轉(zhuǎn)count1+;if(count1 = zhouqi)count1=0;if(
35、ljin_pwm!=0) /如果左右時(shí)間是0 保持原來(lái)狀態(tài)zuojin = 0; /直流電機(jī)不轉(zhuǎn)if (count2=rtui_pwm) /2youtui = 1; /直流電機(jī)轉(zhuǎn)count2+;if(count2 = zhouqi)count2=0;if(rtui_pwm!=0) /如果左右時(shí)間是0 保持原來(lái)狀態(tài)youtui = 0; /直流電機(jī)不轉(zhuǎn)if (count3=rjin_pwm) /3youjin = 1; /直流電機(jī)轉(zhuǎn)count3+;if(count3 = zhouqi)count3=0;if(rjin_pwm!=0) /如果左右時(shí)間是0 保持原來(lái)狀態(tài)youjin = 0; /直流
36、電機(jī)不轉(zhuǎn) void jiance_a () if(a=0&jiancezr=1&jiancezl=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(35);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(20);/you轉(zhuǎn) 90ltui_pwm=0;rtui_pwm=50;ljin_pwm=50;rjin_pwm=0;Delay(180);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;
37、rjin_pwm=0;Delay(30);/zhixing();zhixing_a0zhuanyong ();if(a=1&jiancezr=1&jiancezl=1)/&jiancer=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(40);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(150);/zuo轉(zhuǎn)90 /2222222222ltui_pwm=60;rtui_pwm=0;ljin_pwm=0
38、;rjin_pwm=20;Delay(110);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if(a=2&jiancezr=1&jiancezl=1)/光電對(duì)管檢測(cè)到前方障礙,微倒/車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(80);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);/you轉(zhuǎn) 90/55555555555555555555
39、55555ltui_pwm=0;rtui_pwm=60;ljin_pwm=60;rjin_pwm=0;Delay(100);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);pianzuo (); if(a=3&jiancezr=1&jiancezl=1) /光電對(duì)管檢測(cè)到前方障礙,/微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(100);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0
40、;Delay(100);/zuo轉(zhuǎn) 90ltui_pwm=40;rtui_pwm=0;ljin_pwm=0;rjin_pwm=60;Delay(80);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100); if(a=4&jiancezr=1&jiancel=1) /光電對(duì)管檢測(cè)到前方障礙,微倒車(chē),停車(chē)250ms +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(90);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0
41、;Delay(100);/zuo轉(zhuǎn)90 /2222222222ltui_pwm=40;rtui_pwm=0;ljin_pwm=0;rjin_pwm=50;Delay(150);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if (a=5&jiancezr=1&jiancezl=1&jiancezr=1&jiancel=1)/圓盤(pán) +a;zhixing(); if(a=6&jiancezr=1&jiancezl=1) +a;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm
42、=0;rjin_pwm=0;Delay(35);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(50);/you轉(zhuǎn) 90ltui_pwm=0;rtui_pwm=50;ljin_pwm=50;rjin_pwm=0;Delay(180);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); void qianfang_b () if (b=0&qianfangr=0)|(b=0&qianfangl=0 ) ) /斜擋板 +b;duanting (); ltui_pwm=
43、50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(45);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(50); /可以加檢測(cè)到邊a=2/zuo轉(zhuǎn)小于90 /33333333333ltui_pwm=50;rtui_pwm=0;ljin_pwm=0;rjin_pwm=50;Delay(110);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if (b=1&qianfangr=0)|(b=1&qianfangl=0 ) )/
44、中間/的擋板/ +b;duanting ();ltui_pwm=50;rtui_pwm=50;ljin_pwm=0;rjin_pwm=0;Delay(10);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(20);/zuo轉(zhuǎn)90 /44444444444444444444/zuo轉(zhuǎn)90/zuo轉(zhuǎn)90ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=50;Delay(220);ltui_pwm=0;rtui_pwm=0;ljin_pwm=0;rjin_pwm=0;Delay(100);zhixing(); if (b=2&qianfangr=0)|(b=2&qia
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 診斷測(cè)評(píng)與BOPPPS教學(xué)模式的融合在高中英語(yǔ)閱讀教學(xué)中的行動(dòng)研究
- 茶具設(shè)計(jì)手繪技法解析
- 腎病綜合征常規(guī)護(hù)理要點(diǎn)
- 孕期飲食健康管理
- 大班心理健康:笑是良藥
- 領(lǐng)航職業(yè)英語(yǔ)2課件下載
- 惡性腫瘤病人的護(hù)理教學(xué)查房
- 2025年上海市中考招生考試數(shù)學(xué)真題試卷(真題+答案)
- 采樣消毒培訓(xùn)
- 舞蹈教育考研講解
- 2025年廣東省中考英語(yǔ)試題卷(含答案解析)
- 航圖zbyn太原武宿-機(jī)場(chǎng)細(xì)則
- 浙江省城市體檢工作技術(shù)導(dǎo)則(試行)
- 義務(wù)教育歷史課程標(biāo)準(zhǔn)(2022年版)
- 防火封堵施工方案(新版)
- 真空度正壓和負(fù)壓關(guān)系及負(fù)壓中MPa和Pa對(duì)應(yīng)關(guān)系
- 大面積地面荷載作用附加沉降量計(jì)算
- 山東省普通初中小學(xué)音樂(lè)、美術(shù)、衛(wèi)生設(shè)備配備標(biāo)準(zhǔn)
- 景陵峪_構(gòu)造報(bào)告_構(gòu)造地質(zhì)學(xué)
- 浸塑作業(yè)與檢驗(yàn)
評(píng)論
0/150
提交評(píng)論