当前位置:首页 > 专题范文 > 公文范文 >

基于单片机的超声波测距仪设计开发

时间:2023-06-14 20:15:07 来源:网友投稿

赵毅能,师文庆

(广东海洋大学电子与信息工程学院,广东湛江 524088)

从20 世纪开始,人们对于超声波测距传感器进行了大量的研究并推出了商用产品[1]。随着社会的发展以及人们对测距要求的提高,超声波测距技术自身也在不断地完善和发展,使用超声波测距仪的场合也越来越多,比如用常规测量的方法很难得到大部分曲面外形尺寸,但可以利用多个超声波探头进行多方位测距来实现对曲面尺寸的检测[2-3],水下机器人在此基础上可以绘制出水下地形图像。超声波测距作为一种基础的检测手段一直活跃于科学研究中。基于此,设计出一款工作稳定、成本低的多功能超声波测距仪具有非常现实的意义。

近些年来,国内外研究学者对于超声测距的研究关注点主要集中在如何扩大量程和提高测距精度上,原理以及线性度的创新研究还比较少[4],比如在回波信号处理方法和发射脉冲信号的选取上没有突破性的进展。

由于超声波测距仪功能比较单一,且因易受温度影响,测距精度大大降低,限制了超声波测距仪在高精度要求的测距场合的应用[5]。本文所介绍的超声波测距方案采用渡越时间探测法同时引入温度补偿,即在计算出不同温度情况下的声速后,联立测量的超声波往返时间获得距离,温湿度检测和声光报警作为辅助功能可以拓宽应用场景。

本设计在检测过程中,由于距离以及温湿度的变化参数均在STC89C52 芯片可以接受的范围内,微秒级的定时器精度带来的微小误差可忽略不计,因此STC89C52作为主控芯片能够很好地满足超声测距系统的要求。

渡越时间探测法指的是超声波发生器往某个方向发射超声波,计时开始于发射的时间点,此后超声波沿直线传播,当超声波撞击到物体时就被反射回来,当超声波接收器接收到返回来的回波时计时停止。本文利用STC89C52 单片机驱动HC-SR04 超声探头发射一定频率的超声波,超声波碰到基准面时反射回来被超声探头接收,定时器T0 记录超声波的往返时间,因为考虑到温度对声速的直接影响,系统还利用DHT11 温湿度传感器采集环境的温湿度,采集的数据结果返回单片机,再由单片机结合不同温度下的声速对测量距离进行修正补偿,LCD1602 液晶屏显示测距结果和温湿度值,如果测距仪进入危险范围则判断危险程度并驱动相应频率的声光报警。

硬件方面主要由单片机模块、超声波模块、温湿度采集模块、液晶显示模块和声光报警模块等部分构成。图1 为采用5V DC电压驱动的硬件电路示意图。

图1 电路原理图

2.1 单片机最小系统电路

单片机最小系统电路的资源可以自由配置,所有输入信号都会传送至最小系统电路,单片机分析处理后,发送控制信号到对应的模块中去。

C1 电容值的大小直接影响到单片机的复位时间,此外,晶振就好比人的心脏,如果不起振,系统将不能正常工作,晶振频率越高,单片机运行速度越快,但不是越高越好,太高反而容易受到干扰,本系统的晶振X1采用12 MHz固有频率,一方面运行速度快,另一方面可以得到1μs的机器周期,方便定时计算。C2 和C3 起到稳定脉冲的作用,如果两个电容值相差过大,则极易引起共振失衡或者无振荡。为了使单片机重置后从片内ROM的0000H开始执行内部程序指令,EA 管脚需要接高电平。

2.2 超声波测距模块

如图2 所示,驱动HC-SR04 超声探头需要单片机I/O口提供一个至少10 μs的脉冲信号,此时超声波探头会主动发射8 个40 kHz 的方波信号,ECHO 引脚发送回响信号,定时器启动,当超声探头检测到回波信号时,ECHO引脚把高电平拉低,定时器停止定时,此时T0 所记录的持续高电平时间即为超声波的往返时间[6]。

图2 HC-SR04 时序图

2.3 温湿度检测模块

DHT11通过DATA单总线与单片机进行数据的双向传输。首先单片机将通过I/O口给DHT11 第2 引脚发送一个启动信号,温湿度传感器响应后将温度和湿度按照不同的分辨率转化为数字信号并输出给单片机共5 个字节[7]。

2.4 液晶显示模块

本设计选用的LCD1602 液晶显示器具有性价比高,操作简单等特点,数据引脚连接到P0 端口。

2.5 声光报警模块

2.5.1 蜂鸣器报警模块

本设计采用电磁式蜂鸣器,因为单片机上的输出端口电流较小,导致蜂鸣器不能正常响应,故在此模块中利用了PNP型BJT放大电流,P2.0 端口一旦输出低电平将会使得蜂鸣器报警。

2.5.2 LED灯报警模块

当P1.2 端口输出低电平时,发光二极管正向导通,载流子定向运动并复合,辐射荧光。

C语言在嵌入式系统中应用得最为广泛,其相对于汇编语言具有明显的优势,能够精确定时[8]。本文采用C语言开展软件设计,以产生精确的高频率超声波。软件由液晶显示子程序、超声波模块子程序、温湿度检测子程序和声光报警子程序等部分组成。总体流程如图3所示。首先对液晶和定时器进行初始化,选用T0 定时器且工作方式为1,随之进入循环:(1)采集当前环境的温湿度并在液晶的第一行实时显示。考虑到温度的影响,测量1 m距离时,误差大约为1.75 mm,根据声速与温度变化公式V =0.607T+331.4 可计算出对应不同温度下的声速[9];
(2)从HC-SR04 超声探头获得时间,联立当前环境温度下的声速,计算出距离并在液晶的第二行实时显示;
(3)判断测距结果是否在报警范围内,是则执行声光报警子程序判断危险程度,同时进行相应频率的声光报警;
(4)判断是否按下“设置”按键,若按下,系统将自动进入报警值设置界面。由于本设计采用的按键数不多,为方便起见,采用独立键盘的方式。此外针对按下和松开按键后出现的电平不稳定现象,采用程序消除“抖动”的方式,即延迟数毫秒,等待电平恢复稳定,以避开“抖动”。此时为一个完整的循环。

图3 总体流程图

3.1 液晶显示程序设计

液晶显示流程如图4 所示,程序主要通过LcdWriteCmd函数和LcdWriteData函数分别确定地址和操作数。

图4 液晶显示流程图

3.2 超声波模块程序设计

超声波模块流程如图5 所示。首先给超声探头的TRIG引脚输出一个持续1ms的开始脉冲,直到超声组件ECHO引脚返回高电平脉冲,系统启动定时器T0,T0在HC-SR04 收到回波信号的瞬间停止定时,T0 记录的高电平持续时间的一半乘以声波的速度就可以计算出距离。

图5 超声波模块流程框图

3.3 温湿度检测程序设计

如图6 所示,温湿度检测必须遵从时序要求,按照主从机通信的方式进行程序设计。在数据接收状态时,读一个字节可得U8checkdata_temp 信号,数据校验时,温湿度相加可得U8temp信号,如果U8checkdata_temp等于U8temp,则暂存温湿度值。

图6 温湿度检测流程框图

3.4 声光报警程序设计

声光报警功能体现的是报警频率随着距离的变化而渐变,如图7 所示,在不同报警条件的循环里通过延迟不同的时间去启动声光报警,如此不断循环即可实现蜂鸣器和LED灯报警频率的渐变。

图7 报警流程图

4.1 温湿度检测功能测试

如图8 所示,经过测试对比电子温湿度计,本设计温度检测能够精确到±2 ℃,而湿度检测误差比较大,大约在± 5% RH,这可以尝试用软件做补偿以提高精度。

图8 温湿度检测功能测试

4.2 抗干扰能力测试

相比光学测距,超声波测距对电磁辐射、光照度等因素不敏感,在短距离的信息采集上有着较大的优势。在一些特殊的场合,如光线偏暗或存在电磁场干扰的地方,它能够进行有效的测量[10]。

在学校机房里电脑、音响设备和无线路由器比较集中的地方,电磁辐射较强,使用测距仪在上述环境下进行测距,测距误差维持在±2 cm以内;
在漆黑环境和照明环境中分别进行测距,结果几乎不受光照度影响;
如果把一些微小颗粒或粉尘附着在超声波传感器HCSR04 上,测距功能受到的影响也比较小;
由于超声波对水滴没有穿透性,水滴可以反射部分超声波导致出现余波干扰或者波形信号衰减等现象,雨天测距的效果不太理想。

4.3 报警功能测试

超声波测距仪可以实现不同频率的声光报警模式,适用于汽车雷达。图9 为报警值设置为80 cm 时进行的声光报警测试,实测距离为60 cm,报警模式为蜂鸣器常鸣,LED灯常亮。

图9 报警功能测试

4.4 测距与基准面粗糙程度相关性测试

由表1 可知基准面的粗糙程度会影响测距结果,基准表面越光滑平整,测距误差越小。对于粗糙的基准面,超声波在短距离内传播范围较小,接触到基准面的点没有明显的变化,当距离越来越远时,粗糙的基准面容易造成超声波信号散射,从而导致回波信号失真,因此误差增大[11-12]。

表1 相关性测试结果 cm

4.5 测距及温度补偿功能测试

从表2 可以看出本设计最远测量距离大约500 cm,且误差维持在2 cm以内,同时温度补偿功能已经发挥作用,即在环境温度大幅提升的同时,实测距离整体趋于稳定,大大提高测距精度。

表2 测距及温度补偿功能测试结果 cm

4.6 误差分析

根据实物测试结果,虽然系统附加温度补偿的方法,但是不同室温下测距结果存在一定差异,原因是室内温度的升高,使得超声探头发射和接收超声波信号的能力明显下降,同时超声波能量也会随之衰减。其次是传感器本身的精度问题,目前超声探头多采用压电陶瓷材料和磁致伸缩材料制作,其存在着一定的阻抗失配现象,同时发射器的局部超声波有时候会直达接收器,导致系统存在误差或出现不稳定现象。需要依靠超声波探头材料研发和性能提升来解决本系统缺陷,本文不涉及此方面研究。单片机控制启动发射超声波和启动定时器有时间先后之分,因此为了系统各部分保持同步,最好选择质量更优的晶振。在空气中,超声波的能量会受到一定程度的削弱,提高频率可以使指向性能得到改善,但随着频率的增加,超声波能量的衰减速度越快,因此可以通过充分放大接收信号以改善这种情况。

本文设计了一种功能完善的超声波测距仪,试验验证了软硬件设计方案的合理性与有效性,还针对误差来源提出了改进的建议。能够满足短距离测距要求,同时具有温度补偿、温湿度检测、声光报警等功能。所设计的设备测量范围为0.02~5 m,通过温度检测计算修正声速,把误差维持在0.02 m以内,即报警阈值的下限可达0.02 m,足日常短距离测距的需求,设备可用于倒车雷达,使用渐变的声光报警频率提示行车的安全距离,为汽车实现自动倒车入库、自动紧急刹车、无人驾驶等功能提供方案。进一步地,所提设计方案也可以作为人工智能的视觉辅助工具,配合CCD图像传感器可实现完善的视觉功能,从超声波传感器阵列中筛选信号以实现对运动物体的捕捉[13]。所提设计方案具有操作简单、安全可靠、工作稳定的特点。

猜你喜欢声光报警测距温湿度声光报警多路抢答器电路的改造分析消费电子(2022年7期)2022-10-31高速公路雾天行车安全诱导及护栏碰撞声光报警低功耗融合系统中国交通信息化(2022年3期)2022-06-01温湿度控制器在回收砂冷却系统中的应用装备制造技术(2021年5期)2021-08-14电力系统接地线声光报警装置的研制及应用通信电源技术(2020年11期)2020-09-07类星体的精准测距科学(2020年3期)2020-01-06基于DSP的多路温湿度监测系统漳州职业技术学院学报(2019年1期)2019-11-16基于温湿度控制的天气预测装置电子制作(2018年11期)2018-08-04浅谈超声波测距电子制作(2017年7期)2017-06-05计算机监控系统声光报警系统建设可行性研究电子技术与软件工程(2016年23期)2017-03-06蒸发冷却温湿度独立控制空调系统的应用西安工程大学学报(2016年6期)2017-01-15

推荐访问:测距仪 单片机 超声波