导航:首页 > 制冷设备 > 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超声波测距怎么点对点相关的资料

热点内容
350工具箱 浏览:687
把双缝干涉实验装置放入水中 浏览:454
设备电气系统图指什么意思 浏览:658
运动器材发票开什么明目 浏览:682
珠海声卡设备在哪里买 浏览:234
收割机马达怎么换轴承 浏览:656
雪村风幕柜一直制冷不会停怎么办 浏览:318
北京启辰机械有限公司怎么样 浏览:649
煤气阀门开横着是开还是竖着是开 浏览:602
郑州静电放电仪器怎么选 浏览:787
土豆rom工具箱下载地址 浏览:393
空调制冷机油用什么牌子好 浏览:918
西北五金机电城 浏览:256
为什么超声波使ph升高 浏览:368
波浪能发电装置设计论文 浏览:746
怎么查支付宝设备登录 浏览:361
考斯特仪表盘怎么样 浏览:699
什么仪器测电器瓦数 浏览:922
自动加药装置速问普茵沃润 浏览:867
一体机自动剪线装置缝纫机 浏览:441