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