基于STM32的红外测距系统设计_第1页
基于STM32的红外测距系统设计_第2页
基于STM32的红外测距系统设计_第3页
基于STM32的红外测距系统设计_第4页
基于STM32的红外测距系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STM32的红外测距系统设计基于STM32的红外测距系统设计-PAGEII--PAGEII-基于STM32的红外测距系统设计基于STM32的红外测距系统设计摘要随着现代科学技术的发展,出现了很多新的领域,为了实现对物体近距离、高精度的无线测量,本论文对红外测距领域进行了研究。本论文采用单片机作为处理器,编写A/D转换程序及LCD显示程序,红外传感器作为工作模块,完成一套高精度显示、实时测量的红外测距系统。本系统结构简单、体积小、测量精度高、成本低、方便使用.本论文所介绍的是一种基于STM32单片机并运用日本夏普公司型号为GP2Y0A21的红外传感器所设计的红外测距系统。首先,介绍红外线及红外传感器的分类及应用、STM32单片机的简介与功能;其次,阐述红外测距系统工作原理及基本结构并对单片机、红外传感器、LCD液晶显示屏的工作电路做了介绍;再次,对系统进行了整体设计构想,先后对系统硬件及软件进行设计,并对整个系统的功能进行了调试。最后对整个设计进行总结,说明红外测距系统实现的可行性。关键词红外测距;单片机;A/D转换;LCDSTM32—basedinfraredrangingsystemdesignAbstractWiththedevelopmentofmodernscienceandtechnology,therearemanynewareas,inordertoachievetheobjectcloserange,high—precisionwirelessmeasurement,thistopicofinfraredrangingisstudied.ThistopicusingSCMastheprocessor,towriteA/DconverterandLCDdisplayprogram,aninfraredsensorasaworkingmodule,completesetofprecisiondisplay,real—timemeasurementofinfraredrangingsystem.Thissystemhastheadvantagesofsimplestructure,smallsizeandhighaccuracy,lowcostandconvenientuse.ThispaperintroducedisbasedSTM32microcontrolleranduseofJapan’sSharpCorporationmodelGP2Y0A21infraredsensordesignedinfraredrangingsystem。Firstly,introducetheclassificationandapplicationofinfrareddistancemeasurement,italsointroducesthefunctionofSTM32microcontroller。ThenillustratetheworktheoryandbasicstructureofitandintroducetheLCDscreenandworkcircuit.Again,thesystemhascarriedontheoveralldesignidea,successivelyonthesystemhardwareandsoftwaredesign,andprobesintothefunctionofthewholesystemdebugging.Finally,summarizetheentiredesigntoillustratethefeasibilityofinfrareddistancemeasurement。KeywordsInfraredrange,SCM,A/Dconverter,LCDPAGEII---PAGEIII-目录摘要 =1\*ROMANIAbstract =2\*ROMANIITOC\o"1—4"\h\z\u第1章绪论 41。2本论文主要研究内容 4第2章红外测距系统硬件设计 6HYPERLINK\l”_Toc356383537”2。1红外测距系统的工作原理 6_Toc356383539”2.1。2反射能量法测距原理 62.1。3相位法测距原理 6_Toc356383542”2.2红外测距系统的基本结构 7HYPERLINK\l”_Toc356383543"2。2.1红外传感器模块 82.2。2单片机处理模块 9HYPERLINK\l”_Toc356383545”2.2。3LCD显示模块 16_Toc356383547”第3章红外测距系统的软件设计及功能调试 183.1红外测距系统工作流程 183.2软件程序设计 19HYPERLINK\l”_Toc356383550”3.3硬件功能调试 19HYPERLINK\l”_Toc356383551"3.4软件功能调试 20HYPERLINK\l”_Toc356383552"3。5测量数据绘图 203.6本章小结 23HYPERLINK\l”_Toc356383554”结论 25致谢 26参考文献 27HYPERLINK\l”_Toc356383557"附录A 29HYPERLINK\l”_Toc356383558"附录B 35附录C 38-PAGE10--PAGE5-绪论课题研究背景及意义随着科学技术的不断发展,在测距领域也先后出现了激光测距、微波雷达测距、超声波测距及红外线测距等方式.激光测距是以激光为传输信号对目标物体进行精确的测量。激光测距在工作开始瞬间向物体发射出一束很细的激光,并由接受端接收物体反射回来的激光束,同时计时器通过测定激光束从发射到接收的时间进而计算出从测量者到物体的距离。该方法对使用环境要求较高,应用范围较少.微波雷达测距是军事和工业上开发采用的技术,其技术要求严格和设备价格非常之高,在民用市场上几乎得不到应用.超声波测距原理与激光测距原理相似,只不过是以声音为传输介质,但是此方法灵活性差、组件造价相对昂贵,在市场开拓空间并不大。作为一种应用广泛、测量精度高的测量方式,红外测距利用红外线传播时不扩散、折射率小的特性,根据红外线从发射模块发出到被物体反射回来被接受模块接受所需要的时间,采用相应的测距公式来实现对物体距离的测量。红外测距最早出现于上世纪60年代,是一种以红外线作为传输介质的测量方法。红外测距的研究有着非比寻常的意义,其本身具有其他测距方式没有的特点,技术难度相对不大,系统构成成本较低、性能良好、使用方便、简单,对各行各业均有着不可或缺的贡献,因而其市场需求量更大,发展空间更广.红外测距仪是指用调制的红外光进行精密的距离测量,测量范围一般为1-5公里,在100米以内的范围内则超声波测距更有优势,但是超声波测距无法检测到1米以内的区域距离,而红外测距可以精准的测出这一段距离,本论文研究的就是这一种情况的红外线测距。本论文主要研究内容红外线别名红外光或者热辐射线,是一种波长比红色可见光(约㎜)较长、比微波(约㎜)较短的电磁波.以波长长度为基准,红外线可分为三部分,即近红外线是波长为㎜之间;中红外线是波长为㎜之间;远红外线是波长为㎜之间。物质本身温度在不低于绝对零度(-273.15℃)的情况下均可以产生红外线。它不能引起人的视觉反应,有显著的热效应(易被物体吸收而转化为内能).能产生反射、折射、干涉、衍射等光学现象。不易被云雾等悬浮微粒散射而具有较强的穿透力.凭借着诸多优点,红外线在军事、人造卫星以及工业、卫生、科研等工作领域方面的应用日益广泛,有着不可替代的作用及研究价值。红外测距传感器是以红外线为传输介质的精确测量系统,主要应用于现代科学技术、国防军队建设、工业和农业等领域。按照其功能可以分为五种类型:(1)辐射计,又称“发射计”,是一种用于电磁辐射和光谱测量的装置。(2)搜寻和锁定系统,具有寻找和锁定红外目标的功能,确定其空间位置并对它的运动进行追踪。(3)热成像系统,通过辐射的分布图像。(4)红外测距系统。(5)综合系统,是集于两个或者多个的系统功能的组合系统。本论文选用的红外测距传感器GP2Y0A21是由日本夏普公司推出的一款性价比高、最常用的红外测距传感器,与其前身GP2D12相比,测量射程相同,但探测面积略有增加,可用来对物体的距离进行测量.具有体积小、功耗低、价格便宜等优点,而且测量效果好适合在小范围内高精度测量物体的实时距离。红外传感器GP2Y0A21技术规格如表1所示。表1红外传感器GP2Y0A21技术规格测量射程范围10-80cm最大允许角度〉40°电源电压4。5-5。5V平均功耗33-40mA峰值功耗200mA更新频率/周期25Hz/40ms模拟输出噪声〈200mV单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。本论文选用的单片机型号为STM32F103RBT6,其中STM32代表ARMCortex-M内核32位微控制器;F代表芯片子系列;103代表增强型系列;R表示芯片有64个引脚;B代表内嵌Flash容量为128K字节;T代表芯片封装为LQFP封装;6代表工作温度范围为—40—85℃.红外测距系统硬件设计红外测距系统的工作原理时间差法测距原理时间差法测距原理是将红外测距传感器的红外发射端发送信号与接收端接受信号的时间差t写入单片机中,通过光传播距离公式来计算出传播距离L,见公式(2—1)。(2—1)式中c是光的传播速度为。反射能量法测距原理反射能量法是由发射控制电路控制发光元件发出信号(通常为红外线)射向目标物体,经物体反射后传回系统的接收端,通过光电转换器接收的光能量大小进而计算出目标物体的距离L,见公式(2—2)。(2—2)式中P为接收端接收到的能量,K为常数,其大小由发射系统输出功率、转换效率决定,d为被测目标漫反射率。相位法测距原理相位测距法是利用无线电波段的频率,对红外激光束进行幅度调制并测定调制光往返一次所产生的相位延迟,再根据调制光的波长,换算出此相位延迟所代表的距离D,此方式测量精度非常之高,相对误差可以保持在百分之一以内,但要求被测目标必须能主动发出无线电波产生相应的相位值。见公式(2—3)。(2—3)式中c是光的传播速度为,是调制信号的角频率。三角法测距原理三角法测距原理是由一个红外发射管和一个PSD(PositionSensingDevice位置敏感检测装置)以及相应的计算电路来实现的.而夏普公司的PSD具有更优良的性能,它可以检测到光点落在它上面微小的位移,分辨率达微米,红外传感器GP2Y0A21正是利用了这个特性来实现对目标物体距离的精确测量。如图1所示。图1三角法测距原理红外测距传感器首先通过红外发射管发出红外线,遇到障碍物反射回来落在PSD上形成了一个等腰三角形。而两个底角是固定的,由发射管来确定,且红外发射管到PSD的距离为已知,此时便可运用三角函数来推算出高,即我们要测量的距离。本论文就是采用此原理来实现对物体距离的测量。红外测距系统的基本结构红外测距系统主要有红外传感器模块(包括红外发射端和红外接收端两部分)、单片机处理模块、LCD显示模块三大部分组成。如图2所示。图2红外测距系统基本结构图3为红外测距系统整体硬件原理图,对应系统组成的三大部分,由图可知,系统工作核心为单片机,红外传感器及LCD液晶显示屏分别接收单片机发出的指令来实现各自的功能,最后结合各个部分的功能来实现整个红外测距系统的运作。对于单片机、红外传感器、LCD液晶显示屏的工作原理及实现功能在下文会一一对其进行介绍.图3红外测距系统硬件工作原理图红外传感器模块本模块选用的是由日本夏普公司研发的型号为GP2Y0A21的红外传感器。引脚图如图4所示。此红外传感器一共有三个引脚,其中VCC(电源电压)为信号接入,接入电源电压为4.5—5.5V,单片机5V工作电压即可;GND为接地引脚,连接地线即可;Vout为模拟电压输出引脚,此引脚输出的模拟电压值为0。4-2。4V,相对应的距离范围是80—10㎝。此引脚需要接入单片机处理模块中的多路A/D转换通道上的任意一路上。即STM32单片机内部A/D转换通道的PA7引脚上。图4GP2Y0A21引脚图根据红外传感器的电压和相对应的距离测量值可知,夏普GP2Y0A21系列的红外传感器输出曲线是非线性的,且每个型号的红外传感器输出曲线都不相同.所以对所使用红外传感器的矫正是必须要做的,创建出一张实测输出曲线图,以便在实际测量的过程中获得真实准确的测量数据。图5为本论文使用的红外传感器GP2Y0A21实测输出曲线.

图5夏普GP2Y0A21输出曲线单片机处理模块STM32单片机是ST(意法半导体)公司基于ARM最新Cortex-M架构内核的32位处理器产品,内置128KB的Flash、20K的RAM、12位A/D转换、4个16位定时器和3路USART通讯口等多种功能资源,时钟频率最高可达到72MHz。图6STM32单片机引脚图图6为STM32单片机的引脚图,由图可见此系列单片机功能之全、用法之便、外设之多,一个共有64个扩展I/O口,方便外接工作模块,这里就不一一介绍了。本论文所研究的红外测距系统应用到以下引脚,如表2所示,除了表2所示之外,还有一些电源引脚和接地引脚,在图上没有一一列出,在这里需要说明一下的是,单片机外加电源为+5.0V,内部工作电源为+3.3V,红外传感器的工作电压为4。5—5.5V,直接接到单片机+5.0V上即可,液晶显示屏LCD1602的电源电压为+5.0V。对于红外传感器来说,工作电压的要求相对严格,过高容易烧坏传感器内部结构,过低达不到指定的测量范围,所以条件允许的情况下应该为其单独准备一个+5。0V的电源。表2红外测距系统各引脚功能符号引脚名称连接对象及功能23PA7连接红外传感器Vout引脚,作为单片机的模拟电压输入。14PA0连接LCD1602的R/S引脚,作为LCD的输入引脚,接收判断来自单片机的高低电平,然后选择输入指令或者数据。15PA1连接LCD1602的R/W引脚,作为LCD的输入引脚,接收判断来自单片机的高低电平,然后选择写入指令/数据或者读取信息。16PA2连接LCD1602的E引脚,作为LCD的输入引脚,接收判断来自单片机的高低电平对LCD进行使能。8PC0连接LCD1602的DB0引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。9PC1连接LCD1602的DB1引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。10PC2连接LCD1602的DB2引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。11PC3连接LCD1602的DB3引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据.24PC4连接LCD1602的DB4引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。25PC5连接LCD1602的DB5引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。37PC6连接LCD1602的DB6引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。38PC7连接LCD1602的DB7引脚,作为LCD的输入/输出引脚,并在单片机与LCD之间传输数据。STM32单片机的最小工作系统,顾名思义就是可以使单片机工作起来同时由最少的器件构成的系统.最小工作系统虽然结构简单,但却是大多数单片机控制系统不可缺少的重要部分,所以要熟练运用单片机的各种各样的功能就必须要熟悉掌握并了解最小工作系统的组成.STM32单片机最小工作系统包括以下四部分:1、电源系统图7电源系统工作原理图如图7所示,STM32单片机的供电系统设计还是比较简单、易懂、方便使用理解的。从电脑USB端口或者其它的供电设备接入+5V的电源,当选择U8这个USB座时,此时的功能是通过USB座给单片机开发板下载程序和供电;当选择U4这个USB座时,此时的功能是通过USB座与外界进行通信或者给单片机开发板进行供电;随后经过P2(P2是一个500mA的自恢复保险丝,作用是防止单片机工作过程中短路现象的发生,当电源瞬间短路时,会产生强大的电流,这时会把与单片机相连设备的主板给烧坏,同时对开发板自己也是一种保护)到达开关S1和S2,若要给单片机开发板通电需要接通开关S1和S2,若要切断单片机开发板电源,还需要再一次按下开关S1和S2。当单片机开发板得到+5V的电源后,一路经电解电容C12滤波以后会更加稳定的从C12正极输出,供给单片机开发板所需要的地方;另一路直接接入U7(U7是一个型号为AMS1117的稳压芯片,作用就是把+5V的电压稳压成+3。3V的电压)的3引脚上,经过U7稳压以后由2引脚直接输出+3。3V电源,一路经电容C11滤波以后,作为单片机开发板的电源使用或者作为开发板其它器件的+3.3V电源使用;另一路经过电容C13滤波以后,作为单片机开发板A/D转换模块供电电压。2、复位系统图8复位系统原理图单片机复位系统就是让程序计数器回到0000h这个地址,程序重头开始执行,将一些寄存器、存储单元都置为初始设定值,单片机复位的形式有很多种,比如上电复位、看门狗复位、手动复位等等。本开发板运用的是外接电路来手动复位,如图8所示,STM32单片机采用低电平复位,使复位开关RESET按下单片机接入低电平即完成复位操作。3、时钟系统时钟系统相当于单片机的脉搏,好比人得心跳,其重要性不言而喻。STM32单片机的时钟系统比较复杂,由于单片机本身结构复杂,外设模块又非常多,而需要很高的系统时钟的模块又在少数,同时为了降低时钟功耗减少电磁干扰,单片机一般都采取多种时钟控制方法。本论文主要应用的是SYSCLK(系统时钟)的配置,驱动系统时钟可由3种不同的时钟源:(1)STM32单片机内部有一个8MHzRC高速振荡器,它产生的的时钟信号会兵分2路,一路直接加到时钟选择器开关(SW),这个开关是由STM32单片机的时钟配置寄存器的第0位和第1位来控制,如若时钟配置寄存器的第0位和第1位分别写入0,0的话,内部的8MHzRC高速振荡器产生的8MHz的时钟信号就可以轻松通过SW开关,此时单片机就产生了8MHz的系统时钟。(2)内部的8MHzRC高速振荡器产生的8MHz的时钟信号另一路经过一个1/2分频器变成了4MHz的时钟信号加到了PLLSRC(PLLSRC是由STM32单片机的时钟配置寄存器的第16位来控制的)这个选择开关上,如果时钟配置寄存器的第16位写入一个0的话,内部的8MHzRC高速振荡器产生的8MHz的时钟信号经过1/2分频器变成4MHz的时钟信号,就会成功的通过开关PLLSRC,然后到达STM32单片机的锁相环PLL倍频器(倍频器就是起到一个倍频的作用,通过对时钟配置寄存器的第18-21位来配置),如果对时钟配置寄存器第21-18位写入0110,则就是8倍频输出,之前PLL输入的为4MHz时钟信号,经8倍频以后就输出32MHz的时钟信号了。这时SW第0位和第1位都写入0,则单片机系统时钟为32MHz.(3)在外部8MHz的晶振下和内部的振荡电路的结合下会产生相对稳定的8MHz的系统时钟。其中一路直接通过SW开关设置为01,正好选择了这路产生的8MHz系统时钟信号。另一路是首先通过一个选择开关PLLXTPRE(PLLXTPRE是由时钟配置寄存器的第17位来控制的),如若PLLXTPRE被写入0,这时8MHz的时钟信号就会通过此开关到达开关PLLSRC;如若PLLXTPRE被写入1,这时8MHz的时钟信号就会通过对PLLSRC的设置然后通过锁相环PLL倍频器的扩展加到SW上,通过SW后形成相应系统时钟信号。最后一路是首先遇到了一个1/2分频器,变成4MHz时钟信号后,又到达了PLLXTPRE这个开关然后,随后的设置与上一路时钟信号一样,也可得到相应的系统时钟信号。从以上的介绍可以看出STM32单片机的系统时钟是很复杂的,需要很多寄存器的配置,而每个寄存器又有很多位的配置等等要求,但是时钟系统却又是单片机工作起来必不可少的部分,所以更详细的学习应该对我们来说是非常必要的。图9为STM32单片机的晶振电路与时钟振荡电路。图9晶振电路(左)时钟晶振电路(右)4、程序下载电路在某些定义中,程序下载电路不被定义为单片机的最小工作系统,而本论文所运用到的下载电路是USB下载电路.从图8可知,STM32单片机下载电路支持JATG/SWD下载,同时还支持串口下载通信。由于本论文研究的红外测距系统重点应用USB下载电路,相对于JTAG/SWD下载的原理这里就不详细介绍,其工作原理图如图10所示。图10JTAG/SWD下载电路本论文主要运用到的是STM32单片机的电源电路、复位电路、USB下载电路、A/D转换等功能,前两者在单片机最小工作系统里已经介绍过,下面介绍一下USB下载电路和A/D转换。STM32单片机主要是采用串口通信的工作原理,串行通信就是指数据一位一位地按顺序传输的通信方式,最简单的串口通信电路只需要2根信号线和一根地线皆可以完成,大幅度地降低了使用成本且能实现远距离传输。在本开发板上,运用了PL2303(用于实现USB座和标准RS—232串行端口之间的转换)的芯片功能来实现直接运用电脑USB口下载程序的功能。由图11可以看出,从PL2303输出的信号直接连接到单片机的USART1这个串口模块上,实现了USB转串行通信的连接。图11USB下载电路STM32单片机内置3个12位模拟/数字转换模块(ADC),转换时间最快为。ADC模块是一种逐次逼近型模拟数字转换器,具有18个通道(16个外部信号源和2个内部信号源),也具有自校验功能,在任何条件下都能保证较高的转换精度。A/D转换器的主要技术指标有三点:(1)转换时间,从发出启动命令后到转换结束获得完整的数字信号为止所需的时间。(2)分辨率,是指数字量最低位代表的模拟量数值大小。比如5.0V的电压,系统使用10位的ADC进行测量,就相当于把5。0V分成1024份,那么分辨率为5.0/1024=0。005V。(3)转换精度,是指转换结束后所得的结果相对于实际值的准确度,可用满量程的百分数来表示。本论文所设计的红外测距系统只需要一个ADC即可完成。以ADC1为基础来实现A/D转换功能,首先需要对ADC模块的输入通道进行了解,STM32单片机的A/D转换通道很多,共有18路,本论文应用的是通道7(PA7)来实现对Vout的模拟/数字转换。其次就是ADC模块的工作电压,在这18路通道中只能实现0-3。6V之间的转换,也就是说不支持负电压和大于3。6V电压的工作转换.再者就是以什么样方式来启动A/D转换,如单片机的定时捕获、EXTI线中断等等.然后就是ADC转换器的分组,STM32单片机ADC转换器分为2个通道组:规则通道组(最多包含16个转换通道)和注入通道组(最多包含4个转换通道),两个组别只能一组一组进行转换,当一组进行转换时另一组可视为中断,可打断当前执行也可等到执行完毕随后执行.最后就是把通过A/D转换得到的数据存入相应的数据寄存器,等待下一次转换或者结束。对于A/D转换电路来说,如果单片机处理模块是整个红外测距系统的重点研究模块,那么A/D转换电路就是重中之中。从红外测距系统启动开始,到单片机初始化,再到测量距离的实施,最后到LCD的显示,如果A/D转换功能瘫痪,就意味着单片机与红外传感器的沟通桥梁断掉,也就是说大脑与肢体的分离,是不能让整个系统运转起来的。对于此次所采用的STM32单片机的开发板,还有很多功能,比如测温功能、键盘功能、数码管显示功能等等,由于对于红外测距系统的设计没有直接的关系,就不一一进行详细介绍,各部分的工作原理图见附录B里.LCD显示模块本论文所设计的红外测距系统最终是要求显示出测量物体的距离,所应用的液晶显示屏型号为LCD1602。图12为LCD1602原理图。图12LCD1602原理图由图12可知,LCD1602结构非常简单、使用方便,共有16个引脚,其每个引脚功能表3所示。通过表3所示,把LCD1602每个引脚的功能了解掌握,并与STM32单片机的相应I/O口连接上,烧入显示程序即可完成红外测距系统的最终要求。本章小结本论文所设计的红外测距系统是以STM32单片机为核心,应用由日本夏普公司研发的型号为GP2Y0A21的红外传感器的测距功能和液晶显示屏LCD1602的显示功能。首先通过对单片机的电源电路、复位电路、时钟电路、USB下载电路和A/D转换电路等功能进行主要学习了解并运用,然后了解红外传感器GP2Y0A21的使用方法与特性,结合单片机和红外传感器的功能,采集出电压并通过电压距离公式转换为测量距离。最后通过LCD1602的显示功能给予显示,使整个系统更加完美的来完成对物体距离的测量.表3LCD1602引脚功能图符号名称电平输入/输出功能1VSS电源地2VDD电源(+5V)3VL对比调整电压,接滑动变阻器4R/S0/1输入0=输入指令;1=输入数据5R/W0/1输入0=向LCD写入指令或数据;1=从LCD读取信息6E1,1→0输入使能信号,1时读取信息,1→0时执行命令7DB00/1输入/输出数据总线line0(最低位)8DB10/1输入/输出数据总线line19DB20/1输入/输出数据总线line210DB30/1输入/输出数据总线line311DB40/1输入/输出数据总线line412DB50/1输入/输出数据总线line513DB60/1输入/输出数据总线line614DB70/1输入/输出数据总线line715BLA+VCCLCD背光电源正极16BLKGNDLCD背光电源负极红外测距系统的软件设计及功能调试红外测距系统工作流程在整个红外测距系统工作中,当系统被接入启动电源后,首先,对STM32单片机进行初始化,当单片机接收到红外传感器GP2Y0A21传输的模拟电压信号后,经过A/D转换电路,将输入单片机的模拟电压信号Vout转换为单片机可识别的数字信号,并经过电压距离转换程序,转换出要测量的距离,然后通过10次均值滤波来提高测量的精确度,最后在通过液晶显示屏LCD1602显示出测量结果.红外测距系统工作流程图如图13所示。图13红外测距系统工作流程图软件程序设计对便于编程,一定要有一个好的编译器。对于STM32单片机来讲,可以编译其的开发工具有很多,如IAR,KEIL,ADS等等,本论文研究的过程中选择KEIL进行编程的。下面对KEIL进行一下简介:KEILMDK开发工具源自德国KEIL公司,被全球的嵌入式开发工程师验证和使用,是ARM公司目前推出的最新的针对各种嵌入式处理器的软件开发工具.LEIMDK集成了业内最先进的技术,支持ARM7、ARM9、和最新的Cortex-M系列内核处理器,启动代码不需要人工配置,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。目前KEILMDK在国内ARM开发工具市场已经达到九层的占有率。红外测距系统软件程序主要由主程序、A/D转换程序、延时函数、LCD显示程序等等,在红外测距系统硬件已经确定的情况下,程序设计步骤为:(1)分析红外测距系统功能,对已知条件及运算控制的要求进行掌握,准确地编写出能完成规定任务的程序.(2)确定所需要函数及算法,根据系统设计要求及功能特点,选择相应的解决方法。(3)设计系统工作流程图,采用直观的方式清晰地表达出程序的整体设计思想。(4)根据系统工作流程图编写源程序,对主函数及子函数的功能进行逐一分析,并写出相应的程序。(5)调试源程序,将编好的程序通过编译去除语法及功能上的错误,然后将程序烧入单片机中以达到最终要求。在这里需要说明的是按照红外传感器GP2Y0A21给出使用手册,正常经过软件编程并成功下载到STM32单片机之后,测量结果所绘制的电压距离曲线应该是一条非线性曲线,如图5所示。但是为了更方地使用此款红外传感器,在更多商家的研究与开发下,通过不断地采集实验数据并对此款传感器进行曲线拟合,最终实现了输出曲线近似线性化的处理。本论文采用了这个拟合之后的公式,并在编程时直接编入电压距离转换公式,烧入单片机内直接进行测量。硬件功能调试单片机处理模块、红外传感器模块及LCD显示模块是红外测距系统的三大组成,也是硬件设计中重要的部分,所以在设计完成后要分别对这三部分进行功能调试以达到稳定的工作要求。首先,对单片机处理模块进行调试,此模块是整个红外测距系统工作的大脑,所以对此模块的要求绝对要做到万无一失,对此模块我进行了如下调试:(1)检查开发板电源电路是否短路,造成开发板损坏。(2)检查开发板焊接情况,有无虚焊、错焊等现象。(3)检查带有极性原件的焊接是否焊反。(4)在确定整个开发板无误的情况下,先烧入简单程序试一试开发板的功能,随后再烧入红外测距系统程序。其次,对红外传感器模块进行检查,由于本论文重点研究方向不在传感器内部结构与工作原理方面,所采用的红外传感器GP2Y0A21是由日本夏普公司所提供的完整模块,所以只需把单片机编入A/D转换程序后是红外传感器的Vout引脚接入单片机的PA7引脚,通过串口检验是否有电压输入,如若有则证明此模块可以作为所设计系统的红外传感器模块,如若没有,则需调试或者调换另一模块。最后,对液晶显示屏LCD1602模块进行调试,在调试此模块时,遇到的最大一个问题就是对LCD1602引脚3(VL)功能的忽视,最开始并没有对此引脚接入相应的滑动变阻器,导致了无论怎么调试程序或者更改硬件都无法显示最简单的字符,在不断地实验中发现了这个故障,最终接入相应的滑动变阻器并调整到适当的位置,最终在LCD上得到了显示的字符.再者就是由于红外测距系统中单片机与LCD之间的连接为直接采用跳线连接I/O的方法,为了提高系统工作的稳定性及抗干扰能力,防止工作过程中排针与跳线之间松动,单对LCD显示模块又焊接了一块扩展板,把接地端及电源端尽量合并,减少对跳线的使用,提高系统工作稳定性及可靠性.软件功能调试对于红外测距系统软件的调试,主要是对主程序及子程序的调试,在最开始编写程序的时候,首先对主函数进行大致编写,并逐一加入一些算法公式及相应的函数语句。然后再开始编写相应的功能模块的子程序,对A/D转换程序、LCD1602显示程序等都需要一一编写。在硬件电路制作并调试好以后,便可将编译后的程序下载到单片机中运行调试。根据所设计的电路结构、编写的程序及传感器本身的功能,在测量范围内对各个距离进行多次测量并与实际距离相比较,通过对实验数据的分析,不断调节器件和修改程序使红外测距系统能更精确、更稳定地达到实际使用的要求。测量数据绘图经过对红外测距系统硬件及软件的调试后使整个系统能正常运行,接下来就是要对整个系统的功能进行实际测量与验证。红外传感器GP2Y0A21正常的电压距离输出曲线为图5所示.由于我们采用的是拟合后的测量公式,见公式(3—1),所测量的数据曲线会有所不同.测量数据如表4所示。(3—1)式中R代表测量距离,AD代表输入单片机的AD转换值,m,b,k均为常量;m=0。0000954,b=0。000502,k=4。表4测量数据电压V2.411。340。930.750.630。520。430。40AD754414290235190166141123测量值Rcm9.8720.9629。7541。0650。0961.0169.9879。891/(R+k)0。0720。0400.0290。0220.0180.0150.0130。011实际距离cm1020304050607080经过实际测量,得出如表4的实验数据,为了对比实验结果分别以距离、电压两个变量作为横纵坐标对数据进行绘图,由于数据是离散的且不遵守某个函数,选择采用Labview软件进行作图。图14是距离与电压输出曲线图,也就是经过拟合加入常量后的曲线,与实测输出曲线相比更近乎线性化,由图可知,红外测距系统在10—80cm范围内为正常测量范围.图14电压距离输出曲线图15是1/(R+k)与电压输出曲线,为了使曲线线性化便于分析和处理数据,把公式(3—1)进行整理,使1/(R+k)与电压成线性关系,并绘图。可见,在没有经过公式变换的电压距离输出曲线是一条非线性反比例输出曲线,经过转换,添加常数参数使1/(R+k)与电压成线性关系.图151/(R+k)与电压输出曲线图16,图17,图18是测量数据中采集的照片。图16图17图18本章小结对于整个红外测距系统软件的设计,是在硬件设计大致完成的基础上展开的,主要是对STM32单片机运行程序的编写,还有系统整体工作流程的设计与搭建。在程序编写的过程中我深刻地认识到了各种工作语言的重要性,并且你需要对STM32单片机各种函数语句的使用进行掌握,单是函数语句的名称就很难记住,更何况每个语句的功能及使用方法.所以,通过系统软件的设计,在STM32单片机编程着方面我得到了很大的提高,而在编译每个程序的过程中对语句的修改更让我煞费苦心,有的语句可以很通顺的编写成功,而有些语句则需改了又改才可以正常运行。对我自己的品质也进行了历练,让我更加知道了持之以恒的道理。最终所编写的主要工作程序见附录A。从测量数据与绘图来看,本论文所研究的红外测距系统工作范围在10—80厘米,其电压与距离的不是纯线性关系,是一条平滑的非线性反比例曲线。在工作范围内,此系统可以高精度实现对物体距离的测量。当然,系统在工作稳定性上还需要改进。结论对本论文所设计的红外测距系统进行测量、校准发现其测量范围在10-80厘米内的平面物体。最大误差为0.5厘米,而且能在短时间内多次测量,经修改的红外测距系统稳定性比较好、灵敏度也较高、结构简单,测量时只需保证周围没有干扰物体即可,当然在检测过程中也发现了一些不足的地方:1、根据红外传感器GP2Y0A21的使用手册可知其工作电压有着精确的范围,所以在工作测量时,必须保证其电压源的稳定,且在10厘米之内和80厘米之外传感器均会传回不准确的测量值。也就是说在此范围之外的物体是无法测量的。2、由于本论文所设计的红外测距系统比较简单,所以在测量时红外测距传感器并为固定在指定位置,而恰巧红外传感器接收端与发射端和地面呈的角度对这测量精度有着很大影响,所以在工作测量时,一定要注意红外传感器的摆放角度。3、由于实验条件有限,对此红外测距系统并为在不同温度下分别进行实验,所以不能确定的是外界温度的高低变化对测量精度是否有影响。4、由于实验条件有限,对此红外测距系统并为在加有电磁干扰的情况下进行测量,所以不能确定的是测量过程中外界电磁波的有无对测量精度是否有影响。5、在干净清新的空气下所测量的结果一般要比尘埃过多情况下精准的多,也就是说空气环境质量对此红外测距系统也有着相对的影响.6、对于不同形状的测量物体也有着相对的影响,由于不规则的形状影响了红外线的发射与接收,所得到的测量结果也相对精度较低,于平面物体测量结果的稳定性和精确度就较高。本红外测距系统采用的是红外传感器GP2Y0A21和三角测距原理,由于红外传感器本身测量距离的限制,加上三角测距原理固有的缺陷,经过上述实验分析得知,在稳定的电源、干净清晰的空气、稳定的温度、无外界电磁干扰、无障碍物的情况下,在测量允许的范围内,此红外测距系统能获得较高的测量精度。虽然最终所设计的红外测距系统未能达到更高的要求,但在工作范围内测量结果误差影响相对较小,可以满足日常生活、工业生产的测量要求。同时通过此次课题设计大大地提高了我对单片机的认识,在电路分析及编程能力方面也有着显著的提高,对我意义匪浅。致谢为期将近三个月的时间,本篇论文终于撰写完毕.在此期间我遇到了无数的困难和挫折,都在老师和同学的帮助下顺利度过。本论文的撰写工作主要是在我的导师卢迪老师的悉心指导下完成的,卢迪老师严谨的治学态度和科学的管理方法给我了极大的帮助和信心。在论文撰写期间,她对我进行了无私的指导和帮助,尽其所能的对我的每一项学术知识进行巩固,不厌其烦的对我的论文进行修改。另外,在查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助,在此,我向帮助和指导过我的各位老师表示最衷心的感谢。同时,我要感谢我的学长还有我的同学,在实验室工作和论文撰写期间,他们给予了我热情的帮助,如果没有他们的帮助与启发我将很难完成本篇论文的撰写。还要感谢本文所涉及到的各位学者,本文借鉴了数位学者的理论知识和研究成果,让我更好地完成了对论文的撰写.在论文撰写期间我也要感谢我的家人,是他们给予了我莫大的支持,让我更安心地去完成此次论文地撰写。由于我的学术水平有限,本论文难免会有不足之处,恳请各位老师和同学批评和指正。参考文献彭伟.GP2D12红外测距传感器曲线拟合设计.湖南工业职业技术学院学报.2012,12(1):1-3.韦伟,周凌翱,刘青.一种便携式的红外测距系统.电子设计工程.2011,19(21):1—3.刘昌辉,帅考,杨维荣.嵌入式视觉的测距系统设计.武汉工程大学学报.2015,37(4):1—4.毛玲,李振波,张大伟,陈佳品.基于红外传感器的移动微机器人定位系统.传感器与微系统.2014,33(12):1—4.魏雅,杜云.基于单片机遥控超声波测距智能小车.信息技术.2014,11:1-4.朱杰,何凌霄,林凡强,苟乔欣.最小二乘法分段拟合红外测距系统.电子器件.2014,37(3):1—5.王慧娟,袁全波,房好帅.基于ARM的移动机器人红外测距系统设计.北华航天工业学院学报.2010,20(2):1-3.贺洪江,程琳.基于STM32与MODBUS协议的超声波测距仪设计.仪表技术与传感器.2014,11:1-4.王玲,邹小昱,刘思瑶,陈兵林,朱宏超,朱镕杰.棉花采摘机器人红外测距技术研究.农业机械学报.2014,45(7):1—6.Dagangmiao,ShouxiangJiang,SongminShang,Zhuomingchen.EffectofheattreatmentoninfraredreflectionpropertyofAl—dopedZnOfilms.SolarEnergyMaterialsandSolarCells.2014,127:1-6.ShengLu,Xiao-LiCao,Zhong-JianCai,Gao—RongZengandTanLiu.AnEmbeddedCPUBasedAutomaticRanging.2007MediterraneanConferenceOnControlAndAutomation,Athens-Greece,July27—29,2007:1-5.QiZHANGHaoYANGYuguangWEI.CalibrationofLiDARdeviceusing

infrared

images.InternationalsymposiumonInnovationandsustainabilityofmodernrailway

3rd.Nanchang.2013:1-4.LiangXu,ZhiqiangMeng.AnInfraredRangingSystemForAutomotiveAnti-collision.Internationalworkshoponinternetofthings’technologyandinnovativeapplicationdesign.Beijing.2012:1-5.D.Salido-Monzu,E.Martin—Gorostiza,J。L.Lazaro-Galilea,F。Domingo—Perez.MultipathMitigationforaPhase-BasedInfraredRangingSystemAppliedtoIndoorPositioning.2013InternationalConferenceonIndoorPositioningandIndoorNavigation,October2013:1-5.李录锋.基于AT89C51超声波测距控制系统设计.制造业自动化.2012,34(2):1-3.蔡红霞,刘继勇.基于FPGA脉冲激光测距高精度时间间隔的测量.计算机与数字工程.2013,11:1-3.附录A/**********************************本程序主要功能:将红外测距传感器测得距离显示在lcd上**************************************************/#include”stm32f10x。h”#include"SYSTICK。h”#include"USART.h”#include"led。h"#include”ADC.h"#include"lcd1602.h”#include”GPIO.h"intmain(void){u8i=0;floatfloat_Distance,Sum_Distance=0。0;//浮点距离值单位cmu16Distance;//整型距离之 u16adc;//AD转换值12位AD floatadc1;//AD转换电压 SystemInit();//系统初始化 SYSTICK_Init(); //延时初始化 LCD_GPIO_Config(); LCD_INIT();//LCD初始化 USART1_Config(); //串口1初始化 ADC_Config(); LCD_write_string(5,0,"HUST"); LCD_write_string(1,1,”DISTANCE:"); while(1) { adc=Get_AD(); adc=adc〉〉2;//12位AD转换为10位AD// Distance=(10485/(average_adc+5))-4;float_Distance=(1/(adc*(0。0000954)+0.000502))—4; Sum_Distance+=float_Distance; if(10==i) { float_Distance=Sum_Distance/10; Display_Distance(10,1,float_Distance); printf("滤波后的距离%3.2fcm\n",float_Distance); Sum_Distance=0.0; i=0; }adc1=((float)adc*3。3/4096);//printf("\r\n电压值=%2.2fV\r\n",adc1);// printf("当前距离%dCM\n",Distance);//printf(”AD转换值%d\n",adc);//printf(”实时距离%3。1fcm\n”,float_Distance);// Display_Distance(10,1,float_Distance); i++; delay_ms(100); }}#include”ADC.h”/****************************************************************函数名:ADC_Config功能:ADC初始化***************************************************************/voidADC_Config(void){ ADC_InitTypeDefADC_InitStructure; GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_GPIOA,ENABLE);//打开ADC1时钟,打开GPIOC时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//PA7配置成模拟输入模式 GPIO_InitStructure。GPIO_Mode=GPIO_Mode_AIN; GPIO_Init(GPIOA,&GPIO_InitStructure); ADC_InitStructure.ADC_Mode=ADC_Mode_Independent; //独立模式 ADC_InitStructure.ADC_ScanConvMode=ENABLE; //连续多通道模式 ADC_InitStructure.ADC_ContinuousConvMode=ENABLE; //连续转换 ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None; //模数转换由软件启动ADC_InitStructure。ADC_DataAlign=ADC_DataAlign_Right; //ADC数据右对齐 ADC_InitStructure.ADC_NbrOfChannel=1; //扫描通道数,从1到16 ADC_Init(ADC1,&ADC_InitStructure); ADC_RegularChannelConfig(ADC1,ADC_Channel_7,1,ADC_SampleTime_71Cycles5);//通道PA7,采用时间为55.5周期,1代表规则通道第一个 ADC_Cmd(ADC1,ENABLE);//使能ADC1 ADC_SoftwareStartConvCmd(ADC1,ENABLE);//使能ADC1_7软件转换开始}u16Get_AD(void){ while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//检测转换结束标志位,等待转换结束returnADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果}#include”lcd1602.h"#include"SYSTICK。h”#include”GPIO.h”#include〈stdio.h〉/**********判忙函数*****************/u8LCD_check_busy(){//u8ReadValue;GPIO_Write(GPIOC,0xFF);RS_CLR;delay_us(1);RW_SET;delay_us(1);do{EN_CLR;delay_us(200);EN_SET;delay_us(200);}while(GPIOC-〉IDR&0X80);return(u8)0;}/*************lcd写命令********************/voidLCD_write_com(unsignedcharcom){//while(LCD_check_busy());//????EN_CLR;delay_us(1);RS_CLR;delay_us(1);RW_CLR; delay_us(1);GPIO_Write(GPIOC,com);delay_us(500);EN_SET;delay_ms(1);EN_CLR;delay_us(100);}/***************LCD写数据*****************/voidLCD_write_data(charData){while(LCD_check_busy());EN_CLR;delay_us(1);RS_SET;delay_us(1);RW_CLR;delay_us(1);GPIO_Write(GPIOC,Data);delay_us(500);EN_SET;delay_ms(1);EN_CLR;delay_us(100);}/********清屏***************/voidLCD_Clear(void){LCD_write_com(0x01);delay_ms(5);}/***************lcd写字符串******************/voidLCD_write_string(unsignedcharx,unsignedchary,char*s){if(y==0){LCD_write_com(0x80+x);}else{LCD_write_com(0xc0+x);}while(*s){ LCD_write_data(*s);s++;delay_us(500);}}/***************lcd写字符函数*******************/voidLCD_write_char(unsignedcharx,unsignedchary,unsignedchardata){ if(y==0){LCD_write_com(0x80+x);}else{LCD_write_com(0xc0+x);}LCD_write_data(data);delay_us(500);}/***********lcd初始化***********************/voidLCD_INIT(void){delay_ms(15);LCD_write_com(0x38);delay_ms(5);LCD_write_com(0x38);delay_ms(5);LCD_write_com(0x38);delay_ms(5);LCD_write_com(0x38);delay_ms(5);LCD_write_com(0x08);delay_ms(5);LCD_write_com(0x01);delay_ms(6);LCD_write_com(0x06);delay_ms(5);LCD_write_com(0x0c);delay_ms(5);}/******************************************函数功能:在指定位置显示距离*输入:坐标,距离值****************************************/voidDisplay_Distance(unsignedcharx,unsignedchary,floatnumber){ charnum[10];char*str=num;//为指针分配栈上内存空间 sprintf(str,”%4.2f”,number); LCD_write_string(x,y,str);} 附录B

附录C文献翻译:基于自动测距嵌入式CPU系统的车辆摘要:基于车辆的光机电自动测距系统的结构和原理,在嵌入式CPU的基础上,本文有一个关于汽车测距系统的体系结构与设计和风险评估与决策的讨论和研究。嵌入式系统的解决方案已经得到了良好的实时性能,它可以促进该系统的数据处理能力.本文主要介绍了基于单片机的测距系统、硬件体系结构、软件体系结构和一些其他基于嵌入式系统的关键技术的测距系统等一些缺陷,它还引入了使用两个激光雷达光探测和测距方法的解决方案。一、介绍单片机广泛用于传统的控制系统。但随着科学技术和计算机的发展,发现单片机已经不能满足越来越多的综合性,多功能化,模块化的检测和控制系统的要求。嵌入式系统已经有了在未来控制系统发展趋势。在这里,我们采用了嵌入式的杰出系统之一:Linux.Linux是一个小型的操作系统,只满足嵌入式系统的需求。它包括一个内核和指定的一些系统模块。小型嵌入式Linux包括三个基础元素,包括引导程序,微内核,初始化过程。支持Linux的CPU系统包括X86,Alpha,Sparc,Mips,PPC,Arm等。Linux的存储设备不是传统的软磁盘或硬盘,而是ROM,紧凑型闪存,磁盘上的芯片系统或索尼的记忆芯片.内存储器可以使用通用存储器或特殊的RAM。相比较其他嵌入式系统,Linux是不仅免费的,而且是一个开源项目。作为一个可定制的平台,Linux应该是一种流行的嵌入式产品的系统被应用于许多公司。考虑到Linux是开放性的、良好的支撑网络、稳定安全和其他一些优点,我们倾向于采用Linux作为嵌入式系统的自动测距系统的车辆.因此,本文对基于Linux系统的车载测距系统的研究。我们将详细分析了硬件设计、软件设计和相关的一些关键技术。二、基于单片机的测距系统道路车辆的不断增加,交通事故也日益增多。作为保护车辆运行的安全性的有效手段,车辆风险评估和决策的自动测距系统也应运而生,并逐渐发展起来。该系统是一种检测装置,它可以在碰撞发生之前给司机发出音频或视觉警告信号。它安装在车内,并及时检测障碍物和车辆,并且当之间的距离必要时,发送警告信号让司机采取为应对特殊情况的应急措施,如果必要的话,开始自动制动系统或触发器应急系统,以避免事故的发生.该系统的核心是迅速和准确地测量出车辆与障碍物之间的距离,并及时发送警告信号。如果一个自动制动刹车系统或一个安装气囊安全系统,它也可以自动处理高风险紧急[1,2,3]。基于传统的单片机测距系统被示为图1,它被脉冲触发并有激光头发出检测的光束,并且通过获得的反射光线和距离计算公式来实现。它可以完成的计算,但它也有一些缺陷,它很容易被外部噪声干扰。并且单片机数据处理能力较弱,脉冲频率受限制.因此,如果车辆在非常高的速度运行时,基于单片机测距系统可能过载并进行了错误的计算将其引导到一个错误的决定,这当车辆在高速运行时是很危险的。所以现在我们对基于嵌入式系统的测距系统的车辆进行探讨和研究。该系统是建立在MPC5200嵌入式微处理器,采用光机电一体化技术。首先介绍了车辆的风险评估和决策的自动测距系统的工作原理。其次对它的实用系统组成进行了分析。最后,提供了一个可行的结构自动测距系统的设计。三、主要工作原理A、嵌入式系统的体系结构车辆的自动测距系统主要由微处理器、功率组件、前探测器(左和右)、背面探测器(左和右)、警报部件和GUI界面。该体系结构示于图2。该控制模块由嵌入式微处理器子系统、电源部件、报警部件和GUI模块,它安装在转向室的仪器板的;两个前探测器安装在后视镜中的操舵室的左,右两侧的背面;两到四组探测器安装在汽车外侧及汽车的底部;主要控制模块,前端检测器和背面探测器与长线驱动器[4,5,6]相连。B、光机电一体化系统的工作原理前面和后面的检测器可用于测量发射脉冲到达障碍物并返回到控制模块的间隔。区别在于前面探测器发送时间间隔被嵌入式微处理器得到,而后面检测器发送时间间隔由一个HIS/HSO接口得到。该控制模块将根据间隔和距离确定危险水平,如果结果是在安全极限时,警报或安全保护系统将自动启动。由前、后、左、右探测器得到不同的报警方式和处理方法用于处理不同的情况。当该距离小于预定值时,系统发出报警信号;当距离小于所述高风险值,在系统启动的安全防护装置[7,8,9]。四、激光雷达测距系统A、系统结构的组成在现代科学领域,测距技术包括超声波测距,激光雷达测距波,红外线测距系统和卫星导航测距技术.考虑到精度和稳定性,我们采用激光雷达测距技术,并使用激光雷达作为实际测距成分[10,11]。实际工作系统包括激光测距激光雷、CPU、正面和背面环境检测激光雷达、液晶显示器、发送端和接端、车速传感器等,其工作原理如图3所示.测距和速度检测激光雷达安装在车辆的前部。系统编码和调制从半导体激光器发出的脉冲。激光雷达天线发射激光到障碍物或汽车,并接收由激光雷达的反射信号,则控制模块将信号解调得到的距离和方位。通过控制模块不断分析距离和方位数据,可以判断对象是否移动和移动物体的速度和距离还有风险水平,如果可能与对象发生碰撞,系统会发出警报信号,调整汽车的速度和行驶方向。该系统通过使用光切片法得到目标的距离.该系统包括一个CCD摄像机和激光装置。相机设置为一个固定的姿态和距离的激光设备。相机设置为一个固定的姿态和距离与激光装置之间.目标上的投影线由CCD照相机观察到.通过三角测量使用检测到的线得到的车辆的相对位置.该系统的分辨率取决于摄像机的分辨率的配置。B、硬件设计1、系统架构:在的实际的硬件系统构成,嵌入式微处理器型号是MPC5200。飞思卡尔的高度集成,高性价比的MPC5200非常适合于网络,媒体,工业控制和汽车应用.它提供760MIPS与浮点单元(FPU),硬件内存管理单元(MMU)用于快速切换任务,多个I/O口,以及工作在一个功耗比的情况下。MPC5200服务运算网络媒体网关、网络访问存储、机顶盒、音频自动点唱汽车、互联网接入、工业自动化、图像检测/分析和电子/医疗器械市场。实时操作系统(RTOS)[12,13]和开发板与板级支持包(BSP)的可靠选择为用户提供了一个完整而灵活的解决方案.图4是实用的硬件结构。当激光雷达光学天线的反射信号被接收,编码、调制和解调之后,它被转换为电压信号,可以容易地被处理,并且该电压信号由A/D转换器转换,并通过I/O口发送到MPC5200.以同样的方式,从正面,背面,侧面环境条件探测器从不同方向获得的信息,并且将它们通过I/O电路发送到MPC5200处理。MPC5200与PCI显示模块或LC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论