畢業(yè)設(shè)計基于SPCE061A單片機的自主移動機器人小車設(shè)計_第1頁
畢業(yè)設(shè)計基于SPCE061A單片機的自主移動機器人小車設(shè)計_第2頁
畢業(yè)設(shè)計基于SPCE061A單片機的自主移動機器人小車設(shè)計_第3頁
畢業(yè)設(shè)計基于SPCE061A單片機的自主移動機器人小車設(shè)計_第4頁
畢業(yè)設(shè)計基于SPCE061A單片機的自主移動機器人小車設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、自主移動機器人小車設(shè)計摘 要智能作為現(xiàn)代社會的新產(chǎn)物,是以后的發(fā)展方向,智能就是按照預(yù)先設(shè)定的模式在一個特定的環(huán)境里自動的運作,無需人為管理,便可以完成預(yù)期所要達到的或是更高的目標。本設(shè)計采用凌陽超聲波測距模塊檢測小車與障礙物的距離并語音提示,以凌陽spce061a單片機為控制芯片控制機器人小車的移動及轉(zhuǎn)向,來實現(xiàn)小車的自動避障和報警功能。其中小車驅(qū)動由l298n驅(qū)動電路來完成。 關(guān)鍵詞 自主移動 避障 spce061a單片機 l298n 超聲波independent mobile robot car designabstractintelligent as modern society of

2、 new product, is the development direction of the future, intelligence is that according to the predetermined pattern in a specific environment to be automatic operation, no user management, then can be expected to finish what you are trying to achieve the goal. this design use the sunplus ultrasoni

3、c ranging module testing the car and obstacles distance and voice prompt to sunplus spce061a microprocessor control chip for control of the robot car moves and steering, to realize the automatic obstacle avoidance and car alarm function. among them the small car driven by l298n drive circuit to comp

4、lete.key words the independent movement,obstacle avoidance,spce061a,l298n ultrasonic目 錄中文摘要i英文摘要ii1 緒論11.1機器人小車的意義和作用11.2 機器人小車的現(xiàn)狀12 方案設(shè)計32.1 主控系統(tǒng)的比較與選擇32.2 避障單元的比較與選擇32.3 電機驅(qū)動模塊的比較與選擇32.4 驅(qū)動電機的比較與選擇42.5 電源模塊的比較與選擇52.6 系統(tǒng)總體框圖53 硬件設(shè)計63.1 spce061a芯片的特點及其功能63.2 spce061a芯片內(nèi)核結(jié)構(gòu)73.3 spce061a的語音播報功能73.4 超聲

5、波測距模塊83.4.1 超聲波測距模組的電路原理圖103.4.2 超聲波電源接口113.4.3 測距程序流程圖123.5 l298n電機驅(qū)動模塊123.5.1 l298n主要特點143.5.2 電機驅(qū)動模塊連接圖144 軟件設(shè)計164.1 軟件調(diào)試平臺164.2 程序設(shè)計流程圖175 制作安裝與調(diào)試185.1 硬件制作185.2 系統(tǒng)調(diào)試195.2.1 硬件調(diào)試195.2.2 軟件調(diào)試215.2.3 聯(lián)合調(diào)試215.2.4 本系統(tǒng)存在的問題215.2.5 本系統(tǒng)可行的改進措施22結(jié)束語23致 謝24參考文獻25附 錄261 緒論1.1機器人小車的意義和作用自第一臺工業(yè)機器人誕生以來,機器人的發(fā)

6、展已經(jīng)遍及機械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們在不斷探討、改造、認識自然的過程中,制造能替代人勞動的機器一直是人類的夢想。隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有機器人小車這方面的題目,全國各高校也都很重視該題目的研究。可見其研究意義很大。本設(shè)計就是在這樣的背景下提出的,設(shè)計的自主移動小車應(yīng)該能夠具有語音提示,避障功能,根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝超聲波傳感器及電機驅(qū)動模塊,實現(xiàn)對小車的實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,然后

7、由單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對小車的智能控制。該小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、cpu。機器人要實現(xiàn)自動避障功能,還可以擴展循跡等功能,感知導(dǎo)引線和障礙物。可以實現(xiàn)小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避。基于上述要求,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的ccd傳感器而考慮使用價廉物美的超聲波傳感器來充當。智能小車的執(zhí)行部分,是由直流電機來充當?shù)?,主要控制小車的行進方向和速度。單片機驅(qū)動直流電機一般有兩種方案:第一,勿需占用單片機資源,直接選擇有pwm功能的單片機,這樣可以

8、實現(xiàn)精確調(diào)速;第二,可以由軟件模擬pwm輸出調(diào)制,需要占用單片機資源,難以精確調(diào)速,但單片機型號的選擇余地較大??紤]到實際情況,本文選擇第二種方案。cpu使用spce061a單片機,配合軟件編程實現(xiàn)。1.2 機器人小車的現(xiàn)狀隨著電子技術(shù)、計算機技術(shù)、智能控制技術(shù)的飛速發(fā)展,產(chǎn)品的智能化和小型化越來越成為人們關(guān)注的熱點。各種智能小車在智能化玩具中占了很大的比例。近年來,傳統(tǒng)玩具的市場逐步縮水,高科技智能化的電子類玩具則逐步成為市場的主流。因此,可遙控的智能化小車的研究是非常有意義的,具有很大潛在市場價值的。智能小車,也被稱之為輪式機器人。我們知道,機器人技術(shù)的發(fā)展是一個國家高科技水平和工業(yè)自動化

9、程度的重要標志和體現(xiàn)。機器人由于具有高度的靈活性、可以幫助人們提高生產(chǎn)率、改進產(chǎn)品質(zhì)量和改善勞動條件等優(yōu)點,在世界各地的生產(chǎn)生活領(lǐng)域得到了廣泛的應(yīng)用。智能小車正是模仿機器人的一種嘗試。它是一種以汽車電子為背景,涵蓋控制,模式識別,電子、電氣、單片機、機械等多學(xué)科的科技創(chuàng)新性設(shè)計,一般主要由路徑識別、速度采集、角度控制以及車速控制等模塊組成。這種智能小車能夠自動搜尋前進路線,還能爬坡;感知前方的障礙物,并自動尋找前進方向,避開障礙物;加入相關(guān)聲光訊號后,更能體現(xiàn)出智能化和人性化的一面。12 方案設(shè)計2.1 主控系統(tǒng)的比較與選擇方案一:采用各類數(shù)字電路來組成小車的控制系統(tǒng),對外圍避障信號,自動尋跡

10、信號,無線遙控信號,語音控制信號進行處理。本方案電路復(fù)雜,靈活性不高,效率低,不利于小車智能化的擴展,對各路信號處理比較困難。方案二:采用凌陽spce061a單片機來作為整機的控制單元。超聲波采用凌陽超聲波測距模塊,利用超聲波檢測障礙物距離,送往單片機進行處理。此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分,使系統(tǒng)硬件簡潔化,各類功能易于實現(xiàn),能很好地滿足題目的要求。比較以上兩種方案的優(yōu)缺點,方案二簡潔、靈活、可擴展性好,更能達到題目的設(shè)計要求,因此采用方案二來實現(xiàn)。2.2 避障單元的比較與選擇方案一:采用紅外線避障,利用單片機來產(chǎn)生40khz信號對紅外線發(fā)射管進行調(diào)制發(fā)射,發(fā)射出去的紅

11、外線遇到避障物的時候反射回來,紅外線接收管對反射回來信號進行解調(diào),輸出比較電平。但紅外線容易受到光線的干擾。方案二:采用超聲波避障,超聲波對外界光線和電磁場不敏感,可用于黑暗、有灰塵或煙霧、電磁干擾強、有毒等惡劣環(huán)境中; 并且可以進行實時控制。通過比較我采用方案二。2.3 電機驅(qū)動模塊的比較與選擇方案一:采用繼電器對電動機的開或關(guān)進行控制,通過開關(guān)的切換對小車的速度進行調(diào)整.此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性不高.2方案二:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機的分壓,從而達到分壓的目的。但電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要

12、的問題在于一般的電動機電阻很小,但電流很大,分壓不僅回降低效率,而且實現(xiàn)很困難。方案三:采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強。這種電路由于工作在管子的飽和截止模式下,效率非常高,h型橋式電路保證了簡單的實現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強,是一種廣泛采用的調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了l298n。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機。機器人小車采用前輪驅(qū)動,

13、前輪左右兩邊各用一個直流電機驅(qū)動,調(diào)制前面兩個輪子的正反轉(zhuǎn)從而達到控制轉(zhuǎn)向的目的。2.4 驅(qū)動電機的比較與選擇方案一:使用直流電機,直流電機具有良好的調(diào)速性能,控制起來也比較簡單。直流電機只要通上直流電源就可連續(xù)不斷的轉(zhuǎn)動,調(diào)節(jié)電壓的大小就可以改變電機的速度。直流電機的驅(qū)動電路實際上就是一個功率放大器。常用的驅(qū)動方式是pwm方式,即脈沖寬度調(diào)制方式。此方法性能較好,電路和控制都比較簡單。方案二:使用步進電機。步進電機具有良好的控制性能。當給步進電機輸入一個電脈沖信號時,步進電機的輸出軸就轉(zhuǎn)動一個角度,因此可以實現(xiàn)精確的位置控制。與直流電機不同,要使步進電機連續(xù)的轉(zhuǎn)動,需要連續(xù)不斷的輸入點脈沖信

14、號,轉(zhuǎn)速的大小由外加的脈沖頻率決定。去而且其轉(zhuǎn)動不受電壓波動和負載變化的影響,也不受溫度、氣壓等環(huán)境因素的影響,僅與控制脈沖有關(guān)。但步進電機的驅(qū)動相對較復(fù)雜,要由控制器和功率放大器組成。具體差別見下表2-1。表2-1 電機控制方式對比直流電機步進電機調(diào)速性能較好較差位置控制精度較差好驅(qū)動簡單復(fù)雜穩(wěn)定性較好好,僅與控制脈沖有關(guān)由上表可以看出步進電機和直流電機都有各自的優(yōu)點。步進電機能進行精確的位置控制,但驅(qū)動電路麻煩,鑒于本設(shè)計中小車的位置控制不要求十分精確,直流電機即可滿足小車要求的精度。且直流電機易于控制,驅(qū)動電路十分簡單。2.5 電源模塊的比較與選擇方案一:電腦usb串口供電。能直接為單片

15、機提供穩(wěn)定的+5v直流電壓。usb串口線又容易得到。但是需要很長的線,而且要有交流電和電腦配合。方案二:用4節(jié)五號電池串聯(lián)6v直流電源。在不超過單片機工作電壓范圍的情況下,又能驅(qū)動直流電機。且這個電源結(jié)構(gòu)簡單,價格便宜,容易得到。綜上所述,本設(shè)計選擇方案二。2.6 系統(tǒng)總體框圖經(jīng)過對方案的設(shè)計要求的分析和方案論證,采用凌陽單片機控制平臺,經(jīng)過超聲波測距模塊檢測距離,控制運動模塊的電機運動方式,近而控制這個小車系統(tǒng)的運動。系統(tǒng)總體設(shè)計框圖如圖2-1spce061a復(fù)位電路語音報警電機驅(qū)動hghhllll298n超聲波測距圖2-1 系統(tǒng)總體設(shè)計框圖3 硬件設(shè)計3.1 spce061a芯片的特點及其

16、功能3spce061a 是繼nsp系列產(chǎn)品spce500a等之后凌陽科技推出的又一款16位結(jié)構(gòu)的微控制器。與spce500a不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,spce061a里只內(nèi)嵌32k字的閃存(flash)。較高的處理速度使nsp能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此,與spce500a相比,以nsp為核心的spce061a微控制器是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟的選擇。 spce061a特性: 16位nsp微處理器;工作電壓:內(nèi)核工作電壓vdd為3.03.6(cpu),i/o口工作電壓vddh為vdd5.5v(i/o);cpu

17、時鐘:0.32mhz49.152mhz;內(nèi)置2k字sram;內(nèi)置32k閃存rom;可編程音頻處理;晶體振蕩器:32768hz實時時鐘;系統(tǒng)處于備用狀態(tài)下(系統(tǒng)時鐘暫停),耗電小于 2a3.6v;2個16位可編程定時器/計數(shù)器tmr0,tmr1(可自動預(yù)置初始計數(shù)值);2個10位dac(數(shù)模轉(zhuǎn)換)輸出通道;32位通用可編程輸入/輸出端口;14個中斷源可來自定時器a/b,時基,2個外部時鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用凌陽音頻編碼sacm_s240方式(2.4k位/秒),能容納210秒的語音數(shù)據(jù);鎖相環(huán)pll振蕩器提供系統(tǒng)時鐘信號;通道10位電壓模數(shù)轉(zhuǎn)換器(adc)和單通道聲音模數(shù)轉(zhuǎn)換器

18、;聲音ad轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益控制(agc)功能; 具備串行設(shè)備接口;低電壓復(fù)位(lvr)功能和低電壓監(jiān)測(lvd)功能;內(nèi)置在線仿真板(ice in- circuit em ulator)接口。3.2 spce061a芯片內(nèi)核結(jié)構(gòu)(1)16位數(shù)據(jù)總線和22位數(shù)據(jù)總線(2)算術(shù)邏輯單元aul:16位算術(shù)邏輯運算,帶移位操做的算術(shù)邏輯運算,16位x16位乘法和內(nèi)積運算。(3)通用型寄存器r1r4:在unsp cpu(isa1.1)中,集成了一組(4個)16位通用寄存器:r1r4。(4)數(shù)據(jù)運算或傳送的源及目標寄存器(5)配對組成一個32位的乘法結(jié)果寄存器mr(6)配對組成一個

19、32位的內(nèi)積結(jié)果寄存器mr(7)專用型寄存器:堆棧指針寄存器sp,基址指針寄存器bp(r5),程序計數(shù)器pc,段寄存器sr。cs:代碼選擇字段 ds:數(shù)據(jù)選擇字段 c:進位標志位z:零標志位 n:負標志位 s:符號標志位3.3 spce061a的語音播報功能spce061a內(nèi)置了專用的mic輸入通道和音頻輸出dac,并具有較高的處理速度,因此非常適合對音頻信號的處理,如語音播放、語音錄制等。由于未經(jīng)處理的音頻資源數(shù)據(jù)量很大,對于單片機來說,數(shù)據(jù)的存儲和傳輸都比較困難,這使得音頻壓縮編碼成為音頻處理的重要環(huán)節(jié)。為方便用戶將spce061a應(yīng)用于語音產(chǎn)品,凌陽公司提供了多種音頻編解碼算法及其api

20、函數(shù)庫,即sacm-lib。該函數(shù)庫將a/d、編碼、解碼、存儲及d/a做成相應(yīng)的模塊,每個模塊都有其應(yīng)用程序接口api,用戶只需了解每個模塊所實現(xiàn)的功能及其參數(shù)的內(nèi)容即可。sacm s480的壓縮算法的壓縮比較大,音質(zhì)不是太好,適用于對音質(zhì)要求不是很高的語音播放場合。sacm s480語音播放也分為“自動”和“手動”了兩種模式。其播放流程與sacm a2000完全相同,僅僅將sacma2000播放程序調(diào)用的函數(shù)名中的“a2000”全部替換為“s480”即可。sacm a2000壓縮算法壓縮比較小,具有高質(zhì)量、高碼率的特點,適用于高保真音樂和語音。無論是自動播放還是手動播放,將解碼后的語音數(shù)據(jù)通

21、過dac播放出來的過程都是在中斷服務(wù)程序中完成的。sacm a2000在播放初始化是會打開fiq timera中斷,并將timera溢出頻率設(shè)置為16khz。用戶需要在fiq timera中斷服務(wù)程序中調(diào)用sacm a2000函數(shù)完成語音播放。sacm dvr具有錄音盒放音功能。錄音是從語音采樣、壓縮編碼到存儲的過程,sacm dvr的錄音采用了sacm a2000壓縮編碼。放音是從取存儲器語音數(shù)據(jù)、譯碼到輸出的過程,與sacm a2000相同。sacm dvr編碼實際上使用了sacm a2000壓縮算法,因此錄制的語音資源可以使用sacm a2000播放出來。sacm dvr也提供了一組庫函

22、數(shù),用來播放錄制的語音資源。spce061a單片機中dac主要用于將數(shù)字信號轉(zhuǎn)換成音頻信號輸出,其音頻信號輸出有兩種控制方式:一種是語音輸出方式;另一種是音調(diào)輸出方式。兩者的區(qū)別在于其輸出控制機理不同。語音輸出是用于聲音數(shù)據(jù)采樣相同的速率將聲音數(shù)據(jù)通過數(shù)/模轉(zhuǎn)換通道還原成聲音。音頻輸出是通過定時溢出所產(chǎn)生的不同頻率來決定聲音音調(diào)的高低,dac的模擬量決定聲音信號的幅值。語音輸出方式是數(shù)/模轉(zhuǎn)換器dac把模擬聲波輸入的數(shù)字量轉(zhuǎn)換成模擬量實現(xiàn)波形重放。d/a轉(zhuǎn)換器位數(shù)越多,重放波形的音質(zhì)越好。語音輸出是,cpu以一固定的頻率向dac送出一系列的數(shù)字量值。此數(shù)值轉(zhuǎn)換成一系列的電流模擬量,并經(jīng)平滑濾波

23、后驅(qū)動揚聲器得到聲音信號。這種方式下,聲音數(shù)據(jù)的采樣率決定了聲音音質(zhì)的好壞。采樣率越高,恢復(fù)的聲音波形越接近原來的波形,音質(zhì)越好。spce061a單片機采用的d/a轉(zhuǎn)換的音頻輸出硬件結(jié)構(gòu)有兩種:一種是直接采用數(shù)/模轉(zhuǎn)換器dac實現(xiàn);另一種是采用單通道脈寬調(diào)制pwm驅(qū)動方式輸出。在本系統(tǒng)的語音播放中采用第一種方式。直接dac方式用于兩個通道的聲音數(shù)字信號轉(zhuǎn)換成模擬的音頻信號輸出。實際應(yīng)用時,應(yīng)按相同的采樣速率,將雙通道輸入的表示聲音的數(shù)字量同步且分別地寫入到兩個數(shù)據(jù)單元dar1和dar2中,并分別送入dac1和dac2中,進行d/a轉(zhuǎn)換。轉(zhuǎn)換的電流模擬信號分別從aud1和aud2輸出,輸入的數(shù)字

24、量分別寫入pdac1和pdac2單元。3.4 超聲波測距模塊1基本特性與參數(shù)指標 超聲波傳感器諧振頻率:40khz 模組傳感器工作電壓:4.5v-9v 模組接口電壓:4.5v-5.5v2主要功能三種測距模式選擇跳線j1(短距、中距、可調(diào)距): 短距:20cm-100cm左右(根據(jù)被測物表面材料決定),精度1cm; 中距:70cm-400cm左右(根據(jù)被測物表面材料決定); 可調(diào):范圍由可調(diào)節(jié)參數(shù)確定,當調(diào)節(jié)在合適的值時,最遠測距700cm左右;3結(jié)構(gòu)示意圖 圖3-1 超聲波測距模組硬件框圖圖3-2 超聲波實物圖一般應(yīng)用時,只需要用兩條10pin排線把j5與spce061a的iob口低八位連接,

25、j4與iob口高八位連接,同時設(shè)置好j1、j2跳線就完成硬件的連接了。不同測距模式的選擇只需改變測距模式跳線j1的連接方法即可。模組工作的性能與被測物表面材料有很大關(guān)系,如毛料、布料對超聲波的反射率很小,會嚴重影響測量結(jié)果4超聲波測距原理聲波在其傳播介質(zhì)中被定義為縱波。當聲波受到尺寸大于其波長的目標物體阻擋時就會發(fā)生反射;反射波稱為回聲。假如聲波在介質(zhì)中傳播的速度是已知的,而且聲波從聲源到達目標然后返回聲源的時間可以測量得到,那么就可以計算出從聲波到目標的距離。這就是本系統(tǒng)的測量原理。這里聲波傳播的介質(zhì)為空氣,采用不可見的超聲波,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲

26、波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/23.4.1 超聲波測距模組的電路原理圖圖 3-3 超聲波測距模組的主要電路原理圖整個電路可分為兩大部份,一部份是超聲波發(fā)射調(diào)理電路,另一部份是超聲波回波接收處理電路。用于驅(qū)動超聲波傳感器的40khz的方波由一片ne555搭成的多諧振蕩器生成,受控于控制器的plus_en信號;40khz的方波經(jīng)cd4049調(diào)理后,成為振幅18v的方波,提高發(fā)射功率。 發(fā)射頭發(fā)射出去的超聲波經(jīng)障礙物反射后,反射

27、到接收頭,而接收到的波形幅度非常小,所以在回波處理電路中,把接收到的波形放大了5000倍,用的是 ne5532搭成的兩級交流放大電路。經(jīng)放大后的波形送入,lm311比較器;經(jīng)比較器調(diào)理后的波形成為方波,可送給spce061a的ext1外部中斷。 在模塊電路的設(shè)計中一定要注意,超聲波發(fā)射頭和接收頭之間的干擾;一般壓電式的超聲波換能器都會存在余波的干擾,發(fā)射頭和接收頭間要有5cm的距離;而在 發(fā)射頭發(fā)射超聲波后的3ms內(nèi),接收頭會一直接收到發(fā)射頭傳過來的非反射波,這是干擾波,在軟件處理的時候一定要注意清除掉此類的干擾。3.4.2 超聲波電源接口圖3-4 超聲波電源接口j3為外部電源接口,最高電壓不

28、要超過12v,j2為電源選擇跳線,vcc_5即為由61板通過10pin的排線引入模組的電源,vcc即為模組的放大器,調(diào)理電路的供電電源。當用戶使用61板為其供電時,要把vcc與vcc_5短接;而使用外部電源時,要把vcc與vcc_5短接。超聲波測距模組與61板的接口如圖3-5,3-6所示:圖 3-5 超聲波測距模組接口圖3-6 超聲波與61板進行測距連接實物圖3.4.3 測距程序流程圖超聲波測距的功能函數(shù)流程圖如圖3-7。用戶只需進行六次測距操作,這六次的測量結(jié)果需要經(jīng)過處理后才可得到最終的測距返回值,然后將返回值化成距離。3.5 l298n電機驅(qū)動模塊4l298n是sgs公司的產(chǎn)品,內(nèi)部包含

29、4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個h橋的高電壓大電流雙全橋式驅(qū)動器,接收標準ttl邏輯電平信號,可驅(qū)動46v、2a以下的電機。其實物及引腳圖如圖3-8及3-9所示圖3-7測距程序流程圖圖3-8 l298n實物圖圖 3-9 l298n管腳圖3.5.1 l298n主要特點(1)工作電壓高,最高工作電壓可達46v; (2)輸出電流大,瞬間峰值電流可達3a,持續(xù)工作電流為2a;額定功率25w。(3)內(nèi)含兩個h橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機和步進電動機、繼電器線圈等感性負載;(4)采用標準邏輯電平信號控制;(5)具有兩個使能控制端,在不受輸入信號影響的

30、情況下允許或禁止器件工作有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;(6)可以外接檢測電阻,將變化量反饋給控制電路。使用l298n芯片驅(qū)動電機,該芯片可以驅(qū)動一臺兩相步進電機或四相步進電機,也可以驅(qū)動兩臺直流電機。3.5.2 電機驅(qū)動模塊連接圖5小車的兩個直流電機和驅(qū)動模塊l298n的連接如圖3-10。l298有兩路電源分別為邏輯電源和動力電源,圖3-10中6v為邏輯電源,12v為動力電源。j4接入邏輯電源,j6接入動力電源,j1與j2分別為單片機控制兩個電機的輸入端,j3與j5分別與兩個電極的正負極相連。ena與enb直接接入6v邏輯電源也就是說兩個電機時刻都工作在使能狀態(tài),控制

31、電機的運行狀態(tài)只有通過j1與j2兩個接口。輸入信號端in1接高電平輸入端in2接低電平,j3連接的電機正轉(zhuǎn)。(如果信號端in1接低電平, in2接高電平,j3連接的電機反轉(zhuǎn))控制另一臺電機是同樣的方式,輸入信號端in3接高電平,輸入端in4接低電平,j5連接的電機正轉(zhuǎn)。(反之則反轉(zhuǎn)),pwm信號端a控制電機1調(diào)速,pwm信號端b控制電機2調(diào)速。圖3-10電機驅(qū)動模塊連接圖通過對驅(qū)動模塊的邏輯輸入端輸入不同的電平,其對應(yīng)的電機轉(zhuǎn)動狀態(tài)表如表3-1表3-1 電機轉(zhuǎn)動狀態(tài)表左電機右電機左電機右電機小車運行狀態(tài)in1in2in3in41010正轉(zhuǎn)正轉(zhuǎn)前行1001正轉(zhuǎn)反轉(zhuǎn)左轉(zhuǎn)1011正轉(zhuǎn)停以左電機為中心

32、原地左轉(zhuǎn)0110反轉(zhuǎn)正轉(zhuǎn)右轉(zhuǎn)1110停正轉(zhuǎn)以右電機為中心原地右轉(zhuǎn)0101反轉(zhuǎn)反轉(zhuǎn)后退通過編寫相應(yīng)驅(qū)動程序,用單片機的ioa口來控制驅(qū)動模塊,進而控制小車的轉(zhuǎn)動狀態(tài),來完成小車的避障功能。4 軟件設(shè)計軟件設(shè)計是實現(xiàn)小車智能運轉(zhuǎn)的關(guān)鍵所在,相當于人類大腦思維活動,通過軟件設(shè)計可將各個變化信號數(shù)據(jù)有效的結(jié)合處理,產(chǎn)生相應(yīng)的動作反應(yīng)。4.1 軟件調(diào)試平臺軟件調(diào)試采用nsp集成開發(fā)環(huán)境,nsp集成開發(fā)環(huán)境集程序的編輯,編譯,鏈接,調(diào)試以仿真等功能為一體。具有友好的交互界面,下拉菜單,快捷鍵和快速訪問命令列表等,使編輯,調(diào)試工作方便且高效。此外。它的軟件仿真功能可以在不連接仿真板的情況下模擬硬件的各項功能

33、來調(diào)試程序。ide的開發(fā)界面如圖4-1圖4-1 nsp ide的開發(fā)界面對于超聲波測距模塊的數(shù)據(jù)采集的變化,則可以通過集成開發(fā)環(huán)境在線觀察,其對應(yīng)變量的數(shù)值在如圖4-2的變量表watch窗口圖4-2變量表watch窗口界面4.2 程序設(shè)計流程圖根據(jù)本設(shè)計的設(shè)計思路,機器人小車的主要程序設(shè)計包括:主程序,超聲波測距程序,其程序設(shè)計流程圖如圖4-3所示圖4-3程序設(shè)計流程圖5 制作安裝與調(diào)試5.1 硬件制作由于61板制板比較復(fù)雜且工藝要求較高,手工制板無法滿足要求則選擇了現(xiàn)成的61精簡開發(fā)板,車體源于廢舊的小車玩具進行改裝。此后將61板、車體、驅(qū)動電路板按照設(shè)計要求組裝,各部分之間用自制杜邦線連接

34、。確認組裝無誤則上電測試。61板的結(jié)構(gòu)圖及說明如圖:圖5-1 61板的結(jié)構(gòu)圖表5-1 61板框圖說明power5v&3v供電電路pll鎖向環(huán)外部電路power電源指示燈sleep睡眠指示燈reset復(fù)位電路k4復(fù)位按鍵probe在線調(diào)試器串行5pin接口s5ez-probe和probe切換的撥斷開關(guān)j12、j3耳機插孔和兩pin喇叭插針dac一路音頻輸出電路,采用spy0030集成音頻放大器mic麥克風(fēng)輸入電路osc32768晶振電路vrefa/d轉(zhuǎn)換外部參考電壓輸入接口r/c芯片其他外圍電阻、電容電路k1k3擴展的按鍵:接ioa0ioa2spce061a61板核心:16位微處理器porta/

35、b32個i/o口凌陽61精簡開發(fā)板的實物圖如圖5-2所示。圖5-2 61開發(fā)板實物圖5.2 系統(tǒng)調(diào)試本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件調(diào)試。由于在系統(tǒng)設(shè)計中采用模塊設(shè)計法,所以方便對各電路模塊功能進行逐級測試:61板的測試、電機驅(qū)動模塊的調(diào)試、超聲波測距模塊的調(diào)試。最后將各模塊組合后結(jié)合軟件進行整體測試。5.2.1 硬件調(diào)試(1) 61板測試第一步、連接電源,可以連接3節(jié)電池,也可以直接接5v的穩(wěn)壓源現(xiàn)象:當電源接通時,紅色的發(fā)光二極管會點亮。同時會有語音提示:歡迎進入自檢模式,此時因為還沒有連線,所以會聽到:i/o測試失敗的警告,所以就要進行第二步的操作; 第二步、用連線

36、分別將i/oa口的低8位和iob口的低8位相連,ioa口的高8位和iob口的高8位相連,然后按下rest復(fù)位鍵現(xiàn)象:當按下復(fù)位鍵后,程序從第一調(diào)開始運行開始執(zhí)行,語音提示歡迎進入自檢模式,當聽到語音:i/o測試成功后,進行第三步操作; 第三步、按k1鍵進行睡眠功能測試現(xiàn)象:如果測試成功,會看到綠色的發(fā)光二極管亮滅一下,并有語音提示睡眠測試成功,否則提示睡眠測試失敗,然后進行第四步操作; 第四步、按下k2鍵進行a/d轉(zhuǎn)換的測試現(xiàn)象:語音提示:a/d測試成功,否則提示a/d測試失敗,進入最后一步操作; 第五步、拔掉第一步測試時的連接線,并按下k3鍵測試mic輸入及d/a轉(zhuǎn)換輸出是否正常現(xiàn)象:可以在

37、mic上輕輕的拍幾下,同時聽是否有聲音輸出,如果有,則說明mic輸入和d/a轉(zhuǎn)換輸出部分正常。 以上操作,只有當i/o測試成功時,按鍵才會有效經(jīng)過上述檢驗,各個部分工作都是正常的。(2)超聲波測距模塊調(diào)試對于超聲波測距模塊的調(diào)試是結(jié)合軟件共同實現(xiàn),將編寫好的超聲波測距程序下載到61板中,同時在線用nsp集成開發(fā)環(huán)境進行測量結(jié)果的觀測。期望實現(xiàn)的功能是,back_data顯示測得的距離,如果測量出錯則back_data為0,則喇叭發(fā)出“咚”的聲音,測量正確,則back_data顯示測的距離,同時喇叭語音播報距離,播報的格式為“.點.米”。如表5-2是超聲波調(diào)試記錄。表5-2 超聲波調(diào)試記錄測試次

38、數(shù)12345678910放置距離20cm25cm40cm45cm55cm65cm70cm80cm90cm100cmback_dat值0356553548351065535655920由上表可以看出,超聲波測距模塊工作不正常,10次測量中僅有兩次正確,出現(xiàn)了問題,我首先檢查測距程序,經(jīng)過反復(fù)的修改,程序確定無誤。那就是硬件的問題了,由于超聲波測距模塊是買的成品,我研究其工作原理,并和售后服務(wù)聯(lián)系,他們給予幫助來檢測超聲波測距模塊的特性,檢測結(jié)果是超聲波測距模塊也沒有問題,我認為問題可能是有電源的不穩(wěn)定以及超聲波測距模塊受環(huán)境的干擾比較大引起的。(3)電機控制調(diào)試此模塊調(diào)試實現(xiàn)的功能是結(jié)合軟件共同

39、實現(xiàn),當連接61開發(fā)板的ioa口與電機驅(qū)動模塊的邏輯輸入,加上電源可以實現(xiàn)電機左右轉(zhuǎn)向,前后轉(zhuǎn)向以及停止等功能,如表5-3為電機測試記錄。表5-3 電機測試記錄ioa8ioa9ioa10ioa11小車行駛狀態(tài)1010前行1001左轉(zhuǎn)1011原地左轉(zhuǎn)0110右轉(zhuǎn)1110原地右轉(zhuǎn)0101后退5.2.2 軟件調(diào)試軟件調(diào)試采用nsp集成開發(fā)環(huán)境,將編好的程序進行調(diào)試,主要是檢查語法錯誤。由于本系統(tǒng)是分模塊進行程序設(shè)計的,所以調(diào)試時先分模塊進行調(diào)試。如超聲波測距程序,在調(diào)試時將它放在一個子程序里單獨測試,看其是否能夠完成預(yù)定的功能,如能,測試通過,否則,修改并反復(fù)測試。雖然在軟件的調(diào)試過程中,綜合利用了

40、設(shè)定斷點、單步、跟蹤等調(diào)試手段,使得調(diào)試工作更易進行。但是也出現(xiàn)了一定的問題,如超聲波程序的調(diào)試,超聲波所檢測的距離是錯誤的。 5.2.3 聯(lián)合調(diào)試各模塊都調(diào)試之后,將各個模塊連接起來與硬件結(jié)合進行聯(lián)合調(diào)試。在進行聯(lián)合調(diào)試時,經(jīng)過反復(fù)的實驗,不斷的來修改參數(shù)來完善結(jié)果。使程序按照要求設(shè)計的要求進行。但由于超聲波的問題,所以聯(lián)合調(diào)試的結(jié)果是小車不能實現(xiàn)避障功能。5.2.4 本系統(tǒng)存在的問題盡管我作了很大的努力,但是由于基礎(chǔ)知識不扎實,缺乏經(jīng)驗以及時間有限等原因,本系統(tǒng)存在著一些問題,主要有以下幾點:1、沒有速度檢測裝置,故不能有效地控制車速。2、超聲波測距模塊檢測的距離出現(xiàn)錯誤。3、對凌陽單片機

41、了解的不夠,沒有充分利用好單片機的資源。5.2.5 本系統(tǒng)可行的改進措施在條件允許的情況下,本系統(tǒng)可以做以下幾個方面的改進:1、增加速度檢測裝置,提高速度控制精度。2、增加紅外遙控裝置,來提高小車的智能化。3、設(shè)計更加可靠的硬件電路。4、超聲波用紅外線來代替。結(jié)束語此次設(shè)計是在凌陽公司的精簡開發(fā)板(61板)上設(shè)計的,通過連接控制板和小車電路實現(xiàn)的。遇到的主要的困難和問題就是原本想自己制作電路板,但是時間不允許,且電路元件的封裝有很多元件的封裝都要自己來制作,而且在這樣將消耗大量的精力,故采用了61 開發(fā)板。程序編寫是最大的難點,凌陽單片機的編程方法有別于51單片機的編寫,則需要學(xué)習(xí),其仿真軟件

42、不能真正仿真,需要將每次修改的程序加載在實物(小車)中進行驗證。由于時間及能力的問題,最終小車設(shè)計的避障功能未能實現(xiàn),超聲波檢測不到數(shù)據(jù),我反復(fù)檢查超聲波測距模塊,通過修改程序,最后超聲波能夠檢測到數(shù)據(jù),但數(shù)據(jù)是錯誤的。通過此次設(shè)計,對凌陽單片機的工作原理有了更切實的認識,對于單片機各個功能如定時器、rom、ram、wdt(看門狗)等的功能更能系統(tǒng)地認識。更重要的是學(xué)會了怎樣更好的學(xué)習(xí)更好的提高自己的能力。 致 謝參考文獻1王衛(wèi)平.電子產(chǎn)品制造技術(shù)m.北京:清華大學(xué)出版社,2005.1,pp.2604302羅亞非.凌陽16位單片機應(yīng)用基礎(chǔ) m.北京:北京航空航天大學(xué)出版社,2006.73李學(xué)海

43、.16位語音型單篇機spce061a實用教程提高篇m.北京:人民郵電出版社,2007.34胡文金.單片機應(yīng)用技術(shù)實訓(xùn)教程m.重慶:重慶大學(xué)出版社,2005.2,pp.2943155黃智偉.全國大學(xué)生電子設(shè)計競賽制作實訓(xùn)m.北京:北京航空航天大學(xué)出版社,2007.2,pp.1256周堅.單片機c語言輕松入門m.北京:北京航空航天大學(xué)出版社,2006.77及力.protel99se原理圖與pcb設(shè)計教程m.北京:電子工業(yè)出版社,2007.88劉華東.單片機原理與應(yīng)用m.北京:電子工業(yè)出版社,2006.89韓毅,楊天. 基于hcs12單片機的智能尋跡模型車的設(shè)計與實現(xiàn)j.學(xué)術(shù)期刊,2008,29(1

44、8):1535-1955.10 王曉明. 電動機的單片機控制j. 學(xué)術(shù)期刊,2002,13(15):1322-175511張毅剛,彭喜元.新編mcs-51單片機應(yīng)用設(shè)計m.哈爾濱工業(yè)大學(xué)出版社,2003. 12何立民.單片機應(yīng)用系統(tǒng)設(shè)計m.北京航天航空大學(xué)出版社,2005. 13 宗光華機器人的創(chuàng)意設(shè)計與實踐 m 北京航空航天大學(xué)出版社,2004附 錄程序附錄1主程序:#include spce061a.h#include ceju.hunsigned char intflag; /定時標識unsigned int sum; /2hz 計數(shù)器 1次為0。5秒void runtime2hz(vo

45、id);void offtime2hz(void);void clear_watchdog(void);void delay2s(int timer) /設(shè)置基頻為2hz的中斷,就是一次定時0。5s sum=timer; runtime2hz(); /運行中斷 while(!intflag) clear_watchdog();/清看門狗 intflag = 0; offtime2hz(); /結(jié)束中斷void delay2s(int timer);int main(void)unsigned int back_data; /裝距離*p_ioa_dir=0x1f00;/初始化ioa,ioa811

46、同向輸出*p_ioa_attrib=0x1f00;*p_ioa_data=0x0000;intflag = 0;clear_watchdog(); /清看門狗while(1) *p_timera_ctrl=0x0373; *p_timera_data=0xff9f; back_data = measure_times(0);/測距if(back_data=0) /判斷是否為0,為0停車 *p_timera_ctrl=0x006; *p_ioa_data=0x0000;else if(back_data=20) /判斷是否小于20cm,小于則進行倒車*p_timera_ctrl=0x006; *

47、p_ioa_data=0x1000; /倒車delay2s(0);*p_timera_ctrl=0x0333; *p_ioa_data=0x0400; /左轉(zhuǎn)delay2s(1);*p_ioa_data=0x0800; delay2s(1);*p_ioa_data=0x0400; /左轉(zhuǎn)delay2s(1);*p_timera_ctrl=0x006; *p_ioa_data=0x0100;/前進 while(1) else *p_timera_ctrl=0x006; *p_ioa_data=0x0100;/前進 2中斷程序:#include spce061a.h#include ceju.hv

48、oid irq3(void)_attribute_(isr); /irq中斷服務(wù)程序void irq3(void)*p_int_clear = 0x0100;/ext1_irq_ult();/調(diào)用超聲波測距的外部中斷服務(wù)程序.text.include spce061a.inc;.external _sum;.external _intflag;.public _irq5;_irq5: /定時3秒的中斷程序push r1,r4 to sp;r1 =0x0008; test r1,p_int_ctrl;jnzl_4hz; / timer a fiq entrence r1 = 0x0004; p_

49、int_clear = r1; /清中斷 r1 = _sum /取時基信號量 r1 += 1; cmp r1,4; je loop0; _sum=r1 /保存時基信號量 pop r1,r4 from sp; reti; loop0: r1 = 0x0001; _intflag = r1; /設(shè)置中斷標識 r1 = 0 _sum = r1pop r1,r4 from sp; reti; l_4hz: r1 = 0x0008; p_int_clear = r1; /清中斷 pop r1,r4 from sp;reti;.external _sum;.include spce061a.inc;.co

50、de.public _clear_watchdog;_clear_watchdog: .procr1=0x0001; p_watchdog_clear=r1; /清看門狗retf;.endp.public _runtime2hz; /初始化中斷為2hz定時中斷源_runtime2hz: .procr1 = 0x0004; p_int_ctrl = r1; int irq; /開中斷 retf .endp;.public _offtime2hz;_offtime2hz: .proc r1 = p_int_ctrl r1 &= 0xfffb; p_int_ctrl = r1; r1 = 0x0000 _sum = r1; retf; .endp;3、測距程序#include spce061a.h#define long_send_timer1000 /中距測距時的40khz信號發(fā)射時長#define long_send_timer23000 /中距測距的補充測距時的40khz信號發(fā)射時長#define long_wait_delay600/中距測距的防余波干擾延時時長#define long_wait_delay21500/中距測距的補充測距時的防余波干擾延時時長#define long_res_add0x00b0/中距測距的結(jié)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論