学士学位论文基于超声波倒车雷达系统.docx
《学士学位论文基于超声波倒车雷达系统.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于超声波倒车雷达系统.docx(21页珍藏版)》请在冰豆网上搜索。
![学士学位论文基于超声波倒车雷达系统.docx](https://file1.bdocx.com/fileroot1/2023-7/26/d45c7b3a-2339-4905-a708-225d53831e75/d45c7b3a-2339-4905-a708-225d53831e751.gif)
学士学位论文基于超声波倒车雷达系统
安徽机电职业技术学院
毕业设计说明书
基于超声波倒车雷达系统
系(部)电气工程系
专业机电一体化
班级机电3105
姓名尹磊
学号1302103210
指导教师刘苏英
2012~2013学年第1学期
摘要
本方案分析了超声波倒车雷达的原理,介绍了利用SPCE061A单片机配合三个V2.0的超声波测距模组实现超声波倒车雷达的方案设计。
方案中采用凌阳的SPCE061A单片机,并利用其丰富的资源,实现对多路传感器的控制;并结合其独有的语音特色,将语音提示的功能结合到方案当中。
关键词:
单片机、SPCE061A、超声波测距、倒车雷达、语音提示
目录
摘要2
前言4
第一章设计任务及要求5
1.1任务5
1.2技术要求5
第二章总体方案设计6
第三章模块设计7
3.1各单元模块设计7
3.2超声波测距模组V2.0电路原理8
3.3转接板电路和显示电路11
3.4系统连线图12
第四章系统软件设计13
4.1超声波测距原理13
4.2软件架构13
4.3各模块程序说明14
第五章系统组装、调试与测试20
5.1调试所用的基本仪器清单20
5.2把各部分电路连接起来组成完整电路20
5.3设计发挥20
设计总结21
参考文献22
前言
倒车雷达又称停车辅助系统,一般由超声波传感器,控制器和显示器部分组成.车在倒车时,启动倒车雷达,在控制器的控制下,由装在车尾的探头发送超声波,遇到障碍物,产生回波信号,传感器在接收到回波信号后,经控制器进行数据处理,判断出障碍物的位置,由显示器(即3个发光二极管)发出警告,得到及时警示,从而使驾驶者倒车时变得更为轻松,另外,车体的左右各有一个探头,与车尾的探头同样原理,当车在左右拐时可以发出警告.
第一章设计任务及要求
1.1任务
利用SPCEE061单片机.,三个超声波测距模组实现超声波倒车雷达;
可以语音提示模组探测范围内的0.31米~1.5米范围内的障碍物;
语音提示可指明哪一个方向有障碍物;
利用三个LED发光二极管表示三个传感器探测范围内是否有障碍物.,当在探测范围在没有障碍物时,三个二极管以一定的频率周期性的闪烁;当在探测范围内有障碍物时.,发光二极管以一定的频率闪烁.,闪烁的频率以离障碍物的距离定.,距离越进频率越高.
1.2技术要求
方案所需所有代码、资源都存放在一颗SPCE061A单片机当中.
第二章总体方案设计
本系统以SPCE061A为核心,使用凌阳教育推广中心的61板,三个超声波测局距摸组V2.0依次排布,组成线阵的传感器阵列;另外,接有转界板,发光二极管显示模块,系统组成以下图所示.
图2-1系统硬件结构图
1.SPCE061A弹片机作为主控心片,通过I/O端来控制CD4052,以选择不同的传感器通道;本方案采用IOB0和IOB1控制CD4052的A0和A1,而IOB2作为检测超声波摸组作为返回的信号,IOB9为SPACE061A的TIMERB复用,产生40KHZ的脉冲信号,作为控制超声波模组发射超声波的信号端口,这样通过CD4052的通道切换,就可以用最少的端口来完成多个模组的切换使用了.
2.在显示控制方面,系统分别利用IOA8、IOA9、IOA10三个端口控制三个发光二极管.
第三章模块设计
3.1各单元模块设计
3.1.1SPCE061A最小系统
SPCE061A最小系统包括SPCE061A芯片及其外围基本模块,外围基本模块有:
晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如下图所示.
图3-1SPCE061A最小系统
3.1.2电源模块
SPCE061A的内核供电为3.3V,而I/O端口可接3.3V也可以接5V,所以在电源模块(61板上)中有一个端口电平选择跳线,如图中的J5,但是为了本系统可以可靠的工作,需要给61板外接5V的电源,并将61板的端口电平选择为5V,即J5用跳线帽将V5和VDDH短接.下图为61板上的电源模块图.
图3-2板上的电源模块图
由于本系统需要的端口高电平为5V,所以图3-2当中的J5跳线需要跳到1和2上.
3.1.3放音模块
语音提示.放音利用的是SPCE061A内部的DAC,电路如图3-3所示.图中的SPY0030是凌阳公司的产品.和LM386相比,SPY0030还是比较有优势的,比如LM386工作电压需在4V以上,而SPY0030仅需2.4V(两颗电池)即可工作;LM386输出功率100mW以下,SPY0030约700mW.
图3-3放音模块电路
3.2超声波测距模组V2.0电路原理
图3-4结构示意图
一般应用时,只需要用两条10PIN排线把J5与SPCE061A的IOB口低八位连接,J4与IOB口高八位连接,同时设置好J1、J2跳线就完成硬件的连接了.不同测距模式的选择只需改变测距模式跳线J1的连接方法即可.
3.2.1超声波谐振频率调理电路
由单片机产生40KHz的方波,并通过模组接口(J4)送到模组的CD4049,而后面CD4049则对40KHz频率信号进行调理;以使超声波传感器产生谐振.
3.2.2超声波回波接收处理电路
超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,比较电压为LM311的3管脚处,可由J1跳线选择不同的比较电压以选择不同的测距模式.
图3-5超声波回波接收处理电路
3.2.3电源接口
J3为外部电源接口,最高电压不要超过12V,J2为电源选择跳线,VCC_5即为由61板通过10PIN排线引入模组的电源;VCC即为模组的放大器、调理电路供电电源.当用户使用61板为其供电时,要把VCC与VCC_5V短接;而使用外部电源时,要把VCC与VCC_IN短接.
图3-6外部单独电源输入接口及选择跳线
J3为外部电源接口,最高电压不要超过12V,J2为电源选择跳线,VCC_5即为由61板通过10PIN排线引入模组的电源;VCC即为模组的放大器、调理电路的供电电源.当用户使用61板为其供电时,要把VCC与VCC_5V短接;而使用外部电源时,要把VCC与VCC_
3.2.4超声波测距模式选择跳线
模组提供了测距模式选择跳线J1,可以选择短距测量模式、中距测量模式,或距离可调模式.跳线选择LOW时为近距测量模式,选择HIG时为中距测量模式;选SET时为距离可调模式.本方案采即可,即将J1跳线跳到LOW端.
图3-7测距模式选择跳线
3.2.5超声波测距模组V2.0接口
本方案采用的三个超声波测距模组都是利用其J4、J5接口,每个模组接出两个控制、检测端口,然后会通过CD4052模拟开关进行选通,所以在实际使用当中,是分时地对每一个模组进行操作.超声波测距模组的J4、J5接口如所图3-8示;图中的VCC_5在本方案当中由61板供电,即5V.
图3-8超声波测距模组接口
3.3转接板电路和显示电路
3.3.1转接板电路
前面已简单介绍了转接板的作用了,这里介绍一下它的原理图,图中J1直接与61板的J6相接,即与61板的IOB口低八位接口相接,可知图中的VDD为61板供电,5V;而A0和A1分别接SPCE061A的IOB0和IOB1,以控制CD4052的两个地址位,以控制通道的选通.IOB2接PLUS_B,作为回波信号的检测输入,不过经过CD4052的选通,接到哪一个模组,由IOB0和IOB1的输出决定;J2与61板的J7相连,即COM_EN接入IOB9,将会由SPCE061A的TimerB产生40KHz的信号为超声波测距模组的提供超声波信号.
CD4052的另外一端,接出COM_EN1/2/3分别接三个模组的发射使能,另外还用三个10K的电阻下拉到地,以保证没有选通的模组不会发射出超声波信号.
J3、J4为一组,接一个超声波测距模组V2.0板上的J4和J5接口;而转接板上的J5、J6、J7、J8分别对应另外两个模组
图3-9转接板电路原理图
3.3.2转接板示意图
由于本系统对电源有一定的要求,所以在制作时,需要给61板接入5V的电源(并非使用电源盒),并将61板上的端口电平选择跳线J5跳到5V一端,使端口的高电平为5V,并通过61板的I/O接口(J6)给转接板、超声波测距模组进行供电.
本方案当中,可将转接板设计如图3-9所示;图中,J1接61板的J6,J2接61板上的J7,作为CD4052选通的控制端口,以及超声波测距的接口;J3~J8分别接三组V2.0版本的超声波测距模组而在使用超声波测距模组时,J1测距模式选择选在短距测距模式选项.另外,还需要将J2跳线设置在5V一端
图3-10转接板示意图
3.3.3显示电路
显示电路较为简单,直接使用三个I/O口控制三个发光二极管.如图3-11所示:
图3-11显示电路
3.4系统连线图
3.4.1整个系统的连线示意图如图3-12所示:
图3-12整个系统的连线示意图
第四章系统软件设计
4.1超声波测距原理
超声波脉冲法测距原理:
声波在其传播介质中被定义为纵波.当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声.假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声波到目标的距离.这就是本系统的测量原理.这里声波传播的介质为空气,采用不可见的超声波.
假设室温下声波在空气中的传播速度是335.5m/s,测量得到的声波从声源到达目标然后返回声源的时间是t秒,距离d可以由下列公式计算:
d=33550(cm/s)×t(s)
因为声波经过的距离是声源与目标之间距离的两倍,声源与目标之间的距离应该是d/2.
软件控制脉冲发射、检测回波信号:
模组配套的Demo程序采用的是脉冲测量法,由SPCE061A控制模组发生40KHz的脉冲信号,每次测量发射的脉冲数至少要12个完整的40KHz脉冲.同时发射信号前要打开计数器,进行计时;等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰.
采用外部中断对回波信号进行检测(回波信号送到单片机的为一序列方波脉冲).接收到回波信号后,马上读取计数器中的数值,此数据即为需要测量的时间差数据.为避免测量数据的误差,Demo程序中对测距数据的处理方法是:
每进行一次测距,测量多次,即取得多组数据,经过处理后得到这一次测距值.
4.2软件架构
本方案的软件系统主要包含下列模块:
1.超声波测距程序:
负责超声波测距的控制、结果计算等,另外有部分代码在中断服务程序当中,主要代码在ultrasonic.App.c以及IRQ.c文件.
2.语音播放程序:
语音播放控制,主要代码在Speech.h,而语音中断服务程序在isr.asm文件中,但为了使语音播放程序在初始化时不影响用户的其它中断,在isr.asm当中还有一个中断初始化程序.
3.中断程序:
主要指IRQ.c文件,包括超声波测距的中断服务代码,以及用于显示刷新的IRQ4中断服务程序.
4.系统程序:
主要指system.c文件,包含系统端口初始化、测量结果处理、以及显示刷新程序.
5.主控程序:
负责控制整个系统的工作流程.
4.3各模块程序说明
4.3.1超声波测距程序
1.单次测距控制程序:
超声波测距的功能函数流程图见4-1.用户需要先调用模组接口初始化函数voidInitial_ult(void),再调用该函数unsignedintmeasure_ult(unsignedinttype)即可进行一次测距操作,函数返回值为测量结果.在单次测距函数当中,进入该函数进行测距,都会利用TimerB生成近似40KHz的波形,通过IOB9口输出,而这样的波形输出仅会持续0.5毫秒左右(实际上保证发送出去的40KHz脉冲信号超过二十个以上,具体的时长或个数由测距模式定),然后将TimerB设置为计数器模式,用来计量超声波从发射到接收的时间间隔长度,并启动TimerB的计时;当TimerB计时达到一定值时(具体的时间值由测距模式定)打开EXT1外部中断,等待回波反射的接收.当EXT1外部中断检测到回波信号的脉冲时,会在中断服务程序当中读取TimerB的计数值,并通过全局变量通知单次测距函数已接收到回波信号,以及所读取的当次计数值.
每次测量接收到回波信号后,都会对测量的结果进行处理、换算,用户可以根据不同的应用对数据处理部分的程序作适当的调整.其中等待一定时间才开启EXT1外部中断的原因:
压电式的电声传感器存在余波干扰,而有部份声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号.
图4-1超声波测距子函数流程图
②EXT1外部中断程序
当回波触发控制器的外部中断后,程序会转到EXT1外部中断服务子程序中,读取测量结果,并作数据的初步处理.流程图见:
图4.3.2
图4-2EXT1外部中断流程图
4.3.3语音播放程序
全方案采用A2000的语音压缩算法,播放A2000格式的语音资源,作为语音提示的功能;为了让系统在语音播放期间,其它的中断能照常工作;因此在每一次语音播放前,进行中断的初始化操作,实际上是利用了SACM语音库当中使用到的一个中断设置变量:
R_InterruptStatus.该变量在语音库支持文件:
hardware.asm当中定义;每次进行语音播放的初始化操作时,语音库当中会从该变量读取之前用户设置的中断,并以此为基础设置语音库进行语音播放所需要打开的中断.所以,中断的初始化操作,也就是将当前中户的中断设置情况写入变量:
R_InterruptStatus当中即可.
另外,为了防止语音播报过于频繁,本方案采用2Hz时基进行计数,每次播放语音提示前,先判断距离上一次语音提示的播放是否超过3秒(即2Hz中断当中计数6次以上)?
如超过则可以进行这次的播放,如果不符合要求,则退出.
图4-3为语音播放程序的流程图:
图4-3语音播放程序流程
IRQ5的2Hz中断服务程序当中,对一个用于计数(时)的变量进行累加,以配合语音播放程序当中对两次播放的时间间隔的判断.为了避免出现不断累加,而溢出清零,在中断服务程序当中加入了限制,即当计数的变量计数值大于6(即超过了3秒),则关闭IRQ5的2Hz中断;等待下次播放语音时再打开2Hz中断.2Hz中断服务程序的流程图如图4-4
图4-4IRQ5的2Hz中断服务程序
语音播放程序还需要在FIQ的TimerA中断当中,调用语音播放的中断服务程序;
4.3.5显示刷新程序
本方案使用IOA8、IOA9、IOA10三个端口控制三个发光二极管(LED)作为显示,每一个LED对应一个超声波测距模组,当探测到0.35~1.5m的范围内没有障碍物时,对应的LED是以一定的频率周期性的闪烁的;当探测到0.35~1.5m的范围内有障碍物时,对应的LED则以与原来不同的频率闪烁,而且距离越近则闪烁的频率越高.
系统以IRQ4的1KHz中断对显示进行扫描,并设置有三个变量保存对应传感器模组的频率设置数据,即Show_Freq_Set[0]、Show_Freq_Set[1]、Show_Freq_Set[2].当频率设置数据的值为0时,系统则不对对应的LED进行显示翻转,则对应的LED不会闪烁;此外,系统还定义有三个变量(Show_Counter_1KHz[x].,x=0~2)作为1KHz的计数器,对应用个LED,而当频率设置数据不为0时,计数器会不断地计数(以1KHz),当计数器的计数值累加到与频率设置数据一样时,则会使对应的LED显示状态进行输出翻转,并对计数器进行清零,周而复始.由此可知,当频率设置数据非零时,该数据越小,则对应LED的闪烁频率越高.图5.6为在IRQ4的1KHz中断程序当中调用的显示刷新程序流程图.
注:
图4-4当中仅给出了针对一路传感器模组状态显示的流程图,即Show_Freq_Set[0]的,其它两个LED的显示刷新程序流程图也一样类似,这里就不再给出.
图4-5显示刷新程序
主程序由于很多处理操作在中断当中完成了,所以本方案的主程序并不复杂,图4-5为本方案的主程序流程图.
图中,系统使用的中断主要指IRQ4的1KHz中断,而测量通道选择即通过I/O端口选通CD4052的通道,以决定当前的测量是对哪一个超声波测距模组.
通过主程序流程图可看出,系统是在不断的对三组超声波测距模组进行测距操作,并将每次测距的结果进行处理,以更新对应的LED显示频率设置,以及在符合要求的条件下进行语音提示播放.
图4-6主程序流程图
在测距结果处理程序当中,系统会针对每一个通道的测距结果进行判断、处理;当某一通道的测距结果大于1.5m时,则让对应的LED保持灭的状态,并将该通道的显示频率设置数据设为0;当测距结果小于1.5m时,则设置对应的显示频率设置数据,数据的大小与测量的结果按一定比例成正比即可.
此外,由于超声波测距模组V2.0版本的接口程序定义,当测量超时时,返回值为0,即当超声波模组测量的目标超出最大测量范围时,测量结果为0;所以程序里面可以对这个结果处理一下,将测量值为0时当作>1.5m处理.
当测距结果处理程序会对当前的三组超声波测距模组所探测到的障碍物的距离进行判断,当有某一组或者一组以上的模组探测到障碍物在0.35~1.5m的范围内时,会进行语音提示的播放.
图4-7为测距结果处理程序.图中,后方、左后方以及右后方,表示的是三个不同通道的超声波测距模组所测量的区域
图4-7测距结果处理程序流程图
第五章系统组装、调试与测试
5.1调试所用的基本仪器清单
数字电路实验仪、数字万用表、计算机、直流稳压电源.
5.2把各部分电路连接起来组成完整电路
对电路进行抗干扰能力检测.把雷达传感器模块的LOW接口短接,接通单片机电源开关,把三个雷达的接收/发射端口分别对准障碍物进行检测,同时观察对应发光二极管的闪烁频率,可得到如表6.1的调试结果:
表6-1
情况一
情况二
情况三
情况四
情况五
条件
无障碍物
两个方向及其以上以上有障碍物
仅后方有碍物
仅左后方有
障碍物
仅右后方
有障碍物
语音提示
不提示
后方
后方
左后方
右后方
发光二极管提示
三个二极管以一定的频率(该频率较有障碍物时小)周期性的闪烁
能同时提示三个方向
的障碍物.,离障碍物远.,闪烁频率小;离障碍近.,闪烁频率大
绿色二极管的闪烁频率增加
黄色二极管的闪烁频率增加加
红色二极管
的闪烁频率增加
注:
(左后方:
黄灯.右后方:
红灯.后方:
绿灯.)
我们实现了、语音控制和声音播报等功能,同时具有发光二极管显示效果,显示亮度有明显的变化.
调试效果能够满足题目基本要求和发挥部分的要求,而且效果良好.
5.3设计发挥
我们将小车和雷达结合在一起,组成了超声波倒车雷达系统,让雷达可以方便灵活地探测周围的障碍物.
设计总结
设计感言:
对我们来说这是一项具有挑战性的工作,通过这么多天的努力,我们最终完成了项目的制作.这次活动让我们增长了见识,丰富了知识,磨练了意志.这期间有失败时的痛苦,也有成功时的喜悦.遇到问题时有老师和同学的帮助,这增强了我们的团队合作能力,在此,要特别感谢给我们提供帮助的老师和同学,离开他们的帮助我们的项目是不会成功的.
设计结果:
如表6-1
参考文献
[1].谭浩强《.C程序设计[M]》.北京:
清华大学出版社.1999年12月第2版
[2].杨素行著《模拟电子技术简明教程》第二版高等教育出版社
[3]、沈美明、温冬蝉.《IBM-PC汇编语言程序设计[M].》北京:
清华大学出版社.2001年8月第二版
[4]、凌阳科技大学《61板傻瓜教程》