APP下载

基于51单片机的超声测距装置设计

2023-05-22张军锋何明敏

物联网技术 2023年5期
关键词:温度传感器测距总线

张军锋,李 春,何明敏,罗 翔

(国家管网集团北方管道有限责任公司郑州输油气分公司,河南 郑州 450008)

0 引言

截至2020年底,我国油气管道总里程已经达到16.5 万公里;预计到2025年,我国长输管道总里程将超过24 万公里。随着城市的高速发展,原有管道路线因无法适应新时期的城市规划、距离人口密集区过近等问题,存在不少安全隐患,因此管道局部迁移已成为常态。在管道局部改线迁移过程中,封堵作业的安全实施是管线改迁工程顺利实现的前提,而精准测距是封堵作业高效完成的重中之重,决定着管线改迁工作的成败,更关系着施工人员的人身安全。因此,设计一款具有高精度、高稳定性的超声测距装置迫在眉睫。

1 总体设计

本文的超声测距装置由51 单片机、超声波传感器HCSR04、温度传感器DS18B20及液晶显示模块LCD1602等组成,采用C 语言编写上位机程序。单片机发送指令后,超声测距传感器发射口发射相应的信号,待信号遇到障碍物反射回来,并由超声测距装置接收口接收后,对时间信号进行预处理,滤除噪声等干扰;之后将处理过的信号上传至单片机进行距离测算,实现精准测距,并将测算结果显示在LCD1602 液晶屏上[1-4]。系统测距流程如图1所示。

图1 系统测距流程

2 硬件模块概述

2.1 51 单片机

STC89C51RC 系列单片机是宏晶科技出品的具备高速、抗静电、低功耗(掉电模式下功耗约0.5 μA,空闲模式下功耗约2 mA,正常工作模式下功耗约4~7 mA)特点,且具有超强抗干扰能力的新一代单片机,其指令代码完全兼容传统8051 单片机。STC89C51RC 系列单片机的工作频率范围为0~40 MHz,工作电压范围为3.4~5.5 V(5 V 单片机)或2.0~3.8 V(3 V 单片机),工作温度范围为-40~85 ℃(工业级)/0~75 ℃(商业级),片上集成512/1 280 B 的RAM,具有32 个或36 个通用I/O 口[5-7],不仅能够满足当前应用,更便于后期进行功能扩展。

选用STC89C51RC 系列单片机时需注意,其P0 口既可作为输入/输出口,也可作为地址/数据复用总线;P0 口内部无上拉电阻,故I/O 口需外接上拉电阻;当P0 口作为地址/数据复用总线时,无需外接上拉电阻。

2.2 超声波传感器

HC-SR04 超声波测距传感器具备2~400 cm 的非接触式距离量测功能,其测距精度高达3 mm。该超声波测距传感器采用I/O 口TRIG 触发测距,由相应模块自动发送40 kHz 方波(在超声测距过程中,频率的选取对测量结果会产生较大影响,若频率过低,则外界杂音影响较大;若频率过高,则传播衰减较大,故选择40 kHz 超声波),并自动检测是否有信号返回。如若收到返回信号,则通过I/O 口ECHO 输出高电平[8-10]。测距公式为:

式中,声速为340 m/s。

在使用该超声测距模块进行设计时需注意如下事项:

(1)该模块不宜带电连接,如若带电连接,则须先连接模块的GND 端,否则会影响模块正常工作。

(2)在进行超声测距时,需保证被测物体的面积大于或等于0.5 m2,且被测物体保持平整,否则会影响测量结果。

超声波时序如图2所示;模块电气参数见表1 所列。

图2 超声波时序

表1 电气参数

2.3 温度传感器

温度传感器选用DS18B20。DS18B20 是美国DALLAS公司出品的可编程分辨率的单总线数字温度传感器,通过单线接口发送、接收命令,具有体积小、功耗低、结构简单、用户可自行设定阈值等优点,仅需一个微控制器即可控制多个DS18B20[11-13]。该温度传感器的温度测量范围为-55~125 ℃(若测量温度范围为-10~85 ℃,则该传感器精度为±0.5 ℃);工作电压范围为3.0~5.5 V,其在寄生电源方式下可由数据线供电;支持多点组网、多点测温;测量结果为数字温度信号,通过串行方式发送至上位机(同时还可传送CRC 校验码),纠错、抗干扰能力强。

由于封堵现场处于野外,传感器需在高温、严寒的环境下工作,故本系统选择DS18B20 温度传感器。该传感器内含低温度系数晶振,其晶振频率受温度影响小,可将产生的固定频率脉冲信号传送至减法计数器;而随着温度的改变,高温度系数晶振的振荡频率会发生明显变化,其产生的信号将作为减法计数器的脉冲输入,使得恶劣的野外环境对DS18B20 影响微乎其微,故其是室外温度传感器的首选。

51 单片机控制DS18B20 进行温度转换时需在每次读写前对DS18B20 复位,成功后发送ROM 指令与RAM 指令对DS18B20 进行预定操作。复位时主CPU 将数据线下拉500 μs后释放,待DS18B20 收到信号后等待16~60 μs,并发送60~240 μs 的低脉冲,主CPU 收到该信号则表明此时已复位成功。

在使用该温度传感器进行设计时需注意如下事项:

(1)为顺利读取测温结果,在对DS1820进行读写编程时,必须严格保证其读写时序。

(2)单总线上挂载的DS1820 不能超过8 个,否则需要考虑微处理器的总线驱动问题。

(3)总线电缆存在长度限制,在设计时需要考虑阻抗匹配、总线分布电容等问题。

(4)在进行硬件连接和软件设计时需避免程序进入“死循环”。

温度传感器DS18B20 的引脚排列如图3所示,内部结构如图4所示。

图3 DS18B20 的引脚排列

图4 DS18B20 的内部结构

2.4 液晶显示模块

液晶模块选用LCD1602。LCD1602 字符型液晶显示屏由若干个5×7 或5×11 的点阵字符位组成,每个点阵字符位都可以显示一个字符。该显示屏是专用于显示字母、数字、符号等的点阵型液晶模块。LCD1602 液晶显示屏显示的内容为16×2(显示两行),每行拥有16 个字符液晶模块(显示字符和数字)[14]。LCD 接口电路如图5所示。

图5 LCD 接口电路

图5 中,RS 为数据/命令选择端;RW 为读写选择端;E 为使能信号。在使用该液晶显示模块时需注意,每次对控制器进行读写操作前,必须进行读写检测,但由于液晶控制器的反应速度快于单片机的操作速度,因此也可不检测,或仅进行短延时。

3 程序设计(部分)

测算距离的部分程序如图6所示。

图6 测算距离程序(部分)

4 系统实物

基于51 单片机的超声测距装置实物及测试效果如图7所示。文中研发设计的系统经封堵现场验证,运行稳定,达到了预期效果。

图7 系统实物及测试效果

5 结语

本文设计的基于51 单片机的超声测距装置原理清晰、结构简单、使用方便。经封堵现场测试,该装置运行稳定,测量数值精确;相比人工手动测试,大大缩短了测试时间,提高了测试效率,具有较高的应用价值。

猜你喜欢

温度传感器测距总线
类星体的精准测距
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
XTR105电流变送器在温度传感器中的应用
浅谈超声波测距
基于PSOC超声测距系统设计
温度传感器在笔记本电脑散热系统中的应用
多通道ARINC429总线检查仪