超声波传感器测距系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超声波传感器测距系统的设计
摘要:超声波是一种频率高于20KHz的声波,可用于测距、测速、清理等。

本文介绍基于美国Senscomp公司生产的600系列超声波传感器、温度传感器的单片机测距系统的设计。

关键词:超声波单片机频率温度
超声波是指振动频率大于20KHz以上的,人在自然环境下无法听到和感受到的声波。

超声波的波长比一般声波要短,具有较好的方向性,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。

本文超声波测距系统选用了600系列智能传感器——615088超声波传感器,温度传感器——DS18B20,微处理器采用了ATMEL公司的AT89C52。

本文对此超声波测距系统进行了分析与介绍。

1、超声波测距原理
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间计算出发射点到障碍物的实际距离。

测距的公式表示为“L=C×T”,公式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。

2、超声波测距误差分析
从测距公式L=C×T中看出超声波测距的误差由超声波的传送速度和超声波的传送时间引起的。

在空气中的传送速度随着温度的上升而加快,超声波在空气中传播速度与温度的变化关系公式表示为“C=C0+0.607T”,C的单位是m/s;C0是指零度时的声波速度331.4m/s;T是指实际温度值,单位是℃。

在超声波传播速度准确的前提下,测量距离的传播时间差只要达到微秒级,就能保证测距误差小于1mm。

使用AT89C52单片机外接晶振频率为12M时,AT89C52单片机的计数器可以方便的计数到1微妙的精度,这样就能保证时间误差在1mm内。

通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用DS18B20温度传感器进行超声波传播速度的补偿后,设计的高精度超声波测距系统就能达到毫米级的测量精度。

3、超声波传感器
615088超声波传感器是基于超灵敏的6500测距模块板的增强型600系列50KHz静电传感器,波束角度15°,测距范围15cm~10.7m,该传感器是集发送与接收为一体的超声波传感器,设计紧凑,最小的外部结构以方便连接。

615088超声波传感器的简图见图1。

图1 615088传感器简图
图1中J1配线信息:
Pin1——VCC:供电电压+6V~30VDC,具有100mA电流能力的控制电源,传输过程中具有2A的短脉冲串能力。

Pin2——公共端
Pin3——Echo输出:当接收到回波信号时改变状态。

Pin4——Qsc输出:内部49.4KHz晶振器输出。

注意:只有当INIT信号(Pin5)是高电平时该脚输出。

Pin5——INIT输入:当从低到高的变化时初始化一个传输、接收周期。

目标
探测期间信号必须保持高电平。

Pin6——BINH输入:高电平时可进行多目标探测。

Pin7——BLNK输入:当发出一个信号后,输入信号为高电平时重置接收器的阀门,这样可进行多回波探测,正常情况下与Pin2脚可连接也可不连接。

可编程跳线——跳线安装后内部5Hz重复率,消除外部INIT输入。

615088超声波传感器里面有一个圆形的薄片,在其背后有一个铝制的后板,两者构成了一个电容器,当给薄片加上为49.9KHz、电压为300A VC pk-pk的方波电压时,薄片以同样频率震动,从而产生49.9KHz频率的超声波。

当接收回波时,传感器内有一调谐电路,使得只有频率接近49.9KHz的信号才能被接收,而其它频率的信号被滤掉。

超声波传感器加电后,INIT信号由低电平变高电平前必须至少经过5毫秒,在此期间,所有内部电路被重置、内部振荡器稳定。

当INIT输入低电平变为高电平后启动传感器发出一串超声波束,只有待发射结束后才能接收被检测物反射回的回波。

超声波存在固有的阻尼振荡(振幅逐渐变小的振荡),也就是说传感器发射结束后还留有一定余震,同样可以产生振荡信号,扰乱了系统接收返回信号的工作。

如果要减少阻尼振荡时间,那么要在INIT启动传感器发射超声波波束后2.38毫秒再将BINH输入低电平变为高电平,这样启动系统进行回波的接收就不会受到影响。

INIT变成高电平和Echo输出变成高电平之间的时间同传感器与测量目标之间的距离成比例的。

如果需要,当准备下一次重新发射一串超声波的时候可以返回一个低电平的INIT然后再使它变为高电平,这样就可以使周期重复。

4、温度传感器
为了提高测距的精度,考虑到超声波在空气中的传播速度与温度的变化关系,设计采用DS18B20数字温度传感器对温度进行补偿。

DS18B20是单线接口,仅需一根信号线与CPU进行通讯;传送串行数据,不需要外部器件;可以直接以9位的数字量读出;温度数字量转换时间200ms(典型值);测量温度范围从-55℃~+125℃,精度±5℃。

DS18B20温度传感器的引脚排列见图2。

引脚说明:
GND——公共端口,接地。

DO——数据端口I/O
VDD——电源端口,接+5V
图2 DS18B20引脚排列图
5、AT89C52单片机
本系统采用AT89C52对615088超声波传感器、DS18B20温度传感器的控制来实现测距模块系统。

超声波测距模块电路见图3。

图3 超声波测距模块电路图
通过对石英晶振分频产生172.8KHz的计数脉冲。

AT89C52单片机通过引脚P1.0来控制超声波的发送,然后单片机不停检测INT0引脚,当INT0引脚由高电平变为低电平时认为超声波已经返回。

计数器停止计数,计数器的所计的数据就是超声波所经历的时间;DS18B20温度传感器检测出实际温度值,通过换算就可以得到传输之间的距离。

6、系统软件设计
系统程序流程由主程序、定时中断子程序和外部中断子程序构成,具体流程如下:
(1)主程序:
(2)定时中断服务子程序:
定时器中断入口→定时器初始化→发射超声波→启动计数器,开始计数→延迟2.38ms→开启外部中断→返回
(3)外部中断子程序:
外部中断入口→关外部中断,关闭计数器→读取计数器数值→温度补偿→计算距离→开外部中断→返回
工作时,AT89C52单片机把P1.0由低电平置成高电平,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。

本系统采用的615088超声波传感器是收发一体的,在发射完一串超声波后还存在阻尼振荡,因此在启动发射信号后延迟2.38ms才可以检测返回信号,这样就可以避免余震的干扰。

超声波信号接触到被测物时信号立即返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号由低电平变为高电平,则表明超声波传感器接收到了返回波,微处理器进入中断关闭计数器,读取计数器的数值。

通过温度传感器采集实际数据对超声波传播速度的补偿,同计数器中数值一起经过换算就可以得出超声波传感器与被测物之间的距离。

7、结语
由于超声波易于定向发射、强度可控、与被测量物无需直接接触的优点,是作为测量距离的理想手段。

本文介绍的采用AT89C52单片机微处理器、615088超声波传感器测距和DS18B20数字温度传感器温度补偿进行距离的测量硬件电路简单,外围电路制作方便、可靠,成本经济,测得的数据精度高,误差小。

参考文献
[1]赵广涛,程荫杭.基于超声波传感器的测距系统设计[J].微计算机信息,2006,22(1).
[2]路锦正,王建勤等.超声波测距仪的设计[J].《传感器技术》,2002年第8期.
[3]潘仲明,大量程超声波测距系统研究[J].《国防科学技术大学》,2006年.。

相关文档
最新文档