超声波倒车雷达毕业设计.doc

上传人:good****022 文档编号:116419501 上传时间:2022-07-05 格式:DOC 页数:42 大小:2.02MB
返回 下载 相关 举报
超声波倒车雷达毕业设计.doc_第1页
第1页 / 共42页
超声波倒车雷达毕业设计.doc_第2页
第2页 / 共42页
超声波倒车雷达毕业设计.doc_第3页
第3页 / 共42页
点击查看更多>>
资源描述
威 海 职 业 学 院毕 业 设 计 任 务 书专业 电子工艺与管理年级 XXX班级 一班姓名 XXX 学号 XXX威 海 职 业 学 院 教 务 处 编 印毕业设计指导须知一、毕业设计是高职教学过程中一个十分重要的环节。是锻炼学生运用所学知识正确分析和解决实际问题的一个重要方面,也是高职培养应用型专门人才的要求。二、导教师应为具有讲师以上或相应职称的有关专业人员,且专业对口(指所指导专业应同所聘教师专业职称相一致)。经系、教务处审查同意后,才能指导学生的毕业设计。三、学生应以严肃认真,实事求是的态度完成设计。要独立思考,自己动手,不得抄袭或找人代笔。四、毕业设计选题要符合专业培养目标的要求。论文(任务书)写作要做到论点明确、论据充分,论理透彻,语言准确恰当,书面整洁、字迹工整,图纸应清晰、工整,符合设计要求,符合国家有关标准和部颁标准。字数、图纸数量符合有关要求。并在规定的时间内完成。五、答辩过程中学生要严认真,文明礼貌,谦虚谨慎,认真回答答辩主持人,委员等提出的问题。六、填报有关表格时,应按项目要求逐项填实、填全、填清。学号XXX姓名 XXX学 制 三年制专业 电子工艺与管理年级 XXX教学班负责人 XXX班级 一班指导教师姓名XXX职务或职称 副教授设 计 题 目 超声波倒车雷达指导教师评语:成绩: 指导教师签名: 工作单位 年 月 日系复审意见:成绩: 复审人签名: 职称: 公章 年 月 日教务处终审意见:公章 年 月 日答 辩 情 况 记 录答 辩 题 目答 辩 情 况正确基本正确经提示回 答不正确未回答此表由主持答辩的同志填写。答辩委员会(或小组)评语:成绩: 主持答辩人签名: 职称: 月 日一、毕业设计的任务和具体要求:毕业设计的任务:超声波倒车雷达毕业设计的具体要求:1.1 设计要求:利用SPCE061A单片机、三个超声波测距模组实现超声波倒车雷达,要求具有下述功能: 1. 可以语音提示模组探测范围内的0.35m1.5m范围内的障碍物;2. 语音提示可指明哪一个方向(或区域)有障碍物在探测范围内; 3. 利用三个LED发光二极管表示三个传感器探测范围内是否有障碍物,当在探测范围内有障碍物时,发光管以一定频率闪烁,闪烁的频率以距离定,距离越近频率越高。1.2 技术要求1.方案所需所有代码,资源都存放在一颗SPCE061A单片机当中。1.3 备注如果有显示模块(如LCD液晶),可以在增加显示部分代码,在显示模块上显示出当前状态,以及报警时障碍物的距离数据二、毕业设计应完成的图纸图3.1 SPCE061内部结构图 见3页图3.2 61板实物图 见5页图3.3 超声波测距模组结构图 见6页图3.4 模组外接电源接口及供电方式选择跳线 见7页 图3.5 模组测距模式选择跳线 见8页图3.6 J2跳线和J8接口的位置示意图 见8页图3.7 为CD4052内部结构图, 见10页图3.8 为CD4052的引脚图。 见10页图4.1 系统硬件结构图 见11页图5.1 SPCEA061A最小系统 见12页图5.2 电源模块 见13页图5.3 放音模块电路图 见13页图5.4 超声波谐振频率发生电路,调理电路 见14页图5.5 超声波回波接受处理电路 见14页图5.6 外部单独电源输入接口及选择跳线 见14页图5.7 测距模式选择跳线 见15页图5.8 超声波测距模组接口 见15页图5.9 转接板电路原理 见16页图5.10 显示电路 见16页图6.1 超声波信号测量 见17页图6.2 超声波测距子函数流程图 见19页图6.3 16Hz中断流程图 见20页图6.4 EXTI外部中断流程图 见21页图6.5 语音播放程序流程图 见21页图6.6 IRQ5的2Hz中断服务程序 见22页图6.7 显示刷新程序 见23页图6.8 主程序流程图 见24页图6.9 测距结果处理程序流程图 见25页图7.1 转接板示意图 见26页图7.2 系统连接示意图 见26页三、其他要求:论文写作要做到论点明确、论据充分,论理透彻,书面整洁,图纸应清晰,符合设计要求。四、毕业设计的期限: 自 2008 年 9 月 3 日至 2008 年 10 月 11 日五、毕业设计(论文)进度计划:起 至 日 期工 作 内 容09.0309.06确定毕业设计的课题09.0709.15搜集毕业设计的资料和内容,09.1609.17对毕业设计课题进行研究和讨论09.189.19修改验证中出现的问题,通过讨论解决问题9.209.21再次对毕业设计进行分析和解决问题9.229.27写毕业论文9.2810.03对论文进行修改和进一步的补充10.0410.11准备毕业答辩超声波倒车雷达摘 要倒车雷达又称泊车辅助系统,是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了安全性。一般由超声波传感器(俗称探头)、控制器和显示器等部分组成,现在市场上的倒车雷达大多采用超声波测距原理,驾驶者在倒车时,启动倒车雷达,在控制器的控制下,由装置于车尾保险杠上的探头发送超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经控制器进行数据处理,判断出障碍物的位置,由显示器显示距离并发出警示信号,得到及时警示,从而使驾驶者倒 车时做到心中有数,使倒车变得更轻松。倒车雷达的提示方式可分为液晶、语言和声音三种;接收方式有无线传输和有线传输等。本方案采用语音提示的方式,本文介绍了以SPCE061A单片机为核心的一种低成本、高精度、微型化,并有数字显示和声光报警功能的倒车雷达系统。利用SPCE061A 单片机所具备的单芯片语音功能,外接三个超声波测距模组,组成一个示例的倒车雷达系统,语音提示报警(0.35m1.5m)范围内的障碍物。关键词:倒车雷达 超声波 单片机SPCE061A 目 录第1章 前言1第2章 实现功能 2第3章 核心器件简介3 3.1 SPCE061A 3 3.1.1 SPCE061A简介 4 3.1.2 芯片特性 43.2 SPCE061A精简开发板 43.3 超声波测距模组 53.4 转接板 9第4章 系统总体方案11第5章 系统硬件设计125.1 SPCE061A精简开发板电路原理 12 5.1.1 SPCE061最小系统 12 5.1.2 电源模板 12 5.1.3 放音模板 135.2 超声波测距模组电路原理 13 5.2.1 超声波谐振频率发生电路、调理电路13 5.2.2 超声波回波接受处理电路 14 5.2.3 超声波测距模组电源接口 14 5.2.4 超声波测距模式选择跳线 15 5.2.5 超声波测距模组接口155.3 转接板电路155.4 显示电路 16第6章 系统软件设计 17 6.1 超声波测距原理17 6.2 软件结构18 6.3 各模块程序说明18 6.3.1 超声波测距程序 18 6.3.2 语音播放程序 22 6.3.3 显示刷新程序 23 6.3.4 主程序25第7章 连接与操作说明 26参考文献 29致谢 3011 超声波倒车雷达第一章 前言倒车雷达又称泊车辅助系统,是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了安全性。 一般由超声波传感器(俗称探头)、控制器和显示器等部分组成,现在市场上的倒车雷达大多采用超声波测距原理,驾驶者在倒车时,启动倒车雷达,在控制器的控制下,由装置于车尾保险杠上的探头发送超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经控制器进行数据处理,判断出障碍物的位置,由显示器显示距离并发出警示信号,得到及时警示,从而使驾驶者倒 车时做到心中有数,使倒车变得更轻松。倒车雷达的提示方式可分为液晶、语言和声音三种;接收方式有无线传输和有线传输等。本方案采用语音提示的方式,利用SPCE061A 单片机所具备的单芯片语音功能,外接三个超声波测距模组,组成一个示例的倒车雷达系统,语音提示报警(0.35m1.5m)范围内的障碍物。第二章 实现功能利用SPCE061A单片机、三个超声波测距模组实现超声波倒车雷达,要求具有下述功能: 1.可以语音提示模组探测范围内(0.35m1.5m)的障碍物; 2.语音提示可指明哪一个方向(或区域)有障碍物在探测范围内; 3.利用三个LED发光二极管表示三个传感器探测范围内是否有障碍物,当在探测范围内有障碍物时,发光二极管以一定频率闪烁,闪烁的频率以距离定,距离越近频率越高。本方案要求所有的语音资源、程序代码都存放在一颗SPCE061A片内Flash当中;当语音播报时,如检测到左后方有障碍物,则用语音播放:“左后方”,如右后方有障碍物,则语音播方“右后方”;当检查到中间的传感器探测范围内有障碍特时,语音播放:“后方”。而连续播放提示的间隔,要大于或等于3秒,以免过于频繁的播报语音。第三章 核心器件简介本系统采用SPCE061A单片机作为主控制器,传感器模块采用凌阳大学计划的“超声波测距模组”。另外,为了使这三个传感器模块能够组合在一起,并且可靠的工作,还需要一个转接板,可以利用4052模拟开关器件制作; 需要外接三个发光二极管。下面分别介绍这些模块的特性。3.1 SPCE061芯片特性3.1.1 SPCE061简介SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,具有易学易用、效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放和语音识别的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件: SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE),用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口实现。 下图为SPCE061A单片机的内部结构框图图3.1 SPCE061内部结构图3.1.2 芯片特性. 16位nSP微处理器; . 工作电压:内核工作电压VDD为3.03.6V(CPU),IO口工作电压VDDH为VDD5.5V(I/O); . CPU时钟:0.32MHz49.152MHz; . 内置2K字SRAM; . 内置32K闪存ROM; . 可编程音频处理; . 晶体振荡器; . 系统处于备用状态下(时钟处于停止状态),耗电小于2A3.6V; . 2个16位可编程定时器/计数器(可自动预置初始计数值); . 2个10位DAC(数-模转换)输出通道; . 32位通用可编程输入/输出端口; . 14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒; . 具备触键唤醒的功能; . 使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据; . 锁相环PLL振荡器提供系统时钟信号; . 32768Hz实时时钟; . 7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器; . 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; . 具备串行设备接口; . 低电压复位(LVR)功和低电压监测(LVD)功能; . 内置在线仿真(ICE,In- Circuit Emulator)接口。3.2 SPCE061A精简开发板SPCE061A精简开发板(简称61板),是以凌阳16位单片机SPCE061A为核心的精简开发仿真实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便学生随身携带!使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。61板上的主要功能模块如下: . SPCE061A单片机最小系统外围电路模块; . 电源输入模块; . 音频电路(包含MIC输入、DAC音频功放输出)模块; . 按键模块; . I/O端口接口模块; . 调试、下载接口模块;下图为61板的实物图图3.2 61板实物图3.3 超声波测距模组超声波测距模组是为方便学生进行单片机接口方面的学习专门设计的模块,超声波测距模组可以方便地和61板连接,可应用在小距离测距、机器人检测、障碍物检测等方面,可用于验证方车辆倒车雷达以及家居安防系统等应用方案验证。下图 3.3为超声波测距模组的结构框图: 图. 超声波测距模组结构图主要功能: 三种测距模式选择跳线J1(短距、中距、可调距): 1. 短距:10cm80cm左右(根据被测物表面材料决定); 2. 中距:80cm400cm左右(根据被测物表面材料决定); 3. 可调:范围由可调节参数确定;使用方法: 一般应用时,只需要用10PIN排线把J8与SPCE061A的IOB低八位接口接起来,同时设置好J7、J1、J2跳线就完成硬件的连接了。不同测距模式的选择只需改变测距模式跳线J1的连接方法即可。提供给模组的电源必须在4.5V以上,而且尽量保持电源电压的稳定。模组工作的性能与被测物表面材料有很大关系,如毛料、布料对超声波的反射率很小,会严重影响测量结果。电源输入:模组提供了两种电源输入方式,一为用61板通过10PIN排线为模组供电(61板上J5选择5V要求最好不要低于4.5V),此时要把J9跳到5V的一端;另一为直接为模组供电,通过模组上的电源输入口J7引入,此时需要把J9跳线跳到IN的一端。外接电源仅是为了给模组提高超声波发射功率、提高后级运放性能用,最高不要超过12V。 模组外接电源接口(J7)以及供电方式选择跳线(J9)如图 3.4所示: 图. 模组外接电源接口及供电方式选择跳线测距模式选择:声波测距时,超存在余波干扰问题,所以针对不同测距范围会有不同的处理方法。模组提供了测距模式选择跳线(J1),可以选择短距测量模式、中距测量模式,或距离可调模式。而针对前两种测量模式,提供了不同参数的范例程序,跳线选择不同的模式时,要选用相对应的程序进行测量;跳线选择LOW时为近距测量模式,选择HIG时为中距测量例程,选择SET时为距离可调模式;凌阳科技大学计划网站上提供了短距测量模式和中距测量模式的完整源程序。 如果用户对超声波测量原理有较深的了解,可以选用距离可调(SET)模式。模组测距模式(测量距离范围)选择跳线J1如图 3.5所示: 图. 模组测距模式选择跳线使用方式: 使用时,用户需把前面的电源输入跳线J7、模式选择跳线J1设置好后,还要把跳线J2短接起来,然后利用排线把J8与SPCE061A的IOB口低八位端口相接,即可使用了。使用时J2跳线和J8跳线的连接方法如下图 3.6所示: 图3.6 J2跳线和J8接口的位置示意图3.4 转接板因为使用多组超声波模组,本方案需要使用一块CD4052模拟开关制作的转接板。本方案设计,会涉及到多路传感器选通控制,所以为了可靠地实现硬件的连接,需要制作一个利用模拟开关设计的转接板。超声波测距模组在使用时,只需要两个端口就可完成测距,一个控制超声波的发射,一个是检测超声波信号的接收信号;而在超声波测距模组中,这两个信号都为数字信号,对模拟开关的要求并不严格,所以选用CD4052作为模拟开关器件。CD4052相当于一个双刀四掷开关,开关接通哪一通道,由输入的2位地址码A0、A1来决定。其真值表见下表。“/E”是禁止端,当“/E”=1时,各通道均不接通。此外,CD4051还设有另一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达15V的交流信号。例如,若模拟开关的供电电源VDD=5V,VSS=0V,当VEE=5V时,只要对此模拟开关施加05V的数字控制信号,就可控制幅度范围为5V5V的模拟信号。CD4052的真值表INPUTSCHANNELONA1A0LLLLHLLHHXLHLHXY0A-ZA:Y0B-ZBY1A-ZA:Y1B-ZBY2A-ZA:Y2B-ZBY3A-ZA:Y3B-ZBnone,图3.7 CD4052的内部结构图图3.8 CD4052的引脚图第四章 系统总体方案介绍本系统以SPCE061A为核心,使用凌阳科技教育推广中心的61板,三个超声波测距模组依次排布,组成线阵的传感器阵列;另外,接有转接板、发光二极管显示模块。系统组成以下图所示:图4.1 系统硬件结构图 SPCE061A单片机作为主控芯片,通过I/O端口来控制CD4052,以选择不同的传感器通道;本方案采用IOB0和IOB1控制CD4052的A0和A1,而IOB2作为检测超声波模组返回的信号,IOB3作为控制超声波模组发射超声波信号的使能控制端口。这样通过CD4052的通道切换,就可以利用较少的端口来完成多个模组的切换使用了。 另外,超声波测距模组采用的是脉冲测量法,其实是测量发射超声波的时刻与接收到反射回波信号的时刻之间的时差,利用超声波在空气中传播速度已知的条件,计算出被测目标与传感器之间的距离。而为了保证测量的可靠,检测回波信号时,采用SPCE061A的外部中断对回波的上升沿进行检测,而且利用定时器B进行计时。在显示控制方面,系统分别利用IOA8、IOA9、IOA10三个端口控制三个发光二极管。 第五章 系统硬件设计5.1 SPCE061A5.1.1 SPCE061A SPCE061A最小系统包括SPCE061A芯片及其外围基本模块,外围基本模块有:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如下图所示。 图5.1 SPCEA061A最小系统本系统,有关SPCE061A单片机最小系统的各个模块都做在61板中,读者可以查阅61板的电路原理图。5.1.2 电源模块SPCE061A的内核供电为3.3V,而I/O端口可接3.3V也可以接5V,所以在电源模块(61板上)中有一个端口电平选择跳线,如图中的J5,但是为了本系统可以可靠的工作,需要给61板外接5V的电源,并将61板的端口电平选择为5V,即J5用跳线帽将V5和VDDH短接。下图为61板上的电源模块图。图5.2 电源模块由于本系统需要的端口高电平为5V,所以图 5.2当中的J5跳线需要跳到1和2上。5.1.3 放音模块语音提示。放音利用的是SPCE061A内部的DAC,电路如图 5.3所示。图中的SPY0030是凌阳公司的产品。和LM386相比,SPY0030还是比较有优势的,比如LM386工作电压需在4V以上,而SPY0030仅需2.4V (两颗电池)即可工作;LM386输出功率100mW以下,SPY0030约700mW。其他特性请参考SPY0030的数据手册。 图5.3 放音模块电路图5.2 超声波测距模组电路原理5.2.1 超声波谐振频率发生电路,调理电路NE555和电容电阻组成的电路产生40KHz的方波,以使超声波传感器产生谐振;而后面的CD4049则对40KHz频率信号进行调理。PLUS_EN1是超声波信号发射的使能控制端口,当该端口接低电平时,模组将不能发射超声波信号,即40KHz的方波。图5.4 超声波谐振频率发生电路、调理电路5.2.2 超声波回波接受处理电路超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,比较电压为LM311的3管脚处,可由J1跳线选择不同的比较电压以选择不同的测距模式。在放大器与比较器之间用PNP三极管(8550)作为通路选择,本方案需要将此通路选择跳线短接上,即把J2短接,固定使三极管导通即可。图5.5 超声波回波接受处理电路5.2.3 超声波测距模组电源接口J7为超声波测距模组的外部电源接口,最高电压不要超过12V,J9为电源选择跳线,VCC_5即为由61板通过10PIN排线引入模组的电源;VCC即为模组的放大器、调理电路供电电源。当用户使用61板为其供电时,要把VCC与VCC_5V短接(本方案的用法);而使用外部电源时要把VCC与VCC_IN短接。 图5.6 外部单独电源输入接口及选择跳线5.2.4 超声波测距模式选择跳线模组提供了测距模式选择跳线J1,可以选择短距测量模式、中距测量模式,或距离可调模式。跳线选择LOW时为近距测量模式,选择HIG时为中距测量模式;选择SET时为距离可调模式。本方案采用可调方式,即选择SET的模式,并将调节模组上的电位器,将比较电压调至3.53.2V(保证模组测距能在0.351.5M的范围都能正常工作即可)。图5.7 测距模式选择跳线5.2.5 超声波测距模组接口本方案采用的三个超声波测距模组都是利用其J8接口,每个模组接出两个控制、检测端口,然后会通过CD4052模拟开关进行选通,所以在实际使用当中,是分时地对每一个模组进行操作。超声波测距模组的J8接口如所图 5.8示;图中的VCC_5在本方案当中由61板供电,即5V。图5.8 超声波测距模组接口5.3 转接板电路前面已简单介绍了转接板的作用,这里介绍一下它的原理图,如图 5.9所示。图中J1直接与61板的J6相接,即与61板的IOB口低八位接口相接,可知图中的VDD为61板供电,即5V;而A0和A1分别接SPCE061A的IOB0和IOB1,以控制CD4052的两个地址位,以控制通道的选通。IOB2接PLUS_B,作为回波信号的检测输入,不过经过CD4052的选通,接到哪一个模组,由IOB0和IOB1的输出决定;同样COM_EN为超声波测距模组的信号发射使能控制,接到SPCE061A的IOB3。CD4052的另外一端,接出COM_EN1/2/3分别接三个模组的发射使能,另外还用三个10K的电阻下拉到地,以保证没有选通的模组不会发射出超声波信号。J2、J3、J4分别接三个超声波测距模组的J8接口。图5.9 转接板电路原理5.4 显示电路显示电路较为简单,直接使用三个I/O口控制三个发光二极管。如图 5.10所示:图5.10显示电路第六章 系统软件设计6.1 超声波测距原理超声波脉冲法测距原理: 声波在其传播介质中被定义为纵波。当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声。假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声波到目标的距离。这就是本系统的测量原理。这里声波传播的介质为空气,采用不可见的超声波。 假设室温下声波在空气中的传播速度是335.5m/s,测量得到的声波从声源到达目标然后返回声源的时间是t秒,距离d可以由下列公式计算:d=33550(cm/s)t(s) 因为声波经过的距离是声源与目标之间距离的两倍,声源与目标之间的距离应该是d/2。超声波测距模组信号: 图 6.1为超声波模组上三极管Q1的集电极处测量的波形图,此时J2跳线短接,使Q1始终导通;而传感器距目标面的距离为2米。图 6.1超声波信号测量图图中的波形为示波器抓拍图,1通道为Q1集电极测得波形,即上方的波形;通道2为发射端测得波形。 图中可见,接收回路中测得的超声波信号共有两个波束,第一个波束为余波信号,即超声波接收头在发射头发射信号(一组40KHz的脉冲)后,马上就接收到了超声波信号,并持续一段时间。另一个波束为有效信号,即经过被测物表面反射的回波信号。 超声波测距时,需要测的是开始发射到接收到信号的时间差,在上图中就可看出,需要检测的有效信号为反射物反射的回波信号,故要尽量避免检测到余波信号,这也是超声波检测中存在最小测量盲区的主要原因。 软件控制脉冲发射、检测回波信号: 程序设计时需要采用脉冲测量法,由SPCE061A控制模组发生40KHz的脉冲信号,每次测量发射的脉冲数至少要12个完整的40KHz脉冲(程序中为20个左右)。同时发射信号前要打开计数器,进行计时;等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。 采用外部中断对回波信号进行检测(回波信号送到单片机的为一序列方波脉冲)。接收到回波信号后,马上读取计数器中的数值,此数据即为需要测量的时间差数据。为避免测量数据的误差,程序中对测距数据的处理方法是:每进行一次测距,利用时基中断测量4次,即取得4组数据,经过处理后得到这一次测距值。6.2 软件结构本方案的软件系统主要包含下列模块: 超声波测距程序:负责超声波测距的控制、结果计算等,另外有部分代码在中断服务程序中,主要码在UserFunction.c以及IntDocument.c文件。 语音播放程序:语音播放控制,主要代码在Speech.h,而语音中断服务程序在isr.asm文件中,但为了使语音播放程序在初始化时不影响用户的其它中断,在isr.asm中还有一个中断初始化程序。 中断程序:主要指IntDocument.c文件,包括超声波测距的中断服务代码,以及用于显示刷新的IRQ4中断服务程序。 系统程序:主要指system.c文件,包含系统端口初始化、测量结果处理、以及显示刷新程序。 主程序:主控程序负责控制整个系统的工作流程。6.3 各模块程序说明6.3.1 超声波测距程序主程序流程图以及相关的程序流程图如图 6.2所图6.2 主程序流程图测距控制程序Demo程序中,超声波测距的功能函数流程图见图 6.3。用户需要先调用测距初始化函数InitMeasure(),再调用该函数BeginMeasure()即可进行一次测距操作,函数返回值为测量结果。每一次测距要进行四次测量,这四次的测量结果需要经过处理后才可得到最终的测距返回值,而四次测量的控制以及测量结果的处理都是在这个函数中完成的,具体的处理方法:每一次测距中的四次测量的间隔时间用16Hz的时基中断来控制;每一次测量,先发射20个40KHz脉冲(参见16Hz中断),然后使能测量时间基准计数器,当计数到4ms时,打开EXT1外部中断,等待回波反射到接收头。四次测量全部完成后,再对测量的结果进行处理、换算,以及出错处理,用户可以根据不同的应用对数据处理部分的程序作适当的调整。其中等待4ms的原因:压电式的电声传感器存在余波干扰,而有部份声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号。超声波测距的功能函数流程图见图 6.3。用户需要先调用测距初始化函InitMeasure(),再调用该函数BeginMeasure()即可进行一次测距操作,函数返回值为测量结果。每一次测距要进行四次测量,这四次的测量结果需要经过处理后才可得到最终的测距返回值,而四次测量的控制以及测量结果的处理都是在这个函数中完成的,具体的处理方法:每一次测距中的四次测量的间隔时间用16Hz的时基中断来控制;每一次测量,先发射20个40KHz脉冲(参见16Hz中断),然后使能测量时间基准计数器(本方案当中使用TimerB),当计数到预设延时后,打开EXT1外部中断,等待回波反射到接收头。四次测量全部完成后,再对测量的结果进行处理、换算,。其中等待预设延时的原因:压电式的电声传感器存在余波干扰,而有部份声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号。图6.3 超声波测距子函数流程图16Hz时基中断处理程序16Hz的时基中断处理程序里,主要进行检查上次测量是否超时,若超时便会转到超时处理程序;然后进行下一次的测量启动,即再次发送20个40KHz方波脉冲。16Hz中断流程图 6.16Hz中断流程图。图6.4 16Hz中断流程图EXT1外部中断程序 当回波触发控制器的外部中断后,程序会转到EXT1外部中断服务子程序中,读取测量结果,并作数据的初步处理。流程图见:图 6.5 EXT1外部中断流程图。图6.5 EXTI外部中断流程图6.3.2 语音播放程序全方案采用A2000的语音压缩算法,播放A2000格式的语音资源,作为语音提示的功能;为了让系统在语音播放期间,其它的中断能照常工作;因此在每一次语音播放前,进行中断的初始化操作,实际上是利用了SACM语音库当中使用到的一个中断设置变量:R_InterruptStatus。该变量在语音库支持文件:hardware.asm当中定义;每次进行语音播放的初始化操作时,语音库当中会从该变量读取之前用户设置的中断,并以此为基础设置语音库进行语音播放所需要打开的中断。所以,中断的初始化操作,也就是将当前中户的中断设置情况写入变量:R_InterruptStatus当中即可。 另外,为了防止语音播报过于频繁,本方案采用2Hz时基进行计数,每次播放语音提示前,先判断距离上一次语音提示的播放是否超过3秒(即2Hz中断当中计数6次以上)?如超过则可以进行这次的播放,如果不符合要求,则退出。 图6.6为语音播放程序的流程图:图6.6 语音播放程序流程图IRQ5的2Hz中断服务程序当中,对一个用于计数(时)的变量进行累加,以配合语音播放程序当中对两次播放的时间间隔的判断。为了避免出现不断累加,而溢出清零,在中断服务程序当中加入了限制,即当计数的变量计数值大于6(即超过了3秒),则关闭IRQ5的2Hz中断;等待下次播放语音时再打开2Hz中断。2Hz中断服务程序的流程图如图 6.6:另外,语音播放程序还需要在FIQ的TimerA中断当中,调用语音播放的中断服务程序;由于比较简单,这里就不多作介绍,用户可以查看相关的实验指导书,原理上都是一样的。6.3.3 显示刷新程序本方案使用IOA8、IOA9、IOA10三个端口控制三个发光二极管(LED)作为显示,每一个LED对应一个超声波测距模组,当探测到0.35m1.5m的范围内没有障碍物时,对应的LED是常灭的;当探测到0.35m1.5m的范围内有障碍物时,对应的LED则以一定频率闪烁,而且距离越近则闪烁的频率越高。 系统以IRQ4的1KHz中断对显示进行扫描,并设置有三个变量保存对应传感器模组的频率设置数据,即Show_Freq_Set0、Show_Freq_Set1、Show_Freq_Set2。当频率设置数据的值为0时,系统则不对对应的LED进行显示翻转,则对应的LED不会闪烁;此外,系统还定义有三个变量(Show_Counter_1KHzx, x=02)作为1KHz的计数器,对应用个LED,而当频率设置数据不为0时,计数器会不断地计数(以1KHz),当计数器的计数值累加到与频率设置数据一样时,则会使对应的LED显示状态进行输出翻转,并对计数器进行清零,周而复始。由此可知,当频率设置数据非零时,该数据越小,则对应LED的闪烁频率越高。 图6.7 显示刷新程序图 6.7为在IRQ4的1KHz中断程序当中调用的显示刷新程序流程图。 注:图 6.7当中仅给出了针对一路传感器模组状态显示的流程图,即Show_Freq_Set0的,其它两个LED的显示刷新程序流程图也一样类似,这里就不再给出。6.3.4 主程序 由于很多处理操作在中断当中完成了,所以本方案的主程序并不复杂,图 6.8为本方案的主程序流程图。图中,系统使用的中断主要指IRQ4的1KHz中断,而测量通道选择即通过I/O端口选通CD4052的通道,以决定当前的测量是对哪一个超声波测距模组。 图6.8主程序流程图通过主程序流程图可看出,系统是在不断的对三组超声波测距模组进行测距操作,并将每次测距的结果进行处理,以更新对应的LED显示频率设置,以及在符合要求的条件下进行语音提示播放。在测距结果处理程序当中,系统会针对每一个通道的测距结果进行判断、处理;当某一通道的测距结果大于1.5m时,则让对应的LED保持灭的状态,并将该通道的显示频率设置数据设为0;当测距结果小于1.5m时,则设置对应的显示频率设置数据,数据的大小与测量的结果按一定比例成正比即可。 当测距结果处理程序会对当前的三组超声波测距模组所探测到的障碍物的距离进行判断,当有某一组或者一组以上的模组探测到障碍物在0.35m1.5m的范围内时,会进行语音提示的播放。 图6.9为测距结果处理程序。图中,后方、左后方以及右后方,表示的是三个不同的通道的超声波测距模组所测量的区域。图6.9 测距结果处理程序流程图第七章 连接与操作说明由于本系统对电源有一定的要求,所以在制作时,需要给61板接入5V的电源(并非使用电源盒),并将61板上的端口电平选择跳线J5跳到5V一端,使端口的高电平为5V,并通过61板的I/O接口(J6)给转接板、超声波测距模组进行供电。 本方案当中,可将转接板设计如图 7.1所示;图中,J1接61板的J6,作为CD4052选通的控制端口,以及超声波测距的接口;J2J4分别接三组超声波测距模组。图7.1 转接板示意图而在使用超声波测距模组时,需要注意要将模组上的J2跳线短接,J1测距模式选择选在SET可调选项,并将模组上电位器调节,将比较电压调节至3.5V3.2V之间。调节时,可测量J1靠近电位器的引针上的电压。另外,还需要将J9跳线设置在5V一端。 整个系统的连线示意图如图 7.2所示 图7.2 系统连接示意图系统硬件连接好以后,便可以将程序下载到61板当中;针对本方案,凌阳科技教育推广中心提供了参考的程序范例,用户可以直接对程序进行编译、下载。作说明:操按照前面所述制作好转接板、显示板后,再连接好61板和各个模组板,用户还需要为61板连接上电源(外接5V)、喇叭;如果之前没有下载本方案的参考程序,用户还需要将程序下载到61板中,并全速运行,然后才可以看到运行的情况,并对其进行操作。 下载参考程序 本方案的源代码提供在资料文件夹当中的“参考源代码”中的“Car_Radar”文件夹当中;直接打开其中的Car_Radar.spj文件,即可打开工程;然后对所打开的工程进行编译。 确认编译无误后,然后再确认一下61板的连线是否连接好,以及下载线/调度器等的连接;如果一切有关下载的设置、连接无误,便可以下载运行程序。 调试 本系统操作方法比较简单,系统工作后用户无需对61板进行操作;开始测试时将开关至于ON状态,此时控制板上的电源指示灯就会亮起,说明此时控制器进入工作状态。将三个超声波测距模组列开,并用物体挡在超声波测距模组上探头正对的前面,只要距离在0.35m1.5m之内,就会有间断的语音提示,以示对应的模组前面有障碍物。如果测试时障碍物与探头之间的距离在30cm左右,雷达能够正常工作,而两者之间在1.5m时,雷达不能正常工作,则说明电源的电压有点低; 如果测试时障碍物与探头之间的距离在30cm左右,雷达不能够正常工作,则应检查各连线接口连接是否接好,元器件的完好情况,及电压稳定情况等。按照本方案文档的接法,定义接1号模组的超声波测距模组为左后方探头,2号为正后方探头,3号为右后方探头。当各个位置的模组探头探测到障碍物,会有如表 7-5中所示结果: 情况一情况二情况三条件正后方、左后方与右后方有障碍物 仅左后方有障碍物仅右后方有障碍物提示语音后方左后方右后方超声波测距模组V2.0版与61板进行中距测距应用接线实物图短/中距测距注意事项及声明: 1测距时保证传感器与被测物间,以及测量轴线上没有障碍物; 2尽量保证传感器轴线与被测物表面垂直; 3实际测距范围与被测物表面材料等因素有关,一般不要测量表面为毛料的物体表面.参考文献文献、资料名称编著者出版单位凌阳16位单片机应用基础M 罗亚非北京:北京航空航天大学出版社,2003年12月第1版凌阳十六位单片机原理及应用M薛钧义 张彦斌 虞鹤松 樊波.北京:北京航空航天出版社 2003年2月第1版 C程序设计M谭浩强北京:清华大学出版社.1999年12月第2版IBM-PC汇编语言程序设计M沈美明 温冬蝉 北京:清华大学出版社.2001年8月第二版实验指导书凌阳大学计划资料凌阳大学计划网站致谢首先衷心地感谢我的导师左翠红,毕业设计从选择课题到完成论文,从理论原理的讲解到实际问题的解决,饱含着左翠红老师的心血他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样。左翠红老师的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,老师、同学、给了我无言的帮助,在这里请接受我诚挚的谢意!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!