基于STM32-智能抓物小车的设计-电子设计II课程报告_第1页
基于STM32-智能抓物小车的设计-电子设计II课程报告_第2页
基于STM32-智能抓物小车的设计-电子设计II课程报告_第3页
基于STM32-智能抓物小车的设计-电子设计II课程报告_第4页
基于STM32-智能抓物小车的设计-电子设计II课程报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

摘要本实验主要分析把握对象的智能车基于STM32F103的设计。智能系统的组成主要包括STM32F103控制器、伺服驱动电路、红外检测电路、超声波避障电路。本试验采用STM32F103微处理器作为核心芯片,速度和转向的控制采用PWM技术,跟踪模块、检测、障碍物检测和防止功能避障模块等外围电路,实现系统的整体功能。小车行驶时,避障程序跟踪程序,具有红外线跟踪功能的汽车检测电路。然后用颜色传感器识别物体的颜色和抓取。在硬件设计的根底上提出了实现伺服控制功能,简单的智能车跟踪和避障功能的软件设计和控制程序,在STM32集成开发环境IAR编译,并使用JLINK下载程序。关键词:stm32;红外探测;超声波避障;颜色传感;舵机控制ABSTRACTThisexperimentmainlyanalyzedthegraspingobjectintelligentcarbasedonSTM32F103design.ThecompositionoftheintelligentsystemmainlyincludesSTM32F103controller,servodrivecircuit,infrareddetectioncircuit,ultrasonicobstacleavoidancecircuit.ThistestusestheSTM32F103microprocessorasthecorechip,thespeedandsteeringcontrolusingPWMtechnology,trackingmoduleanddetection,obstacleavoidancemoduleforobstacledetectionandavoidancefunction,otherperipheralcircuittoachievetheoverallfunctionofthesystem.Thecarismoving,obstacleavoidanceprocedurespriortotrackingprogram,cartrackingfunctionwithinfrareddetectioncircuit.Thenusecolorsensortorecognizeobjectcolorandgrab.Onthebasisofthehardwaredesignisproposedtorealizetheservocontrolfunction,simpleintelligentcartrackingandobstacleavoidancefunctionofthesoftwaredesign,andthecontrolprogramiscompiledintheSTM32integrateddevelopmentenvironmentIAR,anddownloadtheprogramusingJlink.Keywords:STM32;infrareddetection;ultrasonicobstacleavoidance;colorsensing;steeringcontrol目录TOC\o"1-3"\u第一章绪论11.1研究意义概况11.2研究思路1第二章硬件设计局部22.1中央处理模块22.1.1stm32f103内部结构32.1.2stm32最小系统电路设计32.1.3stm32软件设计的根本思路62.2避障模块设计62.2.1避障模块器件结构及其原理72.2.2HC-SR04模块硬件电路设计82.3循迹模块设计92.3.1循迹模块结构及其原理92.3.2循迹模块电路设计11第三章软件调试及实物展示123.1程序仿真123.2程序下载123.3实物展示13第四章总结14致谢15参考文献16第一章绪论1.1研究意义概况智能小车通过各种感应器获得外部环境信息和内部运动状态,实现在复杂环境背景下的自主运动,从而完成具有特定功能的机器人系统。而随着智能化电器时代的到来,它们在为人们提供的舒适的生活环境的同时,也提高了制造智能化电器对于人才要求的门槛。智能小车是集成了多种高新技术,它不仅融合了电子、传感器、计算机硬件、软件等许多学科的知识,而且还涉及到当今许多前沿领域的技术,它是一个国家高科技技术水平的重要表达。通过建立起简易智能小车的设计,引导学生从理论走向实践,培养同学们的动手能力,使同学们在了解智能化电器的工作原理的根底上,还使同学们获得完成整体工程的能力,并掌握了Stm32开发板的编程原理,为同学们进入ARM领域提供了根底。另外,本次课程设计,使同学们了解自己的缺乏之处,从而使同学们有目标的提升自己的能力。国外研究概况:上世纪50年代初,国外就有智能车辆的研究,从90年代开始,智能车辆的研究就进入了系统化、大规模的研究阶段。尤其突出的是美国卡内基-梅陇大学机器人研究所已经完成了Navlab系列的自主车辆的研究,这一研究成果代表了国外智能车辆的主要研究方向。国内研究概况:我国对于智能车辆的研究较晚,始于上世纪80年代,而且现在大局部还是使用入门级别的51单片机进行设计与研究的,为了弥补与国外研究的差距,开设了全国大学生电子设计竞赛。1.2研究思路系统将采集的传感器信号送入stm32微控制器中,stm32微控制器根据采集的信号做出不同的判断,从而控制舵机运动方向和运动速度。系统以stm32微控制器为核心,通过传感器采集不同的信号做出判断,继而改变电机的运动方向和运动速度。实验系统结构如图1.1所示:舵机驱动电路舵机驱动电路图1.1实验系统结构图第二章硬件设计局部智能小车控制系统具备了障碍物检测、自主避障、自主循迹等功能。相应的控制系统主要由以下四个模块组成:避障模块、循迹模块、电机驱动模块、中央处理模块四个模块组成,系统总体框架如图2.1所示:图2.1系统框架图我们本节主要任务是了解各个模块的功能,掌握各个模块所使用的器件的使用方法,并能够编写相应的程序代码。掌握各个模块的功能。2.1中央处理模块在人类身体结构中,大脑可以根据各个器官所传输的信息做出相应的行为动作用以保证人体所必须的生理原料,而stm32处理器之于智能小车就相当于大脑之于人类,它可以从各个模块之间获得数据,并对所传输的数据进行实时处理,来驱使电机模块做出相应的行为动作。由ARM公司设计的基于ARMv7架构的Cortex系列的标准体系结构在2006年推出,此结构是用来满足日渐复杂的不同性能要求的软件设计,根据所面向的领域,Cortex系列可以分为A、R、M三个分工明确的系列[1]。Stm32处理器的出现为微控制系统、工业控制系统、汽车车身系统和无线网络等对功耗和本钱敏感的嵌入式应用领域实现高系统性能系统提供了根底,使编程的复杂性,集高性能、低功耗、低本钱大大简化,并使它们融为于一体[2]。意法半导体ST公司作为一个半导体制造厂商,是ARM公司Cortex-M3内核开发工程一个主要合作方。2007年6月11日由ST公司率先推出的基于Cortex-M3内核的STM32系列微控处理器研发而出。此中,A系列是面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R是Real的首字母缩写,是面向实时系统开发的;M是Mirco的首字母缩写,专门面向低本钱的微控制领域开发研究。因此,Cortex-M3处理器是由ARM公司设计的首款基于ARMv7-M体系结构的32位标准处理器,它不仅具有低功耗、少门数等优点,而且还具有短中断延迟、低调试本钱等众多优点,使它在众多的处理器中脱颖而出。目前为止,STM32系列处理器暂分为2个系列。其中,STM32F101系列是标准型系列,工作频率设定在36MHZ;STM32F103系列是增强型系列,工作频率设定在72MHZ,其带有更多片内RAM和更丰富的外设资源。这两个系列的产品在软件和引脚封装方面具有兼容性,并且拥有相同的片内Flash资源,使软件的开发和升级更加方便。本次试验,我们使用的是stm32f103处理器。2.1.1stm32f103内部结构STM32F103系列微处理器是首款基于ARMv7-M体系结构的32位标准RISC〔精简指令集〕处理器,具有执行代码效率高,外设资源丰富等众多优点。该系列微处理器工作频率设定在72MHz,高达128K字节的内置Flash存储器和20K字节的SRAM,方便程序编写,而且具有丰富的通用I/O端口。其内部结构图如图2.2所示:图2.2内部结构图Stm32处理器主系统主要由4个被动单元和4个驱动单元构成。4个驱动单元是:通用DMA1,通用DMA2,内核DCode总线和系统总线。4个被动单元由APB桥,APB设备,内部Flash闪存,内部SRAM、FSMC。我们实验所采用的芯片具有64KBSRAM、512KBFLASH、2个根本定时器,4个通用定时器,2个高级定时器,3个SPI,2个IIC,5个串口,1个USB,1个CAN,3个12位的ADC,1个12位DAC、1个SDIO接口,1个FSMC接口以及112个通用I/O口。2.1.2stm32最小系统电路设计Stm32的最小系统电路主要由系统时钟电路、实时时钟电路、JTAG调试接口电路,复位电路和启动模式选择电路组成。最小系统电路原理图如图2-1-3所示:图2.3最小系统电路原理图主要电路原理图的设计及功能如下所示:1.系统时钟电路系统时钟电路主要作用是提供节拍,就相当于人类的心脏跳动,随着心脏的跳动,血液就会到达全身部位,所以系统时钟的重要性就不言而喻啦。系统时钟的电路设计如图2.4所示:图2.4系统时钟电路图在时钟电路中,我们选用8M的晶振。2.复位电路复位电路的设计如图2.5所示:图2.5复位电路图本次试验所采用的开发板为低电平复位。如下图,当按键悬空时RST输入为高电平,当按键按下时,RST脚输入为低电平,从而电路复位。3.JTAG电路JTAG电路原理图如图2.6所示:图2.6JAG电路原理图JTAG的主要功能是使目标文件烧到核处理器中。4.启动模式电路启动模式电路原理图如图2.7所示:图2.7启动模式电路原理图

通过设置BOOT[1:0]引脚可以选择三种不同启动模式,启动模式如表2-1所示:表2-1启动模式表启动模式选择引脚启动模式说明BOOT1BOOT0X0主闪存存储器主闪存存储器被选为启动区域01系统存储器系统存储器被选为启动区域11内置SRAM内置SRAM被选为启动区域2.1.3stm32软件设计的根本思路在对其他模块设计之前,我们必须了解stm32的编程规那么。任何处理器,包括stm32处理器,想要处理器完成某项相应的动作,就必须对处理器的存放器进行操作。比方,我们在单片机C51中,同样,我们在stmM32的开发中过程中,我们同样可以对存放器直接操作:GPIOx->BRR=0x0011。(x可以是A,B,C,D,E…比方GPIOA就是端口A)但是,对于stm32这种级别的处理器,几百个存放器记起来谈何容易。所以,ST(意法半导体)提出了固件库的概念,利用固件库进行编程。固件库的本质就是函数的集合,固件库将那些存放器的底层操作都封装起来,提供一整套API供开发者使用。比方,上面通过控制BRR存放器来控制电平的变化,官方库封装了一个函数:VoidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin){GPIOx->BRR=GPIO_Pin;}(x可以是A,B,C,D,E…比方GPIO_A就是端口A)通过使用GPIO_ResetBits〔〕函数就可以直接对存放器进行操作了。2.2避障模块设计在人类身体构造系统中,眼睛可以使我们非常方便的采集到外界环境的信息,然后把信息及时的传输到大脑,并对外界环境信息的变化做出相应的处理。而对智能小车来说,避障模块之于小车就相当于眼睛之于人类。避障模块可以采集外部地形数据,然后把所采集的地形数据传输到中央处理模块,从而实现躲避障碍的功能。避障模块所采用的器件在市场中有许多类型,比方红外检测,光位移检测,超声波检测等。本次试验我们使用的是HC-SR04超声波检测,超声波由于具有检测能力强,传播路径宽,因此我们决定使用HC-SR04器件。在使用HC-SR04模块进行超声波测距的同时,我们可以使用舵机进行辅助。舵机的主要作用是改变HC-SR04模块的照射方向,从而控制超声波的发射方向。在程序编写过程中,如果小车前方遇见障碍时,我们可以直接控制舵机的转向,而小车的车身可以保持不变,在测量结束后,小车再做相应的动作。2.2.1避障模块器件结构及其原理HC-SR04超声波测距模块测量范围在2cm-400cm之间,可以实现无接触式测距功能。HC-SR04超声波测距模块由一个超声波发射器、一个超声波接收器和控制电路组成,避障模块的实物结构图如图2.17所示:图2.17实物正反面结构图如结构图所示VCC提供5v电源,GND为接地线,TRIG为触发信号线,ECHO为回向信号输出线。根本原理如下:采用IO口TRIG触发测距,给至少10us的高电平信号,在TRIG触发沿到来后,超声波发射器会自动发出8个40KHz的方波,并且检测是否有信号返回,当超声波接收器接收到超声波时,说明有信号返回,通过IO口ECHO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。因此测量距离=〔高电平持续时间*340m/s〕/2。测量时序图如图2.18所示:图2.18超声波时序图我们根据时序图,可以编写相应的程序代码。为了防止发射信号对回向信号的影响,我们的测量周期不易过小。并且由于HC-SR04的感应角度不大于15°,所以测距时,为了防止发射信号丧失,我们要求被测物体的面积不应小于0.5平方米,否那么可能导致测量结果不准确。舵机在避障模块的主要作用前面已经提到,本节主要讲解舵机的工作特性。舵机的实物图如图2.19所示:图2.19舵机实物图舵机的工作工作原理是stm32微处理器发出数据给舵机,舵机内部有一个基准电路,它会产生周期为20ms,宽度为1.5ms的基准信号,它将微处理器传输的直流偏置电压与电位器的电压数据进行比拟,获得电压差输出。经由电路板上的IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回反应信号。舵机的转动角度与stm32所提供的PWM信号相关。标准信号PWM周期为20ms,理论上来讲脉宽为1~2ms,实际我们的脉宽为0.5~2.5ms,脉宽与所转的角度一一对应。角度与脉宽的对应图如图2.20所示:图2.20舵机角度与脉宽对应图2.2.2HC-SR04模块硬件电路设计超声波模块硬件原理图如下列图所示:图2.21超声波硬件原理图HC-SR04模块主要由发射器、接收器和局部电路组成。在此试验中,我们只需简单了解电路的设计,对于其根本原理可以不用过多涉猎,我们只需明白它们的工作原理,并且能够简单运用即可。2.3循迹模块设计这节要完成的任务是使小车沿着黑带运动。要想使小车沿着黑带运动,必须使小车感应到黑迹在什么地方,然后让小车的中央处理单元驱动硬件电路完成相应的行为动作。循迹模块的设计就是使小车能准确的识别黑带的轨迹。小车的中央处理模块从循迹模块获得数据,然后中央处理模块根据采集的数据驱动电机模块完成相应的动作。考虑到本钱和操作,本实验使用的红外探测器。2.3.1循迹模块结构及其原理红外探测器〔IR〕是由红外发射管、红外接收管和局部电路组成。要做到4路循迹,需要使用4个独立的红外探测器器件。我们使用的IR5是一个集成模块,这个集成模块由5个红外探测器组成。其中中间的1个IR探测器在本实验中并未使用。红外循迹模块实物图如图2.27所示:图2.27红外模块正反面本实验使用的IR5集成模块是由5个相同的IR探测器电路组成的,所以我们只需要了解一个IR探测器的工作原理即可。我们知道IR探测器是由红外发射管、红外接收管和局部电路组成。根本原理是红外发射管发射红外光经地面反射,在黑色区域红外光被吸收,在非黑色区域红外光被反射,红外接收管根据反射光的强度为比拟器提供模拟量,从而输出相应的电平量。其单个IR探测器电路原理图如图2.28所示:图2.28IR探测器电路原理图根据原理图详解下IR探测器的工作原理:VCC为模块提供电源,是IR探测器工作的前提条件,红外发射管DF2发射红外光到达“地面〞,经反射后红外光会到达DS2红外接收管,由于不同颜色的地面会对光的吸收有着不同的效果,所以发射后的光的强度也会不同,反射强度不同,LM339的5脚会输入一个变化的电压量,LM339是一个电压较器,当LM339的“+〞端输入信号大于“-〞端的比拟信号后,LM339的输出端截止,在外部的上拉电源的作用下,使IR探测器的输出端输出+5v的电压。同理,在“+〞端电压小于“—〞端电压时,LM339输出端电压饱和使IR探测器输出为低电压。因此可以通过调节R2的电阻值,改变比拟电压的大小即“—〞端电压的大小,从而控制探测的距离。R4是整个正反应电路的重要组成局部,由于“+〞输入端电压会经常发生在比拟电压附近扰动的现象,这些微小的扰动都会造成输出端的巨大变化,因此,我们采用正反应的方式防止这种现象的发生。参加R4电阻,就成为人们所说的“施密特触发器〞,其特性图如图2.29所示:图2.29施密特触发器特性图当输入端的电压发生转化时,只要在比拟电压值附近的干扰不超过du之值,输出的电压就不会改变。R4正反应的引入,不仅提高了电路的处理速度,而且可以免除由于寄生电路耦合而产生的自己震荡。但是,在提升电路的处理速度的同时,带来的缺点就是分辨率降低,因为只要在du附近输出的电压值就不会改变。2.3.2循迹模块电路设计IR5探测器的集成模块的电路原理图如图2.30所示:图2.30红外循迹模块电路图第三章软件调试及实物展示上文提到了各个模块的电路设计及其程序设计,本章就根据各个模块的电路设计进行相应的编程。我们使用IAR软件进行程序仿真,然后使用Jlink软件把我们得到的目标文件烧到处理器中,即程序下载。3.1程序仿真IARSystems是全球领先的嵌入式系统开发工具和效劳的供给商。公司成立于1983年,提供的产品和效劳涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。软件IAR的操作主界面如图3.1所示:图3.1IAR主界面3.2程序下载串口下载软件使用Jlink,该软件属于第三方软件,由单片机在线编程网提供,该硬件如图3.2所示:图3.23.3实物展示智能抓物小车硬件如图3.3所示;图3.3第四章总结本文制定了详细的设计方案,并按照此方案逐步完成了电路原理图的设计以及软件程序的设计。本文的重点是基于stm32微处理器为核心,添加其他外围电路为辅助,并且加载必要的程序设计,使小车实现抓物功能。整个智能小车系统以stm32微处理器为核心,外围电路包括避障电路、循迹电路、颜色识别、舵机驱动电路等,这些外围电路通过stm32微处理器结合起来,使得各个模块在保证工作准确性的同时,提高了小车的智能化。报告首先分析了研究智能小车的研究意义,对于此次研究的必要性进行了可行性分析。然后分析了国内外的研究概况,最后再此根底上提出了设计思路与程序流程,对于设计思路进行了可行性的分析。接着分别介绍了各个模块的硬件设计方案以及软件设计方案。在硬件设计方案中包括对各个硬件电路所采用的器件进行分析和对硬件电路的设计分析,从而决定器件的使用方案,以及硬件电路图的设计。而在软件设计方案中,我们只分析软流程件设计,以确定对应的程序编码。最后我们对软件、硬件进行测试,对于软件测试,我们使用IAR软件进行程序仿真,验证了系统的稳定性和实用性。在本方案中,由于受到所采购的硬件模块尺寸的影响,循迹模块在进行工作的时候,受到外部影响的因素很大。在本次试验设计中,由于循迹探头的安装距离小车车轮很近,当循迹探头采集数据传输到CPU

温馨提示

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

评论

0/150

提交评论