超声波模块系统设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超声波测距系统设计

作者:陈芸来源:转载

减小字体增大字体摘要:超声波作为一种传输信息的媒体,由于其本身的直射性和反射性,以及不易受光照、电磁波等外界因素影响的特性,在探伤、测距、测速等多种领域越来越受到重视。

关键词:超声波测距非接触式 PIC单片机

本系统设计的超声波波测距系统采用PIC16F73作为主控制芯片,首先产生40KHz的方波,驱动超声波发射探头发出超声波。在发波的同时,开启T1定时器,用来记下收到回波的时间。接收部分先对接受到的回波信号两级放大,然后整流成一较平稳的信号,再通过一个比较器将模拟信号转化成数字信号作为有无回波的识别。当单片机接收回波信号时,使用单片机捕捉功能,产生中断,在中断程序中读出T1计数寄存器中的数值即为超声波发射与接收的时间间隔。测得回波的时间,根据声在空气中的传播特性,通过计算S=v*t/2,即可得到障碍物的距离。

1.1 超声波发波电路

超声波的发波部分,首先由软件产生40KHz的方波,经引脚RC0输出,分两路驱动超声波发射探头,一路经一个4011与非门反向,驱动探头之前分别先各由一个9013NPN的三极管做开关,后由4069反向器来增强驱动能力,使超声波发射探头发出40KHz的超声波。

1.2 超声波接收电路

接收部分先对接受到的回波信号放大,然后将信号整流,最后通过一个比较器将模拟信号转化成数字信号作为有无回波的识别信号。

1.3 放大电路

放大电路有两个LM358构成一个两级放大电路,第一级放大约100倍,第二级放大约10倍。

其中C4可除去超声波传感器接收头收到的信号的直流信号,第一级放大其放大倍数为R1/R4=100,第二级放大器放大倍数为R2/R4=10。由于LM358是双电源供电,这里为了使电路的供电系统简单点,在LM358的第3脚输入一个2.5V的电压,来取代器件的双电源供电,从而使器件能正常工作。

1.4整形、比较电路

由于超声波传感器接收头接收到的信号是一个正弦信号,不便于单片机处理,故在电路上用两个检波二极管和一个电容组成的整流电路将回波信号整形成一平稳的电平,信号经整流后通过LM358构成的一个比较器将模拟信号转化成数字信号,然后与单片机引脚RA5共同经一个4011与非门输出到单片机RC2/CCP1引脚,以产生单片机的中断。其中R10、R11构成一个分压电路产生一个比较电压,当回波信号的电压大于此比较电压时,LM358输出一个高电平;当回波信号小于此比较电压时,LM358输出一个低电平。单片机引脚RA5用做信号接收的使能控制,当RA5为高电平时允许接收,当RA5为低电平时,回波信号无效,不允许接收。

1.5 数据传输

当模块将距离测出后,需将数据传输到外围的电路以供应用,此系统采用两种数据传输方式,D/A 数据传输和I2C数据传输。

1.6 D/A数据传输

D/A数据传输是利用单片机的PWM输出将测得的距离值转化成电压值输出,使得测得的距离与输出的脉宽调制方波的占空比成正比,PWM波再经整流输出平稳电压,这样就能将测得的距离按一定的线性关系输出,外围电路可使用A/D转换器将数据读取。

1.7 I2C数据传输

I2C要求两条总线线路一条串行数据线SDA 和一条串行时钟线SCL,每个连接到总线的器件都可以通过一个唯一的地址与主机获得通信。它是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏。串行的8 位双向数据传输位速率在标准模式

下可达100kbit/s, 快速模式下可达400Kbit/s, 高速模式下可达3.4Mbit/s。片上的滤波器可以滤去总线数据线上的毛刺波以保证数据完整。

本系统采用I2C数据传输方式,可使得测量距离毫无偏差得传输到外围电路中,避免D/A数据传输过程中的转化误差。

I2C地址的设置使用一个4位的拨码开关,电路如图4.9示。4位的拨码开关最多可识别16个I2C地址,本系统使用前三个开关,提供8个不同的I2C地址,8个地址0xB0,0xB2,0xB4,0xB6,0xB8,0xBA,0xBC,0xBE,具体设置由软件实现。

2超声波波测距系统软件设计

其中初始化中包括I/O口设置、中断系统设置、I2C初始化,CAP初始化,然后发送超声波,开始时按短距离模式发波,发完波开启接收回波,同时开始计时,当有回波信号产生中断时,计时停止,并计算出距离。随后将距离以D/A数据传输的方式输出,最后根据当前的测量结果来选择下次发波的模式。I2C数据传输采用中断实现,测距模块实时响应外围电路中I2C主控器对数据读取的要求

相关文档
最新文档