版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、自動(dòng)追光避障電動(dòng)小車論文學(xué)校: 華僑大學(xué)學(xué)院: 信息科學(xué)與工程學(xué)院 班級(jí):10級(jí) 集成電路設(shè)計(jì)與集成系統(tǒng)組員: * * *目錄摘要3一、 設(shè)計(jì)要求4基本要求.4發(fā)揮部分.4二、系統(tǒng)方案設(shè)計(jì)5系統(tǒng)功能概述.5系統(tǒng)方案概括.5圖.5三、模塊設(shè)計(jì)方案選擇.63.1、電源模塊的設(shè)計(jì).63.2、自動(dòng)避障模塊的設(shè)計(jì).63.3、感光模塊的設(shè)計(jì).73.4、自動(dòng)停車模塊的設(shè)計(jì).73.5、穩(wěn)壓模塊的設(shè)計(jì).73.6、步進(jìn)電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì).73.7、直流電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì).8、太陽能電池板模塊的設(shè)計(jì).8四、系統(tǒng)各模塊電路圖附件.94.1、中央控制模塊94.2、太陽能電池板模塊.94.3、感光模塊.94.4、穩(wěn)壓電路
2、.104.5、步進(jìn)電機(jī)驅(qū)動(dòng)電路.114.6、直流驅(qū)動(dòng)電路.11五、軟件設(shè)計(jì).115.1 超聲波控制11.145.3 步進(jìn)電機(jī)驅(qū)動(dòng)程序16六、電路調(diào)試.17.17.17.18.18七、總結(jié).18附錄2:程序18摘要隨著汽車自動(dòng)化、智能化程序的提高,新一代智能汽車的研發(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í)人類面對(duì)著全球變暖、水平面上升等世界性問題。因此未
3、來的汽車必將趨于電氣化、智能化。眾所周知太陽能是目前最為清潔的能源,對(duì)人類來說無疑是一種新型的能源。此次設(shè)計(jì)的簡易電動(dòng)小車的動(dòng)力來自于太陽能轉(zhuǎn)換的電能,是基于單片機(jī)控制及傳感器技術(shù),實(shí)現(xiàn)的功能是小汽車可自動(dòng)尋光,并且能夠利用超聲波傳感器檢測道路上的障礙,以及電動(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),太陽能板始終能面對(duì)光源給蓄電池充電。小車行進(jìn)過程中會(huì)遇到路障,小車必須能避開路障繞道找到光源并繼
4、續(xù)追光前進(jìn)。1.1基本要求(1)光源用不大于100W的白熾燈,場地不小于,障礙物不小于15cm15cm15cm??梢詫?duì)光源進(jìn)行聚光。(2)光源在離小車大于的固定位置擺放,放置高度不高于25cm。小車發(fā)現(xiàn)光源后沿光源方向前進(jìn)。(3)小車前進(jìn)方向上至少隨機(jī)放置三個(gè)障礙物。遇到障礙物,小車應(yīng)繞道前進(jìn)。(4)在小車?yán)@道過程中,太陽能板應(yīng)始終對(duì)準(zhǔn)光源。(5)到達(dá)離光源一定位置后,小車應(yīng)停止前進(jìn)。(6)小車前進(jìn)直線距離應(yīng)大于,時(shí)間不大于2分鐘。(7)能顯示太陽能為蓄電池供電狀態(tài)。1.2發(fā)揮部分(1)場地尺寸2m2m,光源離小車2米以上。(2)障礙物5個(gè)以上。(3)能逆著光源前進(jìn),并繞過障礙物。但太陽能板始
5、終對(duì)準(zhǔn)光源。(4)完成時(shí)間不大于1分鐘。(5)在無白熾燈光源情況下,小車可以沿自然光源方向前進(jìn)。(6)其它。二、系統(tǒng)方案設(shè)計(jì)2.1 系統(tǒng)功能概述初始時(shí)刻小車置于起點(diǎn),打開電源,啟動(dòng)小車。小車會(huì)通過感光模塊進(jìn)行趨光并檢測前方障礙情況,太陽能板也能根據(jù)自己的感光模塊自動(dòng)正對(duì)光源。當(dāng)在前進(jìn)過程中遇到障礙物時(shí),小車會(huì)根據(jù)避障系統(tǒng)來選擇左轉(zhuǎn)或右轉(zhuǎn),以便避開障礙物。在避開障礙物后,小車趨光前進(jìn)。同時(shí)太陽能板也時(shí)刻都正對(duì)光源,并能時(shí)刻顯示充電狀態(tài)。到達(dá)終點(diǎn)時(shí),小車自動(dòng)停車。 2.2 系統(tǒng)方案概括 主控制系統(tǒng): 在此次設(shè)計(jì)中,涉及到一個(gè)外部中斷,三個(gè)定時(shí)中斷,所以采用常用的單片機(jī)STC89C52作為小車的主控
6、制器,通過單片機(jī)來接受指令并發(fā)出指令,使小車的各項(xiàng)功能得以順利完成。(1).感光系統(tǒng):設(shè)計(jì)中不僅要求小車能夠朝著光源前進(jìn),而且還要求太陽能板也要正對(duì)光源。通過各方面的了解,比較,最終我們決定采用了兩套獨(dú)立感光系統(tǒng),來完成小車趨光與太陽能電池板對(duì)光。這兩個(gè)模塊分別放在小車和太陽能板的左右兩端,通過比較兩邊光敏電阻的電壓,以此來判斷是否正對(duì)這光源。(2).避障系統(tǒng):設(shè)計(jì)中采用三組避障模塊。分別裝在左,中,右,這樣便可使小車順利避障。(3).能源系統(tǒng):使用一片LM2596-5(穩(wěn)定5V輸出)和LM2596_ADJ(可調(diào)輸出)分別給芯片和電機(jī)供電。(4).動(dòng)力系統(tǒng):這次采用的是直接驅(qū)動(dòng)兩個(gè)直流電機(jī)的方
7、式來解決小車動(dòng)力問題。通過分別控制兩個(gè)直流電機(jī)的轉(zhuǎn)速使小車前進(jìn)、后退、轉(zhuǎn)向、停止等功能。系統(tǒng)結(jié)構(gòu)圖充電狀態(tài)顯示 太陽能電池板蓄電池升壓模塊 主控制 CPU STC89C52穩(wěn)壓模塊避障模塊尋光模塊電機(jī)驅(qū)動(dòng)驅(qū)動(dòng)小車系統(tǒng)總流程圖:NYNYNYYNY開始停車是否靠近光源對(duì)光太能板是否正對(duì)光源避障前方是否有障礙太能板是否正對(duì)光源充電小車是否正對(duì)光源前進(jìn)尋光三、模塊設(shè)計(jì)方案選擇、電源模塊的設(shè)計(jì)方案一:所有元器件采用單一電源。它供電簡單,方便靈活,減小了車載質(zhì)量和摩擦阻力。但是電機(jī)啟動(dòng)瞬間電流很大,會(huì)造成電壓不穩(wěn)定、有毛刺干擾等,不適用于要求電源穩(wěn)壓的CPU,嚴(yán)重時(shí)可能造成系統(tǒng)掉電。方案二:單片機(jī)必須與大
8、電流器件分開供電,避免大電流器件對(duì)單片機(jī)造成干擾,采用兩路供電,這樣可以使用其中一路單獨(dú)為單片、指示燈供電,另外一路提供L298N驅(qū)動(dòng)直流電機(jī)使用。介于設(shè)計(jì)穩(wěn)定性考慮,采用方案二。、自動(dòng)避障模塊的設(shè)計(jì)方案一:采用超聲波。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播距離遠(yuǎn)且具有頻率高、波長短、繞射現(xiàn)象小等諸多優(yōu)點(diǎn)故而超聲波已經(jīng)廣泛應(yīng)用于現(xiàn)代社會(huì)之中。超聲波傳感器主要采用直接反射式的檢測模式。位于傳感器前面的被檢測物通過將發(fā)射的聲波部分地發(fā)射回傳感器的接收器,從而使傳感器檢測到被測物。還有部分超聲波傳感器采用對(duì)射式的檢測模式。一套對(duì)射式超聲波傳感器包括一個(gè)發(fā)射器和一個(gè)接收器,兩者之間不斷進(jìn)行信息
9、的傳遞。位于接收器和發(fā)射器之間的被檢測物將會(huì)阻斷接收器接收發(fā)射的聲波,從而傳感器將產(chǎn)生高低電平的跳變進(jìn)而由單片機(jī)對(duì)其進(jìn)行相關(guān)處理。方案二:使用紅外傳感器,它是一種集發(fā)射與接收于一體的光電傳感器,檢測距離可以根據(jù)要求進(jìn)行調(diào)節(jié)。該傳感器具有探測距離遠(yuǎn)、受可見光干擾小、價(jià)格便宜、易于裝配、使用方便等特點(diǎn)。紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,發(fā)出的紅外線照射到黑色的平面后紅外線被吸收。若紅外接收管能接收到反射回的紅外線則檢測出白線繼而輸出低電平,若接收不到紅外線則檢測出黑線繼而輸出高電平。由于測試中使用的是白熾燈,產(chǎn)生的光中,紅外光占有比例較大,如使用紅外傳感器,會(huì)有較大的干擾
10、。所以考慮到設(shè)計(jì)中對(duì)障礙物中尺寸和顏色上的要求以及使用的方便性、穩(wěn)定性和檢測具體的可調(diào)性,選擇方案一,即使用超聲波進(jìn)行避障,在使用時(shí)可以方便的對(duì)最小避障距離進(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í)需加上反向電壓。無光照時(shí),有很小的飽和反向漏電流,即暗電流,此時(shí)光敏二極管截止;當(dāng)受到光照時(shí),飽和反向漏電流大大增加,形成光電流,它隨入射光強(qiáng)度的變化而變化。輸出經(jīng)過ADC0832進(jìn)行A/D轉(zhuǎn)換后得到的電壓變化量反
11、饋給單片機(jī)進(jìn)行處理,進(jìn)而控制小車尋找光源。因此可以利用此特性進(jìn)行自動(dòng)尋找光源。方案二:采用光敏電阻和A/D轉(zhuǎn)換電路來實(shí)現(xiàn)自動(dòng)尋光。由于光敏電阻的阻值會(huì)隨著光照強(qiáng)度的增加而迅速減小,我們可以應(yīng)用此原理,通過一個(gè)A/D轉(zhuǎn)換出來的電壓變化量經(jīng)過單片機(jī)的處理來實(shí)現(xiàn)自動(dòng)尋光功能。測試發(fā)現(xiàn)光敏二極管在對(duì)著光源移動(dòng)時(shí)反應(yīng)過于靈敏,在距離光源較近的位置會(huì)出現(xiàn)一個(gè)跳變,且在離光源較近時(shí)(大約70cm至100cm)對(duì)光源及其不敏感,而且A/D讀數(shù)不穩(wěn)定,波動(dòng)較大,從而影響小車的前進(jìn)。光敏電阻雖然不如光敏二極管靈敏,但經(jīng)過實(shí)際測試發(fā)現(xiàn),其穩(wěn)定性比光敏二極管好很多,經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)線性性好,而且價(jià)格相對(duì)較低基本可
12、以滿足設(shè)計(jì)要求。因而選擇方案二。、自動(dòng)停車模塊的設(shè)計(jì):方案一:采用熱敏電阻, 該設(shè)計(jì)采用的光源是白熾燈,白熾燈是在照明的時(shí)候能夠產(chǎn)生大量的熱量,我們可以利用該特性,采用熱敏電阻制作一個(gè)停車模塊。熱敏電阻的阻值能夠隨著周圍熱的不同而改變。然后通過比較器控制小車靠近光源時(shí)自動(dòng)停車。方案二:利用感光模塊上光敏電阻的感光效應(yīng),當(dāng)小車離光源越近時(shí),經(jīng)A/D轉(zhuǎn)換后的電壓值就會(huì)越小。因此可以利用此原理,給A/D設(shè)置一個(gè)初值,當(dāng)達(dá)到這一初值時(shí)小車自動(dòng)停止。經(jīng)過實(shí)踐,我們利用熱敏電阻制作的停車模塊對(duì)熱不是很敏感,而且我們已有四個(gè)感光模塊,效果也不亞于適應(yīng)熱敏電阻。因此我們選用了利用感光系統(tǒng)來進(jìn)行停車。、穩(wěn)壓模塊
13、的設(shè)計(jì)方案一:采用LM2596穩(wěn)壓芯片對(duì)干電池輸出電壓進(jìn)行穩(wěn)壓。LM2596具有很好的線性和負(fù)載可調(diào)性。有固定輸出和可調(diào)輸出,其固定輸出有3.3V、5V、12V,可調(diào)可以輸出37V的各種電壓。方案二:采用LM7805三端穩(wěn)壓器件進(jìn)行穩(wěn)壓。其可固定輸出5V穩(wěn)定電壓而且內(nèi)部有過熱保護(hù)和安全工作保護(hù)電路。雖然LM7805器件是按照固定電壓值來設(shè)計(jì)的,但當(dāng)加載一些外部器件后,同樣可以輸出可變電壓。37V穩(wěn)定可調(diào)內(nèi)部有過熱保護(hù)和限流保護(hù)電路,外圍電路簡單,僅需4位外接元件,且使用的電感是比較容易購買的標(biāo)準(zhǔn)電感,輸出電壓可調(diào)性好。而LM7805是按固定輸出5V電壓值來設(shè)計(jì)的,常用于單片機(jī)的供電電路的設(shè)計(jì)。
14、雖可輸出可變電壓值,但是其輸出電壓可調(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ù)字量輸出卡等控制電路中。通常芯片采用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)。所以
15、本次設(shè)計(jì)中我們采用ULN2003作為步進(jìn)電機(jī)的驅(qū)動(dòng)芯片。、直流電機(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芯片可以驅(qū)動(dòng)兩個(gè)直流電機(jī),也可以驅(qū)動(dòng)兩個(gè)二相步進(jìn)電機(jī)或一個(gè)四相步進(jìn)電機(jī),輸出電壓最高可達(dá)46V。L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接457 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為2546 V,輸出電流可達(dá)25 A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。L298N可驅(qū)動(dòng)2個(gè)電動(dòng)
16、機(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ì)-2米的時(shí)候電壓約為3V,且而兩塊串聯(lián)時(shí)約有6V。但是本次設(shè)計(jì)需要對(duì)太陽能電池板的輸出電壓進(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))。
17、輸入電壓約5V,輸出電壓可達(dá)10V以上。方案二:使用TPS61200 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左右,以完成對(duì)8節(jié)電池充電,并能顯示充電狀態(tài)。綜合考慮上述兩種方案選用LM2577升壓模塊較為合理。四、系統(tǒng)各模塊電路圖附件、中央控制模塊: 該模塊由單片
18、機(jī)最小系統(tǒng)、外加5組電源構(gòu)成。 太陽能電池板模塊太陽能電池板收集的光能轉(zhuǎn)換成電能,由于電壓較低,因此需要升壓電路,給蓄電池充電。升壓電路原理圖:、感光模塊感光電路采用光敏電阻和ADC0832組合電路。通過A/D轉(zhuǎn)換后的電壓變換量反饋到單片機(jī)里進(jìn)行尋光處理。原理圖:、穩(wěn)壓電路本實(shí)驗(yàn)中的穩(wěn)壓電路采用兩組LM2596芯片組合而成的穩(wěn)壓電路。一組固定輸出5V電壓(上圖),供芯片使用。另外一組輸出電壓可調(diào)(下圖),供電機(jī)使用。原理圖: 步進(jìn)電機(jī)驅(qū)動(dòng)電路本次設(shè)計(jì)中的步進(jìn)電機(jī)驅(qū)動(dòng)電路采用ULN2003芯片組合而成的驅(qū)動(dòng)電路,原理圖:、直流驅(qū)動(dòng)電路直流電機(jī)驅(qū)動(dòng)電路,采用L298直流電機(jī)驅(qū)動(dòng)芯片,具體電路如圖:
19、五、軟件設(shè)計(jì)5.1 超聲波控制本系統(tǒng)利用單片機(jī)控制超聲波的發(fā)射和對(duì)超聲波自發(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è)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷子程序,讀取時(shí)間差,計(jì)算距離。結(jié)構(gòu)圖如下部分程序代碼:void barrier_detection(void) uchar i;barrier_flag=0; detector=4;time_0
20、_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; leftTX=1;MiddleTX=1;rightTX=1;switch(detector) case 4: leftControl=1;MiddleControl=0;rightControl=0; for(i=0;i16;i+) leftTX=!leftTX; break;/左側(cè)超聲波發(fā)波 case 2: leftControl=0;MiddleControl=1;rig
21、htControl=0; for(i=0;i16;i+) MiddleTX=!MiddleTX; break;/中間超聲波發(fā)波 case 1: leftControl=0;MiddleControl=0;rightControl=1; for(i=0;i=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; rightContro
22、l=0; 超聲波程序流程圖:感光模塊主要有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端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第1 個(gè)時(shí)鐘脈
23、沖的下沉之前DI端必須是高電平,表示啟始信號(hào)。在第2、3個(gè)脈沖下沉之前DI端應(yīng)輸入2 位數(shù)據(jù)用于選擇通道功能 ,當(dāng)此2 位數(shù)據(jù)為“1”、“0”時(shí),只對(duì)CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“1”、“1”時(shí),只對(duì)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)換數(shù)據(jù)最高位DATA7,隨后每一
24、個(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; cs2=1; cs3=1; cs4=1; _nop_(); _nop_(); _nop_();
25、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_(); clk=0; _nop_(); _nop_(); _nop_(); clk=1; D1=1; /設(shè)定通道初始化 .第3個(gè)下降沿 _nop_(); _nop_(); _nop_(); clk=0; /AD轉(zhuǎn)化的初始化完成。 for(i1=0;i18;i1+) /得到一個(gè)正
26、常排序的8位數(shù)據(jù) clk=1; _nop_(); _nop_(); clk=0; _nop_(); _nop_(); data_f1=1; data_f1|=D0; cs4=1; a4=data_f1; /將第二個(gè)AD值存儲(chǔ)在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è)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。您可以通過控制脈沖個(gè)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)您可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)
27、電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5VDC12V。當(dāng)對(duì)步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動(dòng)。每一個(gè)脈沖信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對(duì)應(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。)部分程序代碼如下:void left2(uchar Step3) uchar i; while(Ste
28、p3) for(i=0;i4;i+) P0=taiyannengzhengi; delay1us(400); Step3-; 六、電路調(diào)試追光系統(tǒng)調(diào)試 首先是把兩個(gè)感光模塊分別固定在小車頭的左右兩端,在距離小車外的地方放置100W的白熾燈做光源。通過顯示經(jīng)A/D轉(zhuǎn)換后的光敏電阻的電壓來判斷對(duì)光的強(qiáng)弱變化。當(dāng)小車距離光源較遠(yuǎn)時(shí),讀數(shù)較大;靠近時(shí),讀數(shù)減小。小車是否是正對(duì)光源通過比較兩個(gè)感光模塊傳出來的數(shù)據(jù)。當(dāng)數(shù)據(jù)差不多相等時(shí),小車正對(duì)光源,當(dāng)小車偏離光源越大時(shí)時(shí),差值會(huì)增大。 在剛開始測試時(shí),因?yàn)樽x數(shù)的錯(cuò)誤,出現(xiàn)了讀出來的數(shù)據(jù)會(huì)有一個(gè)跳變,即數(shù)據(jù)剛開始時(shí)會(huì)隨著光強(qiáng)的變亮而減小,當(dāng)減小到最小時(shí)會(huì)突
29、然變大,然后在依次減小。而我們對(duì)于該種錯(cuò)誤的讀法采用了給光敏電阻加上一個(gè)外罩,使得在一定距離內(nèi)不會(huì)出現(xiàn)跳變,且會(huì)隨著光強(qiáng)的增強(qiáng)而線性減小。該種方法雖然能過尋到光源,但在某些環(huán)境下會(huì)出現(xiàn)差錯(cuò)。后來經(jīng)過仔細(xì)排查并請(qǐng)教他人。發(fā)現(xiàn)程序中A/D讀數(shù)的方式錯(cuò)誤,漏掉了其中一位。經(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)行
30、避障。經(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)向,然后是前進(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ā)
31、光二極管兩端的電勢差加大,從而使其發(fā)光。因而我們可以通過觀測發(fā)光二極管的亮滅來顯示蓄電池的充電狀態(tài)。此外由于發(fā)光二極管的單項(xiàng)導(dǎo)通作用:一方面、其正向?qū)▔航岛苄?;另一方面、其反相擊穿電壓很大,且其反相?dǎo)通電阻非常大,因而又可以防止,蓄電池滿電時(shí)給太陽能電池板反相充電。6.4整體電路調(diào)試整體電路的調(diào)試是最繁瑣的,也是最重要的。它需要不斷的進(jìn)行測試,不斷的進(jìn)行電路和程序的改進(jìn)。在尋光和避障兩個(gè)功能整合在一起時(shí),就需要對(duì)小車進(jìn)行合理的控制,經(jīng)過測試發(fā)現(xiàn)在小車進(jìn)行避障的同時(shí),關(guān)閉尋光模塊,在結(jié)束避障的那一刻又要開啟開啟避障程序。一種能夠良好解決避障和尋光都能實(shí)現(xiàn)的一種方案。在小車進(jìn)行避障是,同時(shí)也要使
32、太陽能板正對(duì)光源,在進(jìn)行這一步調(diào)試時(shí),可以使用進(jìn)行多次對(duì)光,但又不能把所有的時(shí)間都去對(duì)光,這里就可以采用中斷的方式,在小車進(jìn)行避障延時(shí)時(shí),不斷的讓太陽能板去對(duì)光。整體電路的調(diào)試是一個(gè)核心環(huán)節(jié),需要我們細(xì)致耐心的不斷調(diào)試。這樣才能的得到理想的效果七、總結(jié)經(jīng)過一個(gè)月的辛勤勞作,我們團(tuán)隊(duì)沒能完全完成設(shè)計(jì)要求。但也使我們受益頗多,不僅鞏固了我們的所學(xué)知識(shí),讓我們對(duì)單片機(jī)有了深層次的了解,并且讓我們學(xué)到了跟多新的知識(shí)。例如超聲波的使用、步進(jìn)電機(jī)的驅(qū)動(dòng)。光敏器件的光敏特性等知識(shí),這些無一不是寶貴的財(cái)富。在整個(gè)設(shè)計(jì)過程中我們遇到了許許多多的挫折和困難,例如在剛開始的選材上,我們就走了不少的彎路。由于初次接觸
33、步進(jìn)電機(jī),了解甚少,購買到減速步進(jìn)電機(jī),使得我們不得不放棄原有的設(shè)計(jì)方案,在重新選擇新的方案。在避障模塊中更是選擇了比較難控制的超聲波,這不僅使得設(shè)計(jì)的難度加大了,編程難度也加大了。當(dāng)我們好不容易把每個(gè)模塊都分別制作出來并能控制時(shí),難題又一次的出現(xiàn)了,要想把每個(gè)模塊整合起來并不一件容易的事情,在整合出來后要對(duì)整個(gè)系統(tǒng)進(jìn)行控制更是困難重重,光是在避障方面就花去了我們大部分時(shí)間,同時(shí)在尋光方面,由于光強(qiáng)的不確定性,必須經(jīng)過一次次的調(diào)試才能使小車和太陽能板正對(duì)光源。這一個(gè)又一個(gè)的難題不斷的出現(xiàn)在我們面前,但我們并沒有選擇放棄,而是不斷的進(jìn)行著嘗試,不斷的改變,終于在我們團(tuán)隊(duì)堅(jiān)持不懈的女里下完成了這次
34、設(shè)計(jì)。因?yàn)檫@次設(shè)計(jì)出的作品并不是很完善,我們?nèi)詫⒗^續(xù)努力,爭取把小車的個(gè)方面內(nèi)容都加以完善并增加上新的內(nèi)容。通過這此設(shè)計(jì)讓我們知道了實(shí)踐同理論聯(lián)系的重要性,我們應(yīng)該抓住機(jī)會(huì)多參加此類的競賽,這不僅能過豐富你的動(dòng)手能力,還能學(xué)到很多書本上學(xué)不到的東西??偝绦颍?include#include #include#include#define uint unsigned int#define uchar unsigned char/停車#define stop(); IN31=0; IN32=0; IN33=0; IN34=0;/后退#define back(); IN31=0; IN32=1; I
35、N33=0; IN34=1;/前進(jìn)#define go(); IN31=1; IN32=0; IN33=1; IN34=0;/右輪前進(jìn)實(shí)現(xiàn)左轉(zhuǎn)#define left_g(); IN31=0; IN32=0; IN33=1; IN34=0;/左輪前進(jìn)實(shí)現(xiàn)右轉(zhuǎn)#define right_g(); IN31=1; IN32=0; IN33=0; IN34=0;/左輪后退實(shí)現(xiàn)左轉(zhuǎn)#define left_b(); IN31=0; IN32=1; IN33=0; IN34=0;/右輪后退實(shí)現(xiàn)右轉(zhuǎn)#define right_b(); IN31=0; IN32=0; IN33=0; IN34=1;sfr
36、T2MOD=0xc9;sbit IN21= P04;/步進(jìn)電機(jī)2輸入端IN1,控制太陽能電池板 sbit IN22= P05;/步進(jìn)電機(jī)2輸入端IN2sbit IN23= P06;/步進(jìn)電機(jī)2輸入端IN3sbit IN24= P07;/步進(jìn)電機(jī)2輸入端IN4sbit cs1= P10; /車頭AD1片選sbit cs2= P11; /車頭AD2片選sbit cs3= P12; /太陽能電池面板AD1片選sbit cs4= P13; /太陽能電池面板AD1片選sbit D0= P14; /檢驗(yàn)碼sbit D1= P14; /電壓值sbit clk= P15; / AD時(shí)鐘sbit IN31= P
37、20;/直流電機(jī)輸入端IN1sbit IN32= P21;/直流電機(jī)輸入端IN2sbit IN33= P22;/直流電機(jī)輸入端IN3sbit IN34= P23;/直流電機(jī)輸入端IN4sbit leftTX= P24; / 左超聲波發(fā)射端sbit MiddleTX= P25; /右超聲波發(fā)射端sbit rightTX= P26; /中間超聲波發(fā)射端sbit RX=P32; /超聲波接收端口(外部中斷0)sbit leftControl=P34; /左側(cè)超聲波允許接收控制端sbit MiddleControl=P35; /中間超聲波允許接收控制端sbit rightControl=P36; /右
38、側(cè)超聲波允許接收控制端 char code taiyannengzheng=0x10,0x20,0x40,0x80; /太陽能電池板正轉(zhuǎn)碼char code taiyannengfan=0x80,0x40,0x20,0x10; /太陽能電池板反轉(zhuǎn)碼uchar ch=0x03; /設(shè)置AD0832通道uchar TX,a1,a2,a3,a4; /用于寄存4個(gè)AD轉(zhuǎn)化值,a1,a2為車頭兩個(gè)AD值,a3,a4為太陽能充電板兩個(gè)AD值uchar number1=0; /用于計(jì)數(shù)500ms,太陽能板對(duì)光一次uchar detector_busy = 0; /超聲波正在檢測標(biāo)志位uchar barrie
39、r_flag = 0; /低三位用于表示是否有障礙物;第三位表示左側(cè)探測器探測結(jié)果,第二位表示中間探測器探測結(jié)果,最低位表示右側(cè)探測器探測結(jié)果;1-有,0-無uchar detector = 4; /4-左側(cè)探測器,2-中間探測器,1-右側(cè)探測器uchar detector_inv = 0xFB; /4-左側(cè)探測器,2-中間探測器,1-右側(cè)探測器uchar Obstacle_detection=1; /檢測障礙物標(biāo)志位,為1時(shí),允許檢測障礙uchar Obstacle_delay=0; /計(jì)時(shí)器3蔽障過程前進(jìn)時(shí)間記錄uchar Obstacle_control=0; /計(jì)時(shí)器3蔽障控制計(jì)時(shí)開始
40、,結(jié)束uchar allow_follow=1;/為1時(shí),允許計(jì)時(shí)追光uchar followstep=15; /為20時(shí)追光uchar follow=1;/為1時(shí),允許小車追光 uchar time_0_count=1;/為0時(shí)為超聲波1ms計(jì)時(shí),為1時(shí)為超聲波50ms定時(shí)檢測計(jì)時(shí)/*延時(shí)子函數(shù)1us*/ void delay1us(uint t) while(t-) ; /*延時(shí)子函數(shù)1ms*/void delay1ms(uint z) uchar y; while(z-) for(y=0;y120;y+); /*車頭AD讀數(shù)*/uchar AD0832_1( ) /車頭感光模塊 ucha
41、r data_f,i,data_f1,i1,k;/*讀取車頭第一個(gè)AD值*/D1=1;cs1=1;cs2=1; cs3=1;cs4=1;_nop_();_nop_();_nop_();cs1=0; D1=1; /芯片使能之前的初始化。第一個(gè)下降沿 clk=1;_nop_(); _nop_(); _nop_(); clk=0; / 確定通道模式、第2個(gè)下降沿 _nop_(); _nop_();_nop_(); clk=1; D1=1; /設(shè)定通道初始化 _nop_();_nop_();_nop_(); clk=0; _nop_(); _nop_();_nop_(); clk=1; D1=1; /
42、設(shè)定通道初始化 .第3個(gè)下降沿 _nop_(); _nop_();_nop_(); clk=0; /AD轉(zhuǎn)化的初始化完成。 for(i=0;i8;i+) /得到一個(gè)正常排序的8位數(shù)據(jù) clk=1; _nop_(); _nop_(); clk=0; _nop_(); _nop_(); data_f=1; data_f|=D0; cs1=1; a1=data_f; /將第一個(gè)AD值存儲(chǔ)在a1中/*讀取車頭第二個(gè)AD值*/D1=1;cs1=1;cs2=1;cs3=1;cs4=1;_nop_();_nop_();_nop_();cs2=0; D1=1; /芯片使能之前的初始化。第一個(gè)下降沿 clk=1
43、;_nop_();_nop_();_nop_(); clk=0; / 確定通道模式、第2個(gè)下降沿_nop_();_nop_();_nop_(); clk=1; D1=1; /設(shè)定通道初始化_nop_();_nop_();_nop_(); clk=0;_nop_();_nop_();_nop_(); clk=1; D1=1; /設(shè)定通道初始化 .第3個(gè)下降沿_nop_();_nop_();_nop_(); clk=0; /AD轉(zhuǎn)化的初始化完成。 for(i1=0;i18;i1+) /得到一個(gè)正常排序的8位數(shù)據(jù) clk=1; _nop_(); _nop_(); clk=0; _nop_(); _n
44、op_(); data_f1=1; data_f1|=D0; cs2=1; a2=data_f1; /將第二個(gè)AD值存儲(chǔ)在a2中 k=abs(a1-a2); return k; /*太陽能充電板AD讀數(shù)*/uchar AD0832_2(void ) /太陽能充電板感光模塊 uchar data_f,i,data_f1,i1,k1;/*讀取太陽能電池板第一個(gè)AD值*/ D1=1; cs1=1; cs2=1; cs3=1; cs4=1; _nop_(); _nop_(); _nop_(); cs3=0; D1=1; /芯片使能之前的初始化。第一個(gè)下降沿 clk=1; _nop_(); _nop_(); _nop_(); clk=0; / 確定通道模式、第2個(gè)下降沿 _nop_(); _nop_(); _nop_(); clk=1; D1=1; /設(shè)定通道初始化 _nop_(); _nop
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省獸用飼料購銷合同
- 技術(shù)研發(fā)合作協(xié)議書模板
- 總經(jīng)銷協(xié)議書范本
- 工業(yè)產(chǎn)品買賣合同經(jīng)典案例
- 天長市職業(yè)技術(shù)學(xué)校辦學(xué)合作協(xié)議
- 標(biāo)準(zhǔn)應(yīng)收賬款質(zhì)押借款合同示例
- 2024多人合伙協(xié)議范本
- 標(biāo)準(zhǔn)房屋轉(zhuǎn)租合同示范文本
- 房地產(chǎn)中介銷售合同模板
- 綠色金融擔(dān)保合同范例
- 健康促進(jìn)企業(yè)管理制度及措施參考范本
- QC小組基礎(chǔ)教材(新版)
- 小學(xué)羽毛球特色教學(xué)羽毛球
- 創(chuàng)業(yè)人生心得體會(huì)10篇
- 最完整工資條模板(共4頁)
- 《會(huì)議管理》教學(xué)大綱
- 光伏發(fā)電項(xiàng)目水土保持方案實(shí)施保障措施
- 平底孔試塊制作規(guī)范
- 藥店110種常見疾病的癥狀及關(guān)聯(lián)用藥方案
- 三年級(jí)語文上冊(cè)期中考試真題滬教版
- 東華禪寺義工報(bào)名表
評(píng)論
0/150
提交評(píng)論