二維定位設計報告(共16頁)_第1頁
二維定位設計報告(共16頁)_第2頁
二維定位設計報告(共16頁)_第3頁
二維定位設計報告(共16頁)_第4頁
二維定位設計報告(共16頁)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2014年山東(shn dn)工商學院電子設計競賽作品設計(shj)報告作品題目序號09作品題目名稱二維平面內物體定位參賽隊伍序號49參賽隊伍名稱參賽隊員姓名作品完成情況作品完整 作品部分完成 作品未制作超聲波定位系統(tǒng)摘要(zhiyo)我們根據(jù)(gnj)超聲波的特性來研發(fā)制成超聲波傳感器,機械振動頻率比聲波高波,我們稱之為超聲波。超聲波的頻率比較高,其次波長短和繞射現(xiàn)象不明顯(mngxin),而且具有方向性好,能量消耗緩慢,能長距離傳播等優(yōu)點。當今社會,在傳感器以及自動控制測距離的方案中,超聲波測距是被最廣泛應用的一個方案,它被使用于以下的實際操作中,例如,水位的測量,建筑工地測距這些場合。本

2、論文討論了超聲波的定位系統(tǒng)以及相應的算法,還比較全面地描述了超聲波傳感器的原理以及特性?;诔暡y距原理的分析,提出了超聲波測距系統(tǒng)的設計過程和需要問題。以MC9S12XS128單片機為核心,我們設計好的超聲波測距儀以及硬件電路有很多優(yōu)勢,它的精度高、低成本以及數(shù)字顯示的使用微型。這個系統(tǒng)的電路的設置和布局較合理,工作性能和穩(wěn)定性好,計算簡單,實時控制是比較容易做到的,更重要的是,測量精度滿足了工業(yè)實際的要求。關鍵詞:超聲波定位算法;超聲波傳感器;超聲波測距;誤差分析目 錄引言(ynyn)方案設計模塊(m kui)設計3.1整體設計(shj)示意3.2 超聲波模塊3.3報警電路3.4顯示電路

3、設計程序及流程圖4.1軟件流程圖4-2.程序測試結果及分析5.1 測試結果分析5.2 測試結果誤差分析總結附錄7-1.完整電路圖7-2.元器件清單1 引言(ynyn)當前超聲波測距技術應用已經(jīng)比較成熟,但是對超聲波定位系統(tǒng)的研究探討才在剛起步的階段。超聲波定位的原理和無線電定位原理有比較相似,區(qū)別是超聲波其在空氣傳播過程中的衰減很大,其僅能在較小的空間范圍適用。在實際中,超聲波測距系統(tǒng)在短距離測量中得到了應用,其精度在厘米級,如在沒有人的車間的場所(chn su)運動物體定位的選擇等使用超聲波定位系統(tǒng)比較好。為了研究超聲波定位系統(tǒng),我們要從研究超聲波的測距方法開始(kish),之后由距離和提供

4、的計算方法來求出待被定位的物體的位置坐標,我們采用的是反射式測距法:這種測距法就是超聲波發(fā)射器發(fā)射超聲波,然后發(fā)射的超聲波被待測物反射從而產(chǎn)生回波被接收探頭接收 ,我們依據(jù)回波和發(fā)射波之間的時間隔則就可以求出待測物與發(fā)射器之間的長度距離。其原理圖如圖1-1所示圖1-1 采用回波測距法的原理圖超聲波發(fā)射器在空氣中向任一目標位置發(fā)射超聲波,發(fā)射超聲波的同一時刻馬上進行計時,超聲波在空氣傳遞過程當中如果遇到障礙物就會即刻返回,一旦超聲波接收器獲取到反射信號則就會馬上中止計時。超聲波處于空氣中傳播的速率約為340米每秒,并讀出計時器所獲得的時間t,基于計算公式就能夠求出發(fā)射點與障礙物之間的長度距離s,

5、也就是:s=340t/2。這就是所被人們稱為時間差測距法。2 方案設計 方案(fng n)一: 回波法定位的定位系統(tǒng),對周圍物體進行定位,超聲波的測距儀器固定在一個已知點上,以這個點為原點建立(jinl)坐標系,對周圍的物體進行測距,然后測出偏轉角度,便可對周圍物體進行定位。圖2-1 采用(ciyng)回波法的超聲波測距儀如圖2-1示,O點為超聲波發(fā)射與接收測距的原點,和一個測量角度的儀器規(guī)定一個以O點為原點的直角坐標系,然后對待測物體進行掃射,若考慮到超聲波當?shù)谝淮谓邮盏叫盘枙r記住一個角度Q和距離M 然后繼續(xù)掃射當信號瞬間沒有時停止記錄另一個角度W和距離N,兩個角度求平均值和距離L ,便可根

6、據(jù)三角函數(shù)計算出A點的坐標:x=Lcos y=Lsin 把O點周圍的物體進行測量之后,各個物體進行了定位,用計算機便可行對周圍的物體進行詳細計算,對周圍環(huán)境形成圖像,對其本身進行定位。優(yōu)點:系統(tǒng)設計非常簡單,操作簡便,采用回波測距發(fā)電路設計簡單。缺點:誤差較大,需進行較詳細的誤差分析,角度不好測量方案二:三角形定位法:在同一個平面上,設置兩個固定的超聲波云臺,分別測量出主體到每個接收點的距離,經(jīng)過相關的計算就可以得到主體的位置坐標。在下面二維平面圖2-2中,選取一個直角坐標系,(-M,0),(M,0)的兩個位置設定接收點。其中圖2-2 平面三角形定位示意圖主體坐標(x,y)到設定的兩個接收點的

7、距離長度分別為L、L2,根據(jù)距離計算坐標(x,y)的方法原理如下:由圖2-1關系(gun x)可得 求解(qi ji)可得: 由此可實現(xiàn)(shxin)超聲波平面定位,就是可以求出主體的坐標(x,y)。優(yōu)點:兩個超聲波云臺測量,精準度較高,角度測量方便。較方案一合適。所以,最終采取方案二。3 模塊設計3.1整體設計示意整體設計示意圖如圖3-1所示液晶顯示128控制芯片超聲波收發(fā)模塊報警電路 圖3-1整體設計示意圖根據(jù)總體設計圖,可以設想根據(jù)超聲波發(fā)射與接收器模塊在工作時發(fā)射超聲波到接收反射回的回波后,并將發(fā)射超聲波與接收回波的狀態(tài)信號傳輸?shù)絾纹瑱C,再經(jīng)過單片機內部程序的處理,并將計算結果以數(shù)據(jù)的

8、形式由128芯片I/O接口傳輸?shù)絃CD液晶顯示屏并顯示出測量結果的數(shù)據(jù),同時由軟件控制測量距離在某一臨界值時128芯片會向報警電路輸出報警信號,使報警電路正常工作。實現(xiàn)由128芯片實現(xiàn)對超聲波模塊的聲波發(fā)射和接收信號進行監(jiān)控,并將測量數(shù)據(jù)傳送至128芯片進行處理,并將結果由LCD顯示出來。3.2 超聲波模塊對于超聲波發(fā)射和接受部分要考慮其結構復雜,所以在設計時考慮設計的難易程度和在涉及做成實物時讓其簡化,所以在設計時我選擇用US-100超聲波收發(fā)模塊。以下是對超聲波模塊作出說明;該超聲波收發(fā)模塊(m kui)可自己產(chǎn)生40kHz的方波,并經(jīng)放大電路(dinl)驅動超聲波發(fā)射探頭發(fā)射超聲波,發(fā)射

9、出去的超聲波經(jīng)障礙物反射后由超聲波接收探頭接收。經(jīng)接收電路的檢波放大,積分整形,在ECHO引腳上產(chǎn)生方波脈沖,該脈沖寬度與被測距離(jl)成線性關系。具體過程如圖3-2所示。 圖3-2 US-100超聲波收發(fā)模塊工作時序圖圖3-2表明:只需要在Trig/TX管腳輸入一個10us以上的高電平,系統(tǒng)便可發(fā)出8個40KHZ的超聲波脈沖,然后檢測回波信號,當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據(jù)當前溫度對測距結果進行校正,將校正后的結果通過ECHO/RX管腳輸出。在此模式下,模塊將距離值轉化為340m/s時的時間值的2倍,通過Echo端輸出一個高電平,可根據(jù)此高電平的持續(xù)時間來計算距離值

10、。即距離值為:(高電平時間*340m/s)/2注:因為距離值已經(jīng)經(jīng)過溫度校正,此時無需再根據(jù)環(huán)境溫度對超聲波聲速進行校正,也就是不管溫度多少,聲速選擇340m/s即可。使用US-100超聲波收發(fā)模塊進行距離測量測量時,單片機只需要輸出觸發(fā)信號,并監(jiān)視回響引腳,通過定時器計算回響信號寬度,并換算成距離即可。該模塊簡化了發(fā)送和接收的模擬電路,工作穩(wěn)定可靠,其參數(shù)指標如表3-3所示。 圖3-3超聲波收發(fā)模塊應注意測量周期必須在60毫秒以上,防止發(fā)射信號對回響信號的影響。模塊共有兩個接口,即模式選擇跳線和5pin接口。模式選擇跳線接口設置為當安裝上短路帽時為UART(串口)模式,拔掉時為電平觸發(fā)模式。

11、3.3報警電路 圖3-5所示為LED報警電路。電路設計為低電平輸出時LED燈亮,高電平關閉。而且接在128芯片的A2腳上,當A2腳輸出低電平時,LED燈閃爍(shn shu)報警。 圖3-5報警(bo jng)電路3.4顯示(xinsh)電路圖3-412864顯示模塊1. GND 電源地2. VCC 電源正(35.5V)3. SCL 腳,在SPI 和IIC 通信中為時鐘管腳4. SDA 腳,在SPI 和IIC 通信中為數(shù)據(jù)管腳5. RES OLED 的RES#腳,用來復位(低電平復位)6. DC OLED 的D/C#E 腳,數(shù)據(jù)和命令控制管腳7. CS OLED 的CS#腳,也就是片選管腳4

12、設計程序及流程圖4.1軟件流程圖本設計軟件主程序流程圖如圖4-1所示,外部中斷子程序流程圖如圖4-2所示 圖4-1 主程序流程圖 圖4-2外部(wib)中斷子程序流程圖4-2.程序(chngx)/=MAIN()=/*主函數(shù)(hnsh)*/void main(void) int i=0; int succeedflag_L = 0,succeedflag_R = 0; double angle = 0; byte a = 0, b = 0; int X,Y; double LF, RF; double L_average, R_average; double cos,sin; SetBusCLK

13、_16M(); PitInit(); PWM_Init(); DDRB=0X00; DDRA=0XFF; DDRK=0XFF; LCD_Init(); TrigL=0; TrigR=0; PORTA_PA2 = 1; EnableInterrupts; LCD_Print(64,0,距左下角); LCD_Write_Num(64,2,dis_L,4); LCD_P6x8Str(88,2,mm); LCD_Print(64,3,距右下角); LCD_Write_Num(64,5,dis_R,4); LCD_P6x8Str(88,5,mm); LCD_Print(64,6,角度(jiod); LC

14、D_Write_Num(104,7,angle,2); /Draw_xy(1,1); LCD_Print(4,0,圖像(t xin)顯示); LCD_Print(11,3,有BUG!); LCD_Print(4,6,囧囧囧囧); while(1) while(1) if(succeedflag_L = 0) distance_L(); LF = dis_L; if(LF*sinnow(a) 640) & (LF*cosnow(a) 640) succeedflag_L = 1; PWMDTY01 = 800; else a+; pwm_changeL(a); Dly_ms(400); if(s

15、ucceedflag_R = 0) distance_R(); RF = dis_R; if(RF*sinnow(b) 640) & (RF*cosnow(b) 800) error_flag = 1; if(succeedflag_L = 1 & succeedflag_R = 1) break; if( a = 8)break; if( b = 8)break; if(succeedflag_L = 1 & succeedflag_R = 1) /計算(j sun)余弦值 cos = cosa(LF,RF); /計算(j sun)角度 angle = acos(cos); /sin = s

16、ina(angle); X = (int)(LF*cos); Y = (int)(64-(RF*sin); angle = (int)(angle/3.1415926) * 180); LCD_Write_Num(64,2,LF,4);/距左下角距離(jl)顯示 LCD_Write_Num(64,5,RF,4);/距右下角距離(jl)顯示 LCD_Write_Num(104,7,angle,2);/角度(jiod)顯示 /Dly_ms(100); /Draw_xy(X,Y); if(error_flag = 1) PORTA_PA2 = 0; LCD_P6x8Str(64,2,); LCD_P

17、6x8Str(64,5,); LCD_P6x8Str(104,7,-); Dly_ms(2000); PORTA_PA2 = 1; a = 0; b = 0; error_flag = 0; succeedflag_L = 0; succeedflag_R = 0; pwm_changeL(a); pwm_changeR(b); 5 測試結果及分析5.1 測試結果(ji gu)分析通過(tnggu)多次實驗,分別對各電路進行了測量、調試和分析。下表5-1是使用(shyng)本論文設計的測距儀所進行的實際測量的結果。表5-1 測距儀測試結果實際距離(cm)測量結果(cm)誤差20.019.05.

18、030.029.03.3340.039.02.550.051.02.060.060.0070.070.0090.089.01.11100.0100.00150.0148.01.33200.0198.01.0250.0254.01.6300.0305.01.67350.0358.02.3400.0408.02.0450.0458.01.78500.0510.02.0根據(jù)表格的資料我們知道, 在20厘米至150厘米的范圍內誤差相對很??;20厘米之內的范圍誤差相對較大,主要是超聲波在距離測量的過程中存在著一定范圍的盲區(qū),之所以有盲區(qū)的出現(xiàn)是因為發(fā)出信號務必有一個上升的時間, 當距離過近時計算機系統(tǒng)已

19、經(jīng)不可以迅速處理超聲波信號, 所以距離小于0.2米測量誤差明顯增加。3米以后的數(shù)據(jù)誤差會顯著增大, 這主要是因為發(fā)射的功率不夠大, 導致接收到的信號比較弱, 從而出現(xiàn)了部分干擾因素。但電路引入溫度補償電路后總的實驗結果誤差在厘米級,基本上可以滿足測量要求。5.2 測試結果誤差分析根據(jù)超聲波測距儀的原理,我們可以知道測量誤差的來源主要有:驅動發(fā)射和開始啟動計時之間的偏差;接收到超聲波到波被檢測出的滯后;接收到中斷信號至中斷響應后中止計時的滯后偏差;計時器自身的誤差;溫度對聲波速度的影響。上述五個因素都會引起測量誤差,現(xiàn)在詳細分析這些誤差:誤差一是由于128芯片每一次都只能處理一次事件,所以開始發(fā)

20、射和計時按時間順序完成,有一定的時間差,但命令的速度是否足夠快,偏差是可以忽略不計的。誤差二產(chǎn)生的原因是由于檢測電路靈敏程度和判斷誤差。實際的超聲接收電路相對確定的輸出信號會有一定的滯后性,被接收到的超聲波的信號強弱、超聲波被檢測電路的原理和判斷電路接收靈敏度將影響滯后,這也是超聲波測距的關鍵。靈敏度如果過高,會把其他干擾波當作是需要接收的波形,將會導致測量出現(xiàn)差錯;靈敏度如果太低,將會限制了檢測距離,因為信號衰減與距離的有很大的關聯(lián)。這項誤差是導致數(shù)據(jù)不穩(wěn)定的主要來源。誤差三產(chǎn)生(chnshng)的原因是由于128芯片(xn pin)中斷系統(tǒng)接到中斷的信號之后,不能夠立刻響應,起碼要完成好當前的指令,有時還需要其它中斷服務結束才能(cinng)響應,所以這各滯后的時間也是不能準備獲取的,故會引起測量的結果產(chǎn)生一定的誤差。這種誤差我們可以使用加快128芯片的運行速度和利用高優(yōu)先級中斷弱化之。誤差四來源于計時器的本身。為減小此誤差可以通過提高計時的最小單位,減少量化誤差,也要選擇質量好的晶體。最后一項誤差是源于環(huán)境的影響。

溫馨提示

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

評論

0/150

提交評論