碧波液压网 欢迎你,游客。 登录 注册

基于AT89C51单片机的超声波测距系统

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  超声波由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如液位、井深、管道长度等场合。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上得到了广泛应用。本文介绍一种以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。

  超声波测距原理

  超声测距从原理上可分为共振式、脉冲反射式两种。由于共振法的应用要求复杂,在这里使用脉冲反射式。超声波测距原理是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为c,而根据计时器记录的测出发射和接收回波的时间差t,就可以计算出发射点距障碍物的距离S,即:S=ct /2。这就是所谓的时间差测距法。

  由于超声波也是一种声波,其声速c与温度有关,附表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。

  声速确定后,只要测得超声波往返的时间,即可求得距离,这就是超声波测距系统的原理。

  系统硬件电路设计

  ATMEL公司的AT89C51单片机,是一种低功耗、高性能、片内含有4 KB Flash ROM的8位CMOS单片机,工作电压范围为2.7~6 V(实际使用+5 V供电),8位数据总线。它有一个可编程的全双工串行通信接口,能同时进行串行发送和接收。通过RXD引脚(串行数据接收端)和TXD引脚(串行数据发送端)与外界进行通信。本超声波测距系统以AT89C51为中央处理器,其系统原理框图如图1所示。

  系统上电工作后,由脉冲发生器发出脉冲信号,该脉冲信号一方面通过驱动的电路推动脉冲发生器发出超声波脉冲,另一方面,触发AT89C51内部定时器T1(由外部中断INT0实现)开始定时;同时由AT89C51控制按时间自动改变放大器增益,即按发射波未到达接收器的传播时间逐渐增大放大器增益。接收到的超声回波经过放大和滤波后,一是直接送给鉴幅器,二是经峰值保持电路提取回波峰值作为阈值的基准信息。AT89C51通过ADC0809采样回波峰值,经过软件加权处理后作为鉴别阈值,再经过DAC0832送给鉴幅器。当回波包络中某个波被鉴别出来时,则立即触发外部中断INT1关闭定时器T1,同时,P1.1设置检测窗口。由T0计数器窗口内鉴别回波个数n,根据n确定下次鉴别给定值的大小,闭环控制至n≤5为止。然后从补偿值表中取出与n对应的补偿值,对T1的计时时间(实际上这是从发射超声波到接收到第一个鉴别回波之间的计数值,计数周期为1μs,12 MHz晶振)进行修正,获得超声波实际的往复传播时间,再通过3B浮点运算求出距离,由AT89C51串行通信口送LED显示。本系统每隔5 s采样一次环境温度,以修正声速,所以本系统还设有温度传感器来监测环境温度,把附表所列的数据做到程序中可进行温度补偿。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论