基于单片机的超声波测距仪设计论文内容摘要:

发出的超声波 (假设传播介质为气体 ),经气体介 质的传播到接收器的时间即往返时间。 往返时间与气体介质中的声速相乘,就是声波传输的距离。 而所测距离是声波传输距离的一半,即公式 ( 11) , L= vt/2 (11) 在上式中, L 为待测距离, v 为超声波的声速, t 为往返时间。 若要求测距误差小于 ,已知声速 v=344m/s(20℃ 时 )。 显然,直接用秒表测时间是不现实的。 因此,实现超声波测距必须避开直接测量时间的方法,才能获得实用的测长精度。 对超声波传播时间的测量可 以归结到对超声波回波前沿的检测。 目前使用的方法有信号过零检测,包络检测和脉冲检测等方法。 本文主要用的是脉冲检测法它是南京工程学院自动化学院本科毕业设计(论文) 7 一种对有回波信号经检测电路产生的脉冲进行检测的方法。 这种方法实现起来较包络检测方便,电路实现简单,精度也较高。 实现的方法是当回波信号经放大处理后,进入比较器,调整好合适的阂值在比较器的输出端就会产生 40kHz 的方波。 利用查询或者中断的方法便可以检测出这些脉冲,便于测量出发射到接收到脉冲的时间。 超声波测量中盲区及近限和远限 用往返时间检测法测量距离时,障碍物与超声波传感器间的距离既 不能太远也不能太近,存在着距离测量的近限和远限。 距离过远时,接收到的信号太弱,以致无法从噪声信号中分辨出来,这是远限存在的原因。 在距离过近时,接收信号将落进盲区中而无法分辨出来,这是近限 存在的原因。 使用 单 个探头同时充当发射 器 和接收 器的情况下,由于在探头上施加的发射电压强达几十伏,虽然发射信号只维持一个很短的时间,但 施加发射信号 停止后,探头上还有 一定的余 振,因此在一段较长的时间内,加在接收放大器输入端的发射信号幅值还是很 强的,可以达到限幅电路,引起探头振动, 导致不能进行正确的测量。 同时,探头 上接收到的各种反 射信号却远比发射信号小,即使是离探头较近处的 反射信号也达不到限幅电路的限幅电平。 当液面离探头越来越远时,接收信号与发射信号 相隔时间越来越长,其幅值相应的越来越小。 同时,接收信号的衰减 总是要比发射信号余振的衰减慢得多。 为了保证一定的信噪比,接收信号需要规定一个值,接收信号必须大于这个值,才能有输出信号。 这就构成了远限的问题。 在使用单 个探头的情况下,发射信号的幅值要维持到低于引起探头振动时,接收信号才基本上摆脱了发射信号的影响而能够明显地分辨出来。 所以把这段时间规定为盲区时间。 当开始计时,测量超声波在空气中的 传播时间才有效。 但是,当探测距离很远时,为了增大发射功率,需要采用特殊形式的大功率超声发射传感器,但这些传感器的接收灵敏度 很低,甚至无法用于接收,在这种情况下,选用两个换能器分别用于发送和接收。 而使用双探头方式,不仅可以增加探测距离,还可以减小盲区。 由于发射探头上并不直接施加发射电压,所以,从理论上说,可以没有盲区。 但是,由于接收电路多少会受到发射电路的感应,并且发射探头所发出的超声波可能有部分直接绕道接收探头,因此实际上仍存在一定的盲区,不过它要比单探头方式的盲区小很多。 所以,在本实验中,我们选取了双 探头的工作方式,减小盲区,同时提高检测的距离精度。 [6] 提高测距仪性能的若干措施 南京工程学院自动化学院本科毕业设计(论文) 8 声速校正 要想通过测量超声波传播时间确定距离,声速 c 必须恒定,实际上声速随 温度 、介质、压力的 变化而变化。 一般情况下,由于大气压力变化很小,因此传播速度主要考虑温度的影响。 对一定介质,通常采用对温度进行修正的方法,可以测得比较准确的距离。 通过对温度修正来校正声速的方法,即用测温元件测量实际环境。 减小盲区措施 (1)压缩发射脉冲宽度 发射端采用减幅振荡脉冲或单个脉冲,可使余震 减少,此法常用于短距离测量。 (2)采用自动距离增益控制 采用具有自动增益控制功能的 放大器,使近距离的增益很小,远距离时的增益较大,这样一方面发射信号的余震幅度变小, 同时 相应的延续时间 缩短,可以分辨出近处的接受回波信号,故可使盲区减少。 另一方面,可以 使远处的回波信号的幅度增大,以提高测量的精度。 (3)信噪比问题 超声波测距仪都有一定的量程。 量程主要决定于接收信号的幅值应大于规定的阈值。 这个阈值 决定信噪比。 噪声有两类,一类电噪声,在处理上同其它电子仪器一样,另一类为机械噪声,其中工业噪声频率较低,对液介式超声测距仪,工作频率较高,可以避开 工业噪声频谱段。 而气介式超声回波测距仪,一般频率都较低,易引入工业噪声。 这时要求对环境噪声进行频谱分析,尽量避免与噪声频率重叠。 [6] 南京工程学院自动化学院本科毕业设计(论文) 9 第二章 总体方案 方案选择 采用单片机来控制超声波测距,信号线发射到与超声波发射器相连的信号端,超声波发射器向既定方向发射,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物将产生回波。 超声波测距原理 超声波测距的方法有多种 ,如相位检测法、声波幅值检测法和渡越时间检测法等。 相位检测法虽然精度高,但检测范围有 限,声波幅值检测法易受反射波的影响。 本测距系统采用超声波渡越时间检测法。 其原理为:检测从发射传感器发射的超声波经气体介质传播到接收传感器的时间 t,这个时间就是渡越时间,然后求出距离 l。 设 l 为测量距离, t 为往返时间差,超声波的传播速度为 c,则有 l=ct/2。 超声波接收器收到反射波就立即停止计时。 再由单机计算出距离,送数码管显示测量结果。 超声波测距的算法设计 : 超声波在空气中传播速度为每秒钟 340 米( 15℃ 时)。 t2 是 接收超声波 时刻 , t1 是 超声波 声波 发射 时刻, t2t1 得出的是一个时间差的绝对值,假定 t2t1=,则有 340m=。 由于在这 ,超声波发出到遇到返射物返回的距离 如下: 如图 21 为测距原理 [4] 图 测距原理 因为θ /2 角度较小 ,可以忽略不计,所以 L≈ S。 超声波发出到遇到返射物返回的距离如公式( 21): 南京工程学院自动化学院本科毕业设计(论文) 10 L=C x ( t2 t1 )/ 2 (21) 超声波测距原理框图 超声波测距模块用 HCSR04,温度传感器使用 DS18B20,微处理器使用STC89C52 单片机,显示部分采用 LCD1602 液晶显示屏显示。 HCSR04 集成的发射电路模块发出超声波,遇到障碍物产生回波,被接收电路模块接收, STC89C52 单片机 计算 出声波传输所用时间,经过温度补偿温,计算出正确的待测距离, DS18B20测出的温度通过 1602 显示。 S T C 8 9 C5 2 单 片 机温 度 检 测 模 块测 距 显 示 模 块信 号 放 大 , 脉 冲整 形 , 带 通 滤 波驱 动 模 块测 距 数 据发 射接 收超 声 波 换 能 器温 度补 偿 图 超声波测距系统结构图 由于测量距离的精度和长度要求不是很高,精度达到 2cm,测量距离达到 4m即可,因此超声波模块选用价格低廉且实用的 HCSR04 即可。 控制核心部分选择实用的 STC89C52 单片机即可满足计算和控制要求。 温度补偿的温度传感器选择普遍且实用的 DS18B20。 显示部分选择了 1602 显示屏。 南京工程学院自动化学院本科毕业设计(论文) 11 第三章 系统硬件 设计 STC89C52 单片机的功能及特点 STC89C52 单片机是宏晶科技推出的新一代高速 /低功耗 /超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机, 12 时钟 /机器周期和 6 时钟 /机器周 期可以任意选择。 主要特性如下: 增强型 8051 单片机, 6 时钟 /机器周期和 12 时钟 /机器周期可以任 意选择,指令代码完全兼容传统 8051; 工作电压: ~ ( 5V 单片机) /~ ( 3V 单片机) ; 工作频率范围: 0~ 40MHz,相当于普通 8051 的 0~ 80MHz,实际工 作频率可达 48MHz; 用户应用程序空间为 8K 字节 ; 片上集成 512 字节 RAM; 通用 I/O 口 (32 个 )复位后为 :P1/P2/P3/P4 是准双向口 /弱上拉 ,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻 ; ISP(在系统可编程) /IAP(在 应用可编程) ,无需专用编程器,无 需专用仿真器,可通过串口( RxD/,TxD/)直接下载用户程 序,数秒即可完成一片 ; 具有 EEPROM 功能 ; 具有看门狗功能 ; 共 3 个 16 位定时器 /计数器。 即定时器 T0、 T T2; 外部中断 4 路 ,下降沿中断或低电平触发电路, Power Down 模式可由外部中断低电平触发中断方式唤醒 ; 通用异步串行口( UART) ,还可用定时器软件实现多个 UART; 工作温度范围: 40~ +85℃(工业级) /0~ 75℃(商业级)。 STC89C52RC 单片机的工作模式: 掉电模式:典型功耗 A,可由外部中断唤醒,中断返回后,继续执行原 程序 ; 空闲模式:典型功耗 2mA 典型功耗 ; 南京工程学院自动化学院本科毕业设计(论文) 12 正常工作模式:典型功耗 4Ma~ 7mA 典型功耗。 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。 STC89C52RC 引脚功能说明: VCC( 40 引脚):电源电压 ; VSS( 20 引脚):接地 ; P0 端口( ~ , 39~ 32 引脚) : P0口是一个漏极开路的 8 位双向 I/O 口。 作 为输出端口,每个引脚能驱动 8 个 TTL 负载,对端口 P0 写入 每个引脚能驱动 写入“ 1”时,可 以作为高阻抗输入。 在访问外部程序和数据存储器时 在访问外部程序和数据存储器时, P0 口也可以提供低 8 位 地址和 8 位数据的复用总线 位数据的复用总线。 此时, P0 口内部上拉电阻有效。 在 Flash ROM 编在程时, P0 端口接收指令字节 端口接收指令字节;而在校验程序时,则输出指令字节 则输出指令字节。 验证时,要求外接上拉电阻 ; P1 端口( ~ , 1~ 8 引脚) : P1 口是一个带内部 上拉电阻的 8 位双向 I/O 口。 P1 的输出缓冲器可驱动(吸收或者输出电流方式) 4 个 TTL 输入。 对端 口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。 P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电 流 ,此外, 和 还可以作为定时器 /计数器 2 的外部技术输入( ) 和定时器 /计数器 2 的触发输入( )在对 Flash ROM 编程和程序校验时 ,P1接收低 8 位地址 ; P2 端口( ~ , 21~ 28 引脚) : P2 口是一个带内部上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲器可以驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写入 1 时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。 P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流( I)。 在访问外部程序存储器和 16 位地址的外部数据存储器(如执行“ MOVX @DPTR”指令)时, P2 送出高 8 位地址。 在访问 8 位地址的外部数据存储器(如 执行“ MOVX @R1”指令)时, P2 口引脚上 的内容(就是专用寄存器( SFR)区 中的 P2 寄存器的内容),在整个访问期间不会改变。 在对 Flash ROM 编程和程序校验期间,P2 也接收高位地址和一些控制信号 ; P3 端口( ~ , 10~ 17 引脚) : P3 是一个带内部上拉电阻的 8 位双向 I/O 端口。 P3 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端 口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。 P3 做南京工程学院自动化学院本科毕业设计(论文) 13 输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一 个电流( I)。 在对 Flash ROM 编程或程序校验时, P3 还接收一些控制信号。 P3 口除作为一般 I/O 口外,还有其他一些复用功能 ; RST( 9 引脚):复位输入。 当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。 看门狗计时完成后, RST 引脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功 能无效。 DISRTO 默认状态下,复位高电平有效 ; ALE/ RO。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。