ATmega16的语音型超声波测距仪的设计
摘要:介绍一种以单片机ATmega16为核心的超声波测距仪。该测距仪利用单片机ATmega16的输入捕获功能,测量超声波从发射探头发射至接收探头接收所经过的时间;采用DS18B20测量环境温度,补偿温度的变化对超声波传播速度的影响,提高测量精度;利用语音芯片ISD4004播报测量结果等语音信息。给出了测距仪的关键硬件电路、测量时间的输入捕获中断子程序和录音/放音子程序。测试结果表明,该测距仪测量精度高,语音播报清晰、流畅。
关键词:单片机;超声波测距;语音芯片;温度补偿
引言
用超声波测量距离是一种非常实用的非接触测量方法,广泛应用于物料液面测量、机器人定位、汽车防撞系统等领域。传统的超声波测距方法是用单片机的一个定时器和一个外部中断来测量超声波从发射探头发射到被接收探头接收所经过的时间t,再根据超声波测量距离的公式S=vt/2进行计算,得到距离S。这种方法除了多占用单片机的一个外部中断源外,还会使测量时间t的误差增大,降低测量精度。本文介绍了一种用AVR单片机ATmega16作为核心控制器的距离仪,该测距仪利用ATmega16输入捕获功能实现时间t的精确测量;用温度传感器DS18B20检测周围环境的温度,补偿温度变化对超声波传播速度的影响,提高测量精度;用语音芯片ISD4004实现测距结果等语音信息的播报功能。
1 总体设计方案
测距仪的总体设计方案如图1所示。系统以AVR单片机ATmega16作为核心控制器,负责控制和协调各模块电路的工作。超声波发射模块发射40 kHz的超声波信号,超声波接收模块对接收到的回波信号进行放大、滤波、比较,形成下降沿。温度传感器DS18B20负责对环境温度进行检测,补偿温度变化对超声波传播速度的影响。显示电路采用YM12864中文液晶显示器,显示当前温度和距离等信息。语音电路采用ISD4004语音芯片,该芯片采用SPI通信接口,可以方便地与ATmega16单片机进行通信,实时播报测量距离等语音信息。
2 硬件电路
2.1 超声波发射模块
超声波发射模块电路如图2所示。由ATmega16的PB3发送10μs的高电平至SN8P2501B的P2.2,当P2.2检测到高电平时,从P2.3输出低电平,三极管Q1饱和导通,MAX3232接通电源,SN8P2501B内部的定时器产生8个40 kHz的脉冲信号,由P2.4和P2.5推挽输出,经MAX3232升压后推动超声波换能器发送超声波信号。然后P2.3输出高电平,三极管Q1截止,关断MAX3232的电源,停止发射超声波信号。
2.2 超声波接收模块
超声波接收模块电路如图3所示。从超声波发射探头发出的超声波信号遇障碍物后返回,被接收探头接收并转换成微弱的电信号,经集成运算放大器TL074放大、滤波、比较后,产生下降沿,触发SN8P2501B的P2.2引脚产生中断,在中断程序中将P2.1置高电平。高电平持续的时间即为超声波从发射探头发射遇到障碍物后返回,并被接收探头接收所经过的时间。
手机电池相关文章:手机电池修复
评论