超声波测距系统设计.doc

上传人:11****ws 文档编号:2248629 上传时间:2019-05-03 格式:DOC 页数:24 大小:1.33MB
下载 相关 举报
超声波测距系统设计.doc_第1页
第1页 / 共24页
超声波测距系统设计.doc_第2页
第2页 / 共24页
超声波测距系统设计.doc_第3页
第3页 / 共24页
超声波测距系统设计.doc_第4页
第4页 / 共24页
超声波测距系统设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 单片机及其接口技术 课程设 计 说 明 书学生姓名 : J Guo 学 号:学 院 : 计算机与控制工程学院 专 业 : 自动化题 目 : 倒车测距系统设计 指导老师 职称 副教授职称 讲 师2013 年 10 月 21 日 1 设计内容设计一个由单片机控制的倒车测距监测系统,倒车时可以监测车尾与障碍物的距离,近距离时可报警提示。2 设计要求选择传感器,设计键盘、测距和报警电路,按下“启动”键,每隔 1 秒,检测 1 次车尾和障碍物的距离,检测范围 0-2m,测量精度0.1 米,距离小于0.5 米时自动报警提示;倒车完毕,按下“停止”键,系统停止运行。3 系统设计方案本设计主要是进行距离的测

2、量和报警,设计中涉及到的内容较多,主要是将单片机控制模块、测距模块、蜂鸣器报警模块、显示模块这几个模块结合起来。而本设计的核心是测距模块,其他相关模块都是在测距的基础上拓展起来的,首先选择合适的测距传感器,之后选择合适单片机芯片,以下就是从相关方面来论述的。3.1 激光测距一个典型的激光测距系统应具备以下几个单元:激光发射单元,激光接收单元,距离计算与显示单元,准直与聚焦单元。系统工作时,激光由发射单元发出,以光速到达目标物后反射回来,被接收单元接收,通过距离计算与显示单元得到目标物距离。激光测距中的一种方法是脉冲测距法。目前,脉冲激光测距获得了广泛的应用。脉冲激光测距利用激光脉冲持续时间极短

3、,能量在时间上相对集中。其基本原理是:在测距点向被测目标发射一束短而强的激光脉冲,光脉冲发射到目标上后其中一小部分激光反射到测距点被光功能接收器所接收。假定光脉冲在发射点与目标间来回一次所经历的时间间隔为 t,那么被测目标的距离 D 为: D=c.t/2 (3-1)在式 3-1 中 C 表示光速,当认为光速一定时(不考虑大气中光速的微小变化),脉冲时间误差为t,那么由此可以确定测距精度:(3-2)2ct测距系统设计该系统主要由脉冲半导体激光二极管发射电路、光学元件、漫反射物体、接收系统、高精度时间转换芯 TDC-GP1、单片机构成,激光发射电路打出窄脉宽光脉冲,同时将发射脉冲输入 TDC-GP

4、1 的 START 端口,触发时差测量。一旦从物体传回的发射脉冲达到了光电探测器(接收电路) 则给了 TDC 产生一个 STOP 信号,这个时候时差测量完成。TDCGP1 记录从 START 到 STOP 脉冲之间的时差,用于计算所测物体与发射端的距离。单片机对于 TDC-GP1 进行寄存器配置以及时间测量控制,时间测量结果传回给单片机通过算法进行距离的精确计算和处理,再将结果送给液晶显示出来。3.2 红外测距红外线发射器不断发射出频率为 40 kHz 的红外线,经障碍物反射,红外线接收器接收到反射波信号,并将其转变为电信号。测出发射波与接收到反射波的时间差 t ,即可求出距离:(3-3)2c

5、st(3-3) 式中, c 为光速度,一般取 3 108 m/ s。本文采用“计数”方式,通过单片机处理进行测量,其基本原理是:红外线发射器始终处于发射红外线的状态,当红外接收器第一次接收到障碍物反射回的红外线时,经电路处理单片机给出一个计数启动信号,单片机的计数器开始以一定频率计数;当红外线接收器第二次接收到反射回的红外线时,经电路处理单片机给出一个停止计数脉冲,计数器停止计数。通过编程,单片机自动处理,用脉冲的周期 T 乘以脉冲数 n 就得到发射红外线到接收红外线的时间差 t ,即:t = nT (3-4) ,(3-4) 式代入(3-3) 式就得测量距离。系统的建立根据以上的测距原理,设计

6、出系统的基本构架。红外线测距系统的红外发射电路发射出 40 kHz 频率的红外线,当遇到障碍物红外线发生漫反射,红外线接收电路第一次接收到反射的红外线时,给单片机一个信号脉冲,启动单片机内的计数器,计数器置位进入计数状态;当接收电路第二次接收到反射器的红外线时,经单片机处理给出一个信号脉冲,使计数器停止计数,数据被锁存,然后经单片机处理,将测量的距离显示在显示器上。3.3 超声波测距与激光测距、红外线测距相比, 超声波对外界光线、色彩和电磁场不敏感, 更适于黑暗、电磁干扰强、有毒、灰尘或烟雾的恶劣环境, 在识别透明及漫反射性差的物体上也更有优势。超声波测距是一种非接触式测量, 广泛应用于倒车防

7、撞雷达、机器人接近觉、海洋测量、物体识别等领域。 超声波测距原理超声波测距从机理上可以分为共振式和脉冲反射式两种,该设计采用后者。工作时由超声波发射极发射超声波, 同时开始计时, 超声波在空气中传播 , 当碰到障碍物时, 由于其良好的反射能力而被反射, 由超声波接收极接收 , 此时计时结束。记超声波往返的时间为 t, 根据 s= ct / 2 计算超声波收发极与障碍物之间的距离, 这就是通常所说的渡越时间法, 也称时间差测距法。其中 c 为超声波波速, 与环境温度有关, 在测量精度要求高的场合要考虑温度影响 , 可由软件进行调整补偿; 在测量精度要求不是很严格的情况下, 可以忽略温度的影响,

8、认为 c 为常数, 设计中取 c= 340 m/ s。根据对以上三种传感器性能的比较,虽然能明显看出来激光传感器是比较理想的选择,但是它的价格却比较高,而且安全度不够高。而且汽车在行驶的过程中测距传感器测距时应具有较强的抗干扰能力和较短的响应时间,因此选用超声波传感器作为此设计方案的传感器探头。4 系统硬件设计此方案选择 51 单片机作为控制核心,所测得的距离数值 LCD 液晶显示器显示,与障碍物之间的距离低于安全距离时利用蜂鸣器报警声提示,超声波发射信号由 51 单片机的 P2.1 口送出到超声波发射电路,将超声波发送出去,超声波接收电路由 CX20106A 芯片和超声波接收探头组成的电路构

9、成,报警系统由蜂鸣器电路构成。该超声波测距系统硬件电路组成比较简单, 包括单片机、超声波测距模块、LCD1602 液晶显示器、按键 4 部分。总体框图如图 4-1。图 4-1 总体框图4.1 控制核心 STC12C5A60S2STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟、机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12 倍。内部集成 MAX810 专用复位电路,2 路 PWM,8路高速 10 位 A/D 转换(250K/S),针对实时性要求比较高的系统。完全可以满足本系统设计要求。最小

10、系统图如图 4-2。图 4-2 单片机最小系统4.2 超声波测距模块根据经济适用的原则,选择 DYP-ME007 超声波传感器作为测距模块,其基本性指标如下:1.使用电压:DC5V 2.静态电流:小于 2mA3.电平输出:高 5V 4.电平输出:低 0V5.感应角度:不大于 15 度 6.探测距离:2cm-750cm 7.高精度:可达 3mm接线方式,VCC、trig(控制端) 、echo(接收端) 、GND 地线。本产品使用方法:一个控制口发一个 10US 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方

11、可算出距离.如此不断的周期测,就可以达到你移动测量的值了。模块工作原理:(1)采用 IO 触发测距,给至少 10us 的高电平信号;(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过 IO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间测试距离=(高电平时间*声速(340M/S)/2。超声波传感器实物图如图 4-3.图 4-3 超声波传感器实物图4.3 数据显示模块出于人性化设计考虑,系统设计采用 LCD 液晶显示器实时显示汽车与障碍物之间的距离,便于驾驶员倒车操作。1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字

12、、符号等的点阵型液晶模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义 CGRAM,显示效果也不好) 。1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字) 。市面上字符液晶大多数是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。本设计所选用的LCD1602 的规格及硬件原理如图 4-4、4-5

13、。图 4-4 LCD1602 的规格示意图图 4-5LCD1602 的硬件原理图5 系统软件设计由超声波测距模块的工作原理:采用 I/O 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间测试距离=(高电平时间 *声速(340M/S)/2。系统软件设计中包括触发程序、时间记录及距离计算程序、LCD 显示程序、蜂鸣器驱动发生程序及各程序块的连接程序。5.1 总体流程首先是单片机给超声波模块至少 10us 的高电平信号,当超声波模块接收到回波后超声波模块输出管

14、脚输出高电平,随即启动定时器,直至管脚电平变成低电平,计时结束,结合公式即可计算出距离。距离的数据经转化后用LCD1602 直观显示出来,与此同时单片的一直对距离数据进行判断,如果距离小于设定的安全距离时,执行蜂鸣器驱动程序,发出报警。主程序图如图 5-1.图 5-1 主程序图5.2 启动超声波模块程序采用 I/O 触发测距,单片机通过 I/O 口给超声波测距模块至少 10us 的高电平信号。为保证精确计时同时节约硬件资源减少冗余代码,可采用_nop()库函数做延时函数进行触发操作。部分代码如下:void StartModule() TX=1;/启动模块, (TX)向超声波模块发出大于 10u

15、s 的触发脉冲_nop_(); _nop_(); /一个_nop_()相当于延时 1us,从而启动超声波测距模块_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_();TX=0;/脉冲发射结束5.3 LCD1602 显示算法程序工作时由超声波发射极发射超声波, 同时开始计时, 超声波在空气中传播, 当碰到障碍物时,

16、由于其良好的反射能力而被反射, 由超声波接收极接收, 此时计时结束。记超声波往返的时间为 t, 根据 s= ct / 2 计算超声波收发极与障碍物之间的距离。计算出来的距离通过算法处理可用 LCD1602 液晶显示器直观显示出来。部分算法代码如下:void Conut(void)time=TH0*256+TL0;/超声波发射返回时间用定时器来计时(16 位)TH0=0;/重新初始化TL0=0;S=(time*1.7)/10; /单位为 MM ,结合超声波 340m/s 来计算if(S=7000)|flag=1) /超出测量范围,7M 为最大范围 flag=0;DisplayListChar(0

17、, 1, table1); /显示相应超出范围的提示else /正常距离范围则实时显示距离disbuff0=S%10;disbuff1=S/10%10;disbuff2=S/100%10;disbuff3=S/1000;DisplayListChar(0, 0, Range);DisplayListChar(0, 1, table);DisplayOneChar(9, 1, ASCIIdisbuff3);DisplayOneChar(10, 1, ASCIIdisbuff2);DisplayOneChar(11, 1, ASCIIdisbuff1);DisplayOneChar(12, 1, ASCII10);DisplayOneChar(13, 1, ASCIIdisbuff0);5.4 蜂鸣器驱动算法程序在本设计中,以简单易行为设计准则,报警装置用蜂鸣器充当。单片机的I/O 口可以直接驱动小型蜂鸣器,但是由于电流很小,声音强度不足,所以可将 I/O 口输出的驱动信号经放大电路放大后驱动蜂鸣器。蜂鸣器驱动代码如下:void Ring(void)unsigned int i;for(i=0;i200;i+)DelayUs2x(200);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。