超声波测距具有不受光强度、颜色、电磁场等外部因素影响的优点,超声波传感器价格低,结构简单。超声波以声速传播,便于收发和计算。它已广泛应用于汽车倒车雷达、移动机器人避障,特别是测量距离。
超声波测距仪的设计是 STC89C在对超声波的一些优点和特点进行分析和了解后,对超声波测距的基本原理进行了检查。最后,决定使用51单片机系统和超声波传感器。超声波测距仪的硬件部分主要包括超声波发射模块、超声波接收模块、单片机和超声波模块LED 数字显示模块和扩展报警模块。软件部分主要包括单片机主程序,根据超声波发射和接收计算距离程序LED 距离显示程序、按键控制程序和蜂鸣器报警程序,使系统具有模块化的特点。系统易于控制,性能可靠,测量精度高,最重要的是实时测量距离。
51单片机HC-SR04、实时测量超声波
一、引言
1.1 背景
超声波测距法是利用超声波测量从已知位置到被测物体表面的距离。超声波也是20频率的机械波kH上述声波。超声波测距是根据蝙蝠通过超声波反射捕食发现的,也是仿生学中非常有名的例子,对生产领域影响很大。随着电子测量技术的快速发展,超声波已经可以用来实现精确测量。随着经济的不断发展,测量技术得到了越来越广泛的应用,因此超声波具有性能稳定、成本低、精度高等优点。机器人技术在出现后发展迅猛,机器人的用途也不在局限在工业生产,而是进入了人们的日常生活。普遍应用对增加人们对机器人技术的理解非常重要。机器人可以通过独特的感知系统感知和确定前障碍物的位置和周围环境,完成避障、自动寻路、测距等功能。超声波测距具有测距精度高、成本低、环境要求低、使用方便等特点。将红外、灰度等传感器与超声波结合在一起,使机器人能够实现自动寻路和绕过障碍物。超声波从千传播方向稳定,在介质中传播时能量减慢,可以发送长距离,因此在测量距离时经常使用。超声波最常用的应用是在汽车倒车雷达、物位测量仪、测距仪、移动机器人研发和一些特殊工业场所。未来,超声波传感器可能会智能化、自动化,实现更方便、更高效的测距仪器。
1.2主要意义
超声测距技术是一种很有前途的技术,近距离超声测距不受光线影响,结构简单,成本实惠。超声波测量最重要的优点是:环境介质很常见,空气、液体和固体都可以使用,所以适用范围很大。更重要的是,使用超声波检测可以大大降低劳动强度,避免工作人员在恶劣工作环境中可能受到的伤害,提高距离结果的准确性;此外,超声波测距仪还可以作用于机器人避障系统、内置防撞系统、自动停车系统、倒车雷达等其他功能系统,因此超声波测距仪对电子测量技术的发展非常重要。
二、系统设计
2.1 系统要求
超声波发射和接收功能正常,可实时显示障碍物距离(数字管或液晶显示不限);本设计采用超声波探头设计发射和接收电路,单片机使用无限。改进要求:
(1)距离小于30cm、15cm区别报警时,少于30cm警戒距离小于15cm危险距离。
(2)测量距离误差小于2%。
(3)机械安装设计,使用方便,实用性好。
2.2 超声波发射和接收电路设计
总电路的设计如下图1所示。
超声波测距仪系统结构图1
HC-SR04模块基本工作原理:
(1)单片机控制超声波TRIG 口至少给10us触发测距的高电平信号;
(2)模块将自动发送8个 40khz 自动检测方波是否有信号返回;
(3)有信号返回,模块将通过 ECHO 口输出高电平,高电平的持续时间是超声波从发射到返回的时间。uS/58=厘米或者uS/148=英寸或距离=高电平时间×声速(340M/S)。
2.3数码管显示
本设计的数字管采用普中51开发板中的数字管模块。数字管动态显示接口是单片机中应用最广泛的显示方法之一。动态驱动是所有数字管的8个显示笔"abcdefgdp”的同名端在一起,此外,每个数字管的公共极限是每个数字管COM选择控制电路的选择通过各自独立的1/O线路控制,当单片机输出字形码时,所有数字管都接收到相同的字形码,但数字管是否会显示字形取决于单片机的对位选择COM端电路的控制,所以只要打开需要显示的数码管的选通控制,这个位置就会显示字形,没有选通的数码管就不会亮。通过分时轮流控制轮流控制COM端,使每个数字管轮流控制显示,这就是动态驱动。在轮流显示过程中,每个数字管的点亮时间为1~2ms,由于人类的视觉暂留现象和发光二极管的余辉效应,虽然数字管不同时点亮,但只要扫描速度足够快,印象是一组稳定的显示数据,没有闪烁感,动态显示效果和静态显示相同,可以节省很多I/O 端口,功耗更低。
2.4 蜂鸣器报警电路
本设计的蜂鸣器采用普中51开发板中的蜂鸣器模块。蜂鸣器是一种利用直流电压供电的整体结构的电子发声器。广泛应用于计算器、儿童玩具、车辆电子设备、固定电话、传真机、打印机、各种报警器、定时装置等产品的发声模块,本设计采用两种不同频率的蜂鸣器报警,分别表示距离小于30cm距离小于15cm。
三、系统主程序
3.1 主程序流程:
主程序的主要功能是连接每个功能模块,读取和计算HC-RS04 的测量的长度、测量距离的显示、通过按键控制有效距离限制、当测量的值超过了最大测量值时,蜂鸣产生长响的报警声。当测量距离小于报警距离时,蜂鸣器根据距离大小产生不同频率的声音,主流程如下图4所示。
图4系统主程序流程图
显示距离子程序的功能是把超声波模块测量出的时间差经过计算后得到的距离值传到单片机内,单片机通过处理把距值动态输出到数码管上,每次显示一位,逐位显示,流程图如下图5所示。
图5、显示距离子程序流程图
3.3 报警子程序流程:
报警子程序的主要作用是在测量距离小于30cm与小于15cm时发出不同频率报警。流程如下图6所示。
图6、报警子程序流程图
测试结果如下图所示。
图7、测试结果
工程文件及代码见:超声波自动测距(含一定距离内的报警功能)-单片机文档类资源-CSDN下载