物联网技术
直播中

周臻庸

7年用户 850经验值
私信 关注
[问答]

怎样去设计一种AT89C51单片机的超声波测距系统?

什么是超声波?
超声波测距的原理是什么?超声波测距的测量方法有哪几种?
怎样去设计一种AT89C51单片机的超声波测距系统?

回帖(1)

李裕伦

2021-7-19 12:52:22
  设计思路分析
  本设计电路包括超声波的发射和接收电路以及51单片机、LCD液晶显示、红外遥控、温度采集等外围辅助电路。通过编写相应的程序,可以使51单片机控制整个系统稳定工作,实现对实际距离的测量,并将测量结果显示在LCD液晶屏上等一系列功能。在超声波测距系统中,主要是对超声波发射和接收的控制,以及对发射和接收时间的计算与处理。下面详细介绍超声波测距系统的设计原理及过程。
  1.什么是超声波
  超声波是频率高于⒛ kHz的声波,为直线传播方式,有很好的方向性,频率越高,绕射能力越弱,但反射能力越强,可以在空气、水等介质中远距离传播,可用于测距、测速、清洗、焊接、碎石和杀菌消毒等。在医学、军事、工业、农业方面有广泛应用。超声波因其频率下限大约等于人的听觉上限而得名。
  在空气中,超声波的衰减对频率r很敏感,所以应合理选择超声波频率,一般在40kHz左右,频率太高的超声波在空气中无法传播开去。传感器的工作频率是测距系统的主要技术参数,它直接影响超声波的扩散和吸收损失、障碍物的反射损失和背景噪声,并直接决定传感器的尺寸。传感器工作频率的确定基于以下几点考虑:
  ① 如果测距的能力要求很高,则声波传播损失就相对增加,由于介质对声波的吸收与声波频率的平方成正比,因此为了减小声波的传播损失,就必须降低工作频率。
  ② 工作频率越高,相对同尺寸的换能器来说,传感器的方向性越强,测量障碍物复杂表面越准,而且波长短,尺寸分辨率高,“细节”容易辨识清楚,因此从测量复杂障碍物表面和测量精度来看,要求工作频率提高。
  ③ 从传感器设计角度看,工作频率越低,传感器尺寸越大,制造和安装就越困难。
  综上所述,选择测距仪的工作频率为40kHz。这样,传感器方向性强,且避开了噪声,提高了信噪比,虽然传播损失相对低频来说有所增加,但不会给发射和接收带来困难。
  2.发射脉冲宽度
  发射脉冲决定了测距仪的测量盲区,也影响测量精度,同时与信号的发射能量有关。减小发射脉冲宽度,可以提高测量精度,减小测量盲区,但是同时也减小了发射能量,对接收回波不、利。最终采用短距离(2m内)发射⒛0us(8个40kHz方波脉冲)的发射脉冲宽度,长距离(2m外)发射800us(32个40kHz方波脉冲)的发射脉冲宽度。同时单片机程序避开盲区。此时,从接收回波信号幅度和测量盲区两个方面来衡量脉冲宽度比较合适,并且接收准确,响应速度快。所以,在一般的长距离测距时,选择800us的脉冲宽度。
  3.超声波测距的原理及测量方法
  超声波测距方法有脉冲回波法、共振法和频差法。其中脉冲回波法测距最为常见,它主要基于对超声波测距回波信号进行识别,采用模拟方法用电路来实现,如图1所示。
  
  图1 超声波测距原理
  测距原理是超声波传感器发出超声波,在空气中传播至被测物,经反射后由超声波传感器接收反射脉冲,测量超声波脉冲从发射到接收的时间,在已知超声波声速的前提下,利用公式
  
  当被测距离S小于盲区距离h(h=2m), 即可计算传感器与反射点之间的距离S,测量距离公式为
  
  当被测距离S》=h时,d约等于S,即
  
  4.对超声波测量数据的处理
  在整个超声波测距系统中,单片机是系统的核心,它控制着整个系统的工作过程。单片机使超声波发射模块发射出40kHz频率的信号,经放大后通过超声波换能器输出,同时该时刻启动定时器开始计时。该信号遇到障碍物反射后,被超声波接收模块采集到,通过对信号检波放大,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间;再由系统软件对该时间进行计算、判别后,将相应的计算结果送至LCD液晶显示电路进行显示。
  硬件设计
  单片机控制部分
  本系统采用的是AT89C51高性能CMOS8位单片机。片内含有8KB的可反复擦写的程序存储器和12B的随机存取数据存储器(RAM)。器件采用Atmel公司高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置8位中央处理器(CPU)和Flash存储单元。单片机是整个系统的核心,指挥着整个系统的工作。在该系统中,用到了单片机上的硬件资源有:I/O口、定时器、串口和中断等。该系统中,单片机的硬件电路如图3所示。
  
  图2 单片机的硬件电路
  超声波模块部分
  HC-SR04超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测
  距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。
  基本工作原理:
  (1)采用IO 口TRIG 触发测距,给最少10us 的高电平信呈。
  (2)模块自动发送8 个40khz 的方波,自动检测是否有信号返回;
  (3)有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声
  波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
  LCD显示部分
  本系统中的LCD采用的是1602字符液晶模块,能够同时显示16字×2行即32个字符。1602液晶模块的控制器采用的是HD44780。1602液晶模块的引脚说明如表1所列。
  
  表1 LCD1602液晶显示模块功能表
  根据表1的1602引脚表就可以很容易地设计出LCD显示的硬件电路了,LCD1602液晶显示模块的硬件电路如图3所示。
  
  图3 LCD1620液晶显示模块的硬件电路
  软件设计
  软件系统设计与硬件设计一样,可以把整个系统按功能划分成不同的模块来设计,这样便于软件的编写和管理,同时也便于系统调试。在本系统中,可将整个系统划分为以下几个功能模块:主程序、红外遥控接收子程序、温度检测子程序、超声波发射子程序超声波接收中断以及计算显示子程序。整个系统的软件流程图如图4所示。
  
  图4 系统的软件流程图
  PCB图如图5所示:
  
  图5 超声波测距仪PCB图
举报

更多回帖

发帖
×
20
完善资料,
赚取积分