为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于STM32的红外测距系统设计

基于STM32的红外测距系统设计

2018-03-09 50页 doc 504KB 54阅读

用户头像

is_348501

暂无简介

举报
基于STM32的红外测距系统设计基于STM32的红外测距系统设计 哈尔滨理工大学学士学位论文 基于STM32的红外测距系统设计 摘 要 随着现代科学技术的发展,出现了很多新的领域,为了实现对物体近距离、高精度的无线测量,本论文对红外测距领域进行了研究。本论文采用单片机作为处理器,编写A/D转换程序及LCD显示程序,红外传感器作为工作模块,完成一套高精度显示、实时测量的红外测距系统。本系统结构简单、体积小、测量精度高、成本低、方便使用。 本论文所介绍的是一种基于STM32单片机并运用日本夏普公司型号为GP2Y0A21的红外传感器所设计的红外测距系统。...
基于STM32的红外测距系统设计
基于STM32的红外测距系统设计 哈尔滨理工大学学士学位论文 基于STM32的红外测距系统设计 摘 要 随着现代科学技术的发展,出现了很多新的领域,为了实现对物体近距离、高精度的无线测量,本论文对红外测距领域进行了研究。本论文采用单片机作为处理器,编写A/D转换程序及LCD显示程序,红外传感器作为工作模块,完成一套高精度显示、实时测量的红外测距系统。本系统结构简单、体积小、测量精度高、成本低、方便使用。 本论文所介绍的是一种基于STM32单片机并运用日本夏普公司型号为GP2Y0A21的红外传感器所设计的红外测距系统。首先,介绍红外线及红外传感器的分类及应用、STM32单片机的简介与功能;其次,阐述红外测距系统工作原理及基本结构并对单片机、红外传感器、LCD液晶显示屏的工作电路做了介绍;再次,对系统进行了整体设计构想,先后对系统硬件及软件进行设计,并对整个系统的功能进行了调试。最后对整个设计进行总结,红外测距系统实现的可行性。 关键词 红外测距;单片机;A/D转换;LCD - I - 哈尔滨理工大学学士学位论文 STM32-based infrared ranging system design Abstract With the development of modern science and technology, there are many new areas, in order to achieve the object close range, high-precision wireless measurement,this topic of infrared ranging is studied. This topic using SCM as the processor, to write A/D converter and LCD display program, an infrared sensor as a working module, complete set of precision display, real-time measurement of infrared ranging system. This system has the advantages of simple structure, small size and high accuracy, low cost and convenient use. This paper introduced is based STM32 microcontroller and use of Japan's Sharp Corporation model GP2Y0A21 infrared sensor designed infrared ranging system. Firstly, introduce the classification and application of infrared distance measurement,it also introduces the function of STM32 microcontroller. Then illustrate the work theory and basic structure of it and introduce the LCD screen and work circuit. Again, the system has carried on the overall design idea, successively on the system hardware and software design, and probes into the function of the whole system debugging. Finally, summarize the entire design to illustrate the feasibility of infrared distance measurement. Keywords Infrared range, SCM, A/D converter, LCD - II - 哈尔滨理工大学学士学位论文 目 录 摘要 ....................................................................................................................... I Abstract ............................................................................................................... II 第1章 绪论 ........................................................................................................ 4 1.1 课题研究背景及意义 ............................................................................... 4 1.2 本论文主要研究内容 ............................................................................... 4 第2章 红外测距系统硬件设计 ........................................................................ 6 2.1 红外测距系统的工作原理 ....................................................................... 6 2.1.1 时间差法测距原理 ............................................................................ 6 2.1.2 反射能量法测距原理 ........................................................................ 6 2.1.3 相位法测距原理 ................................................................................ 6 2.1.4 三角法测距原理 ................................................................................ 7 2.2 红外测距系统的基本结构 ....................................................................... 7 2.2.1 红外传感器模块 ................................................................................ 8 2.2.2 单片机处理模块 ................................................................................ 9 2.2.3 LCD显示模块 .................................................................................. 16 2.3 本章小结 ................................................................................................. 17 第3章 红外测距系统的软件设计及功能调试 .............................................. 18 3.1 红外测距系统工作流程 ......................................................................... 18 3.2 软件程序设计 ......................................................................................... 19 3.3 硬件功能调试 ......................................................................................... 19 3.4 软件功能调试 ......................................................................................... 20 3.5 测量数据绘图 ......................................................................................... 20 3.6 本章小结 ................................................................................................. 23 结论 .................................................................................................................... 25 致谢 .................................................................................................................... 26 参考文献 ............................................................................................................ 27 附录A ................................................................................................................ 29 附录B ................................................................................................................ 35 附录C ................................................................................................................ 38 - III - 哈尔滨理工大学学士学位论文 第1章 绪论 1.1 课题研究背景及意义 随着科学技术的不断发展,在测距领域也先后出现了激光测距、微波雷达测距、超声波测距及红外线测距等方式。激光测距是以激光为传输信号对目标物体进行精确的测量。激光测距在工作开始瞬间向物体发射出一束很细的激光,并由接受端接收物体反射回来的激光束,同时计时器通过测定激光束从发射到接收的时间进而计算出从测量者到物体的距离。该方法对使用环境要求较高,应用范围较少。微波雷达测距是军事和工业上开发采用的技术,其技术要求严格和设备价格非常之高,在民用市场上几乎得不到应用。超声波测距原理与激光测距原理相似,只不过是以声音为传输介质,但是此方法灵活性差、组件造价相对昂贵,在市场开拓空间并不大。作为一种应用广泛、测量精度高的测量方式,红外测距利用红外线传播时不扩散、折射率小的特性,根据红外线从发射模块发出到被物体反射回来被接受模块接受所需要的时间,采用相应的测距来实现对物体距离的测量。 红外测距最早出现于上世纪60年代,是一种以红外线作为传输介质的测量方法。红外测距的研究有着非比寻常的意义,其本身具有其他测距方式没有的特点,技术难度相对不大,系统构成成本较低、性能良好、使用方便、简单,对各行各业均有着不可或缺的贡献,因而其市场需求量更大,发展空间更广。红外测距仪是指用调制的红外光进行精密的距离测量,测量范围一般为1-5公里,在100米以内的范围内则超声波测距更有优势,但是超声波测距无法检测到1米以内的区域距离,而红外测距可以精准的测出这一段距离,本论文研究的就是这一种情况的红外线测距。 1.2 本论文主要研究内容 红外线别名红外光或者热辐射线,是一种波长比红色可见光(约 -417.510,?)较长、比微波(约?)较短的电磁波。以波长长度为基准, -3-30.75103.010,, 红外线可分为三部分,即近红外线是波长为?之间; -3-23.0104.010,, 中红外线是波长为?之间;远红外线是波长为 -24.0101.0, ?之间。物质本身温度在不低于绝对零度(-273.15?)的情况下均可以产生红外线。它不能引起人的视觉反应,有显著的热效应(易被物体吸收而转化为内能)。能产生反射、折射、干涉、衍射等光学现 - 4 - 哈尔滨理工大学学士学位论文 象。不易被云雾等悬浮微粒散射而具有较强的穿透力。凭借着诸多优点,红外线在军事、人造卫星以及工业、卫生、科研等工作领域方面的应用日益广泛,有着不可替代的作用及研究价值。 红外测距传感器是以红外线为传输介质的精确测量系统,主要应用于现代科学技术、国防军队建设、工业和农业等领域。按照其功能可以分为五种类型: (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代表ARM Cortex-M内核32位微控制器;F代表芯片子系列;103代表增强型系列;R表示芯片有64个引脚;B代表内嵌Flash容量为128K字节;T代表芯片封装为LQFP封装;6代表工作温度范围为-40—85?。 - 5 - 哈尔滨理工大学学士学位论文 第2章 红外测距系统硬件设计 2.1 红外测距系统的工作原理 2.1.1 时间差法测距原理 时间差法测距原理是将红外测距传感器的红外发射端发送信号与接收端接受信号的时间差t写入单片机中,通过光传播距离公式来计算出传播距离L,见公式(2-1)。 Lc,,t (2-1) 8式中c是光的传播速度为 。 310m/,s 2.1.2 反射能量法测距原理 反射能量法是由发射控制电路控制发光元件发出信号(通常为红外线)射向目标物体,经物体反射后传回系统的接收端,通过光电转换器接收的光能量大小进而计算出目标物体的距离L,见公式(2-2)。 3P,, (2-2) L,,,Kd,, 式中P为接收端接收到的能量, K为常数,其大小由发射系统输出功率、转换效率决定, d为被测目标漫反射率。 2.1.3 相位法测距原理 相位测距法是利用无线电波段的频率,对红外激光束进行幅度调制并 ,测定调制光往返一次所产生的相位延迟 ,再根据调制光的波长,换算出此相位延迟所代表的距离D,此方式测量精度非常之高,相对误差可以保持在百分之一以内,但要求被测目标必须能主动发出无线电波产生相应的相位值。见公式(2-3)。 Dc,,,/2 (2-3) 8式中c是光的传播速度为, 310m/,s , 是调制信号的角频率。 - 6 - 哈尔滨理工大学学士学位论文 2.1.4 三角法测距原理 三角法测距原理是由一个红外发射管和一个PSD(Position Sensing Device 位置敏感检测装置)以及相应的计算电路来实现的。而夏普公司的PSD具有更优良的性能,它可以检测到光点落在它上面微小的位移,分辨率达微米,红外传感器GP2Y0A21正是利用了这个特性来实现对目标物体距离的精确测量。如图1所示。 物体 角度不变 PSD红外发射管 图1 三角法测距原理 红外测距传感器首先通过红外发射管发出红外线,遇到障碍物反射回来落在PSD上形成了一个等腰三角形。而两个底角是固定的,由发射管来确定,且红外发射管到PSD的距离为已知,此时便可运用三角函数来推算出高,即我们要测量的距离。 本论文就是采用此原理来实现对物体距离的测量。 2.2 红外测距系统的基本结构 红外测距系统主要有红外传感器模块(包括红外发射端和红外接收端两部分)、单片机处理模块、LCD显示模块三大部分组成。如图2所示。 LCD显示模块 红外发射端 物体单片机处理模块红外传感器模块 红外接收端 图2 红外测距系统基本结构 - 7 - 哈尔滨理工大学学士学位论文 图3为红外测距系统整体硬件原理图,对应系统组成的三大部分,由图可知,系统工作核心为单片机,红外传感器及LCD液晶显示屏分别接收单片机发出的指令来实现各自的功能,最后结合各个部分的功能来实现整个红外测距系统的运作。对于单片机、红外传感器、LCD液晶显示屏的工作原理及实现功能在下文会一一对其进行介绍。 U1PA01426PA0-WKUPPB0PA11527PA1PB1PA21628PA2PB2/BOOT11755GP2Y0A21PA3PB3/JTDO20561PA4PB4/JNTRSTGND21572VoutPA5PB5Vout22583PA6PB6VCCVoutPA72359PA7PB74161PA8PB84262PA9PB94329VCC5.0PA10PB104430PA11PB114533PA12PB124634PA13/JTMS/SWDIOPB134935PA14/JTCK/SWCLKPB145036PA15/JTDIPB1558PC0VCCOSC_IN/PD0PC0R969PC1LCD1602OSC_OUT/PD1PC15410PC211MPD2PC2VSS11PC32Y2PC3VDD21BOOT06024PC43BOOT0PC4VL25PC5PA04R0PC5RS8MhzRESET737PC6PA15NRSTPC6R/WC3C438PC7PA2610kPC7E22P22PPC07DB039PC18PC8DB140PC29PC9DB251PC310PC10DB352PC411PC11DB453PC512PC12DB52PC613PC13-TAMPER-RTCDB63PC714Y1PC14-OSC32_INDB7141215VBATPC15-OSC32_OUTVCCBLA16BLK32.768Khz3231VDD_1VSS_14847VDD_2VSS_2C1C26463VDD_3VSS_322P22P1918VDD_4VSS_41312VDDAVSSASTM32F103RBT6C9C5104 10ufVCC3.3C6D1VCC3.31044148D24148L1100uH BAT1 VCC3.3 图3 红外测距系统硬件工作原理图 2.2.1 红外传感器模块 本模块选用的是由日本夏普公司研发的型号为GP2Y0A21的红外传感器。引脚图如图4所示。此红外传感器一共有三个引脚,其中VCC(电源电压)为信号接入,接入电源电压为4.5-5.5V,单片机5V工作电压即可;GND为接地引脚,连接地线即可;Vout为模拟电压输出引脚,此引脚输出的模拟电压值为0.4-2.4V,相对应的距离范围是80-10?。此引脚需要接入单片机处理模块中的多路A/D转换通道上的任意一路上。即STM32单片机内部A/D转换通道的PA7引脚上。 - 8 - 哈尔滨理工大学学士学位论文 GP2Y0A21 1GND2Vout3VCC 图4 GP2Y0A21引脚图 根据红外传感器的电压和相对应的距离测量值可知,夏普GP2Y0A21系列的红外传感器输出曲线是非线性的,且每个型号的红外传感器输出曲线都不相同。所以对所使用红外传感器的矫正是必须要做的,创建出一张实测输出曲线图,以便在实际测量的过程中获得真实准确的测量数据。图5为本论文使用的红外传感器GP2Y0A21实测输出曲线。 图5 夏普GP2Y0A21输出曲线 2.2.2 单片机处理模块 STM32单片机是ST(意法半导体)公司基于ARM最新Cortex-M架构内核的32位处理器产品,内置128KB的Flash、20K的RAM、12位A/D转换、4个16位定时器和3路USART通讯口等多种功能资源,时钟频率最高可达到72MHz。 - 9 - 哈尔滨理工大学学士学位论文 U11426PA0-WKUPPB01527PA1PB11628PA2PB2/BOOT11755PA3PB3/JTDO2056PA4PB4/JNTRST2157PA5PB52258PA6PB62359PA7PB7 4161PA8PB84262PA9PB94329PA10PB104430PA11PB114533PA12PB124634PA13/JTMS/SWDIOPB134935PA14/JTCK/SWCLKPB145036PA15/JTDIPB15 58OSC_IN/PD0PC069OSC_OUT/PD1PC15410PD2PC211PC36024BOOT0PC425PC5737NRSTPC638PC7 39PC840PC951PC1052PC1153PC122PC13-TAMPER-RTC3PC14-OSC32_IN14VBATPC15-OSC32_OUT 3231VDD_1VSS_14847VDD_2VSS_26463VDD_3VSS_31918VDD_4VSS_4 1312VDDAVSSA STM32F103RBT6 图6 STM32单片机引脚图 图6为STM32单片机的引脚图,由图可见此系列单片机功能之全、用法之便、外设之多,一个共有64个扩展I/O口,方便外接工作模块,这里就不一一介绍了。本论文所研究的红外测距系统应用到以下引脚,如表2所示,除了表2所示之外,还有一些电源引脚和接地引脚,在图上没有一一列出,在这里需要说明一下的是,单片机外加电源为+5.0V,内部工作电源为+3.3V,红外传感器的工作电压为4.5-5.5V,直接接到单片机+5.0V上即可,液晶显示屏LCD1602的电源电压为+5.0V。对于红外传感器来说,工作电压的要求相对严格,过高容易烧坏传感器内部结构,过低达不到指定的测量范围,所以条件允许的情况下应该为其单独准备一个+5.0V的电源。 - 10 - 哈尔滨理工大学学士学位论文 表2 红外测距系统各引脚功能 符号 引脚名称 连接对象及功能 连接红外传感器Vout引脚,作为单片机的模拟电压23 PA7 输入。 连接LCD1602的R/S引脚,作为LCD的输入引14 PA0 脚,接收判断来自单片机的高低电平,然后选择输 入指令或者数据。 连接LCD1602的R/W引脚,作为LCD的输入引15 PA1 脚,接收判断来自单片机的高低电平,然后选择写 入指令/数据或者读取信息。 连接LCD1602的E引脚,作为LCD的输入引脚,16 PA2 接收判断来自单片机的高低电平对LCD进行使能。 连接LCD1602的DB0引脚,作为LCD的输入/输出8 PC0 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB1引脚,作为LCD的输入/输出9 PC1 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB2引脚,作为LCD的输入/输出10 PC2 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB3引脚,作为LCD的输入/输出11 PC3 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB4引脚,作为LCD的输入/输出24 PC4 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB5引脚,作为LCD的输入/输出25 PC5 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB6引脚,作为LCD的输入/输出37 PC6 引脚,并在单片机与LCD之间传输数据。 连接LCD1602的DB7引脚,作为LCD的输入/输出38 PC7 引脚,并在单片机与LCD之间传输数据。 STM32单片机的最小工作系统,顾名思义就是可以使单片机工作起来同时由最少的器件构成的系统。最小工作系统虽然结构简单,但却是大多数单片机控制系统不可缺少的重要部分,所以要熟练运用单片机的各种各样的功能就必须要熟悉掌握并了解最小工作系统的组成。STM32单片机最小工作系统包括以下四部分: - 11 - 哈尔滨理工大学学士学位论文 1、电源系统 U7AMS1117P2 DNVVCC5.0G3.3V5123 123 S2R13VCC3.3VCC3.31.5KU4R14C11PL2302_D-221S1C12VCC2D-R15PL2302_D+22310uFD+10uF4GNDVCC3.3USB_232C1333pF R18VCC3.31.5KVCC3.3U8R19USB_D-221VCCU62D-R20D11USB_D+223GNDD+D241484GND2VBATVCCUSBCRT4148 图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转换模块供电电压。 - 12 - 哈尔滨理工大学学士学位论文 2、复位系统 VCC3.3 R610K RESET RESETC6104 图8 复位系统原理图 单片机复位系统就是让程序计数器回到0000h这个地址,程序重头开始执行,将一些寄存器、存储单元都置为初始设定值,单片机复位的形式有很多种,比如上电复位、看门狗复位、手动复位等等。本开发板运用的是外接电路来手动复位,如图8所示,STM32单片机采用低电平复位,使复位开关RESET按下单片机接入低电平即完成复位操作。 3、时钟系统 时钟系统相当于单片机的脉搏,好比人得心跳,其重要性不言而喻。STM32单片机的时钟系统比较复杂,由于单片机本身结构复杂,外设模块又非常多,而需要很高的系统时钟的模块又在少数,同时为了降低时钟功耗减少电磁干扰,单片机一般都采取多种时钟控制方法。 本论文主要应用的是SYSCLK(系统时钟)的配置,驱动系统时钟可由3种不同的时钟源: (1)STM32单片机内部有一个8MHz RC高速振荡器,它产生的的时钟信号会兵分2路,一路直接加到时钟选择器开关(SW),这个开关是由STM32单片机的时钟配置寄存器的第0位和第1位来控制,如若时钟配置寄存器的第0位和第1位分别写入0,0的话,内部的8MHz RC 高速振荡器产生的8MHz的时钟信号就可以轻松通过SW开关,此时单片机就产生了8MHz的系统时钟。 (2)内部的8MHz RC 高速振荡器产生的8MHz的时钟信号另一路经过一个1/2分频器变成了4MHz的时钟信号加到了PLLSRC(PLLSRC是由STM32单片机的时钟配置寄存器的第16位来控制的)这个选择开关上,如果时钟配置寄存器的第16位写入一个0的话,内部的8MHz RC 高速振荡器产生的8MHz的时钟信号经过1/2分频器变成4MHz的时钟信号,就会成功的通过开关PLLSRC,然后到达STM32单片机的锁相环PLL倍频器(倍频器就是起到一个倍频的作用,通过对时钟配置寄存器的第18-21位来配置),如果对时钟配置寄存器第21-18位写入0110,则就是8倍频输出,之前PLL输入的为4MHz时钟信号,经8倍频以后就输出32MHz的时钟信号了。这时SW第0位和第1位都写入0,则单片机系统 - 13 - 哈尔滨理工大学学士学位论文 时钟为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单片机的晶振电路与时钟振荡电路。 C1C9X1RTCX1 22P22PR311Y2Y31MR118Mhz32.768Khz1MC2C1022X2RTCX2 22P22P 图9 晶振电路(左) 时钟晶振电路(右) 4、程序下载电路 在某些定义中,程序下载电路不被定义为单片机的最小工作系统,而本论文所运用到的下载电路是USB下载电路。从图8可知,STM32单片机下载电路支持JATG/SWD下载,同时还支持串口下载通信。由于本论文研究的红外测距系统重点应用USB下载电路,相对于JTAG/SWD下载的原理这里就不详细介绍,其工作原理图如图10所示。 VCC3.3JTAG12VDDVDDR1C1210KJTRST34TRSTGNDR210410KJTDI56TDIGNDR310KJTMS78TMS/SWDIOGND910TCK/SWCLKGND1112NCGNDR410KJTDO1314TDO/SWOGNDR5RESET1516RESET#GND10K1718NCGND1920NCGND JTAG 图10 JTAG/SWD下载电路 - 14 - 哈尔滨理工大学学士学位论文 本论文主要运用到的是STM32单片机的电源电路、复位电路、USB下载电路、A/D转换等功能,前两者在单片机最小工作系统里已经介绍过,下面介绍一下USB下载电路和A/D转换。 STM32单片机主要是采用串口通信的工作原理,串行通信就是指数据一位一位地按顺序传输的通信方式,最简单的串口通信电路只需要2根信号线和一根地线皆可以完成,大幅度地降低了使用成本且能实现远距离传输。在本开发板上,运用了PL2303(用于实现USB座和RS-232串行端口之间的转换)的芯片功能来实现直接运用电脑USB口下载程序的功能。由图11可以看出,从PL2303输出的信号直接连接到单片机的USART1这个串口模块上,实现了USB转串行通信的连接。 VCC3.3 D3R37RESET10K4148R38Q510KR39U21K8050TXD12812MHzTXDOSC2VCC3.322712DTR_NOSC1R40326RTS_NPLL_TESTC25C26C23104VCC3.3425Y310KVDD_232GND_PLL22P22PQ6RXD524VCC5.0RXDVDD_PLLR41R43623RI_NLD_MODEVCC5.0C24104GND7221K45KVCC5.0GNDTRI_MODE8550821VDDGND920DSR_NVDDVCC5.0R42BOOT01019DCD_NRESET11181KCTS_NGND_3V31217VCC3.3C2710uFSHTD_NVDD_3V31316PL2302_D-EE_CLKDM1415PL2302_D+EE_DATADP PL2303 图11 USB下载电路 STM32单片机内置3个12位模拟/数字转换模块(ADC),转换时间最快为。ADC模块是一种逐次逼近型模拟数字转换器,具有18个通1s, 道(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模块的工作 - 15 - 哈尔滨理工大学学士学位论文 电压,在这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里。 2.2.3 LCD显示模块 本论文所设计的红外测距系统最终是要求显示出测量物体的距离,所应用的液晶显示屏型号为LCD1602。图12为LCD1602原理图。 VCCLCD16021VSS2VDD3VLPA04R0RSPA15R/WPA2610kEPC07DB0PC18DB1PC29DB2PC310DB3PC411DB4PC512DB5PC613DB6PC714DB715VCCBLA16BLK 图12 LCD1602原理图 由图12可知,LCD1602结构非常简单、使用方便,共有16个引脚,其每个引脚功能表3所示。通过表3所示,把LCD1602每个引脚的功能了解掌握,并与STM32单片机的相应I/O口连接上,烧入显示程序即可完成红外测距系统的最终要求。 - 16 - 哈尔滨理工大学学士学位论文 2.3 本章小结 本论文所设计的红外测距系统是以STM32单片机为核心,应用由日本夏普公司研发的型号为GP2Y0A21的红外传感器的测距功能和液晶显示屏LCD1602的显示功能。首先通过对单片机的电源电路、复位电路、时钟电路、USB下载电路和A/D转换电路等功能进行主要学习了解并运用,然后了解红外传感器GP2Y0A21的使用方法与特性,结合单片机和红外传感器的功能,采集出电压并通过电压距离公式转换为测量距离。最后通过LCD1602的显示功能给予显示,使整个系统更加完美的来完成对物体距离的测量。 表3 LCD1602引脚功能图 符号 名称 电平 输入/输出 功能 1 VSS 电源地 2 VDD 电源(+5V) 3 VL 对比调整电压,接滑动变阻器 4 R/S 0/1 输入 0=输入指令;1=输入数据 0=向LCD写入指令或数据;5 R/W 0/1 输入 1=从LCD读取信息 使能信号,1时读取信息,6 E 1,1?0 输入 1?0时执行命令 7 DB0 0/1 输入/输出 数据总线line0(最低位) 8 DB1 0/1 输入/输出 数据总线line1 9 DB2 0/1 输入/输出 数据总线line2 10 DB3 0/1 输入/输出 数据总线line3 11 DB4 0/1 输入/输出 数据总线line4 12 DB5 0/1 输入/输出 数据总线line5 13 DB6 0/1 输入/输出 数据总线line6 14 DB7 0/1 输入/输出 数据总线line7 15 BLA +VCC LCD背光电源正极 16 BLK GND LCD背光电源负极 - 17 - 哈尔滨理工大学学士学位论文 第3章 红外测距系统的软件设计及功能调试 3.1 红外测距系统工作流程 在整个红外测距系统工作中,当系统被接入启动电源后,首先,对STM32单片机进行初始化,当单片机接收到红外传感器GP2Y0A21传输的模拟电压信号后,经过A/D转换电路,将输入单片机的模拟电压信号Vout转换为单片机可识别的数字信号,并经过电压距离转换程序,转换出要测量的距离,然后通过10次均值滤波来提高测量的精确度,最后在通过液晶显示屏LCD1602显示出测量结果。 红外测距系统工作流程图如图13所示。 开始 单片机初始化 LCD模块初始化 A/D转换初始化 转换次数N=10 否 A/D转换启动LCD显示模块是 检测转换结束标志位 否 标度变换 是N--图13 红外测距系统工作流程图 - 18 - N=010次均值滤波 哈尔滨理工大学学士学位论文 3.2 软件程序设计 对便于编程,一定要有一个好的编译器。对于STM32单片机来讲,可以编译其的开发工具有很多,如IAR,KEIL,ADS等等,本论文研究的过程中选择KEIL进行编程的。下面对KEIL进行一下简介: KEIL MDK开发工具源自德国KEIL公司,被全球的嵌入式开发工程师验证和使用,是ARM公司目前推出的最新的针对各种嵌入式处理器的软件开发工具。LEI MDK集成了业内最先进的技术,支持ARM7、ARM9、和最新的Cortex-M系列内核处理器,启动代码不需要人工配置,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。目前KEIL MDK在国内ARM开发工具市场已经达到九层的占有率。 红外测距系统软件程序主要由主程序、A/D转换程序、延时函数、LCD显示程序等等,在红外测距系统硬件已经确定的情况下,程序设计步骤为: (1)分析红外测距系统功能,对已知条件及运算控制的要求进行掌握,准确地编写出能完成规定任务的程序。 (2)确定所需要函数及算法,根据系统设计要求及功能特点,选择相应的解决方法。 (3)设计系统工作流程图,采用直观的方式清晰地表达出程序的整体设计思想。 (4)根据系统工作流程图编写源程序,对主函数及子函数的功能进行逐一分析,并写出相应的程序。 (5)调试源程序,将编好的程序通过编译去除语法及功能上的错误,然后将程序烧入单片机中以达到最终要求。 在这里需要说明的是按照红外传感器GP2Y0A21给出使用手册,正常经过软件编程并成功下载到STM32单片机之后,测量结果所绘制的电压距离曲线应该是一条非线性曲线,如图5所示。但是为了更方地使用此款红外传感器,在更多商家的研究与开发下,通过不断地采集实验数据并对此款传感器进行曲线拟合,最终实现了输出曲线近似线性化的处理。本论文采用了这个拟合之后的公式,并在编程时直接编入电压距离转换公式,烧入单片机内直接进行测量。 3.3 硬件功能调试 单片机处理模块、红外传感器模块及LCD显示模块是红外测距系统的三大组成,也是硬件设计中重要的部分,所以在设计完成后要分别对这三部分进行功能调试以达到稳定的工作要求。 首先,对单片机处理模块进行调试,此模块是整个红外测距系统工作 - 19 - 哈尔滨理工大学学士学位论文 的大脑,所以对此模块的要求绝对要做到万无一失,对此模块我进行了如下调试: (1)检查开发板电源电路是否短路,造成开发板损坏。 (2)检查开发板焊接情况,有无虚焊、错焊等现象。 (3)检查带有极性原件的焊接是否焊反。 (4)在确定整个开发板无误的情况下,先烧入简单程序试一试开发板的功能,随后再烧入红外测距系统程序。 其次,对红外传感器模块进行检查,由于本论文重点研究方向不在传感器内部结构与工作原理方面,所采用的红外传感器GP2Y0A21是由日本夏普公司所提供的完整模块,所以只需把单片机编入A/D转换程序后是红外传感器的Vout引脚接入单片机的PA7引脚,通过串口检验是否有电压输入,如若有则证明此模块可以作为所设计系统的红外传感器模块,如若没有,则需调试或者调换另一模块。 最后,对液晶显示屏LCD1602模块进行调试,在调试此模块时,遇到的最大一个问题就是对LCD1602引脚3(VL)功能的忽视,最开始并没有对此引脚接入相应的滑动变阻器,导致了无论怎么调试程序或者更改硬件都无法显示最简单的字符,在不断地实验中发现了这个故障,最终接入相应的滑动变阻器并调整到适当的位置,最终在LCD上得到了显示的字符。再者就是由于红外测距系统中单片机与LCD之间的连接为直接采用跳线连接I/O的方法,为了提高系统工作的稳定性及抗干扰能力,防止工作过程中排针与跳线之间松动,单对LCD显示模块又焊接了一块扩展板,把接地端及电源端尽量合并,减少对跳线的使用,提高系统工作稳定性及可靠性。 3.4 软件功能调试 对于红外测距系统软件的调试,主要是对主程序及子程序的调试,在最开始编写程序的时候,首先对主函数进行大致编写,并逐一加入一些算法公式及相应的函数语句。然后再开始编写相应的功能模块的子程序,对A/D转换程序、LCD1602显示程序等都需要一一编写。在硬件电路制作并调试好以后,便可将编译后的程序下载到单片机中运行调试。根据所设计的电路结构、编写的程序及传感器本身的功能,在测量范围内对各个距离进行多次测量并与实际距离相比较,通过对实验数据的分析,不断调节器件和修改程序使红外测距系统能更精确、更稳定地达到实际使用的要求。 3.5 测量数据绘图 经过对红外测距系统硬件及软件的调试后使整个系统能正常运行,接下来就是要对整个系统的功能进行实际测量与验证。红外传感器 - 20 - 哈尔滨理工大学学士学位论文 GP2Y0A21正常的电压距离输出曲线为图5所示。由于我们采用的是拟合后的测量公式,见公式(3-1),所测量的数据曲线会有所不同。测量数据如表4所示。 (3-1) RADk,,,(1/m+b) 式中R代表测量距离, AD代表输入单片机的AD转换值, m,b,k均为常量;m=0.0000954,b=0.000502,k=4。 表4 测量数据 2.41 1.34 0.93 0.75 0.63 0.52 0.43 0.40 电压V AD 754 414 290 235 190 166 141 123 9.87 20.96 29.75 41.06 50.09 61.01 69.98 79.89 测量值R cm 1/(R+k) 0.072 0.040 0.029 0.022 0.018 0.015 0.013 0.011 10 20 30 40 50 60 70 80 实际距离cm 经过实际测量,得出如表4的实验数据,为了对比实验结果分别以距离、电压两个变量作为横纵坐标对数据进行绘图,由于数据是离散的且不遵守某个函数,选择采用Labview软件进行作图。 图14是距离与电压输出曲线图,也就是经过拟合加入常量后的曲线,与实测输出曲线相比更近乎线性化,由图可知,红外测距系统在10-80cm范围内为正常测量范围。 图14 电压距离输出曲线 图15是1/(R+k)与电压输出曲线,为了使曲线线性化便于分析和处理数据,把公式(3-1)进行整理,使1/(R+k)与电压成线性关系,并绘图。可见,在没有经过公式变换的电压距离输出曲线是一条非线性反比例输出曲线,经过转换,添加常数参数使1/(R+k)与电压成线性关系。 - 21 - 哈尔滨理工大学学士学位论文 图15 1/(R+k)与电压输出曲线 图16,图17,图18是测量数据中采集的照片。 图16 - 22 - 哈尔滨理工大学学士学位论文 图17 图18 3.6 本章小结 对于整个红外测距系统软件的设计,是在硬件设计大致完成的基础上展开的,主要是对STM32单片机运行程序的编写,还有系统整体工作流程的设计与搭建。在程序编写的过程中我深刻地认识到了各种工作语言的重要性,并且你需要对STM32单片机各种函数语句的使用进行掌握,单是函数语句的名称就很难记住,更何况每个语句的功能及使用方法。所以,通过系统软件的设计,在STM32单片机编程着方面我得到了很大的提高,而在编译每个程序的过程中对语句的修改更让我煞费苦心,有的语 - 23 - 哈尔滨理工大学学士学位论文 句可以很通顺的编写成功,而有些语句则需改了又改才可以正常运行。对我自己的品质也进行了历练,让我更加知道了持之以恒的道理。最终所编写的主要工作程序见附录A。 从测量数据与绘图来看,本论文所研究的红外测距系统工作范围在10-80厘米,其电压与距离的不是纯线性关系,是一条平滑的非线性反比例曲线。在工作范围内,此系统可以高精度实现对物体距离的测量。当然,系统在工作稳定性上还需要改进。 - 24 - 哈尔滨理工大学学士学位论文 结论 对本论文所设计的红外测距系统进行测量、校准发现其测量范围在10-80厘米内的平面物体。最大误差为0.5厘米,而且能在短时间内多次测量,经修改的红外测距系统稳定性比较好、灵敏度也较高、结构简单,测量时只需保证周围没有干扰物体即可,当然在检测过程中也发现了一些不足的地方: 1、根据红外传感器GP2Y0A21的使用手册可知其工作电压有着精确的范围,所以在工作测量时,必须保证其电压源的稳定,且在10厘米之内和80厘米之外传感器 均会传回不准确的测量值。也就是说在此范围之外的物体是无法测量的。 2、由于本论文所设计的红外测距系统比较简单,所以在测量时红外测距传感器并为固定在指定位置,而恰巧红外传感器接收端与发射端和地面呈的角度对这测量精度有着很大影响,所以在工作测量时,一定要注意红外传感器的摆放角度。 3、由于实验条件有限,对此红外测距系统并为在不同温度下分别进行实验,所以不能确定的是外界温度的高低变化对测量精度是否有影响。 、由于实验条件有限,对此红外测距系统并为在加有电磁干扰的情4 况下进行测量,所以不能确定的是测量过程中外界电磁波的有无对测量精度是否有影响。 5、在干净清新的空气下所测量的结果一般要比尘埃过多情况下精准的多,也就是说空气环境质量对此红外测距系统也有着相对的影响。 6、对于不同形状的测量物体也有着相对的影响,由于不规则的形状影响了红外线的发射与接收,所得到的测量结果也相对精度较低,于平面物体测量结果的稳定性和精确度就较高。 本红外测距系统采用的是红外传感器GP2Y0A21和三角测距原理,由于红外传感器本身测量距离的限制,加上三角测距原理固有的缺陷,经过上述实验分析得知,在稳定的电源、干净清晰的空气、稳定的温度、无外界电磁干扰、无障碍物的情况下,在测量允许的范围内,此红外测距系统能获得较高的测量精度。 虽然最终所设计的红外测距系统未能达到更高的要求,但在工作范围内测量结果误差影响相对较小,可以满足日常生活、工业生产的测量要求。同时通过此次课题设计大大地提高了我对单片机的认识,在电路分析及编程能力方面也有着显著的提高,对我意义匪浅。 - 25 - 哈尔滨理工大学学士学位论文 致谢 为期将近三个月的时间,本篇论文终于撰写完毕。在此期间我遇到了无数的困难和挫折,都在老师和同学的帮助下顺利度过。本论文的撰写工作主要是在我的导师卢迪老师的悉心指导下完成的,卢迪老师严谨的治学态度和科学的管理方法给我了极大的帮助和信心。在论文撰写期间,她对我进行了无私的指导和帮助,尽其所能的对我的每一项学术知识进行巩固,不厌其烦的对我的论文进行修改。另外,在查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助,在此,我向帮助和指导过我的各位老师表示最衷心的感谢。 同时,我要感谢我的学长还有我的同学,在实验室工作和论文撰写期间,他们给予了我热情的帮助,如果没有他们的帮助与启发我将很难完成本篇论文的撰写。还要感谢本文所涉及到的各位学者,本文借鉴了数位学者的理论知识和研究成果,让我更好地完成了对论文的撰写。 在论文撰写期间我也要感谢我的家人,是他们给予了我莫大的支持,让我更安心地去完成此次论文地撰写。 由于我的学术水平有限,本论文难免会有不足之处,恳请各位老师和同学批评和指正。 - 26 - 哈尔滨理工大学学士学位论文 参考文献 [1] 彭伟(GP2D12红外测距传感器曲线拟合设计(湖南工业职业技术学 院学报(2012,12(1):1-3( [2] 韦伟,周凌翱,刘青(一种便携式的红外测距系统(电子设计工 程(2011,19(21):1-3( [3] 刘昌辉,帅考,杨维荣(嵌入式视觉的测距系统设计(武汉工程大学 学报(2015,37(4):1-4( [4] 毛玲,李振波,张大伟,陈佳品(基于红外传感器的移动微机器人定 位系统(传感器与微系统(2014,33(12):1-4( [5] 魏雅,杜云(基于单片机遥控超声波测距智能小车(信息技 术(2014,11:1-4( [6] 朱杰,何凌霄,林凡强,苟乔欣(最小二乘法分段拟合红外测距系 统(电子器件(2014,37(3):1-5( [7] 王慧娟,袁全波,房好帅(基于ARM的移动机器人红外测距系统设 计(北华航天工业学院学报(2010,20(2):1-3( [8] 贺洪江,程琳(基于 STM32 与 MODBUS 协议的超声波测距仪设 计(仪表技术与传感器(2014,11:1-4( [9] 王玲,邹小昱,刘思瑶,陈兵林,朱宏超,朱镕杰(棉花采摘机器人 红外测距技术研究(农业机械学报(2014,45(7):1-6( [10] Dagang miao,Shouxiang Jiang,Songmin Shang,Zhuoming chen(Effect of heat treatment on infrared reflection property of Al-doped ZnO films(Solar Energy Materials and Solar Cells(2014,127:1-6( [11] Sheng Lu,Xiao-Li Cao,Zhong-Jian Cai,Gao-Rong Zeng and Tan Liu(An Embedded CPU Based Automatic Ranging(2007 Mediterranean Conference On Control And Automation,Athens-Greece,July 27-29, 2007:1-5( [12] Qi ZHANG Hao YANG Yuguang WEI(Calibration of LiDAR device using infrared images(International symposium on Innovation and sustainability of modern railway 3rd(Nanchang(2013:1-4( [13] Liang Xu,Zhiqiang Meng(An Infrared Ranging System For - 27 - 哈尔滨理工大学学士学位论文 Automotive Anti-collision(International workshop on internet of things' technology and innovative application design(Beijing(2012:1-5( [14] D. Salido-Monzu,E. Martin-Gorostiza,J. L. Lazaro-Galilea,F. Domingo-Perez(Multipath Mitigation for a Phase-Based Infrared Ranging System Applied to Indoor Positioning(2013 International Conference on Indoor Positioning and Indoor Navigation,October 2013:1-5( [15] 李录锋(基于AT89C51超声波测距控制系统设计(制造业自动 化(2012,34(2):1-3( [16] 蔡红霞,刘继勇(基于FPGA脉冲激光测距高精度时间间隔的测 量(计算机与数字工程(2013,11:1-3( - 28 - 哈尔滨理工大学学士学位论文 附录A /********************************** 本程序主要功能:将红外测距传感器测得距离显示在lcd上**************************************************/ #include "stm32f10x.h" #include "SYSTICK.h" #include "USART.h" #include "led.h" #include "ADC.h" #include "lcd1602.h" #include "GPIO.h" int main(void) { u8 i= 0; float float_Distance,Sum_Distance=0.0; //浮点距离值单位cm u16 Distance; //整型距离之 u16 adc; //AD转换值 12位AD float adc1; //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) { - 29 - 哈尔滨理工大学学士学位论文 float_Distance = Sum_Distance / 10; Display_Distance(10,1,float_Distance); printf("滤波后的距离%3.2f cm\n",float_Distance); Sum_Distance = 0.0; i = 0; } adc1=((float)adc*3.3/4096); // printf("\r\n电压值= %2.2fV\r\n",adc1); // printf("当前距离 % d CM\n",Distance); // printf("AD转换值 %d\n",adc); // printf("实时距离 %3.1f cm\n",float_Distance); // Display_Distance(10,1,float_Distance); i++; delay_ms(100); } } #include "ADC.h" /************************************************************ **** 函数名:ADC_Config 功能:ADC初始化 ***************************************************************/ void ADC_Config(void) { ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_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_N one; - 30 - 哈尔滨理工大学学士学位论文 //模数转换由软件启动 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软件转换开始 } u16 Get_AD(void) { while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC )); 检测转换结束标志位,等待转换结束 // return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组 的转换结果 } #include "lcd1602.h" #include "SYSTICK.h" #include "GPIO.h" #include /**********判忙函数*****************/ u8 LCD_check_busy() { //u8 ReadValue; GPIO_Write(GPIOC,0xFF); RS_CLR; delay_us(1); RW_SET; delay_us(1); do { EN_CLR; delay_us(200); - 31 - 哈尔滨理工大学学士学位论文 EN_SET; delay_us(200); }while(GPIOC->IDR&0X80); return (u8)0; } /*************lcd 写命令 ********************/ void LCD_write_com(unsigned char com) { //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写数据*****************/ void LCD_write_data( char Data) { 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); } /********清屏***************/ void LCD_Clear(void) { - 32 - 哈尔滨理工大学学士学位论文 LCD_write_com(0x01); delay_ms(5); } /***************lcd 写字符串******************/ void LCD_write_string(unsigned char x,unsigned char y, 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 写字符函数*******************/ void LCD_write_char(unsigned char x,unsigned char y,unsigned char data) { if (y == 0) { LCD_write_com(0x80+x); } else { LCD_write_com(0xc0+x); } LCD_write_data(data); delay_us(500); } /***********lcd 初始化***********************/ void LCD_INIT(void) { delay_ms(15); LCD_write_com(0x38); delay_ms(5); LCD_write_com(0x38); - 33 - 哈尔滨理工大学学士学位论文 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); } /***************************************** * 函数功能:在指定位置显示距离 * 输入:坐标,距离值 ****************************************/ void Display_Distance(unsigned char x,unsigned char y,float number) { char num[10]; char * st r= num; //为指针分配栈上内存空间 sprintf(str,"%4.2f",number); LCD_write_string(x,y,str); } - 34 - 哈尔滨理工大学学士学位论文 附录B P1PB01PB12P3U1PB23PA0WK_UPPA01426PB0LCD_D0PB316PA0-WKUPPB04P2PA1KEY2PA11527PB1LCD_D1PB415PA1PB1518B20_DQPA2F_CSPA21628PB2LCD_D2BOOT1PB5114PA2PB2/BOOT16REMOTE_INPA3SD_CSPA31755PB3LCD_D3JTDOPB6213PA3PB3/JTDO7PA4NRF_CEPA42056PB4LCD_D4JNTRSTPB712PA4PB4/JNTRST8Header 2PA5SPI1_SCKPA52157PB5LCD_D5PB811PA5PB59PA6SPI1_MISOPA62258PB6LCD_D6PB910PA6PB610PA7SPI1_MOSIPA72359PB7LCD_D7PB109PA7PB711PA8PB11812P4PA9LED0 BEEPPA84161PB8LCD_D8PB127PA8PB813RXDPA10LED3 U1_TXDPA94262PB9LCD_D9PB1316PA9PB914TXDPA11LED2 U1_RXDPA104329PB10LCD_D10PB1425PA10PB1015PA12USB_D-PA114430PB11LCD_D11PB154PA11PB1116Header 2PA13USB_D+PA124533PB12LCD_D123PA12PB12PA14JTMSPS_DATKEY0PA134634PB13LCD_D13Header 162PA13/JTMS/SWDIOPB13PA15JTCKPA144935PB14LCD_D14P51PA14/JTCK/SWCLKPB14JTDIPS_CLKKEY1PA155036PB15LCD_D15T_SCKPC0PA15/JTDIPB151Header 16T_PENPC1258PC0T_MISOPC2OSC_IN/PD0PC03R91M69PC1T_MOSIPC3OSC_OUT/PD1PC14VCC3.3PD2LED15410PC2PC4PD2PC2511PC3PC5PC36BOOT06024PC4NRF_CSLCD_RDPC6Y2BOOT0PC472125PC5NRF_IRQLCD_WRPC7PC58D1RESET737PC6LCD_RDLCD_RSPC8NRSTPC6941488Mhz38PC7LCD_WRLCD_CSPC9PC710LCD_BLPC1011C3C439PC8LCD_RSPC11PC812BAT1D222P22P40PC9LCD_CSPC12PC91351PC10LCD_BLT_CSPC13PC101452PC11IIC_SDAPD2PC1115Battery53PC12IIC_SCL4148PC12162PC13PC13-TAMPER-RTC3Header 16Y1PC14-OSC32_IN1412VBATPC15-OSC32_OUTVCC3.3GND323132.768KhzVDD_1VSS_1VCC3.34847GNDVDD_2VSS_2C5C6C2C16463GNDVCC3.3VDD_3VSS_310uf10422P22PVCC3.3GND1918VDD_4VSS_4L11312VCC3.3VDDAVSSA100uHSTM32F103RBT6C7C9C10104104C8104 104 - 35 - 哈尔滨理工大学学士学位论文 WAKEVCC3.3VCC3.3U5VCC3.3U6WK_UPDS18B20JTAG183812KEY0VDDVDDR1C1210KJTRST34KEY0TRSTGNDR210410KJTDI56TDIGNDR3R810KJTMS78KEY1TMS/SWDIOGND10K910KEY1TCK/SWCLKGNDVCC3.31112VCC3.3NCGNDR4RESET10KJTDO1314KEY2TDO/SWOGNDR5RESET1516KEY2RESET#GNDC13R1610K1718NCGND104RESET4.7K1920KEY3C14NCGNDC11REMOTE_INKEY3104JTAG10418B20_DQKEY4KEY4 KEY5VCC3.3KEY5ADC_JPVCC3.3PA01KEY61VCC3.3VCC3.3U4H1KEY62C15BOOT24C022HC_1206510418VCC3.3ADC_JPKEY712A0VCC1R6R7BOOT0BOOT127GNDKEY734A1WP36IIC_SCLR174.7K100K100KRW156A2SCL45IIC_SDAR184.7KQ710KGNDSDAR15Header 3X2BEEP1K8550 PS/2BEEP_JPSVCC5C17RESU7VCC3.36NCF_CS185PS_CLKBEEP_JPCSVCCCLK104SPI1_MISO274SOHOLDVCCC1836SPI1_SCK3VCC3.3WP#CLKGND10445SPI1_MOSI22.8'LCDGNDSINC1PS_DATLCD_CS12LCD_RSDATALCD_CSRSW25X16LCD_WR34LCD_RDOLEDWR/CLKRDPS/2RESETLCD_D056RSTDB1VCC3.3LCD_D1LCD_D278DB2DB3LCD_D3LCD_D4910DB4DB5U8LCD_D5LCD_D61112DB6DB7R108NRF_IRQPWRLCD_D7LCD_D81314IRQDB8DB107SPI1_MISOLCD_D9LCD_D101516470MISODB11DB126SPI1_MOSILCD_D11LCD_D121718MOSIDB13DB14VCC3.35SPI1_SCKLCD_D13LCD_D141920SCKDB15DB16R11C20C214NRF_CSE0LED0LCD_D152122CSNDB17GNDC191041043NRF_CELCD_BL2324VCC3.3470CEBLVDD3.31uF2VCC3.32526C22VCCVCC3.3VDD3.3GND12728VCC5GNDGNDBL_VDDR12E1LED1T_MISO2930T_MOSIMISOMOSIR35104NRF24L013132470T_PENMOT_CS3334T_SCK1KT_CSCLKR36R13E2LED2U1_RXD4.7KTETLCDT_PEN470 R14E3LED3U1_TXD470 - 36 - 哈尔滨理工大学学士学位论文 VCC3.3VCC3.3ON/OFFD316I/O1I/O2R37RESETVOUT125TAP1TAP23410K12I/O1I/O2414834R38BUTTON56Q510KR39VCC3.3U21K8050TXD12812MHzVCC5TXDOSC2F1VCC3.322712DTR_NOSC1R401A326VOUT2RTS_NPLL_TESTC25C26C23104VCC3.3425Y3USB_23210KVDD_232GND_PLL1222P22PQ6RXD524VCC5.01RXDVDD_PLL34VCCR41R43R44623PL2302_D-222RI_NLD_MODEVCC5.056D-R45C24104GND722PL2302_D+2231K45KVCC5.0GNDTRI_MODED+8550821VCC54VDDGNDGNDR469201.5KDSR_NVDDVCC5.0VCC3.3R42BOOT01019USB_232DCD_NRESET11181KCTS_NGND_3V31217VCC3.3C2710uFVCC3.3U3C31SHTD_NVDD_3V3C301316PL2302_D-43220uFEE_CLKDMOUTIN1041415PL2302_D+21C29EE_DATADPOUTGNDC28220uF104PL2303AMS1117-3.3USB1VCCR47USB_D-222D-USB_D+3D+R48224GNDDS1R49PB8R19470111.5KUSBaVCC3.3PB9R204707aaaabDC_INPB10R214704cfbfbfbfbPB11R224702ggggd外电源 DC5VPB12R234701eeeeeccccPB13R2447010fddddPB14R254705gVCC3.3SD_CARDPB15R264703SD_Adapterdp9COMCOMCOMCUMDAT2R3145KSD_CS1DAT3/CSR3245KSPI1_MOSI22986CMD/DI13VSS14VDDR3345KSPI1_SCK5CLK/SCK6VSS2R3445KSPI1_MISO7DAT0/D08C16DAT1/IRQR2710CARD_INSETQ1Q2Q3Q4PC6470VCC3.311CARD_WP855085508550855010412GNDSDCARD_LPC7R28470 PC8R2947021DS_JPPC9R30470 - 37 - 哈尔滨理工大学学士学位论文 附录C - 38 - 哈尔滨理工大学学士学位论文 - 39 - 哈尔滨理工大学学士学位论文 - 40 - 哈尔滨理工大学学士学位论文 - 41 - 哈尔滨理工大学学士学位论文 - 42 - 哈尔滨理工大学学士学位论文 文献: 基于自动测距嵌入式CPU系统的车辆 摘要:基于车辆的光机电自动测距系统的结构和原理,在嵌入式CPU的基础上,本文有一个关于汽车测距系统的体系结构与设计和风险评估与决策的讨论和研究。嵌入式系统的解决已经得到了良好的实时性能,它可以促进该系统的数据处理能力。本文主要介绍了基于单片机的测距系统、硬件体系结构、软件体系结构和一些其他基于嵌入式系统的关键技术的测距系统等一些缺陷,它还引入了使用两个激光雷达光探测和测距方法的解决方案。 一、介绍 单片机广泛用于传统的控制系统。但随着科学技术和计算机的发展,发现单片机已经不能满足越来越多的综合性,多功能化,模块化的检测和控制系统的要求。嵌入式系统已经有了在未来控制系统发展趋势。 在这里,我们采用了嵌入式的杰出系统之一:Linux。Linux是一个小型的操作系统,只满足嵌入式系统的需求。它包括一个内核和指定的一些系统模块。小型嵌入式Linux包括三个基础元素,包括引导程序,微内核,初始化过程。支持Linux的CPU系统包括X86,Alpha,Sparc,Mips,PPC,Arm等。Linux的存储设备不是传统的软磁盘或硬盘,而是ROM,紧凑型闪存,磁盘上的芯片系统或索尼的记忆芯片。内存储器可以使用通用存储器或特殊的RAM。 相比较其他嵌入式系统,Linux是不仅免费的,而且是一个开源项目。作为一个可定制的平台,Linux应该是一种流行的嵌入式产品的系统被应用于许多公司。考虑到Linux是开放性的、良好的支撑网络、稳定安全和其他一些优点,我们倾向于采用Linux作为嵌入式系统的自动测距系统的车辆。 因此,本文对基于Linux系统的车载测距系统的研究。我们将详细分析了硬件设计、软件设计和相关的一些关键技术。 二、基于单片机的测距系统 道路车辆的不断增加,交通事故也日益增多。作为保护车辆运行的安全性的有效手段,车辆风险评估和决策的自动测距系统也应运而生,并逐渐发展起来。该系统是一种检测装置,它可以在碰撞发生之前给司机发出音频或视觉警告信号。它安装在车内,并及时检测障碍物和车辆,并且当之间的距离必要时,发送警告信号让司机采取为应对特殊情况的应急措施,如果必要的话,开始自动制动系统或触发器应急系统,以避免事故的发生。 该系统的核心是迅速和准确地测量出车辆与障碍物之间的距离,并及 - 43 - 哈尔滨理工大学学士学位论文 时发送警告信号。如果一个自动制动刹车系统或一个安装气囊安全系统,它也可以自动处理高风险紧急 [1,2,3]。 基于传统的单片机测距系统被示为图1,它被脉冲触发并有激光头发出检测的光束,并且通过获得的反射光线和距离计算公式来实现。它可以完成的计算,但它也有一些缺陷,它很容易被外部噪声干扰。并且单片机数据处理能力较弱,脉冲频率受限制。因此,如果车辆在非常高的速度运行时,基于单片机测距系统可能过载并进行了错误的计算将其引导到一个错误的决定,这当车辆在高速运行时是很危险的。 所以现在我们对基于嵌入式系统的测距系统的车辆进行探讨和研究。该系统是建立在MPC5200嵌入式微处理器,采用光机电一体化技术。首先介绍了车辆的风险评估和决策的自动测距系统的工作原理。其次对它的实用系统组成进行了分析。最后,提供了一个可行的结构自动测距系统的设计。 三、主要工作原理 A、嵌入式系统的体系结构 车辆的自动测距系统主要由微处理器、功率组件、前探测器(左和右)、背面探测器(左和右)、警报部件和GUI界面。该体系结构示于图2。 该控制模块由嵌入式微处理器子系统、电源部件、报警部件和GUI模块,它安装在转向室的仪器板的;两个前探测器安装在后视镜中的操舵室的左,右两侧的背面;两到四组探测器安装在汽车外侧及汽车的底部;主要控制模块,前端检测器和背面探测器与长线驱动器[4,5,6]相连。 - 44 - 哈尔滨理工大学学士学位论文 B、光机电一体化系统的工作原理 前面和后面的检测器可用于测量发射脉冲到达障碍物并返回到控制模块的间隔。区别在于前面探测器发送时间间隔被嵌入式微处理器得到,而后面检测器发送时间间隔由一个HIS/ HSO接口得到。该控制模块将根据间隔和距离确定危险水平,如果结果是在安全极限时,警报或安全保护系统将自动启动。由前、后、左、右探测器得到不同的报警方式和处理方法用于处理不同的情况。当该距离小于预定值时,系统发出报警信号;当距离小于所述高风险值,在系统启动的安全防护装置[7,8,9]。 四、激光雷达测距系统 A、系统结构的组成 在现代科学领域,测距技术包括超声波测距,激光雷达测距波,红外线测距系统和卫星导航测距技术。考虑到精度和稳定性,我们采用激光雷达测距技术,并使用激光雷达作为实际测距成分[10,11]。 实际工作系统包括激光测距激光雷、CPU、正面和背面环境检测激光雷达、液晶显示器、发送端和接端、车速传感器等,其工作原理如图3所示。 测距和速度检测激光雷达安装在车辆的前部。系统编码和调制从半导体激光器发出的脉冲。激光雷达天线发射激光到障碍物或汽车,并接收由 - 45 - 哈尔滨理工大学学士学位论文 激光雷达的反射信号,则控制模块将信号解调得到的距离和方位。通过控制模块不断分析距离和方位数据,可以判断对象是否移动和移动物体的速度和距离还有风险水平,如果可能与对象发生碰撞,系统会发出警报信号,调整汽车的速度和行驶方向。 该系统通过使用光切片法得到目标的距离。该系统包括一个CCD摄像机和激光装置。相机设置为一个固定的姿态和距离的激光设备。相机设置为一个固定的姿态和距离与激光装置之间。目标上的投影线由CCD照相机观察到。通过三角测量使用检测到的线得到的车辆的相对位置。该系统的分辨率取决于摄像机的分辨率的配置。 B、硬件设计 1、系统架构:在的实际的硬件系统构成,嵌入式微处理器型号是MPC5200。飞思卡尔的高度集成,高性价比的MPC5200非常适合于网络,媒体,工业控制和汽车应用。它提供760 MIPS与浮点单元(FPU),硬件内存管理单元(MMU)用于快速切换任务,多个I/O口,以及工作在一个功耗比的情况下。 MPC5200服务运算网络媒体网关、网络访问存储、机顶盒、音频自动点唱汽车、互联网接入、工业自动化、图像检测/分析和电子/医疗器械市场。实时操作系统(RTOS)[12,13]和开发板与板级支持包(BSP)的可靠选择为用户提供了一个完整而灵活的解决方案。 图4是实用的硬件结构。当激光雷达光学天线的反射信号被接收,编码、调制和解调之后,它被转换为电压信号,可以容易地被处理,并且该电压信号由A/D转换器转换,并通过I/O口发送到MPC5200。以同样的方式,从正面,背面,侧面环境条件探测器从不同方向获得的信息,并且将它们通过I/O电路发送到MPC5200处理。MPC5200与PCI显示模块或LCD连接,该信息可以通过液晶显示由交互式操作来实现。当系统检测到 - 46 - 哈尔滨理工大学学士学位论文 磁盘、主控制模块在测试风险水平时,然后发送报警信号,调整运行速度并紧急制动、弹出气囊或做一些其他的相关安全措施。 一个典型的激光雷达的框图描述在图5中。所有组件必须是低成本项目,事实上,许多设计决策驱动。压控振荡器(VCO)通常用于调制的输出通过耿氏二极管发射器,一般消耗1-10毫瓦的电力。信号然后通过循环到天线。接收到的信号通过循环和混合到基带(通常在扩增前)、放大、滤波、数字化后发送到信号处理器和威胁评估处理器。该信号被直接混合到基带而不是更吸引人中频(IF)在为了最大限度地减少硬件和成本。 目前大部分激光雷达工作正在集中内76-77 GHz频段,有以下一些原因:(1)这个频段很少被使用,相对于更多使用的60 GHz和94 GHz频带,(2)欧洲已经选择了这个频段是其整车激光雷达波段,(3)射频组件技术迅速成熟,(4)窄波束宽度是由一个合理的孔径尺寸实现的。此外,联邦通信委员会最近批准了76-77 GHz频段(以及其他频段)在美国经营的汽车激光雷达系统。 2、信号处理:对于一个假想的激光雷达的信号处理流程示于图6。信号处理器的主要功能是检测并跟踪传感器探测的对象。数字化数据是从每个接收到的脉冲经由一维快速傅里叶变换,所致该天线波束宽度内的信息进行处理。小数量的连续型能量被集成,以提高信噪比。个别范围段进行比较的阈值,并与任何超过阈值能量的对象处理进一步确定范围和相对速度。这些输出,连同有关方位角位置(天线角度)都用于初始化或更新对象轨迹文件。跟踪文件的输出传递到威胁评估处理器,它决定了AICC(自主智能巡航控制)或函数FCW(前部碰撞警告)在适当时候的反应。 - 47 - 哈尔滨理工大学学士学位论文 3、使用两个激光雷达的优点:假设前方5米有一个车辆。激光可能会打到车辆的后方反射器。在这种情况下,激光雷达不能检测车辆因为激光束不能击中一个反射器,重要信息可能会丢失。为了避免这种情况,使用两个激光雷达。一个雷达的例子和两个雷达配置如图7所示。典型车辆宽度假设为1.5米分开放在试验车的前保险杠上。暗区代表目标车辆,其激光雷达来检测尾灯的中心位置。白色区域表示盲区[14,15,16]。 通过使用两个激光雷达,盲点区域是显著减少,并且可检测的目标区域变得更宽。注意,在激光雷达探测最重要的区域时,试验车正前方就是一个被遮蔽的盲点。 利用两个激光雷达在交通监控系统中,三个有问题必须克服: (P1)因为光束产生许多重叠区域,确定的目标车辆位置是非常困难的。无论怎样,我们必须揣度这束光束检测相同的车辆。这个问题适合于某种集群技术。如果多个波束探测同一辆车,它们的输出会表现出相同的动态行为。因此,该技术必须使用这些动态,有效地辨别汽车。如何从所有六个波束的信息融合到业务活动的连贯的画面, (P2)该雷达系统具有较高的纵向分辨率,但较低的角分辨率,因为这里只有六个横梁。因此,横向尺寸应比长纵向尺寸。如何解决这个问 - 48 - 哈尔滨理工大学学士学位论文 题, (P3)常规的方法是不稳定的,因为它们不能检测虚假估计。为了构建一个更强大的系统,应该如何检测错误的估计[17], C、软件设计 (1)软件的流程图:当通过光学天线发送的激光束遇到的障碍,它被反射和散射。并该光学天线接收反射信号。它是由A/D转换器转换为数字信号。不断有距离和方位计算后的信息由CPU进行辨析来测试汽车的速度在安全范围。如果计算出的值小于上限,则系统采用了相应措施。图8是系统功能模块的流程图。 (2)预警和风险水平的确定:目标速度信息可直接从相位测量或间接通过速度范围的测定。激光雷达通过多普勒滤波器的反馈信息对对象进行直接相位测量。多普勒滤波器宽度决定了速度分辨率。 为达到76-77千兆赫频带、径向(视线的)1.0米/秒的速度、510赫兹多普勒频移。因此,相对短的积分时间导致精细速度分辨率[18,19]。 对于FMCW(调频连续波)利用一个上升斜坡和下降斜坡的波形,事实上,多普勒频移,可以明确地通过取一半的两个斜坡的频移差而确定的。短脉冲波形的脉冲重复率名义上无疑是足够高的多普勒频谱,单斜率FMCW波形通常是多普勒的自脉冲重复率,实际上,一个静止的物体多普勒可以大于15KHZ。通常情况下,为了保持传感器数据速率是可控的,PRF是保持在低于奈奎斯特采样速率,因此这种不确定的结果要通过多普勒测速进行过滤(2kHz的PRF会导致4米/秒速度误差)。解决歧义的一种方法是扫描速率范围信息、距离变化信息。由于方位变化分辨率和扫描更新速率受限制,提供的不详细速度信息(几米每秒)足够解决速度歧义[20]。通过结合距离变化率信息和精细多普勒分辨率,可以明确地测量物体的速度。当然其他的技术对物体速度的明确的量也是可能的。 如果对象速度不通过分辨率确定的,如前面提到的,那么精度的测量可以实现。对象速度可以通过测量返回信号上的脉冲到脉冲的相对相移来确定。这是一种高精度的测量(不是分辨率),因此仅适用于具有高的SBR的范围角度小区内的单个对象。再次,通过组合范围速率的信息和对 - 49 - 哈尔滨理工大学学士学位论文 相位速度测量,人们可以清楚地测量物体的速度。 为了避免危险发生,重要的的是得到相对速度和障碍物与车辆最近的距离,预警和风险确定的条件是:R,S*,T,Tlim。 在该表达式中,R是两个对象之间的实际距离; S *是临界安全距离;T是驾驶员的反应时间;TLIM是的最小时间,这意味着至少一次的警报系统没有启动的极限。在S*,Tlim由以下表达式确定: 22UUU(),1SSR, S*,,2GGSP 2UUU(),1SSR Tlim,,2GGUSPS 在该表达式中,Us是在车的速度; 是两个对象的相对速度;UURP是前方车辆的减速度; 是自身的标准减速。测距和速度测量公式如下: US ,,ff,cbb, R,,82,, m ,,c()ff,bb, U,R4f0 该式中,c是激光速度,是最大调制频率,是调制波的重复频,,m ,,率,是信号发送和接收时,正调制信号的差分频率,是信号发送和ffbb接收时,负调制信号的差分频率,是发射中心频率。 f0 ,,从上述情况,可以得出结论,该软件的功能是检测到、和我们ffbb给出的U、R、S*,并与之比较。然后确定计算风险水平,也就是确定是R 否为安全距离,是否发送预警和风险警报信号,使得自身的速度和两车之间的距离一直保持在安全条件下。 5、结论与展望 车辆风险评估自动测距系统,可用于各种车辆,优先用于救护车,公交车,消防车,教练,急救车,公务车和出租车。随着汽车工业的不断发展,将发挥越来越重要的作用。车辆风险评估自动测距系统是高科技的产物,它将伴随着微电子学,光学,激光,红外技术,并在将来有新的发展。它的发展方向如下表所示: (1)为了满足高速,进一步扩大增加检测范围; (2)有了反馈系统和自动驾驶仪,保持自动合适的距离和前做出决定,无人干预。 (3)为了降低成本和价格; 扩建 (4)智能化的方向发展。 - 50 - 哈尔滨理工大学学士学位论文 致谢 该研究工作得到上海科学技术委员会(036505008)的科学技术发展基金会的支持。并且它也得到了中国公关上海大学刘积仁有限公司的支持。 - 51 -
/
本文档为【基于STM32的红外测距系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索