導航:首頁 > 製冷設備 > cc2530超聲波測距怎麼點對點

cc2530超聲波測距怎麼點對點

發布時間:2022-07-01 05:46:34

A. 超聲波感測器如何測距

超聲波感測器測距工作原理:超聲波感測器是將超聲波信號轉換成其他能量信號(通常是電信號)的感測器。超聲波是指頻率大於20 kHz的在彈性介質中產生的機械震盪波,其具有指向性強、能量消耗緩慢、傳播距離相對較遠等特點,因此常被用於非接觸測距。由於超聲波對液體、固體的穿透本領很大,尤其是在陽光不透明的固體中。超聲波碰到雜質或分界面會產生顯著反射形成反射成回波,碰到活動物體能產生多普勒效應。,因此超聲波測距對環境有較好的適應能力,此外超聲波測量在實時、精度、價格也能得到很好的折中。
目前超聲波測距的方法有多種:如往返時間檢測法、相位檢測法、聲波幅值檢測法。其原理是超聲波感測器發射一定頻率的超聲波,藉助空氣媒質傳播,到達測量目標或障礙物後反射回來,經反射後由超聲波接收器接收脈沖,其所經歷的時間即往返時間,往返時間與超聲波傳播的路程的遠近有關。

B. 求個程序,能在IAR環境下使cc2530和超聲波模塊HC-SR04結合完成超聲波測距,最後能在1602上顯示數據

這個只有你自己來寫了, 有實際困難再說。

C. 關於超聲波測距

是這樣的,目前的超聲波產生和接收器件大部分都是壓電陶瓷(磁致伸縮雖然性能高,但應用並不方便)。
壓電陶瓷的性能是這樣的,你給出「一個」脈沖,它就產生一個阻尼震盪,聲波反射回來後根據時間計算距離。
將上面做成循環,在宏觀上從時間的角度看,它不就是一系列的方波嗎?其實也應該是有一系列的回波,文獻里沒提罷了。
每執行一次循環體,就得到一個距離,如果不需要其它處理的話,將距離顯示出來,這樣你的儀器就能夠「實時測距」了,^_^
漢語有的時候還是容易產生歧義的,希望這樣解釋對你有幫助。
超聲波這方面的東西我做了兩年了,其實聲波很簡單,它是機械波,比起電磁,還是簡單了不少啊。

D. 急求CC2530-ZigBee連接HC-SR04超聲波測距完整程序

你現在做好了嗎?叫我一下啊

E. 基於CC2530的HC-SR04超聲波測距驅動程序

您好,對於您這樣的情況建議您下載最新版本的驅動軟體,更新到最新版本的驅動。

F. 用cc2530做超聲波測距問題(HC-SR04)

飛根線到ADC口,AD轉換看一下值是否正常(示波器模擬)

G. 超聲波測距的幾種方法原理

相位檢測法是通過測量返回波與發射波之間相差多少相位,判斷距離;聲波幅值檢測法是看回波的幅度大小,判斷距離;渡越時間檢測法是通過回波的返回時延判斷距離;
個人認為,相位檢測法最精確,但是測量距離也較短,電路復雜;幅度法最簡單最廉價,也最不精確;時間檢測法是居中的,也不太復雜,測量距離、精度也都不錯,所以應用比較廣泛。

H. 超聲波測距離

一種用於汽車倒車避撞的超聲波無線距離測量系統

Research of Ultrasonic Distance Measurement System
Abstract: A kind of ultrasonic distance measurement system used in the car is designed in this paper. The system includes the lower microcomputer system and the upper microcomputer system. The lower microcomputer system is mainly composed of ultrasonic transmitting circuit, receiving circuit ,wireless communicating mole and microcomputer. The data from the lower microcomputer system is transmitted to the upper microcomputer system by the wireless way. The design principle of ultrasonic distance measurement circuit is analyzed. The design method that the data is transmitted is also introced. The system is of the characteristics of measurement convenience, fast response and stability.
Key words : wireless communicating;microcomputer; ultrasonic;distance measurement;temperature compensation
摘 要:本文介紹一種用於汽車倒車避撞的超聲波無線距離測量系統。系統由下位機與上位機兩部分組成,下位機主要由超聲波發射電路、超聲波接收電路、無線收發模塊及單片機組成,上位機由單片機、無線收發模塊、顯示電路等組成,下位機與上位機之間通過無線收發模塊傳輸信息。文中分析了超聲波測距電路的設計方法,敘述了採用無線通信技術實現數據遠程傳輸的設計思路。該系統測量距離方便、靈活、穩定。
關鍵詞:無線通信;單片機;超聲波;距離測量;溫度補償

1. 引言
隨著經濟的發展,人們的生活水平越來越高。當今,對許多人來說,汽車進入家庭已不再是奢望,但隨之而來的事情就是如何保證汽車使用過程中的安全問題,特別是如何防止汽車與其他物體碰撞的事情發生。據初步調查統計,l5%的汽車事故是由汽車倒車「後視」不良造成的。因此,增強汽車的後視能力,對於提高行車安全,減輕司機的勞動強度和心理壓力,是十分重要的。如果車輛能適時檢測與周圍障礙物的距離並給出警告信息,使司機及早採取行動,可避免車輛相撞事故的發生。
隨著科學技術的發展,用超聲波進行無接觸測量得到了廣泛的應用。超聲波是由機械振動產生的,可在不同介質中以不同的速度傳播,它具有定向性好、能量集中、在傳輸過程中衰減較小,反射能力較強,在惡劣工作環境下具有一定的適應能力等優點。因此可用於液位測量、車輛自動導航[2]等領域。本文介紹一種基於無線數據傳輸方式的超聲波車輛倒車避撞預警系統。
2. 超聲波測距原理
發射的超聲波遇到障礙物時就會發生反射,反射波可由接收器接收,這樣只要測出超聲波從發送點到反射回來的時間間隔Δt,然後根據公式(1)即可求出超生波從發射處到障礙物之間的距離。
S=CΔt/2 (1)
式中:S—超生波發射處與障礙物間的距離
C—超聲波在介質中的傳播速度
由於超聲波是一種聲波,其聲速C受環境溫度的影響,關系如式(2),因此使用超生波測量距離時應該採用溫度補償的方法對式(1)中的聲速值加以校正。
C=331.4+ 0.61×T (2)
式中:T—環境溫度
3. 硬體電路設計
如圖1,硬體電路主要由單片機、超聲波感測器、溫度測量電路、無線收發模塊等組成。
系統中單片機均採用ATMEL公司的AT89S51作為核心控制晶元,它與MCS-51的指令和引腳兼容[1],並且具有ISP在線編程功能,便於系統的設計和調試。
超聲波感測器是超聲波測距電路中的重要元件,其性能優劣直接影響到測距准確度和可靠性。通常超聲波感測器有兩類:一類是發射電路和接收電路互相獨立的分體式超聲波感測器,此類感測器測距有效范圍比較大,但不具備防塵、防水性能。另一類是同時具有發射與接收功能的收發一體式超聲波感測器,此類超聲波測距有效范圍比較小,但防塵、防水性能好。該系統選擇分體式超聲波感測器。
考慮到超聲波具有指向性,本系統在汽車尾部左、右兩個部位各安裝一個超聲波傳
感器,適當調整安裝位置,可准確測量汽
車後部障礙物。

如圖1所示,下位機的P1.1、P1.2引腳分別用於控制兩路超聲波發射,INT0,INT1分別用於兩路超聲波信號檢測,P1.3用於溫度檢測,串口RXD、TXD分別連接無線收發模塊A的輸入、輸出端。同樣,上位機串口RXD、TXD分別連接無線收發模塊B的輸入、輸出端,當接收到下位機發送的測量數據時,下位機進行處理,然後顯示測量結果,當車輛離障礙物的距離超過安全警戒線時發出報警信號。
實際安裝時,該系統的下位機部分安裝在汽車的尾部,上位機部分安裝於駕駛室內。
3.1 超聲波發射電路
超聲波發射電路由超聲波換能器(或稱超聲波振頭)和超聲波發生器兩部分組成,電路如圖2所示。系統中,超聲波換能器的型號為CSB40T,它將超聲波發生器提供的電信號轉換為機械振動並發射出去。40KHz的超聲波信號是利用NE555時基電路振盪產生的,振盪頻率f ≈1.44/((R22+2×R23)×C21),通過R23調節信號頻率,使之與換能器的40KHz固有頻率一致。工作時,下位機通過P1.1口定時向超聲波發生電路發出控制信號,超聲波發生電路產生40KHz的調制脈沖,經換能器轉換為超聲波信號向前方空間發射。

3.2 超聲波接收電路
超聲波接收電路採用了集成電路CX20106A,CX20106A是日本索尼公司生產的紅外遙控信號接收集成電路,它由前置放大、自動偏壓控制、振幅放大、峰值檢波和整形電路組成。該集成電路紅外發射的頻率38KHZ,超聲波換能器的固有頻率是40KHz,適當設計CX20106A外圍電路參數,就可以將其用於超聲波的接收放大電路,如圖3所示,引腳1為CX20106A信號輸入端,引腳2為CX20106A的RC網路連接端,引腳3為CX20106A檢波電容連接端,
引腳4為CX20106A的接地端,引腳5為CX20106A帶通濾波器中心設置端,引腳6為CX20106A積分電容連接端,引腳7為CX20106A信號輸出端,引腳8為CX20106A供電電源端。

工作時,換能器CSB40T將所接收到的微弱聲波振動信號轉化成為電信號,送給CX20106A的輸入端1,當CX20106A接收到信號時,7腳就會輸出一個低電平,可用於下位機的中斷信號源。當下位機接收到中斷信號時,說明檢測到了反射回來的超聲波,下位機就進入中斷狀態,開始距離計算,並將計算結果發送給上位機。
3.3溫度檢測電路
溫度檢測電路採用DALLS公司的1-WIRE式匯流排器件DS18B20數字溫度感測器,電路連接非常簡單,但是必須保證時序與單片機嚴格同步。DS18B20具有9,10,11,和12位轉換精度,未編程時默認精度為12位,測量精度一般為0.5℃,軟體處理後可達0.1℃。溫度輸出以16位符號擴展的二進制數形式提供,低位在先,以0.0625℃/ LSB形式表達,高五位為擴展符號位。轉換周期與轉換精度設定有關,9位精度時,最大轉換時間為93.75ms;12位精度時,最大轉化時間為750ms。在本系統中採用默認的12位精度。關於DS18B20的使用方法可參考有關書籍。
3.4 數據無線收發模塊
為避免在車內鋪設電纜,系統的上位機部分與下位機部分採用無線的方式進行通信。
無線通信模塊採用PTR2000,它是收發一體的工作在國際通用數傳頻段433MHz的無線通信模塊,最高傳輸速率可以達到20Kbit/s,功耗低,待機狀態下僅為8μA,可以直接與單片機的串口連接使用。PTR2000的引腳定義如下:TXE是發送控制端;PWR是節能控制端;DI是數據輸入端;DO是數據輸出端;CS是頻道選擇端。
硬體連接時,由單片機3個通用I/O口分別控制TXE、PWR、CS,單片機的串口與DI,DO連接。TXE為1時,為發送狀態,TXE為0時,為接收狀態。狀態轉換需要5毫秒。PWR為0時,為節電待機狀態,此時模塊無法進行接收或者發送。
無線通信具有無需布線、便於安裝、靈活性強等諸多優點,但是數據在傳輸過程中難以避免的會產生誤碼,而且產生誤碼的幾率要遠遠大於有線網路,並且誤碼的產生與多方面的因素有關,因此有很大的不確定性。所以必須採用一種差錯控制機制,該系統採用停止等待協議來實現差錯控制。此外,還採用校驗機制以確定何時需要重傳,CRC校驗碼的檢錯能力很強,它除了能檢查出離散傳輸錯誤外,還能檢查出突發傳輸錯誤。考慮到硬體和傳輸的開銷問題,使用CRC16校驗碼。
PTR2000靈敏性很高,在無載波的情況下在接收端會產生隨機的數據,因此需制定傳輸協議,格式如表1所示。通信協議中,必須在有效數據前加上兩個或多個固定的前導字元作為同步信號,使得接收端能夠辨別出有效數據的開始。

前導字元採用0xAA、0xAA、0xFF、0x00共4位元組,其中前兩個位元組為同步信號,後兩個位元組為幀開始標志,接收端只要能夠接收到0xAA、0xAA、0xFF與0x00,就可以認為新的一幀開始了。幀類型分為數據幀、有序數據幀、控制命令幀、確認幀等多種幀類型。幀編號為可選項,與幀類型相關,只有幀類型是有序數據幀時才有效。校驗為2位元組CRC16校驗碼。幀結束標志:為0x00。
4.軟體設計
4.1下位機程序設計
下位機程序主要由數據通信程序、距離計算程序、溫度補償程序等組成。
距離計算程序流程圖如圖4所示。

溫度補償通常有兩種方法:一種方法是每次按照公式C=331.4+ 0.61×T計算當前聲速C,進行溫度補償。其特點是:根據當時的溫度得到精確聲速,從而計算得到的距離值也比較精確,但程序中牽涉到浮點數運算,由微處理器系統實現,難度較大。另一種方法是將溫度與聲速的對應關系列成溫度---聲速二維表,固化到系統中。溫度補償時,根據溫度---聲速表,查取最接近當前溫度的那個溫度所對應的聲速值,此聲速值即作為當前聲速。其特點是:避開了復雜的浮點運算和浮點運算後各位元組的提取操作,這樣既保證了一定的精度要求,又可以避免浮點運算。因此本系統採用方法二進行溫度補償。程序流程圖略。
4.2 上位機主程序設計
上位機與下位機通信時,上位機按照通信協議格式將開始測量命令發送給下位機,下位機接收到命令後就開始測量汽車離障礙物的距離,然後將測量結果發送給上位機,上位機先判斷前導字元來確定是否為有效數據,若是有效數據,則解開封包進行相應操作,否則丟棄該數據包,上位機再按照同樣的方式繼續發命令、接收數據,直到接收到正確的數據為止。程序流程圖如圖5所示。

5 結束語
通過對系統硬體電路和軟體的合理設計,本系統能在-20℃到50℃之間正常工作,三位數碼管以厘米為單位顯示距離,能准確判斷距離汽車1.5米內的物體並及時報警,提高了汽車倒車的安全性。本文的創新點是在汽車防撞系統中採用了數據無線通信策略,減少了車內布線。
參考文獻:
[1]MCS-51系列單片機應用系統設計,何立民,北京航空航天大學出版社,1990年.
[2]高准確度超聲波測距儀的研製,趙珂,向瑛等,感測器技術,2003年第2期.
[3]無線通信在嵌入式系統中的應用,曹玲芝,石軍等,微計算機信息,2005年第11期

作者簡介:
曹玲芝,女,1965年生,碩士,副教授,主要從事遠程測控技術研究。
聯系方式:鄭州輕工業學院電氣信息工程學院辦公室 郵編 450002
Email: [email protected]
任亞萍,女,1973年生,碩士生,主要從事計算機技術研究.

I. 求一個cc2530 超聲波模塊測距的程序

#ifndef ULTRASOUND_H
#define ULTRASOUND_H

#define uchar unsigned char
#define uint unsigned int

#define TRIG P1_3 //P1_2
#define ECHO P0_7 //P0_1

extern uchar RG;
extern uchar H1;
extern uchar L1;
extern uchar H2;
extern uchar L2;
extern uchar H3;
extern uchar L3;
extern uint data;
extern float distance;
extern uchar LoadRegBuf[4];

//void Delay(uint n);
void Delay_1us(uint microSecs);
void Delay_10us(uint n);
void Delay_1s(uint n);
void SysClkSet32M();
void Init_UltrasoundRanging();
void UltrasoundRanging(uchar *ulLoadBufPtr);
__interrupt void P0_ISR(void);
#endif

×××××××××××××××××××××××××××××××××××××××××××
//×××××××××××Ultrasound.c****************************
#include <ioCC2530.h>
#include "Ultrasound.h"

uchar RG;
uchar H1;
uchar L1;
uchar H2;
uchar L2;
uchar H3;
uchar L3;
uint data;
float distance;

uchar LoadRegBuf[4];//全局數據,用以存儲定時計數器的值。

void Delay_1us(uint microSecs)
{ while(microSecs--)
{ /* 32 NOPs == 1 usecs 因為延時還有計算的緣故,用了31個nop*/
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
asm("nop");
}
}

void Delay_10us(uint n)
{ /* 320NOPs == 10usecs 因為延時還有計算的緣故,用了310個nop*/
uint tt,yy;
for(tt = 0;tt<n;tt++);
for(yy = 310;yy>0;yy--);
{asm("NOP");}
}

void Delay_1s(uint n)
{ uint ulloop=1000;
uint tt;
for(tt =n ;tt>0;tt--);
for( ulloop=1000;ulloop>0;ulloop--)
{
Delay_10us(100);
}

}

void SysClkSet32M()
{
CLKCONCMD &= ~0x40; //設置系統時鍾源為32MHZ晶振
while(CLKCONSTA & 0x40); //等待晶振穩定
CLKCONCMD &= ~0x47; //設置系統主時鍾頻率為32MHZ
//此時的CLKCONSTA為0x88。即普通時鍾和定時器時鍾都是32M。
}

void Init_UltrasoundRanging()
{
P1DIR = 0x08; //0為輸入1為輸出 00001000 設置TRIG P1_3為輸出模式
TRIG=0; //將TRIG 設置為低電平

P0INP &= ~0x80; //有上拉、下拉 有初始化的左右
P0IEN |= 0x80; //P0_7 中斷使能
PICTL |= 0x01; //設置P0_7引腳,下降沿觸發中斷
IEN1 |= 0x20; // P0IE = 1;
P0IFG = 0;

}

void UltrasoundRanging(uchar *ulLoadBufPtr)
{
SysClkSet32M();
Init_UltrasoundRanging();
EA = 0;
TRIG =1;

Delay_1us(10); //需要延時10us以上的高電平
TRIG =0;

T1CNTL=0;
T1CNTH=0;

while(!ECHO);
T1CTL = 0x09; //通道0,中斷有效,32分頻;自動重裝模式(0x0000->0xffff);
L1=T1CNTL;
H1=T1CNTH;
*ulLoadBufPtr++=T1CNTL;
*ulLoadBufPtr++=T1CNTH;
EA = 1;
Delay_10us(60000);
Delay_10us(60000);

}

#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
EA=0;
T1CTL = 0x00;
LoadRegBuf[2]=T1CNTL;
LoadRegBuf[3]=T1CNTH;
L2=T1CNTL;
H2=T1CNTH;

if(P0IFG&0x080) //外部ECHO反饋信號
{
P0IFG = 0;
}
T1CTL = 0x09;
T1CNTL=0;
T1CNTH=0;
P0IF = 0; //清中斷標志
EA=1;
}

××××××××××××××××××××××××××××××××××××××
#include <ioCC2530.h>
#include "Ultrasound.h"

void main(void)
{

while(1)
{

UltrasoundRanging(LoadRegBuf);
Delay_1s(1);
data=256*H2+L2-L1-256*H1;
distance=(float)data*340/10000;
Delay_1s(2);
};
}

J. 超聲波測距

超聲波測距原理
超聲波測距原理是通過超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播時碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為v ,而根據計時器記錄的測出發射和接收回波的時間差△t ,就可以計算出發射點距障礙物的距離S ,即:
S = v·△t /2 ①
這就是所謂的時間差測距法。

閱讀全文

與cc2530超聲波測距怎麼點對點相關的資料

熱點內容
朔州哪裡有賣運動器材的 瀏覽:586
有什麼好辦法處理閥門銹死 瀏覽:957
企業如何消防設備配備 瀏覽:743
沖孔截斷機怎麼拆卸軸承 瀏覽:814
電力系統自動裝置開卷考試答案 瀏覽:711
機械品牌怎麼推廣 瀏覽:328
溫州市新洲閥門廠 瀏覽:186
新遠景儀表盤亮度怎麼樣調 瀏覽:330
可以用什麼精密儀器形容眼睛 瀏覽:728
市政管道減壓閥門計量裝置 瀏覽:561
閥門型號中的y與h表示什麼意思 瀏覽:119
奇瑞m1儀表新的多少錢 瀏覽:888
怎麼得到穩定機械壓力 瀏覽:34
機械費一般占工程的多少 瀏覽:996
dos工具箱鏡像 瀏覽:773
儀器的no與off什麼意思 瀏覽:967
南京日合五金機電有限公司 瀏覽:610
半掛車氣密性檢測裝置 瀏覽:743
實驗室製取ch4的裝置 瀏覽:691
筆記本機械硬碟容量最大有多少 瀏覽:722