DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 104|回复: 0
打印 上一主题 下一主题

基于单片机的超声波测距系统设计及实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 14:02:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      超声波频率较高而波长短,因而具有束射特性,可沿直线传播、方向性好、绕射小、穿透力强、传播速度慢,而且遇到杂质或分界面时会产生反射波。正由于超声波具有以上特点,所以在测量领域,他的应用范围越来越广泛。
  1 超声波测距原理
  超声波传感器分机械方式和电气方式两类,它实际上是一种换能器,在发射端它把电能或机械能转换成声能,接收端则反之。本次设计超声波传感器采用电气方式中的压电式超声波换能器,它是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。在超声波电路中,发射端输出一系列脉冲方波,脉冲宽度越大,输出的个数越多,能量越大,所能测的距离也越远。超声波发射换能器与接收换能器其结构上稍有不同,使用时应分清器件上的标志。
  Pellarn和Galt于1946年提出了脉冲回波法,其工作原理是:用超声脉冲激励超声探头向外辐射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过检测或估计从发射超声波至接收回波所经历的射程时间ToF(Time of Flight),按下式计算超声波探头与被测物体之间的距离d,即:



  3 系统程序设计
  3.1 主程序
  主程序首先对系统环境初始化,设置定时器TO工作模式为16位定时/计数器模式,总中断允许位置1并给显示端口清0;然后调用超声波发生子程序送出若干个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起直射渡触发,从发射开始一直到"虚假反射波"结束这段时间内,不开放外部中断(INTO)申请,便可有效躲避干扰,但同时也会造成测试"盲区".假设延时约0.1 ms后,才打开外部中断接收返回的超声波信号,当温度为20℃,测量盲区为d=1×10-2×344=1.72 cm.
  3.2 超声波发生子程序和接收子程序
  超声波发生子程序的作用是通过P1.0端口发送超声波换能器所需的40kHz的方波信号(脉冲宽度为12μs左右),同时把计数器TO打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。
  超声波接收子程序利用外部中断O检测返回超声波,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断服务子程序,关闭定时器TO停止计时,并将测距成功标志位赋值1.如果当计时器溢出时还未检测到超声波返回信号,则说明障碍物过远,超出量程,将关闭外部中断,并标志此次测距不成功。
  最大测试距离将取决于:两次脉冲群发送之间的最小时间间隔和脉冲的能量。一般来说,发射端脉冲个数越多,能量越大,所能测量的距离也越远。但也不是无限制的,本方案是读取定时器TO的计数值,最大能测试的距离是TO尚未溢出时检测到超声波回波信号,故在温度20℃下,最大测试距离为。在一些周期性发射超声波设备中,如果要测试的最大距离是10 m,则两次脉冲群之间的最小时间为。
  由于采用12 MHz的晶振,机器周期为1μs,当主程序检测到接收成功的标志位后,将计数器TO中的数值按式(1)计算,即可测得被测物与测距仪之间的距离,取20℃时的声速为344 m/s.则有:



  可知,超声波在空气中的传播速度与温度T(单位:摄氏度)有如下近似关系:



  在式(3)中,夹角α与超声波发射装置和接收装置的安装位置有关,在实际应用中应保持两换能器中心轴线尽量平行并相距2 cm"4 cm,在近距离测量时更要考虑角度补偿。若能够将超声接收电路屏蔽起来,则可提高抗干扰性能。根据测量范围可适当调整与接收换能器并接的滤波电容的大小,以获得合适的接收灵敏度和抗干扰能力。
  5 结论
  为防止在测量过程中测距仪的抖动而引起的测量误差,一般情况下应测量几次取其平均值。由于系统的分辨率为1μs,系统引起的固定误差约为0.3mm,再加上本设计只考虑了温度补偿和角度补偿的影响,而没有考虑其他环境因素(如:气压、湿度……)的影响,所以在测量的时侯给测量结果带来了一定的误差。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-25 07:14 , 耗时 0.093167 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表