基于單片機的智能搜救小車_第1頁
基于單片機的智能搜救小車_第2頁
基于單片機的智能搜救小車_第3頁
基于單片機的智能搜救小車_第4頁
基于單片機的智能搜救小車_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

.22/22摘要本小組設計制作的一款智能救援小車,能夠?qū)崿F(xiàn)20XXXX省電子設計競賽G題的基本部分和發(fā)揮部分的所有功能要求。另外具有以下擴展功能功能:測溫、無線遙控、測速及里程、測量路面坡度。本作品以兩個直流減速電機為驅(qū)動,通過各類傳感器件來采集信息,送入主控單元STC89C52單片機,處理數(shù)據(jù)后完成相應的操作,以實現(xiàn)相應的功能。直流減速電機采用電機專用驅(qū)動芯片L293D進行驅(qū)動,其中避障采光電開關來完成;用RPR220型光電對管完成系統(tǒng)循跡功能;鐵片檢測部分通過電感式接近開關鐵片進行信號的采集,接近開關反饋的信號送入單片機處理,由控制單元處理信號并控制相應的線圈,利用線圈用電產(chǎn)生磁場的效應撿起鐵片并轉(zhuǎn)移到題目中所指定的區(qū)域,由語音提示電路提示小車操作完成。實現(xiàn)了智能救援小車在無人控制狀態(tài)下實現(xiàn)智能避障、路面循跡、檢測并轉(zhuǎn)移金屬鐵片的智能控制,語音提示,液晶顯示電路顯示運行的時間。其所實現(xiàn)的功能相當于簡易機器人。關鍵詞:基本部分和發(fā)揮部分、測溫、無線遙控、測速及里程、測量路面坡度目錄一、設計任務概述1.1設計任務概述設計制作一個智能小車,該小車能按照要求自動運行,通過一個建筑物中曲折的道路,并完成規(guī)定的動作。設矩形建筑物有兩個門A、B,門寬24厘米,建筑物的墻壁是10厘米高〔或與小車高度相同、2厘米厚的矮墻,建筑物內(nèi)無引導軌跡〔見圖示。1.2基本任務1、要求智能小車從A門進入并開始自動計時,從B門出來,在行進過程中,能自動選擇適當?shù)穆窂?避開墻壁,找到通路,三分鐘之內(nèi)到達B門;2、到達B門,停5秒,小車自動計時并數(shù)字顯示AB段所用的時間,并聲光報警;1.3發(fā)揮部分1、自B門外,循弧形引導軌跡BC前進〔引導軌跡為2厘米寬;2、途中檢測到鐵片D〔鐵片D放置在軌跡BC前二分之一段上的任意位置時停車3秒,并聲光報警;3、要求小車拾起鐵片D,繼續(xù)沿引導軌跡前進;4、到達C點;5、在C點處,放下鐵片D并停止前進。聲光顯示救援結(jié)束,并停止計時,分別顯示BD、DC段所用的時間。鐵片為直徑2厘米的圓形薄片。注:智能救援小車場地圖片的相關說明智能救援小車場地圖二、系統(tǒng)方案論證與選擇根據(jù)題目中的設計要求,本系統(tǒng)主要由微控制器模塊、電源模塊、避障模塊、循跡傳感器模塊、直流電機及其驅(qū)動模塊、金屬檢測模塊、角度測量模塊,語音提示模塊以及液晶顯示模塊等構(gòu)成。本系統(tǒng)的方框圖如圖1所示:系統(tǒng)總框圖為較好的實現(xiàn)各模塊的功能,我們分別設計了幾種方案并分別進行了論證。2.1車體方案論證與選擇方案1:購買玩具電動車。購買的玩具電動車具有組裝完整的車架車輪、電機及其驅(qū)動電路。玩具電動車的電機多為玩具直流電機,力矩小,空載轉(zhuǎn)速快,負載性能差,不易調(diào)速。而且這種電動車一般都價格不菲。因此我們放棄了此方案。方案2:自己制作電動車。經(jīng)過反復考慮論證,我們制定了左右兩輪分別驅(qū)動,在校車后面加萬向輪轉(zhuǎn)向的方案。即左右輪分別用兩個轉(zhuǎn)速和力矩基本完全相同的直流電機進行驅(qū)動,車體尾部裝一個萬向輪。這樣,當兩個直流電機轉(zhuǎn)向相反同時轉(zhuǎn)速相同時就可以實現(xiàn)電動車的原地旋轉(zhuǎn),由此可以輕松的實現(xiàn)小車坐標不變的90度和180度的轉(zhuǎn)彎。當小車前進時,左右兩驅(qū)動輪與后萬向輪形成了三點結(jié)構(gòu),這種結(jié)構(gòu)使得小車在前進時比較平穩(wěn)。為了防止小車重心的偏移,后萬向輪起支撐穩(wěn)定的作用。對于車架材料的選擇,我們經(jīng)過比較選擇了實驗室常用的敷銅電路板。用敷銅電路板做的車架比塑料車架更加牢固,比鐵制小車更輕便,美觀。綜上考慮,我們選擇了方案2。制作的小車實物如下圖所示:小車實物2.2控制模塊論證與選擇方案一:采用凌陽公司的16位單片機,它是16位控制器,具有體積小、驅(qū)動能力強、可靠性高、功耗低、結(jié)構(gòu)簡單、具有語音處理、運算速度快等優(yōu)點,但考慮到我們小組對這個方案采用的微處理器并不熟悉,使用起來并不是很方便,這對于硬件電路的設計和軟件編程增加了難度。我們決定不再使用此方案,考慮其他方案。方案二:采用STC89C52單片機作為主控制器。STC89C52是一個超低功耗,和標準51系列單片機相比較具有運算速度快,抗干擾能力強,支持ISP在線編程,片內(nèi)含8k空間的可反復擦寫1000次的Flash只讀存儲器,具有256bytes的隨機存取數(shù)據(jù)存儲器〔RAM,32個I/O口,2個16位可編程定時計數(shù)器。其指令系統(tǒng)和傳統(tǒng)的8051系列單片機指令系統(tǒng)兼容,降低了系統(tǒng)軟件設計的難度,電路設計簡單、價格低廉,在后來的實驗中我們發(fā)現(xiàn),STC89C52精確度和運算速度也都完全符合我們系統(tǒng)的要求。綜合以上方案我們選擇比較普通的更為熟悉的方案二使用STC89C52單片機為我們整個系統(tǒng)的控制核心。2.3電源模塊論證與選擇由于本系統(tǒng)需要給救援小車系統(tǒng)供電,我們考慮如下幾種方案:方案一:采用7.2V可充電動力電池組。動力電池組具有較強的電流驅(qū)動能力及穩(wěn)定的電壓輸出性能,經(jīng)測試在用此種供電方式下,單片機和傳感器工作穩(wěn)定,直流電機工作良好,且電池體積較小、可以充電、能夠重復利用等,能夠滿足系統(tǒng)的要求。方案二:采用12V蓄電池為直流電機供電,將12V電壓降壓、穩(wěn)壓后給單片機系統(tǒng)和其它芯片供電。蓄電池具有較強的電流驅(qū)動能力以及穩(wěn)定的電壓輸出性能。但是蓄電池的體積過于龐大,由于我們的車體在設計時空間有限,在小型電動車上使用極為不方便,因此我們放棄此方案。綜上考慮,我們選擇了方案一來完成智能救援小車系統(tǒng)供電的任務。2.4電機模塊選擇與論證方案一:采用直流減速電機。直流減速電機轉(zhuǎn)動力矩大,體積小,重量輕,裝配簡單,使用方便,小車電機內(nèi)部裝有減速齒輪組,所以并不需要考慮調(diào)速功能,很方便的就可以實現(xiàn)通過單片機對直流減速電機前進、后退、停止等操作,方案二:采用步進電機作為該系統(tǒng)的驅(qū)動電機,由于其轉(zhuǎn)動的角度可以精確定位,可以實現(xiàn)小車前進距離和位置的精確定位。雖然采用步進電機有諸多優(yōu)點,但步進電機的輸出力矩較低,隨轉(zhuǎn)速的升高而下降,且在較高的轉(zhuǎn)速時會急劇下降,其轉(zhuǎn)速較低時不適于小車等對速度有一定要求的系統(tǒng)。經(jīng)綜合比較分析我們決定放棄此方案。綜合以上考慮我們選擇方案一的直流減速電機作為整個救援小車的驅(qū)動電機。2.5電機驅(qū)動模塊選擇與論證方案一:采用分立組件組成的平衡式驅(qū)動電路,這種電路可以由單片機直接對其進行操作,但由于分立組件占用的空間比較大,還要配上兩個繼電器,考慮到小車的空間問題,此方案不夠理想,我們決定放棄此方案。

方案二:因為小車電機內(nèi)部裝有減速齒輪組,考慮不需調(diào)速功能,采用市面易購的電機驅(qū)動芯片L293D控制減速電機,該芯片是利用TTL電平進行控制,通過改變芯片控制端的輸入電平,即可以對電機進行正轉(zhuǎn)、反轉(zhuǎn)和停止操作,亦能滿足直流減速電機的要求,用該芯片作為電機驅(qū)動具有的操作方便、穩(wěn)定性好等優(yōu)點。綜合以上分析與論證我們選擇方案二的驅(qū)動芯片L293D作為整個救援小車系統(tǒng)的電機驅(qū)動電路。2.6避障模塊的選擇與論證方案一:用超聲波傳感器進行避障。超聲波傳感器的原理是:超聲波由壓電陶瓷超聲波傳感器發(fā)出后,遇到障礙物便反射回來,再被超聲波傳感器接收。超聲波傳感器在避障的設計中被廣泛應用。但是超聲波傳感器需要40KHz的方波信號來工作,因為超聲波傳感器對工作頻率要求較高,偏差在1%內(nèi),所以用模擬電路來做方波發(fā)生器比較難以實現(xiàn)。因此我們考慮其它的方案。方案二:用漫反射式光電開關進行避障。光電開關的工作原理是根據(jù)光線發(fā)射頭發(fā)出的光束,被物體反射,其接收電路據(jù)此做出判斷反應,物體對紅外光由同步回路選通而檢測物體的有無。當有光線反射回來時,輸出低電平。當沒有光線反射回來時,輸出高電平??紤]到本系統(tǒng)只需要檢測障礙物,沒有十分復雜的環(huán)境。為了使用方便,便于操作和調(diào)試,我們最終選擇了方案二。光電開關的實物如下圖:2.7循跡模塊選擇與論證方案一:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白色軌跡上方和黑色軌跡上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。單片機據(jù)此來判斷小車是否偏離軌道,并根據(jù)反饋來不同的電平信號,發(fā)出相應的控制操作命令來校驗小車的位置。來完成小車的循跡任務。但是這種方案的缺點是受環(huán)境中光線的影響很大,不能夠穩(wěn)定的工作。因此我們考慮其它更加穩(wěn)定的方案。方案二:用RPR220型光電對管完成系統(tǒng)循跡。RPR220是一種一體化反射型光電探測器,其發(fā)射器是一個砷化鎵紅外發(fā)光二極管,而接收器是一個高靈敏度,硅平面光電三極管。RPR220特點:塑料透鏡可以提高靈敏度。內(nèi)置可見光過濾器能減小離散光的影響。體積小,結(jié)構(gòu)緊湊。此光電對管調(diào)理電路簡單,工作性能穩(wěn)定。經(jīng)測試方案二不論是在黑暗或者是強光照射下,小車系統(tǒng)均可以很穩(wěn)定的工作,對環(huán)境的適應能力較強。因此我們選擇方案一。2.8金屬傳感器模塊論證與選擇方案一:采用CCD圖像傳感器利用CCD圖像傳感器可適用于各種量的檢測。具有檢測的圖像清晰、準確,圖像界面友好,但是用CCD圖像傳感器需要處理的信號量太大,,價格昂貴,硬件電路設計困難,軟件編程復雜,其體積較大對于空間有限的小車上使用存在諸多的不便,故CCD不使用與本系統(tǒng)。方案二:采用電感式接近開關電感式接近開關屬于一種有開關量輸出的位置傳感器,它由LC高頻振蕩器和放大處理電路組成,利用金屬物體在接近這個能產(chǎn)生電磁場的振蕩感應頭時,使物體內(nèi)部產(chǎn)生渦流。這個渦流反作用于接近開關,使接近開關振蕩能力衰減,內(nèi)部電路的參數(shù)發(fā)生變化,由此識別出有無金屬物體接近,進而控制開關的通或斷。這種接近開關所能檢測的物體必須是金屬物體。其體積較小適合在空間有限的智能救援小車上使用其實物圖如下圖所示:通過以上分析我們選擇方案二,采用電容式接近開關來完成題目中的尋找鐵片的任務。2.9鐵片轉(zhuǎn)移模塊論證與選擇鐵片轉(zhuǎn)移模塊主要實現(xiàn)金屬傳感器在探測到金屬后,把金屬轉(zhuǎn)移到指定區(qū)域。方案一:采用高強度磁鐵實現(xiàn)鐵片的移動。高強度磁鐵具有使用簡單,無需外圍電路,直接將磁鐵放置在救援小車底盤的某一固定位置,當救援小車靠近鐵片時,將鐵片吸附在磁鐵表面,以達到轉(zhuǎn)移鐵片的目的。但是不能按要求把鐵片放下,由于此方案不能很好的完成要求,我們決定放棄此方案。方案二:利用電磁繼電器在通電時可產(chǎn)生磁場的原理,利用電磁繼電器通電的瞬間所產(chǎn)生的磁場來完成金屬鐵片的轉(zhuǎn)移任務,停電無磁場放下鐵片。電磁繼電器電流小,磁力強,易于單片機I/O口的控制。綜合以上方案論述我們選擇方案二,實現(xiàn)小車轉(zhuǎn)移鐵片。2.10報警和語音提示模塊選擇與論證方案一:采用IDS1420可分段錄放音模塊和功率放大電路。其輸出信號通過功率放大電路放大后輸出。IDS1420語音芯片可通過單片機進行錄放音的控制,其優(yōu)點是能夠給人以直觀的提示,采用直接模擬量存儲技術(shù),語音質(zhì)量較好,可讀性較好,功耗低,,這些條件都為救援小車的語音提示準備了很好的條件。方案二:采用單片機產(chǎn)生不同的頻率信號通過蜂鳴器來完成聲音提示功能,其硬件電路和較容易實現(xiàn),但其缺點是給人以提示的可懂性比較差,給人的感覺不夠直觀,考慮的本題目的具體要求,我們決定不采用此方案。通過以上方案論述我們選擇方案一,完成救援小車系統(tǒng)的語音提示功能。2.11顯示模塊論證與選擇方案一:采用LED數(shù)碼管顯示。 LED顯示具有硬件電路結(jié)構(gòu)簡單、調(diào)試方便、軟件實現(xiàn)相對容易等優(yōu)點,但是由于我們計劃要顯示小車運行時間,LED數(shù)碼管無法顯示如此豐富的內(nèi)容,因此我們放棄此方案。方案二:采用LCD液晶顯示。LCD液晶具有功耗低、顯示內(nèi)容豐富、清晰,顯示信息量大,顯示速度較快,界面友好等而得到廣泛應用,因此我們選擇此方案。通過以上方案論述我們選擇方案二,顯示小車運行時間的任務。2.12智能救援小車最終方案經(jīng)過反復的探討和論證我們最終確定智能救援小車的如下最終方案:1.車體用敷銅電路板手工制作。2.采用STC89C52單片機作為整個電路的控制核心。3.使用7.2V可充電動力電池組為系統(tǒng)提供基準電源。4.采用直流減速電機作為救援小車系統(tǒng)的驅(qū)動電機。5.使用電機專用驅(qū)動芯片L293D作為直流減速電機的驅(qū)動芯片。6.采用光電開關傳感器組成救援小車的避障系統(tǒng)。7.用RPR220型光電對管完成系統(tǒng)的尋跡任務。8.采用接近開關完成金屬檢測任務。9.利用線圈通電可以產(chǎn)生磁場的原理完成貼片的轉(zhuǎn)移。10.采用IDS1420錄放音模塊完成救援小車的語音提示功能。壓。三、硬件系統(tǒng)的設計與功能實現(xiàn)3.1救援小車主線路板制作在線路板制作設備的選擇上,我們使用的是德國專業(yè)電路板設備LPKFProtoMat?S62電路板刻板機。LPKF線路板雕刻機ProtoMat?S62的精確度較高,分辨率高達0.25微米。可快速制作各種復雜對精度要求較高的線路板,該線路板雕刻機的最大優(yōu)點是:制作雙面線路板的速度較快,特別適合對時間有較高要求的電子設計競賽試用,其實物圖和救援小車系統(tǒng)線路板的實物圖分別如下圖所示:雕刻機實物線路板實物圖3.2微控制器電路的設計與原理微控制器電路是整個智能救援小車系統(tǒng)的核心控制部分,它負責對各路傳感信號的采集、處理、分析及對各部分硬件電路進行調(diào)整。本設計制作的智能救援小車系統(tǒng)以STC89C52單片機最小系統(tǒng)電路為整個系統(tǒng)的控制電路,通過各種傳感器電路,采集各種傳感器信息,以發(fā)出各種控制信號命令,來完成相應的操作,單片機控制電路原理圖如所示:單片機控制電路原理圖

3.3電源電路原理與設計電源電路為系統(tǒng)提供基準電源,是整個系統(tǒng)工作穩(wěn)定性關鍵所在,本系統(tǒng)采用7.2V可充電動力電池組,可充電反復利用,動力電池組具有較強的電流驅(qū)動能力及穩(wěn)定的電壓輸出性能,經(jīng)測試在用此種供電方式下,單片機和傳感器工作穩(wěn)定,直流電機工作良好。其充電電路原理圖如圖所示:3.4電機驅(qū)動電路的原理與設計本設計中采用的電機專用驅(qū)動芯片L293D。L293D是歐洲著名的SGS公司的產(chǎn)品,為單塊集成電路、高電壓、高電流、四通道驅(qū)動。設計用來接收DTL或者TTL邏輯電平,驅(qū)動感性負載<比如繼電器,直流電機>,和開關電源晶體管。內(nèi)部包含4通道邏輯驅(qū)動電路。其額定工作電流為1A,最大可達1.5A,Vss電壓最小4.5V,最大可達36V。輸入引腳和輸出引腳的邏輯關系L293d可直接的對電機進行控制,無須隔離電路。通過單片機的I/O輸入改變芯片控制端的電平,即可以對電機進行正反轉(zhuǎn),停止的操作〔表1是其使能端、輸入引腳和輸出引腳的邏輯關系。,操作非常方便,亦能滿足直流減速電機的大電流要求。調(diào)試時在依照上表,用程序輸入對應的碼值,即可以實現(xiàn)對應的操作。其驅(qū)動電路原理圖如下所示:3.5避障電路的原理與設計用漫反射式光電開關進行避障。光電開關實際發(fā)射頭與接收頭于一體的檢測開關,其工作原理是根據(jù)發(fā)射頭發(fā)出的光束,被物體反射,接收頭據(jù)此做出判斷是否有障礙物。當有光線反射回來時,輸出低電平。當沒有光線反射回來時,輸出高電平。單片機根據(jù)接收頭電平的高低做出相應控制,避免小車碰到障礙物。由于接收管輸出TTL電平,有利于單片機對信號的處理。小車采用漫反射式傳感器進行避障的電路原理圖如下圖所示:光電開關避障電路原理圖避障光電開關實物圖3.6光電開關的安裝在避障傳感器的設計中,我們在車體底盤的前端裝有四個傳感器,用來起到避障的作用。四個傳感器的安裝位置與安裝方法相一致。具體的安裝位置如上圖:3.7循跡電路的原理與設計采用RPR220型光電對管完成系統(tǒng)循跡任務,循跡電路是用以實現(xiàn)小車沿著場地的黑色弧形引導軌跡BC進行前進和位置校正的,且小車不能偏離該軌跡。本課題設計中采用自制的RPR220型光電對管完成系統(tǒng)循跡任務,傳感器的數(shù)據(jù)線輸出信號為開關量,可直接與單片機的I/O引腳相連接,硬件電路實現(xiàn)比較簡單,其靈敏度可以通過調(diào)節(jié)多圈電位調(diào)。在循跡檢測傳感器設計中,我們在車體底盤的前端裝有兩個傳感器,用來檢測黑色弧形軌跡,起到循跡前進的作用。具體的安裝位置實物圖如下圖所示:硬件電路實物圖3.8金屬檢測電路的原理與設計金屬傳感器性能的好壞對于該系統(tǒng)的功能是否能實現(xiàn),起著十分重要的作用。我們選用的是LJ12A3-4-Z/BX型號的電感式接近開關進行金屬檢測工作,其電路原理如下圖所示,由于其數(shù)據(jù)輸出端通過5.1K上拉電阻,輸出的是TTL電平,輸出信號為開關量,可直接與單片機的I/O引腳相連接,硬件電路簡單,容易操作。其原理圖如下所示:電感式接近開關原理圖3.9鐵片轉(zhuǎn)移電路原理與設計,鐵片轉(zhuǎn)移電路主要運用了線圈通電產(chǎn)生磁場的原理,借助其所產(chǎn)生的磁場,把金屬傳感器檢測到的鐵片按題目的要求轉(zhuǎn)移到指定位置的操作要求,本設計電路中采用的是將線圈的輸入端直接與單片機的I/O相連接,通過改變單片機引腳的高低電平即可以實現(xiàn)線圈有磁性的變化。3.10語音提示電路的原理與設計本設計中的智能救援小車的語音提示系統(tǒng)由IDS1420錄放音模塊和功率放大電路組。語音提示電路主要用來提示救援小車的工作狀態(tài)。IDS1420語音電路和功率放大電路的原理圖如下所示:IDS1420語音電路原理圖3.11系統(tǒng)其它功能的擴展1.采用DS18B20測量環(huán)境溫度。測溫電路主要功能是用來測量環(huán)境溫度并通過液晶顯示,本系統(tǒng)測溫電路采用美國dallas公司的ds18b20數(shù)字溫度傳感器實現(xiàn)溫度的測量這種傳感器體積小,使用電壓寬,測量溫度范圍為-55攝氏度到125攝氏度,一總線的數(shù)字方式傳送,大大提高了系統(tǒng)的考干擾能力。系統(tǒng)原理圖如下圖所示2.通過無線遙控電路實現(xiàn)小車的無線控制和操作。無線遙控電路主要實現(xiàn)小車的無線操作,系統(tǒng)由發(fā)射和接收兩大部分組成,由單片機進行控制操作。3.通過編碼盤測量小車速度和路程功能。光電碼盤為32份黑白相間的圓盤,將其緊貼在車輪的內(nèi)側(cè)。在鋁合金車架上打一個圓孔,RPR220型光電對管通過圓孔對光電碼盤進行檢測就可以得到車輪轉(zhuǎn)過的圈數(shù)。從而計算出小車前進的路程。車輪的直徑為6cm,車輪的周長為L=2*π*R=2*3.14*0.03=8.85cm光電碼盤被平均分成了36份,每一份的弧長為L=L/36=18.85cm/36=0.52cm假設單片機檢測到黑白信號的變化為n,則小車走過的路程為S=n*0.52cm4.通過傾角傳感器測量角度功能。傾角傳感器通常用于測量角度和斜坡的高度,在救援小車系統(tǒng)的設計中,我們用WQH36-45傾角傳感器測量斜坡的高度,它是采用高性能磁敏感元件,利用重力結(jié)構(gòu),可無電接觸點的測量傾斜角度。具有體積小、靈敏度高、壽命長、抗振動、耐環(huán)境污染〔耐水,油和各種惡劣環(huán)境.特別適合用于運動頻繁場合的水平姿態(tài)角度的測控和平面定位等工作場合。其原理圖如下所示:5.采用ADC0832組成的電壓測量電路,并通過液晶顯示救援小車系統(tǒng)電池組的電壓。以5.5考電壓,低于5.5報警提示充電。四、軟件設計的實現(xiàn)與說明4.1主程序流程圖我們所設計的軟件的主程序流程圖如下圖所示:4.2路面循跡子程序流程圖4.3智能救援小車系統(tǒng)的部分程序清單#include"reg51.h"#defineucharunsignedchar#defineuintunsignedint#defineforward0x5f#defineback0x0f#defineright0x4f#defineleft0x1f#definestop0xff#definebleft0x9f#definebright0x6fsbitcs_245=P3^4;//光電開關信號輸入使能端sbitc=P1^2;//轉(zhuǎn)向燈使能端sbitbaojing=P1^4;//報警控制位sbitjdq=P3^1;//抓金屬控制位sbitjs=P3^0;//金屬探測位ucharcodelcd[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x38,0x39};//液晶顯示代碼uchardate1=0,second=0,minute1=0,minute2=0;//時間ucharnumber1=0,number=0;//障礙物標志個數(shù)/**********************//*電機控制部分*//*********************/voidrun_forward<>//向前運動{P2=forward;delay<1000>;display<>;}voidrun_back<>//向后運動{P2=back;delay<1000>;display<>;}voidrun_left<>//向前左轉(zhuǎn){P2=left;delay<2500>;display<>;}voidrun_right<>//向前右轉(zhuǎn){P2=right;delay<2000>;display<>;}/*尋跡子程序voidxunji<>{uchartemp=0;cs_245=0;temp=P0&0xc0;//白線的檢測switch<temp>{case0xc0:{run_forward<>;deng<forwardd>;cs_245=0;}break;//case0x80:{run_left<>;run_right<>;deng<rightd>;cs_245=0;}break;case0x40:{run_right<>;run_left<>;deng<leftd>;cs_245=0;}break;//rightdefault:break;}}/*避障子程序voidbizhang<>{uchartemp2=0,c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0;;cs_245=0;temp2=P0&0x38;//檢測障礙switch<number>//障礙物的個數(shù)判斷來做相應的轉(zhuǎn)向{case1:{run_forward<>;deng<forwardd>;cs_245=0;}break;case2:{run_right<>;deng<rightd>;cs_245=0;}break;case3:{run_left<>;deng<leftd>;cs_245=0;}break;case4:{run_forward<>;deng<forwardd>;cs_245=0;}break;case5:{run_right<>;deng<rightd>;cs_245=0;}break; default:break;}}//時間顯示函數(shù)voiddisplay<>{ucharlcd1[1]=0,lcd2[1]=0,lcd3[1]=0,lcd4[1]=0;lcd1[0]=lcd[date1];//m1lcd2[0]=lcd[second];//m2lcddisplay2<lcd1,lcd2,lcd3,lcd4>}voidstar<>{TMOD=0x11;IE=0x8b;}//定時器的//主函數(shù)voidmain<void>{star<>;//定時器的初始化while<1>{xunji<>;//尋跡子程序 bizhang<>;//避障子程序}}五、系統(tǒng)功能測試5.1使用儀器及設備清單的說明本次設計中使用的相關儀器清單如下表所示使用儀器及設備列表5.2系統(tǒng)功能測試基本要求部分的功能測試<1>在規(guī)定的場地內(nèi)智能救援小車從A門進入,自動選擇路徑從B門出來。小車行駛路線的示意圖如下所示:發(fā)揮部分的功能測試救援小車在B門的位置通過循跡電路沿著黑色引導線BC前進,在金屬傳感器檢測到鐵片D時,單片機控制相應的電路將鐵片撿起并轉(zhuǎn)移到指定的位置,在這個過程中單片機同時控制相應的電路發(fā)出語音和發(fā)光提示,指示智能救援小車以完成救援任務。智能救援小車在實現(xiàn)發(fā)揮部分時所行駛的路線示意圖如下所示:小車發(fā)揮部分功能及其它功能測試測試步驟如下:〔1首先把小車放在場地的入口處,按照題目所規(guī)定的要求,智能救援小車從A門進入自動選擇路徑從B門出來。在行駛過程中,救援小車可以自動選擇路徑行走,其行走路線如上圖所示。智能救援小車從A門進入后開始計時,并通過液晶顯示來顯示救援小車系統(tǒng)所消耗的時間,再從B門出來。在行進過程中,救援小車可以自動避開墻壁,找到通路,可以在三分鐘之內(nèi)完成到達B門的要求,在B門處,小車檢測到黑色標志,小車停止運行,同時發(fā)出聲光,提示基本部分測試完畢?!?救援小車從B門外,通過循跡黑色弧形引導線BC前進〔引導軌跡為2厘米寬,在循跡黑色弧形引導線途中,通過接近開關電路檢測到鐵片D時停車3秒〔注意:鐵片D放置在軌跡BC前二分之一段上的任意位置,并由語音電路發(fā)出語音提示,由LED發(fā)光電路發(fā)光提示。單片機通過金屬傳感器電路采集到金屬信息時,通過控制相應的磁感應電路接通產(chǎn)生磁場,利用線圈通電時可產(chǎn)生磁場的原理撿起鐵片,撿起鐵片之后金屬傳感器的檢測信號不再發(fā)生變化,救援小車繼續(xù)沿黑色引導軌跡前進。當救援小車到達黑色弧形引導軌跡線的終點C之后,小車通過RPR220型光電對管電路通知單片機救援小車已完成本次救援任務,單片機通過控制相應的電機驅(qū)動電路停止電機的運行,通過改變相應的磁感應電路的電平狀態(tài)放下鐵片D,液晶顯示電路分別顯示走過BD、DC段軌跡所消耗的時間。同時在此過程中,單片機控制語音電路和發(fā)光二極管發(fā)光電路同時發(fā)出語音和發(fā)光的提示,指示救援小車的救援任務結(jié)束〔救援小車系統(tǒng)測試的具體參數(shù)見下表。智能救援小車系統(tǒng)的功能參數(shù)列表:基本部分數(shù)據(jù)參數(shù)測量次數(shù)從入口端到出口端行駛時間〔s至B端停留的時間〔s至B端停留發(fā)出聲光提示的時間〔s第1次536.23.2第2次566.03.1第3次486.12.9第4次575.93.3第5次516.33.5發(fā)揮部分數(shù)據(jù)參數(shù)測量次數(shù)從B端到鐵片D點行駛時間<s>在鐵片D點停留時間<s>從鐵片D點處到終點C所用時間<s>在C點停留的時間<s>在C點處停留發(fā)出聲光提示的時間<s>第1次33551第2次53651第3次43551第4次43751第5次53651六、結(jié)論測試表明,小車能夠較好的完成題目要求的基本要求和發(fā)揮部分。同時本智能救援小車的特色是:光電開關判斷避障物的準確、RPR220型光電對管能穩(wěn)定的完成循跡、救援小車應用了電感式接近開關檢測鐵片,經(jīng)測試我們發(fā)現(xiàn)其檢測金屬準確、靈敏度較高,液晶顯示效果良好,語音播報清晰,智能救援小車系統(tǒng)運行正常,各模塊電路參數(shù)穩(wěn)定。較好的完成了題目中所規(guī)定的基本部分和發(fā)揮部分,系統(tǒng)還擴展了其它常用功能,如溫度顯示等。七、結(jié)束語首先,感謝XX省大學生電子設計競賽組委會和協(xié)辦單位給我們這樣一次珍貴的鍛煉機會,在本次設計大賽中,,通過我們共同的努力,我們完成了智能救援小車系統(tǒng)的設計與制作,本設計中的救援小車能完成了大賽題目要求的大部分功能,同時也提高了我們的創(chuàng)新意識和團隊合作意識,培養(yǎng)了我們認真分析問題、獨立解決問題的能力,鞏固了我們對所學理論的實際運用。還鍛煉了我們的動手實踐能力,使我們更有信心在電子行業(yè)中繼續(xù)學習下去。在比賽的四天三夜的努力拼搏中,受益匪淺,終生難忘。我們不僅完成了一件作品,而且。我們在調(diào)試的過程中遇到了不少問題,如在避障、循跡、金屬檢測等問題上,通過大家的共同努力研究問題被解決,參加此次競賽對我們來說是一次寶貴經(jīng)歷,也是人生的一筆精神財富。當然,由于我們的知識能力和水平有限,有些地方還不是很完善,系統(tǒng)也存在一定的缺陷和不完善的地方,懇請各位老師批評指正,以便我們下一次做的更好。八、參考文獻:[1]單片機的C語言應用程序設計馬忠梅等.北京航空航天大學出版社2007[2]模擬電子技術(shù).胡宴如.高等教育出版社2007[3]數(shù)字電子技術(shù)基礎.楊志忠.高等教育出版社2006[4傳感技術(shù)及其應用謝文和高等教育出版社2002[5單片機C51程序設計教程與實驗祁偉等.北京航空航天大學出版社2006分隔線上一篇:20XXE題簡易數(shù)控充電電源〔乙組下一篇:沒有了收藏挑錯推薦打印推薦內(nèi)容熱點內(nèi)容20XXG題智能救援車20XXF題簡易多功能計數(shù)20XXD題程控濾波器20XXC題數(shù)字存儲示波器20XXH題信號發(fā)生器20XXJ題電動車蹺蹺板20XXI題可控放大器20XXG題積分型直流數(shù)字20XXF題電動車蹺蹺板設20XXE題開關穩(wěn)壓電源系統(tǒng)的單片機程序#include"reg52.h"#definedet_Dist2.55//單個脈沖對應的小車行走距離,其值為車輪周長/4#defineRD9//小車對角軸長度#definePI3.1415926#defineANG_9090#defineANG_90_T102#defineANG_180189/*============================全局變量定義區(qū)============================*/sbitP10=P1^0;//控制繼電器的開閉sbitP11=P1^1;//控制金屬接近開關sbitP12=P1^2;//控制顏色傳感器的開閉sbitP07=P0^7;//控制聲光信號的開啟sbitP26=P2^6;//接收顏色傳感器的信號,白為0,黑為1sbitP24=P2^4;//左sbitP25=P2^5;//右接收左右光傳感器的信號,有光為0unsignedcharmType=0;//設置運動的方式,0向前1向左2向后3向右unsignedcharDirection=0;//小車的即時朝向0朝上1朝左2朝下3朝右unsignedsX=50;unsignedcharsY=0;//小車的相對右下角的坐標CM〔sX,sYunsignedcharStartTask=0;//獲得鐵片后開始執(zhí)行返回卸貨任務,StartTask置一unsignedcharInter_EX0=0;//完成一個完整的任務期間只能有一次外部中斷//Inter_EX0記錄外部中斷0的中斷狀態(tài)//0動作最近的前一次未中斷過,//1動作最近的前一次中斷過unsignedcharcntIorn=0;//鐵片數(shù)unsignedcharbkAim=2;//回程目的地,0為A倉庫,1為B倉庫,2為停車場,//<在MAIN中接受鐵片顏色判斷傳感器的信號來賦值>unsignedcharLight_Flag=0;//進入光引導區(qū)的標志<1>unsignedintcntTime_5Min=0;//時間周期數(shù),用于T0精確定時unsignedintcntTime_Plues=0;//霍爾開關產(chǎn)生的脈沖數(shù)/*============================全局變量定義區(qū)============================*//**//*通用延遲程序*//**/voiddelay<unsignedinttime>//time*0.5ms延時{unsignedinti,j;for<j=0;j<time;j++>{for<i=0;i<60;i++>{;}}}/**//*顯示控制模塊*//**//*數(shù)碼管顯示,顯示鐵片的數(shù)目<設接在P0,共陰>*/voidDisplay<unsignedcharn>{charNumb[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x37,0x77};P0=Numb[n];}/**//*傳感器模塊*//**//*光源檢測程序:*//*用于糾正小車運行路線的正確性*/unsignedcharLightSeek<>{voidDisplay<unsignedchar>;bitl,r;l=P24;r=P25;if<l==0&&r==1>{//Display<1>;return<3>;//偏左,向右開}if<r==0&&l==1>{//Display<3>;return<1>;//偏右,向左開}if<<l==1&&r==1>||<l==0&&r==0>>{//Display<9>;return<0>;//沒有偏離,前進}}/*鐵片檢測程序:*//*判斷鐵片的顏色,設定bkAim,0為A倉庫,1為B倉庫,2為停車場*/voidIornColor<>{delay<4000>;bkAim=<int><P26>;Display<<int><P26>+2>;}/**//*運動控制模塊*//**//*====基本動作層:完成基本運動動作的程序集====*//*運動調(diào)整程序:*//*對小車的運動進行微調(diào)*/voidctrMotor_Adjust<unsignedchart>{if<t==0>{P2=P2&240|11;//用來解決兩電機不對稱的問題delay<6>;}if<t==3>{P2=P2&250;//向左走delay<1>;}if<t==1>{P2=<P2&245>;delay<1>;//向右走}P2=<<P2&240>|15>;delay<10>;}/*直走程序:*//*控制小車運動距離,dist為運動距離<cm>,type為運動方式<02>*//*只改變小車sX和sY的值而不改變Direction的值.*/voidctrMotor_Dist<floatdist,unsignedchartype>{unsignedchart=0;mType=type;P2=<<P2&240>|15>;cntTime_Plues=<int><dist/det_Dist>;while<cntTime_Plues>{if<Inter_EX0==1&&StartTask==0>{cntTime_Plues=0;break;}if<Light_Flag==1>t=LightSeek<>;if<type==0>//向前走{P2=P2&249;delay<40>;ctrMotor_Adjust<t>;}if<type==2>//向后退{P2=P2&246;delay<50>;ctrMotor_Adjust<t>;}P2=<<P2&240>|15>;if<mType==2>delay<60>;//剎車制動0.5mselsedelay<75>;}}/*拐彎程序:*//*控制小車運動角度,type為運動方式〔13*//*只改變小車Direction的值而不改變sX和sY的值*/voidctrMotor_Ang<unsignedcharang,unsignedchartype,unsignedchardir>{unsignedchari=0;mType=type;P2=<<P2&240>|15>;cntTime_Plues=<int><<PI*RD*90/<180*det_Dist>*1.2>*ang/90>;while<cntTime_Plues>{if<Inter_EX0==1&&StartTask==0>{cntTime_Plues=0;break;}if<type==1>//向左走{P2=P2&250;delay<100>;ctrMotor_Adjust<0>;}if<type==3>//向右走{P2=P2&245;delay<100>;ctrMotor_Adjust<0>;}P2=<<P2&240>|15>;delay<50>;//剎車制動0.5ms}if<!<Inter_EX0==1&&StartTask==0>>{Direction=dir;}}/*====基本路線層:描述小車基本運動路線的程序集====*//*當小車到達倉庫或停車場時,放下鐵片或停車<0,1為倉庫,2為停車場>*/voidrchPlace<>{unsignedinttime,b,s,g;time=<int><cntTime_5Min*0.065535>;//只有一個數(shù)碼管時,輪流顯示全過程秒數(shù)個十百b=time%100;s=<time-b*100>%100;g=<time-b*100-s*10>%10;if<bkAim==2>{//到達停車場了,停車EA=0;P2=<<P2&240>|15>;while<1>{Display<10>;//Ndelay<2000>;Display<cntIorn>;delay<2000>;Display<11>;//Adelay<2000>;Display<b>;delay<2000>;Display<s>;delay<2000>;Display<g>;delay<2000>;}}else{if<Inter_EX0==1&&StartTask==1>P10=0;//到達倉庫,卸下鐵片}}/*無任務模式:*//*設置小車的固定運動路線,未發(fā)現(xiàn)鐵片時的運動路線*/voidBasicRoute<>{//Light_Flag=1;ctrMotor_Dist<153,0>;//Light_Flag=0;ctrMotor_Ang<ANG_90,1,1>;ctrMotor_Dist<100-sX,0>;ctrMotor_Dist<125,2>;ctrMotor_Dist<73,0>;ctrMotor_Ang<ANG_90,1,2>;//Light_Flag=1;ctrMotor_Dist<153,0>;//Light_Flag=0;ctrMotor_Ang<ANG_180,1,0>;rchPlace<>;}/*任務模式:*//*設置小車的發(fā)現(xiàn)鐵片后的運動路線*/voidTaskRoute<>{//基本運行路線表,記載拐彎0向前1左拐2向后3右拐,正讀去A區(qū);反讀去B區(qū)StartTask=1;ctrMotor_Ang<ANG_90_T,1,2>;if<bkAim==1>//倉庫A{ctrMotor_Dist<10,0>;P2=<<P2&240>|15>;delay<60>;ctrMotor_Ang<ANG_90_T,1,3>;ctrMotor_Dist<100-sX,2>;ctrMotor_Ang<ANG_90_T,1,2>;Light_Flag=1;ctrMotor_Dist<153,2>;Light_Flag=0;//ctrMotor_Ang<208,1,0>;}elseif<bkAim==0>//倉庫B{ctrMotor_Dist<10,0>;P2=<<P2&240>|15>;delay<60>;ctrMotor_Ang<ANG_90_T,1,3>;ctrMotor_Dist<100-sX,0>;ctrMotor_Ang<ANG_90_T,1,0>;Light_Flag=1;ctrMotor_Dist<153,2>;Light_Flag=0;//ctrMotor_Ang<208,1,0>;}delay<5000>;rchPlace<>;}/**//*主程序段*//**/voidmain

溫馨提示

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

評論

0/150

提交評論