論文自動(dòng)避障追光小車
《論文自動(dòng)避障追光小車》由會員分享,可在線閱讀,更多相關(guān)《論文自動(dòng)避障追光小車(20頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 《自動(dòng)追光避障電動(dòng)小車》論文 學(xué)校: 華僑大學(xué) 學(xué)院: 信息科學(xué)與工程學(xué)院 班級:10級 集成電路設(shè)計(jì)與集成系統(tǒng) 組員: 熊梓淋、項(xiàng)傳煜、崔冰 目錄 摘要 3 一、 設(shè)計(jì)要求 4 1.1基本要求…………………………………………………………………..…4 1.2發(fā)揮部分…………………………………………………………………..…4 二、系統(tǒng)方案設(shè)計(jì) 5 2.1系統(tǒng)功能概述………………………………………………………………..5 2.2系統(tǒng)方案概括………………………………………………………………..5 2.
2、3系統(tǒng)結(jié)構(gòu)圖………………………….……………………………………….5 三、模塊設(shè)計(jì)方案選擇………………….……………………6 3.1、電源模塊的設(shè)計(jì)……………………………………………………….…6 3.2、自動(dòng)避障模塊的設(shè)計(jì)……………………………………….……………6 3.3、感光模塊的設(shè)計(jì)……………………………………………………...…..7 3.4、自動(dòng)停車模塊的設(shè)計(jì)……………………………………………….……7 3.5、穩(wěn)壓模塊的設(shè)計(jì)………………………………………………………….7 3.6、步進(jìn)電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì)................................
3、...........................................7 3.7、直流電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì)………………………………………….……8 3.8、太陽能電池板模塊的設(shè)計(jì)………………………………………….……8 四、系統(tǒng)各模塊電路圖附件………………………………….9 4.1、中央控制模塊……………………………………………………………9 4.2、太陽能電池板模塊………………………………………………..…..…9 4.3、感光模塊……………………………………………………………..…..9 4.4、穩(wěn)壓電路…………………………………………………………….….10
4、 4.5、步進(jìn)電機(jī)驅(qū)動(dòng)電路…………………..…………………………………11 4.6、直流驅(qū)動(dòng)電路…………………………………….…………………….11 4.7、超聲波模塊原理圖……………………………………………………..11 4.8、超聲波使能模塊原理圖………………………………………………..12 五、軟件設(shè)計(jì).....................................12 5.1 超聲波控制………………………………………………………………12 5.2感光模塊程序…………………………………………………………….14 5.3 步進(jìn)電機(jī)驅(qū)動(dòng)程序……………………………………
5、…………………16 六、電路調(diào)試.....................................17 6.1追光系統(tǒng)調(diào)試…………………………………………………………….17 6.2避障系統(tǒng)調(diào)試………………………………………………………….....17 6.3太陽能電池板充電系統(tǒng)調(diào)試…………………………………………….18 6.4整體電路調(diào)試…………………………………………………………….18 七、總結(jié) .......................................18 附錄2:程序 18 摘要 隨著汽車自動(dòng)化、智能化程序的提高,新一代
6、智能汽車的研發(fā)在國內(nèi)外受到越來越多的重視。目前,國內(nèi)比較先進(jìn)的智能車輛通過觀測前方的路況,將路況信息輸入到車內(nèi)的電腦中,通過計(jì)算機(jī)控制方向盤的運(yùn)動(dòng)實(shí)現(xiàn)自動(dòng)避障的目的。然而隨著汽車產(chǎn)業(yè)的快速發(fā)展,汽車產(chǎn)業(yè)目前已經(jīng)進(jìn)入調(diào)整期,目前,全球石油資源緊缺,且油價(jià)不斷上漲,沖擊了各個(gè)行業(yè),尤其是汽車產(chǎn)業(yè),同時(shí)人類面對著全球變暖、水平面上升等世界性問題。因此未來的汽車必將趨于電氣化、智能化。眾所周知太陽能是目前最為清潔的能源,對人類來說無疑是一種新型的能源。此次設(shè)計(jì)的簡易電動(dòng)小車的動(dòng)力來自于太陽能轉(zhuǎn)換的電能,是基于單片機(jī)控制及傳感器技術(shù),實(shí)現(xiàn)的功能是小汽車可自動(dòng)尋光,并且能夠利用超聲波傳感器檢測道路上的障礙
7、,以及電動(dòng)小車的自動(dòng)停車。電動(dòng)小車由單片機(jī)STC89C52控制電動(dòng)小汽車的自動(dòng)尋光、自動(dòng)避障、及自動(dòng)停車。 關(guān)鍵字:太陽能電池板;單片機(jī);超聲波傳感器;光敏二極管 一、任務(wù)要求 設(shè)計(jì)制作一套自動(dòng)追光太陽能充電系統(tǒng)放置在電動(dòng)小車上。小車以一定速度追著光源行進(jìn),太陽能板始終能面對光源給蓄電池充電。小車行進(jìn)過程中會遇到路障,小車必須能避開路障繞道找到光源并繼續(xù)追光前進(jìn)。 1.1.基本要求 (1)光源用不大于100W的白熾燈,場地不小于1.5m1.5m,障礙物不小于15cm15cm15cm??梢詫庠催M(jìn)行聚光。 (2)光源在離小車大于1.5m的固定位置擺放,放置高度不高于25cm。小車發(fā)現(xiàn)
8、光源后沿光源方向前進(jìn)。 (3)小車前進(jìn)方向上至少隨機(jī)放置三個(gè)障礙物。遇到障礙物,小車應(yīng)繞道前進(jìn)。 (4)在小車?yán)@道過程中,太陽能板應(yīng)始終對準(zhǔn)光源。 (5)到達(dá)離光源一定位置后,小車應(yīng)停止前進(jìn)。 (6)小車前進(jìn)直線距離應(yīng)大于1.2米,時(shí)間不大于2分鐘。 (7)能顯示太陽能為蓄電池供電狀態(tài)。 1.2.發(fā)揮部分 (1)場地尺寸2m2m,光源離小車2米以上。 (2)障礙物5個(gè)以上。 (3)能逆著光源前進(jìn),并繞過障礙物。但太陽能板始終對準(zhǔn)光源。 (4)完成時(shí)間不大于1分鐘。 (5)在無白熾燈光源情況下,小車可以沿自然光源方向前進(jìn)。 (6)其它。 二、系統(tǒng)方案設(shè)計(jì) 2.1 系統(tǒng)
9、功能概述 初始時(shí)刻小車置于起點(diǎn),打開電源,啟動(dòng)小車。小車會通過感光模塊進(jìn)行追光并檢測前方障礙情況,太陽能板也能根據(jù)自己的感光模塊自動(dòng)正對光源。當(dāng)在前進(jìn)過程中遇到障礙物時(shí),小車會根據(jù)避障系統(tǒng)來選擇左轉(zhuǎn)或右轉(zhuǎn),以便避開障礙物。在避開障礙物后,小車趨光前進(jìn)。同時(shí)太陽能板也時(shí)刻都正對光源,并能時(shí)刻顯示充電狀態(tài)。到達(dá)終點(diǎn)時(shí),小車自動(dòng)停車。 2.2 系統(tǒng)方案概括 主控制系統(tǒng): 在此次設(shè)計(jì)中,涉及到一個(gè)外部中斷,三個(gè)定時(shí)中斷,所以采用常用的單片機(jī)STC89C52作為小車的主控制器,通過單片機(jī)來接收指令并發(fā)出指令,使小車的各項(xiàng)功能得以順利完成。 (1).感光系統(tǒng):設(shè)計(jì)中不僅要求小車能夠朝著光源
10、前進(jìn),而且還要求太陽能板也要正對光源。通過各方面的了解,比較,最終我們決定采用了兩套獨(dú)立感光系統(tǒng),來完成小車追光與太陽能電池板對光。這兩個(gè)模塊分別放在小車車頭和太陽能板的左右兩端,通過比較兩邊光敏電阻的電壓,以此來判斷是否正對這光源。 (2).避障系統(tǒng):設(shè)計(jì)中采用三個(gè)避障模塊。分別裝在左,中,右,這樣便可使小車順利避障。 (3).能源系統(tǒng):使用一片LM2596-5(穩(wěn)定5V輸出)和LM2596_ADJ(可調(diào)輸出)分別給芯片和電機(jī)供電。 (4).動(dòng)力系統(tǒng):這次采用的是直接驅(qū)動(dòng)兩個(gè)直流電機(jī)的方式來解決小車動(dòng)力問題。通過分別控制兩個(gè)直流電機(jī)的轉(zhuǎn)速使小車前進(jìn)、后退、轉(zhuǎn)向、停止等功能。 2.3系
11、統(tǒng)結(jié)構(gòu)圖 充電狀態(tài)顯示 太陽能電池板 蓄電池 升壓模塊 主控制 CPU STC89C52 穩(wěn)壓模塊 避障模塊 尋光模塊 電機(jī)驅(qū)動(dòng) 驅(qū)動(dòng)小車 系統(tǒng)總流程圖: N Y N Y N Y Y N Y 開始 停車 是否靠近光源 對光 太能板是否正對光源 避障 前方是否有障礙 太能板是否正對光源 充電 小車是否正對光源 前進(jìn) 尋光 三、模塊設(shè)計(jì)方案選擇 3.1、電源模塊的設(shè)計(jì) 方案一:所有元器件采用單一電源。它供電簡單,方便靈活
12、,減小了車載重量和摩擦阻力。但是電機(jī)啟動(dòng)瞬間電流很大,會造成電壓不穩(wěn)定、有毛刺干擾等,不適用于要求電源穩(wěn)壓的CPU,嚴(yán)重時(shí)可能造成系統(tǒng)掉電。 方案二:單片機(jī)必須與大電流器件分開供電,避免大電流器件對單片機(jī)造成干擾,采用兩路供電,這樣可以使用其中一路單獨(dú)為單片、指示燈供電,另外一路提供L298N驅(qū)動(dòng)直流電機(jī)使用。 介于設(shè)計(jì)穩(wěn)定性考慮,采用方案二。 3.2、自動(dòng)避障模塊的設(shè)計(jì) 方案一:采用超聲波。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播距離遠(yuǎn)且具有頻率高、波長短、繞射現(xiàn)象小等諸多優(yōu)點(diǎn)故而超聲波已經(jīng)廣泛應(yīng)用于現(xiàn)代社會之中。超聲波傳感器主要采用直接反射式的檢測模式。位于傳感器前面的被檢測
13、物通過將發(fā)射的聲波部分地發(fā)射回傳感器的接收器,從而使傳感器檢測到被測物。還有部分超聲波傳感器采用對射式的檢測模式。一套對射式超聲波傳感器包括一個(gè)發(fā)射器和一個(gè)接收器,兩者之間不斷進(jìn)行信息的傳遞。位于接收器和發(fā)射器之間的被檢測物將會阻斷接收器接收發(fā)射的聲波,從而傳感器將產(chǎn)生高低電平的跳變進(jìn)而由單片機(jī)對其進(jìn)行相關(guān)處理。 方案二:使用紅外傳感器,它是一種集發(fā)射與接收于一體的光電傳感器,檢測距離可以根據(jù)要求進(jìn)行調(diào)節(jié)。該傳感器具有探測距離遠(yuǎn)、受可見光干擾小、價(jià)格便宜、易于裝配、使用方便等特點(diǎn)。紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,發(fā)出的紅外線照射到黑色的平面后紅外線被吸收。若紅外接
14、收管能接收到反射回的紅外線則檢測出白線繼而輸出低電平,若接收不到紅外線則檢測出黑線繼而輸出高電平。 由于測試中使用的是白熾燈,產(chǎn)生的光中,紅外光占有比例較大,如使用紅外傳感器,會有較大的干擾。所以考慮到設(shè)計(jì)中對障礙物中尺寸和顏色上的要求以及使用的方便性、穩(wěn)定性和檢測具體的可調(diào)性,選擇方案一,即使用超聲波進(jìn)行避障,在使用時(shí)可以方便的對最小避障距離進(jìn)行調(diào)節(jié),使得更好地實(shí)現(xiàn)小車避障功能而順利趨光行駛。 3.3、感光模塊的設(shè)計(jì) 方案一:使用光敏二極管和A/D轉(zhuǎn)換電路來實(shí)現(xiàn)自動(dòng)尋光。光敏二極管與半導(dǎo)體二極管在結(jié)構(gòu)上是類似的,其內(nèi)部是一個(gè)具有光敏特征的PN結(jié),具有單向?qū)щ娦?,因此工作時(shí)需加上反向電壓
15、。無光照時(shí),有很小的飽和反向漏電流,即暗電流,此時(shí)光敏二極管截止;當(dāng)受到光照時(shí),飽和反向漏電流大大增加,形成光電流,它隨入射光強(qiáng)度的變化而變化。輸出經(jīng)過ADC0832進(jìn)行A/D轉(zhuǎn)換后得到的電壓變化量反饋給單片機(jī)進(jìn)行處理,進(jìn)而控制小車尋找光源。因此可以利用此特性進(jìn)行自動(dòng)尋找光源。 方案二:采用光敏電阻和A/D轉(zhuǎn)換電路來實(shí)現(xiàn)自動(dòng)尋光。由于光敏電阻的阻值會隨著光照強(qiáng)度的增加而迅速減小,我們可以應(yīng)用此原理,通過一個(gè)A/D轉(zhuǎn)換出來的電壓變化量經(jīng)過單片機(jī)的處理來實(shí)現(xiàn)自動(dòng)尋光功能。 測試發(fā)現(xiàn)光敏二極管在對著光源移動(dòng)時(shí)反應(yīng)過于靈敏,在距離光源較近的位置會出現(xiàn)一個(gè)跳變,且在離光源較近時(shí)(大約70cm至100
16、cm)對光源及其不敏感,而且A/D讀書不穩(wěn)定,波動(dòng)較大,從而影響小車的前進(jìn)。光敏電阻雖然不如光敏二極管靈敏,但經(jīng)過實(shí)際測試發(fā)現(xiàn),其穩(wěn)定性比光敏二極管好很多,經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)線性性好,而且價(jià)格相對較低基本可以滿足設(shè)計(jì)要求。因而選擇方案二。 3.4、自動(dòng)停車模塊的設(shè)計(jì): 方案一:采用熱敏電阻, 該設(shè)計(jì)采用的光源是白熾燈,白熾燈是在照明的時(shí)候能夠產(chǎn)生大量的熱量,我們可以利用該特性,采用熱敏電阻制作一個(gè)停車模塊。熱敏電阻的阻值能夠隨著周圍熱的不同而改變。然后通過比較器控制小車靠近光源時(shí)自動(dòng)停車。 方案二:利用感光模塊上光敏電阻的感光效應(yīng),當(dāng)小車離光源越近時(shí),經(jīng)A/D轉(zhuǎn)換后的電壓值就會越小
17、。因此可以利用此原理,給A/D設(shè)置一個(gè)初值,當(dāng)達(dá)到這一初值時(shí)小車自動(dòng)停止。 經(jīng)過實(shí)踐,我們利用熱敏電阻制作的停車模塊對熱不是很敏感,而且我們已有四個(gè)感光模塊,效果也不亞于適應(yīng)熱敏電阻。因此我們選用了利用感光系統(tǒng)來進(jìn)行停車。 3.5、穩(wěn)壓模塊的設(shè)計(jì) 方案一:采用LM2596穩(wěn)壓芯片對干電池輸出電壓進(jìn)行穩(wěn)壓。LM2596具有很好的線性和負(fù)載可調(diào)性。有固定輸出和可調(diào)輸出,其固定輸出有3.3V、5V、12V,可調(diào)可以輸出1.2—37V的各種電壓。 方案二:采用LM7805三端穩(wěn)壓器件進(jìn)行穩(wěn)壓。其可固定輸出5V穩(wěn)定電壓而且內(nèi)部有過熱保護(hù)和安全工作保護(hù)電路。雖然LM7805器件是按照固定電壓值來設(shè)
18、計(jì)的,但當(dāng)加載一些外部器件后,同樣可以輸出可變電壓。 綜合考慮上述兩種方案,由于LM2596輸出電壓1.2—37V穩(wěn)定可調(diào)內(nèi)部有過熱保護(hù)和限流保護(hù)電路,外圍電路簡單,僅需4位外接元件,且使用的電感是比較容易購買的標(biāo)準(zhǔn)電感,輸出電壓可調(diào)性好。而LM7805是按固定輸出5V電壓值來設(shè)計(jì)的,常用于單片機(jī)的供電電路的設(shè)計(jì)。雖可輸出可變電壓值,但是其輸出電壓可調(diào)性差,更主要的是其效率低,只能達(dá)到60%—75%,而LM2596最高效率可達(dá)90%。相比之下我們選擇了方案一。 3.6、步進(jìn)電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì) 方案一:采用ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)驅(qū)動(dòng)芯片。ULN2003多用于單片機(jī)、智能儀表、PLC、數(shù)
19、字量輸出卡等控制電路中。通常芯片采用DIP封裝。 方案二:采用L298驅(qū)動(dòng)芯片。L298既可以驅(qū)動(dòng)直流電機(jī)又可以驅(qū)動(dòng)步進(jìn)電機(jī),常用于打字機(jī)、數(shù)字機(jī)床、復(fù)印機(jī)等控制電路中。 綜合考慮上述步進(jìn)電機(jī)的驅(qū)動(dòng)芯片,ULN2003具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)、工作效率高、外圍電路設(shè)計(jì)簡單、價(jià)格較低、易于購買等優(yōu)點(diǎn)。所以本次設(shè)計(jì)中我們采用ULN2003作為步進(jìn)電機(jī)的驅(qū)動(dòng)芯片。 3.7、直流電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì) 直流電機(jī)驅(qū)動(dòng)采用L298驅(qū)動(dòng)芯片。 L298是SGS公司的產(chǎn)品,比較常見的是15腳Multiwatt封裝的L298N,內(nèi)部同樣包含4通道邏輯驅(qū)動(dòng)電路。L298N芯片可以
20、驅(qū)動(dòng)兩個(gè)直流電機(jī),也可以驅(qū)動(dòng)兩個(gè)二相步進(jìn)電機(jī)或一個(gè)四相步進(jìn)電機(jī),輸出電壓最高可達(dá)46V。 L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號VSS,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V,輸出電流可達(dá)2.5 A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號。L298N可驅(qū)動(dòng)2個(gè)電動(dòng)機(jī),OUT1,OUT2和OUT3,OUT4之間可分別接電動(dòng)機(jī)。5、7、10、12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的停轉(zhuǎn),也可用于控制PWM調(diào)速。 3.8、太陽能電池板模塊的設(shè)計(jì) 本次設(shè)計(jì)
21、采用兩塊太陽能電池板并聯(lián)的方式,通過吸收白熾燈散發(fā)的光能并隨之轉(zhuǎn)換成電能來供給蓄電池充。經(jīng)測試一塊太陽能電池板距離100W白熾燈約1.5-2米的時(shí)候電壓約為3V,且而兩塊串聯(lián)時(shí)約有6V。但是本次設(shè)計(jì)需要對太陽能電池板的輸出電壓進(jìn)行升壓處理,以供蓄電池充電。而串聯(lián)時(shí)電流很小,即使離光源很近也無法進(jìn)行升壓。故采用兩塊太陽能電池板新并聯(lián)的方式進(jìn)行升壓。進(jìn)而給蓄電池充電。升壓電路有如下兩種設(shè)計(jì): 方案一:使用LM2577升壓電路,輸入電壓,輸出電壓以通過電阻R1和電阻R2的比值進(jìn)行調(diào)節(jié)(Vout=1.23(1+R1/R2))。輸入電壓約5V,輸出電壓可達(dá)10V以上。 方案二:使用TPS61200
22、DC/DC升壓電路,輸入電壓的范圍為0.3-5.5V,輸出的電壓穩(wěn)定在6V左右, 測試發(fā)現(xiàn),兩塊太陽能電板并聯(lián)在距離光源2米處可以達(dá)到5V,均滿足兩種芯片輸入電壓的要求,但由于方案二中的TPS61200的價(jià)格較高、不易購買,封裝為貼片式,不易使用,且輸出電壓較低。LM2577所需的最低電壓為3V,但電流要求較高,在光強(qiáng)不夠時(shí),不能進(jìn)行升壓,但在離光源較近時(shí)可以將電壓升至11V左右,以完成對8節(jié)電池充電,并能顯示充電狀態(tài)。綜合考慮上述兩種方案選用LM2577升壓模塊較為合理。 四、系統(tǒng)各模塊電路圖附件 4.1、中央控制模塊: 該模塊由單片機(jī)最小系統(tǒng)、外加5組電源構(gòu)成。 4
23、.2 太陽能電池板模塊 太陽能電池板收集的光能轉(zhuǎn)換成電能,由于電壓較低,因此需要升壓電路,給蓄電池充電。升壓電路原理圖: 4.3、感光模塊 感光電路采用光敏電阻和ADC0832組合電路。通過A/D轉(zhuǎn)換后的電壓變換量反饋到單片機(jī)里進(jìn)行尋光處理。原理圖: 4.4、穩(wěn)壓電路 本實(shí)驗(yàn)中的穩(wěn)壓電路采用兩組LM2596芯片組合而成的穩(wěn)壓電路。一組固定輸出5V電壓(上圖),供芯片使用。另外一組輸出電壓可調(diào)(下圖),供電機(jī)使用。原理圖: 4.5 步進(jìn)電機(jī)驅(qū)動(dòng)電路 本次設(shè)計(jì)中的步進(jìn)電機(jī)驅(qū)動(dòng)電路采用ULN2003芯片組合而成的驅(qū)動(dòng)電路,原理圖: 4.6、直
24、流驅(qū)動(dòng)電路 直流電機(jī)驅(qū)動(dòng)電路,采用L298直流電機(jī)驅(qū)動(dòng)芯片,具體電路如圖: 4.7 超聲波模塊原理圖 5.8超聲波使能模塊 五、軟件設(shè)計(jì) 5.1 超聲波控制 本系統(tǒng)利用單片機(jī)控制超聲波的發(fā)射和對超聲波自發(fā)射至接受往返時(shí)間的計(jì)時(shí),接受電路的輸出端接單片機(jī)的外部中斷源輸入口。系統(tǒng)定時(shí)發(fā)射超聲波,在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部定時(shí)器,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和接受到反射波的時(shí)間。當(dāng)收到超聲波的反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在單片機(jī)的外部中斷源輸入口產(chǎn)生一個(gè)中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷子程序,讀取時(shí)間差,計(jì)算距離。結(jié)構(gòu)圖如
25、下 部分程序代碼: … void barrier_detection(void) { uchar i; barrier_flag=0; detector=4; time_0_count=0; //定時(shí)器0工作在15cm障礙物檢測 while(detector) { EX0 = 0; //關(guān)外部中斷 IE0 = 0; //清除外部中斷0標(biāo)志位 TR0 = 0; //關(guān)閉定時(shí)器0 TH0=0xfc; TL0=0x18;
26、 leftTX=1; MiddleTX=1; rightTX=1; switch(detector) { case 4: leftControl=1;MiddleControl=0;rightControl=0; for(i=0;i<16;i++) { leftTX=!leftTX; } break; //左側(cè)超聲波發(fā)波 case 2: leftControl=0;M
27、iddleControl=1;rightControl=0; for(i=0;i<16;i++) { MiddleTX=!MiddleTX; } break; //中間超聲波發(fā)波 case 1: leftControl=0;MiddleControl=0;rightControl=1; for(i=0;i<16;i++) { r
28、ightTX=!rightTX; } break; // 右側(cè)超聲波發(fā)波 default: break; } TR0 = 1; //定時(shí)器0開始計(jì)時(shí) detector_busy = 1;//超聲波正在檢測中.... _nop_(); _nop_(); _nop_(); IE0 = 0; //清除外部中斷0標(biāo)志位 EX0 = 1; //開外部中斷; while(detecto
29、r_busy); //等待超聲波檢測障礙物完成 detector >>=1; delay1ms(10); } EX0 = 0; //關(guān)閉外部中斷 TR0 = 0; //關(guān)閉定時(shí)器1 TH0=0x3c; TL0=0xb0; time_0_count=1; //定時(shí)器0工作在定時(shí)50ms障礙物檢測 TR0 = 1; //打開計(jì)數(shù)器1,65MS檢測障礙 leftControl=0; MiddleControl=0; rightControl=0; }
30、 … 超聲波程序流程圖: 5.2感光模塊程序 感光模塊主要有ADC0832和光敏電阻組成。正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK 和DO/DI 的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CLK 輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選
31、擇的數(shù)據(jù)信號。在第1 個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個(gè)脈沖下沉之前DI端應(yīng)輸入2 位數(shù)據(jù)用于選擇通道功能 ,當(dāng)此2 位數(shù)據(jù)為“1”、“0”時(shí),只對CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“1”、“1”時(shí),只對CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)2 位數(shù)據(jù)為“0”、“0”時(shí),將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進(jìn)行輸入。當(dāng)2 位數(shù)據(jù)為“0”、“1”時(shí),將CH0作為負(fù)輸入端IN-,CH1 作為正輸入端IN+進(jìn)行輸入。到第3 個(gè)脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個(gè)脈沖下沉開始由DO端輸出轉(zhuǎn)換
32、數(shù)據(jù)最高位DATA7,隨后每一個(gè)脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù)DATA0,一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)字節(jié)的下沉輸出DATA0。隨后輸出8位數(shù)據(jù),到第19 個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo)志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就可以了。時(shí)序圖如下: 部分程序代碼: … uchar AD0832_2(void ) //太陽能充電板感光模塊 { uchar data_f,i,data_f1,i1,k1; D1=1; cs1=1;
33、cs2=1; cs3=1; cs4=1; _nop_(); _nop_(); _nop_(); cs4=0; D1=1; //芯片使能之前的初始化。第一個(gè)下降沿 clk=1; _nop_(); _nop_(); _nop_(); clk=0; // 確定通道模式、第2個(gè)下降沿 _nop_(); _nop_(); _nop_(); clk=1; D1=1; //設(shè)定通道初始化 _nop_(); _nop_(); _nop_
34、(); clk=0; _nop_(); _nop_(); _nop_(); clk=1; D1=1; //設(shè)定通道初始化 .第3個(gè)下降沿 _nop_(); _nop_(); _nop_(); clk=0; //AD轉(zhuǎn)化的初始化完成。 for(i1=0;i1<8;i1++) //得到一個(gè)正常排序的8位數(shù)據(jù) { clk=1; _nop_(); _nop_(); clk=0;
35、 _nop_(); _nop_(); data_f1<<=1; data_f1|=D0; } cs4=1; a4=data_f1; //將第二個(gè)AD值存儲在a2中 k1=abs(a4-a3); return k1; } … 5.3 步進(jìn)電機(jī)驅(qū)動(dòng)程序 步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號,它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。您可以通過控制脈沖個(gè)來控制角位移量,從而達(dá)到準(zhǔn)確定
36、位的目的;同時(shí)您可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。 步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5V—DC12V。當(dāng)對步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動(dòng)。每一個(gè)脈沖信號對應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過一個(gè)齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見的通電方式有單(單相繞組通電)四拍(A-B-C-D-A。。。),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。
37、。。) 部分程序代碼如下: … void left2(uchar Step3) { uchar i; while(Step3) { for(i=0;i<4;i++) { P0=taiyannengzheng[i]; delay1us(400); } Step3--; } } … 六、電路調(diào)試 6.1追光系統(tǒng)調(diào)試 首先是把兩個(gè)感光模塊分別固定在小車頭的左右兩端,在距離小車1.5米外的地方放置100W的白熾燈做光源。通過顯示經(jīng)A/D
38、轉(zhuǎn)換后的光敏電阻的電壓來判斷對光的強(qiáng)弱變化。當(dāng)小車距離光源較遠(yuǎn)時(shí),讀數(shù)較大;靠近時(shí),讀數(shù)減小。小車是否是正對光源通過比較兩個(gè)感光模塊傳出來的數(shù)據(jù)。當(dāng)數(shù)據(jù)差不多相等時(shí),小車正對光源,當(dāng)小車偏離光源越大時(shí)時(shí),差值會增大。 在剛開始測試時(shí),因?yàn)樽x數(shù)的錯(cuò)誤,出現(xiàn)了讀出來的數(shù)據(jù)會有一個(gè)跳變,即數(shù)據(jù)剛開始時(shí)會隨著光強(qiáng)的變亮而減小,當(dāng)減小到最小時(shí)會突然變大,然后在依次減小。而我們對于該種錯(cuò)誤的讀法采用了給光敏電阻加上一個(gè)外罩,使得在一定距離內(nèi)不會出現(xiàn)跳變,且會隨著光強(qiáng)的增強(qiáng)而線性減小。該種方法雖然能過尋到光源,但在某些環(huán)境下會出現(xiàn)差錯(cuò)。后來經(jīng)過仔細(xì)排查并請教他人。發(fā)現(xiàn)程序中A/D讀數(shù)的方式錯(cuò)誤,漏掉
39、了其中一位。經(jīng)改正和測試,發(fā)現(xiàn)該種方法能夠順利完成尋光。 6.2避障系統(tǒng)調(diào)試 避障系統(tǒng)采用的超聲波避障。在剛開始時(shí),我們采用的一個(gè)超聲波模塊配合一個(gè)步進(jìn)電機(jī)進(jìn)行避障,即在小車前進(jìn)過程中,通過擺動(dòng)超聲波模塊及時(shí)檢測小車的左右和前面是否有障礙物,如有障礙物時(shí),小車進(jìn)行避障。在開始測試時(shí),發(fā)現(xiàn)我們購買的是減速電機(jī),速度不能滿足在前進(jìn)過程中左右搖擺并進(jìn)行避障。經(jīng)改進(jìn),我們采用三個(gè)超聲波模塊組成的一個(gè)避障系統(tǒng)進(jìn)行避障。分別裝在小車車頭的正前方和左右兩邊。當(dāng)超聲波只檢測到左邊或者右邊有障礙物時(shí),小車轉(zhuǎn)向前進(jìn)一個(gè)角度進(jìn)行避障。當(dāng)檢測到左中后、右中、左中右都有障礙物時(shí),小車先是進(jìn)行后退轉(zhuǎn)向,然后是
40、前進(jìn)一段距離進(jìn)行避障。該種方法需要在測試時(shí),不斷的進(jìn)行調(diào)試轉(zhuǎn)向的角度,以達(dá)到順利避障的目的。 6.3太陽能電池板充電系統(tǒng)調(diào)試 充電系統(tǒng)采用兩塊太陽能電池板并聯(lián)(以提高輸出電流)的方式,再通過一個(gè)升壓模塊給8節(jié)電池進(jìn)行充電。采用一個(gè)發(fā)光二極管來顯示電池的充電狀態(tài)。即:當(dāng)電池滿電時(shí),由于發(fā)光二極管兩端電勢差較小,因而不足以點(diǎn)亮發(fā)光二極管。隨著干電池電能的不斷耗散發(fā)光二極管兩端的電勢差加大,從而使其發(fā)光。因而我們可以通過觀測發(fā)光二極管的亮滅來顯示蓄電池的充電狀態(tài)。此外由于發(fā)光二極管的單項(xiàng)導(dǎo)通作用:一方面、其正向?qū)▔航岛苄?;另一方面、其反相擊穿電壓很大,且其反相?dǎo)通電阻非常大,因而又可以防止
41、,蓄電池滿電時(shí)給太陽能電池板反相充電。 6.4整體電路調(diào)試 整體電路的調(diào)試是最繁瑣的,也是最重要的。它需要不斷的進(jìn)行測試,不斷的進(jìn)行電路和程序的改進(jìn)。在尋光和避障兩個(gè)功能整合在一起時(shí),就需要對小車進(jìn)行合理的控制,經(jīng)過測試發(fā)現(xiàn)在小車進(jìn)行避障的同時(shí),關(guān)閉尋光模塊,在結(jié)束避障的那一刻又要開啟開啟避障程序。一種能夠良好解決避障和尋光都能實(shí)現(xiàn)的一種方案。在小車進(jìn)行避障是,同時(shí)也要使太陽能板正對光源,在進(jìn)行這一步調(diào)試時(shí),可以使用進(jìn)行多次對光,但又不能把所有的時(shí)間都去對光,這里就可以采用中斷的方式,在小車進(jìn)行避障延時(shí)時(shí),不斷的讓太陽能板去對光。整體電路的調(diào)試是一個(gè)核心環(huán)節(jié),需要我們細(xì)致耐心的不斷調(diào)試。這
42、樣才能的得到理想的效果 七、總結(jié) 經(jīng)過一個(gè)月的辛勤勞作,我們團(tuán)隊(duì)沒能完全完成設(shè)計(jì)要求。但也使我們受益頗多,不僅鞏固了我們的所學(xué)知識,讓我們對單片機(jī)有了深層次的了解,并且讓我們學(xué)到了跟多新的知識。例如超聲波的使用、步進(jìn)電機(jī)的驅(qū)動(dòng)。光敏器件的光敏特性等知識,這些無一不是寶貴的財(cái)富。在整個(gè)設(shè)計(jì)過程中我們遇到了許許多多的挫折和困難,例如在剛開始的選材上,我們就走了不少的彎路。由于初次接觸步進(jìn)電機(jī),了解甚少,購買到減速步進(jìn)電機(jī),使得我們不得不放棄原有的設(shè)計(jì)方案,在重新選擇新的方案。在避障模塊中更是選擇了比較難控制的超聲波,這不僅使得設(shè)計(jì)的難度加大了,編程難度也加大了。當(dāng)我們好不容易把每個(gè)模塊都分別制
43、作出來并能控制時(shí),難題又一次的出現(xiàn)了,要想把每個(gè)模塊整合起來并不一件容易的事情,在整合出來后要對整個(gè)系統(tǒng)進(jìn)行控制更是困難重重,光是在避障方面就花去了我們大部分時(shí)間,同時(shí)在尋光方面,由于光強(qiáng)的不確定性,必須經(jīng)過一次次的調(diào)試才能使小車和太陽能板正對光源。這一個(gè)又一個(gè)的難題不斷的出現(xiàn)在我們面前,但我們并沒有選擇放棄,而是不斷的進(jìn)行著嘗試,不斷的改變,終于在我們團(tuán)隊(duì)堅(jiān)持不懈的女里下完成了這次設(shè)計(jì)。因?yàn)檫@次設(shè)計(jì)出的作品并不是很完善,我們?nèi)詫⒗^續(xù)努力,爭取把小車的個(gè)方面內(nèi)容都加以完善并增加上新的內(nèi)容。通過這此設(shè)計(jì)讓我們知道了實(shí)踐同理論聯(lián)系的重要性,我們應(yīng)該抓住機(jī)會多參加此類的競賽,這不僅能過豐富你的動(dòng)手能力,還能學(xué)到很多書本上學(xué)不到的東西。
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《比的意義》教學(xué)課件
- (精品)我們在行動(dòng) (2)
- 孤立奇點(diǎn)留數(shù)習(xí)題課
- 七年級語文下冊(人教版)13-葉圣陶先生二三事(作業(yè))課件
- 《童年》教學(xué)課件
- 61源遠(yuǎn)流長的中華文化
- 浙江中醫(yī)雜志投稿須知
- 底盤與主動(dòng)安全性系統(tǒng)
- 中國臨床解剖學(xué)雜志簡介及來稿須知
- 5《爺爺和小樹》
- (蘇教版)四年級語文上冊課件+桂花雨+1
- 氣管插管病人的醫(yī)療護(hù)理
- 小學(xué)道德講堂“六個(gè)一”模板
- 第29課《詩詞五首-長相思》PPT課件
- 湘科版四年級科學(xué)上冊全冊ppt課件