收藏 分销(赏)

单片机测距系统.doc

上传人:xrp****65 文档编号:6868012 上传时间:2024-12-22 格式:DOC 页数:18 大小:834.50KB
下载 相关 举报
单片机测距系统.doc_第1页
第1页 / 共18页
单片机测距系统.doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述
数理与信息工程学院《单片机原理及应用》期末课程设计——基于单片机超声波测距系统的设计 数理与信息工程学院 《单片机原理及应用》期末课程设计 题 目: 基于单片机超声波测距系统的设计 专 业: 计算机科学与技术(专升本) 班 级: 计算机081班 姓 名: 阮 程 程 学 号: 08191109 指导老师: 余 水 宝 成 绩: ( 2009.6 ) 目 录 第1节 引 言……………………………………………………………………………1 1.1 超声波测距系统概述…………………………………………………………2 1.1.1超声波传感器…………………………………………………………2 1.1.2超声波测距的基本原理………………………………………………2 1.2 本设计任务和主要内容………………………………………………………3 1.2.1设计任务………………………………………………………………3 1.2.2主要内容………………………………………………………………3 第2节 系统主要硬件电路设计………………………………………………………4 2.1 方法论证与比较………………………………………………………………4 2.2 单片机系统电路………………………………………………………………5 2.3 单片机硬件电路………………………………………………………………5 2.3.1单片机系统及显示电路………………………………………………5 2.3.2超声波发射电路………………………………………………………6 2.3.3超声波检测接受电路…………………………………………………7 第3节 系统软件设计…………………………………………………………………9 3.1 超声波测距器的算法设计………………………………………………………9 3.2 主程序设计……………………………………………………………………10 3.3 超声波发射和接收子程序……………………………………………………11 3.4 显示子程序……………………………………………………………………14 3.5 超声波测距控制源程序………………………………………………………15 结束语 ………………………………………………………………………………16 参考文献 ……………………………………………………………………………17 数理与信息工程学院《单片机原理及应用》期末课程设计——基于单片机超声波测距系统的设计 基于单片机超声波测距系统的设计 数理与信息工程学院 08计算机专升本 阮程程 指导教师:余水宝 第1节 引 言 18世纪,意大利传教士兼生物学家斯帕兰·扎尼在研究蝙蝠夜间活动时,发现将蝙蝠眼睛蒙上,在伸手不见五指的黑夜里,它仍能穿梭飞行,可是把蝙蝠的双耳塞住,它就会到处瞎撞。原来,蝙蝠飞行时能发出高频率的尖叫,由它特大的耳廓接收回波,来判定出目标或障碍物及其距离。蝙蝠是靠高频率的尖叫来确定障碍物的位置的。蝙蝠尖叫声的声波频率在每秒2万到10万赫兹之间,我们的耳朵对这样频率范围内的声波是听不到的,这样的声波被称之为超声波。蝙蝠发出超声波,然后借助物体反射回来的回声,就能判断出所接近的物体的大小、形状和运动方式。在自然界中除了蝙蝠还有很多其它动物能发出超声波,如海洋中的海豚也具备很强的超声定位本领。 人们正是从自然界生物中获得了灵感,开始了仿生学研究并取得卓著成果。第二次世界大战时,军舰已使用回声探测术来侦察水下的潜艇。50年代,科学家们将超声波探测技术应用到医学上,到70年代以来,以B型超声成像为代表的医学超声诊断技术已经取得了很快的发展。超声诊断由于安全、简单、经济、信息量丰富而受到医学界的特别赏识。现在超声波已广泛应用于无损探伤物位测量测厚测距等领域。 近二、三十年,特别是近十年来,由于电子技术及压电陶瓷材料的发展,使超声检测技术得到了迅速的发展。超声技术是一门以物理、电子、机械、及材料学为基础的通用技术之一。超声技术是通过超声波产生、传播及接收的物理过程而完成的。超声波具有聚束、定向及反射、透射等特性。 超声检测技术是利用超声波在媒质中的传播特性(声速、衰减、反射、声阻抗等)来实现对非声学量(如密度、浓度、强度、弹性、硬度、粘度、温度、流速、流量、液位、厚度、缺陷等)的测定。它的基本原理是基于超声波在介质中传播时遇到不同的界面,将产生反射,折射,绕射,衰减等现象,从而使传播的声时,振幅,波形,频率等发生相应变化,测定这些规律的变化,便可得到材料的某些性质与内部构造情况。目前,超声波测距在各种场合均已经得到广泛的应用,如汽车倒车、海洋测量、物体识别、工业自动控制、建筑工程测量和机器人视觉识别等。 1.1 超声波测距系统概述 1.1.1 超声波传感器 超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。 测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12 M晶振,所以此系统的测量精度理论上可以达到毫米级。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。 1.1.2 超声波测距的基本原理 超声波发生器在某一时刻发出超声波信号,遇到被测物体后反射回来,被超声波接收器接收到。只要计算出超声波信号从发射到接收到回波信号的时间,知道在介质中的传播速度,就可以计算出距被测物体的距离: (1-1) 式中D为被测物到测距仪之间的距离,S为超声波往返通过的路程,V为超声波在介质中的传播速度,T为超声波从发射到接收所用的时间。为了提高精度,需要考虑不同温度下超声波在空气中传播速度随温度变化的关系: (1-2) 式中,T为实际温度(℃),v的单位为m/s。 1.2 本设计任务和主要内容 1.2.1 设计任务 设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.10-4.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。 1.2.2 主要内容 该系统主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。其主要内容如下: 硬件电路的设计: 1.根据超声波测距的特点,进行系统的整体规划和设计。 2.针对系统的整体功能,对各个模块电路进行具体设计。 3.对超声波发生电路进行论证和设计,产生用于测量的超声波。 4.对超声波接收电路进行论证和设计,接收反射回来的超声波。 5.对数据采样电路进行设计和分析,测量发送和接收的时间,并计算距离。 6.LED数码显示测量的距离值,以文字显示的方式显示测量的距离。 系统软件的设计: 1.超声波测距器的算法设计。 2.系统主程序的设计。 3.发送子程序的设计。 4.接收中断程序的设计。 5.显示子程序的设计。 6.超声波测距控制源程序的设计。 第2节 系统主要硬件电路设计 2.1 方法论证与比较 目前,非接触式测距仪常采用超声波、激光和雷达。 激光测距仪是利用激光对目标的距离进行准确测定的仪器。激光测距仪在工作时向目标射出一束很细的激光,由光电元件接收目标反射的激光束,计时器测定激光束从发射到接收的时间,计算出从观测者到目标的距离。虽然激光测距比较精确,但是需要注意人体安全,制做的难度较大,成本也较高,并且光学系统需要保持干净,否则将会影响测量。 雷达是利用极短的无线电波进行探测的,雷达的组成部分有发射机、天线、接收机和显示器等。由于无线电波传播时,遇到障碍物就能反射回来,雷达就根据这个原理把无线电波发射出去,再用接收装置接收反射回来的无线电波,这样就可以测定目标的方向、距离、高度等。雷达被称为“千里眼”,白天黑夜均能探测远距离的目标,且不受雾、云和雨的阻挡,具有全天候、全天时的特点,并有一定的穿透能力。因此,它常常是军事上必不可少的电子装备。但是,雷达却存在致命的的三大弱点:一是对超低空目标有盲区,“千里眼”实际是远视眼,头顶和鼻子底下有盲区;二是雷达是主动用电波去搜寻目标的,易暴露自身;三是雷达很容易受到干扰,频率相同的电波它不分敌我,一律可以入内。 超声波测距是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。其测距原理与雷达原理相一致,但是在测距方面,超声波却比雷达和激光更有明显的优势。激光和雷达测距仪造价偏高,不利于广泛的普及应用,在某些应用领域有其局限性,一般仅用于军事和工业领域。相比之下,超声波测距系统电路不仅易实现、结构简单和造价低,而且穿透力强,指向性强,传输过程中衰减少,能量消耗缓慢,在介质中传播的距离较远,在传播过程中也不受烟雾、空气能见度等因素的影响,对外界光线、色彩和电磁场不敏感,更适于黑暗、电磁干扰强、有毒、有灰尘或烟雾的恶劣环境,在识别透明及漫反射性差的物体上也更有优势。 另外,超声波与一般声波比较,它的振动频率高,而且波长短,因而具有束射特性,方向性强,可以定向传播,其能量远远大于振幅相同的一般声波,并且具有很高的穿透能力。 2.2 单片机系统电路 根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统设计框图如图2-1所示: 超声波接收 超声波发送 单片机 控制器 LED显示 扫描驱动 图2-1 超声波测距器系统设计框图 2.3 系统硬件电路 本系统主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。其原理图如图2-2所示: 定时器 超声发射器 振荡器 调制器 控 制 超声接收器 接收检测 计时器 显示器 图2-2 超声波测距板原理框图 2.3.1 单片机系统及显示电路 单片机采用AT89S51或其兼容系列,采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机使用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。 单片机系统如图2-3所示: 图2-3 AT89S51单片机图 2.3.2 超声波发射电路 图2-4 超声波发射电路原理图 发射电路主要硬件单元的功能: 单片机 OC1端输出的40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极。另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻 R10、R20一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。 因为本课题属于近距离测量,所以本系统的超声波发生器采用常用的压电式超声波换能器来实现。压电超声波转换器的功能是利用压电晶体谐振工作。其内部结构如图2-4所示,它由两个压电晶片和一个共振板共同组成。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如果没加电压,当共振板接受到超声波时,将压迫压电振荡器做振动,将机械能转换为电信号,这时它就成为超声波接受转换器。另外,超声波发射转换器和接受转换器的结构稍有不同。 共振板 电极 压电晶片 图2-5 超声波转化结构图 2.3.3 超声波检测接受电路 参考红外转化接收期刊的电路采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。 图2-6 超声波接收电路原理图 第3节 系统的软件设计 超声波测距软件设计主要由主程序、超声波发射子程序、超声波接受中断程序及显示子程序组成。下面对超声波测距器的算法、主程序、超声波发射子程序和超声波接受中断程序逐一介绍。 3.1 超声波测距器的算法设计 图3-1示意了超声波测距的原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离计算公式如下: (3-1) D为被测物与测距器的距离,S为声波的来回路程,C为声速,T为声波来回所用的时间。 T R 图3-1超声波测距原理图 声速c与温度有关,如温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返时间,即可求得距离。在系统加入温度传感器来监测环境温度,可进行温度被偿。这里可以用DS18B20测量环境温度,根据不同的环境温度确定一声速提高测距的稳定性。为了增强系统的可靠性,应在软硬件上采用抗干扰措施。 表3-1 不同温度下的超声波声速表 温度/ -30 -20 -10 0 10 20 30 100 声速c(m/s) 313 319 325 323 338 344 349 386 3.2 主程序设计 首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为344 m/s则有: (3-2) T0为计数器T0的计数值。 测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉冲重复测量过程。主程序框图如图3-2所示: 显示结果0.5s 计算距离 等待发射超声波 开始 系统初始化 发送超声波脉冲 图3-2主程序框图 主程序代码如下: START: MOV SP, #4FH MOV R0, #40H ;40~43H为显示数据存放单元(40为最高位) MOV R7, #0BH CLEARDISP: MOV @R0, #00H INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV TMOD, #21H ;T1为8位自动重装模式,T0为16位定时器 MOV TH0, #00H ;65ms初值 MOV TL0, #00H ;40KHz初值 MOV TH1, #0F2H MOV TL1, #0F2H MOV P0, #0FFH MOV P1, #0FFH MOV P2, #0FFH MOV P3, #0FFH MOV R4, #04H ;超声波脉冲个数控制(为赋值的一半) SETB PX0 SETB ET0 SETB EA CLR 00H SETB TR0 ;开启测距定时器 START1: LCALL DISPLAY JNB 00H, START1 ;收到反射信号时标志位为1 CLR EA LCALL WORK ;计算距离子程序 SETB EA CLR 00H SETB TR0 ;重新开启测距定时器 MOV R2, #64H ;测量间隔控制(约4*100=400ms) LOOP: LCALL DISPLAY DJNZ R2, LOOP SJMP START1 3.3 超声波发射和接收子程序 超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。超声波测距系统的软件设计流程如图3-3所示: 外部中断子程序 开始 单片机初始化 定时中断子程序 有回波吗? N Y (a) 主程序流程图 发送超声波 定时中断入口 定时器初始化 三方向均发射完否? N Y 停止发射 返回 (b)定时中断服务子程序 读取时间值 外部中断入口 关外部中断 开外部中断 返回 计算距离 结果输出 (c)外部中断服务子程序 图3-3超声波测距系统的软件设计流程 中断程序如下: ;T0中断,65ms中断一次 INTT0: CLR EA CLR TR0 MOV TH0, #00H MOV TL0, #00H SETB ET1 SETB EA SETB TR0 ;启动计时器T0,用以计算超声波来回时间 SETB TR1 ;开启发超声波用定时器T1 OUT: RETI ;T1中断,发超声波用 INTT1: CPL VOUT DJNZ R4, RETIOUT CLR TR1 ;超声波发送完毕,关T1 CLR ET1 MOV R4, #04H SETB EX0 ;开启接收回波中断 RETIOUT: RETI ;外中断0,收到回波时进入 PINT0: CLR TR0 ;关计数器 CLR TR1 CLR ET1 CLR EA CLR EX0 MOV 44H, TL0 ;将计数值移入处理单元 MOV 45H, TH0 SETB 00H ;接收成功标志 RETI 延时程序如下: DL1MS: MOV R6, #14H DL1: MOV R7, #19H DL2: DJNZ R6, DL2 DJNZ R6, DL1 RET 3.4 显示子程序 显示程序如下: ;40H为最高位,43H为最低位,先扫描高位 DISPLAY: MOV R1, #40H MOV R5, #0F7H PLAY: MOV A, R5 MOV P0, #0FFH MOV P2, A MOV A, @R1 MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A LCALL DL1MS INC R1 MOV A, R5 JNB ACC.0, ENDOUT RR A MOV R5, A AJMP PLAY ENDOUT: MOV P2, #0FFH MOV P0, #0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH ;共阳数码管0,1,2,3,4,5,6,7,8,9,不亮 3.5 超声波测距控制源程序 以下是用汇编语言编写的超声波测距控制源程序: 采用AT89S51 12MHz晶振 显示缓冲单元在40H~43H,使用内存44H、45H、46H用于计算距离 20H用于标志 VOUT EQU P1.0 ;脉冲输出端口 ;中断入口程序 ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI 结 束 语 以前以为只有雷达才能够远距离测量距离,对测距仪器的认识也是知之甚少。在这次实验中,我收集了很多有关测距的知识,也从中学到了很多。包括有哪些常用的测距方式,它们各自的工作原理是什么,它们又存在哪些优势和弱点等等。 在系统设计过程中,每一个步,我都做得很小心,什么时候是用几号字体,公式的输入格式应该如何,图表的应该放在哪个更合适的位置以及图表的标注应该如何把握……第一次,我真正体会到了什么是标准的规范化。而在这个过程中,我也一直朝着这个规范化的目标不断努力,并且努力做得更好。 经过这次设计,可以说,对系统设计的整个流程有了比较深刻的认识。从不知道,到慢慢了解,再到一点点深入认识,直到最后的基本掌握,这就是一个不断努力、不断进步的过程。 在本设计中,通过外部硬件电路来产生40kHz的超声波信号,因而相对于由单片机产生的40kHz超声波信号而言,更加接近超声波传感器的共振频率,因而使超声波传感器的输出最大,可以有效地提高测量距离,测量距离在0.10-4.00m内。 本系统存在的不足之处: 首先,本系统设计的超声波测距系统与激光测距相比,测量的精度不是非常精确,测量精度只有1cm,其精确度有待于提高。其测距误差主要来源于以下几个方面: 1.超声波发射与接收探头与被测点存在一定的角度,这个角度直接影响到测量距离的精确值; 2.超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发; 3.由于工具简陋,实际测量距离也有误差。影响测量误差的因素很多,还包括现场环境干扰、时基脉冲频率等等。 其次,与雷达测距相比,其测量的距离不是很远,本系统设计的测距系统,其测量距离只在0.10-4.00m以内。针对市场需求,本设计还可以加大发射功率,让测量的距离更加的远。在显示方面,也可以对程序做适当改动,使开始发射超声波时LED显示出温度值,到超声波回波接收到以后通过计算得出距离值时,LED自动切换显示距离值,这样在视觉效果上得到更加直观的了解。 参考文献 [1]王振宇. 雷达的弱点——缺点列举法. 中国职工科技报/2006年/12月/8日/第004版 [2]王庆利,袁建敏. 单片机设计案例实践教程(M). 信息产业部电子教育与考试中心组编, 北京邮电大学出版社 2008 [3]求是科技. 单片机典型模块设计实例导航.2版(M). 人民邮电出版社 2008.07 [4]李平, 杜涛, 罗和平. 单片机应用开发与实践(M). 机械工业出版社 2008.8 [5]于殿泓, 王新年. 单片机原理与程序设计实验教程(M). 西安电子科技大学出版社 2007 [5]张萌,和湘,姜斌. 单片机应用系统开发综合实例(M). 清华大学出版社 200707 [6]靳达. 单片机应用系统开发实例导航(M). 人民邮电出版社 2003 [7]余永权. 单片机在控制系统中的应用(M). 电子工业出版社 2003 总 体 评 价 得分 选题不错,格式规范,态度端正 14 16
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服