毕业设计-基于stm32的智能小车设计.docx
《毕业设计-基于stm32的智能小车设计.docx》由会员分享,可在线阅读,更多相关《毕业设计-基于stm32的智能小车设计.docx(30页珍藏版)》请在咨信网上搜索。
1、基于stm32的智能小车设计摘要本次试验主要分析了基于STM32F103微处理器的智能小车控制系统的系统设计过程。此智能系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路、超声波避障电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度以及舵机转向进行控制,循迹模块进行黑白检测,避障模块进行障碍物检测并避障功能,其他外围扩展电路实现系统整体功能.小车在运动时,避障程序优先于循迹程序,用超声波避障电路进行测距并避障,在超声波模块下我们使用舵机来控制超声波的发射方向,用红外探测电路实现小车循迹功能.在硬件设计的基础上提出了实现电机控制功能、智能小车简单循迹
2、和避障功能的软件设计方案,并在STM32集成开发环境Keil下编写了相应的控制程序,并使用mcuisp软件进行程序下载.关键词:stm32;红外探测;超声波避障;PWM;电机控制AbstractThis experiment mainly analyzes the control system of smart car based on microprocessor STM32F103 system design process。 The composition of the intelligent system mainly including STM32F103 controller, m
3、otor drive circuit, infrared detection circuit, circuit of ultrasonic obstacle avoidance。 This experiment adopts STM32F103 microprocessor as the core chip, using PWM technique to control speed and steering gear steering, tracking module is used to detect the black and white, obstacle avoidance modul
4、e for obstacle detection and obstacle avoidance function, other peripheral extended circuit to realize the whole system function。 When the car is moving, obstacle avoidance program prior to tracking, using ultrasonic ranging and obstacle avoidance obstacle avoidance circuit, we use steering gear und
5、er ultrasonic module to control the emission direction of ultrasonic, infrared detection circuit is used to implement the car tracking function。 On the basis of the hardware design is proposed for motor control function, simple intelligent car tracking and obstacle avoidance function of software des
6、ign, and in the STM32 integrated development environment under the Keil. Write the corresponding control program, and use McUisp program download software。Keywords:STM32;Infrared detection;Ultrasonic obstacle avoidance;PWM;Motor control目录1.绪论- 4 -1.1研究概况- 4 -1.2研究思路- 4 -2.软硬件设计- 5 -2.1中央处理模块- 5 -2.1
7、.1 stm32f103内部结构- 6 -2.1.2 stm32最小系统电路设计- 7 -2.1.3 stm32软件设计的基本思路- 9 -2.1.4 stm32中断介绍- 9 -2.1.5 stm32定时/计数器介绍- 11 -2.1.6 主程序设计流程图- 12 -2.2 电机驱动模块- 13 -2.2.1 驱动模块结构及其原理- 13 -2.2.2 驱动模块电路设计- 13 -2.2.3驱动软件程序设计- 14 -2.3 避障模块设计- 18 -2.3.1 避障模块器件结构及其原理- 19 -2.3.2 HC-SR04模块硬件电路设计- 21 -2.3.3 HC-SR04模块程序设计-
8、21 -2.4循迹模块设计- 28 -2.4.1 循迹模块结构及其原理- 28 -2.4.2 循迹模块电路设计- 30 -2.4.3 红外循迹模块程序设计- 30 -3.软件调试- 33 -3.1 程序仿真- 33 -3.2 程序下载- 34 -4.系统测试- 35 -5.总结- 37 -致谢- 39 -参考文献- 40 -附录- 41 -1。绪论智能小车通过各种感应器获得外部环境信息和内部运动状态,实现在复杂环境背景下的自主运动,从而完成具有特定功能的机器人系统。而随着智能化电器时代的到来,它们在为人们提供的舒适的生活环境的同时,也提高了制造智能化电器对于人才要求的门槛.智能小车是集成了多种
9、高新技术,它不仅融合了电子、传感器、计算机硬件、软件等许多学科的知识,而且还涉及到当今许多前沿领域的技术,它是一个国家高科技技术水平的重要体现。通过建立起简易智能小车的设计,引导学生从理论走向实践,培养同学们的动手能力,使同学们在了解智能化电器的工作原理的基础上,还使同学们获得完成整体项目的能力,并掌握了Stm32开发板的编程原理,为同学们进入ARM领域提供了基础。另外,本次课程设计,使同学们了解自己的不足之处,从而使同学们有目标的提升自己的能力。1。1研究概况国外研究概况:上世纪50年代初,国外就有智能车辆的研究,从90年代开始,智能车辆的研究就进入了系统化、大规模的研究阶段。尤其突出的是美
10、国卡内基梅陇大学机器人研究所已经完成了Navlab系列的自主车辆的研究,这一研究成果代表了国外智能车辆的主要研究方向。国内研究概况:我国对于智能车辆的研究较晚,始于上世纪80年代,而且现在大部分还是使用入门级别的51单片机进行设计与研究的,为了弥补与国外研究的差距,开设了全国大学生电子设计竞赛.1.2研究思路系统将采集的传感器信号送入stm32微控制器中,stm32微控制器根据采集的信号做出不同的判断,从而控制电机运动方向和运动速度。系统以stm32微控制器为核心,通过传感器采集不同的信号做出判断,继而改变电机的运动方向和运动速度。实验系统结构如图1.1所示:图1.1 实验系统结构图2。软硬件
11、设计智能小车控制系统具备了障碍物检测、自主避障、自主循迹等功能.相应的控制系统主要由以下四个模块组成:避障模块、循迹模块、电机驱动模块、中央处理模块四个模块组成,系统总体框架如图2。1所示:这个图调整下,和下面的编号看起来位置不协调图2。1 系统框架图我们本节主要任务是了解各个模块的功能,掌握各个模块所使用的器件的使用方法,并能够编写相应的程序代码。掌握各个模块的功能。2.1中央处理模块在人类身体结构中,大脑可以根据各个器官所传输的信息做出相应的行为动作用以保证人体所必须的生理原料,而stm32处理器之于智能小车就相当于大脑之于人类,它可以从各个模块之间获得数据,并对所传输的数据进行实时处理,
12、来驱使电机模块做出相应的行为动作。由ARM公司设计的基于ARMv7架构的Cortex系列的标准体系结构在2006年推出,此结构是用来满足日渐复杂的不同性能要求的软件设计,根据所面向的领域,Cortex系列可以分为A、R、M三个分工明确的系列1。Stm32处理器的出现为微控制系统、工业控制系统、汽车车身系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能系统提供了基础,使编程的复杂性,集高性能、低功耗、低成本大大简化,并使它们融为于一体2。意法半导体ST公司作为一个半导体制造厂商,是ARM公司CortexM3内核开发项目一个主要合作方。2007年6月11日由ST公司率先推出的基于Cor
13、texM3内核的STM32系列微控处理器研发而出。此中,A系列是面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R是Real的首字母缩写,是面向实时系统开发的;M是Mirco的首字母缩写,专门面向低成本的微控制领域开发研究。因此,CortexM3处理器是由ARM公司设计的首款基于ARMv7M体系结构的32位标准处理器,它不仅具有低功耗、少门数等优点,而且还具有短中断延迟、低调试成本等众多优点,使它在众多的处理器中脱颖而出。目前为止,STM32系列处理器暂分为2个系列.其中,STM32F101系列是标准型系列,工作频率设定在36MHZ;STM32F103系列是增强型系列,工作频率设定在72
14、MHZ,其带有更多片内RAM和更丰富的外设资源。这两个系列的产品在软件和引脚封装方面具有兼容性,并且拥有相同的片内Flash资源,使软件的开发和升级更加方便。本次试验,我们使用的是stm32f103处理器。2.1。1 stm32f103内部结构STM32F103系列微处理器是首款基于ARMv7M体系结构的32位标准RISC (精简指令集)处理器,具有执行代码效率高,外设资源丰富等众多优点.该系列微处理器工作频率设定在72MHz,高达128K 字节的内置Flash存储器存储器 存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。它根据控制器指定的位置存进和取出信息
15、. 全文和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个通用
16、I/O口。2.1。2 stm32最小系统电路设计Stm32的最小系统电路主要由系统时钟电路、实时时钟电路、JTAG调试接口电路,复位电路和启动模式选择电路组成。最小系统电路原理图如图2-1-3所示:图2.3 最小系统电路原理图主要电路原理图的设计及功能如下所示: 1。系统时钟电路系统时钟电路主要作用是提供节拍,就相当于人类的心脏跳动,随着心脏的跳动,血液就会到达全身部位,所以系统时钟的重要性就不言而喻啦.系统时钟的电路设计如图2.4所示:图2。4 系统时钟电路图在时钟电路中,我们选用8M的晶振。2。复位电路 复位电路的设计如图2.5所示:图2。5 复位电路图本次试验所采用的开发板为低电平复位。
17、如图所示,当按键悬空时RST输入为高电平,当按键按下时,RST脚输入为低电平,从而电路复位。3。JTAG电路 JTAG电路原理图如图2.6所示:图2。6 JAG电路原理图JTAG的主要功能是使目标文件烧到核处理器中。4。启动模式电路 启动模式电路原理图如图2.7所示:图2。7 启动模式电路原理图通过设置BOOT1:0引脚可以选择三种不同启动模式,启动模式如表21所示:表2-1 启动模式表启动模式选择引脚启动模式说明BOOT1BOOT0X0主闪存存储器主闪存存储器被选为启动区域01系统存储器系统存储器被选为启动区域11内置SRAM内置SRAM被选为启动区域2.1。3 stm32软件设计的基本思路
18、在对其他模块设计之前,我们必须了解stm32的编程规则。任何处理器,包括stm32处理器,想要处理器完成某项相应的动作,就必须对处理器的寄存器进行操作。比如,我们在单片机C51中,同样,我们在stmM32的开发中过程中,我们同样可以对寄存器直接操作:GPIOxBRR=0x0011. (x可以是A,B,C,D,E比如GPIOA就是端口A)但是,对于stm32这种级别的处理器,几百个寄存器记起来谈何容易。所以,ST(意法半导体)提出了固件库的概念,利用固件库进行编程。固件库的本质就是函数的集合,固件库将那些寄存器的底层操作都封装起来,提供一整套API供开发者使用。比如,上面通过控制BRR寄存器来控
19、制电平的变化,官方库封装了一个函数:Void GPIO_ResetBits(GPIO_TypeDef * GPIOx,uint16_t GPIO_Pin)GPIOxBRR = GPIO_Pin; (x可以是A,B,C,D,E比如GPIO_A就是端口A)通过使用GPIO_ResetBits()函数就可以直接对寄存器进行操作啦.2.1。4 stm32中断介绍本方案中,我们要使用stm32的中断,在程序设计中,我们要开启各个管道的中断,打开各个中断通道,配置中断方式,我们先来讲述下stm32单片机的中断机制。结构图如下所示:图2。32 stm32外部中断/事件控制器结构图图中的实线箭头,为外部中断信
20、号的传输路径。首先外部信号从编号为1的输入线进入。其次这个外部信号通过编号2的边沿检测电路,这个边沿检测电路受到“上升沿选择寄存器”、“下降沿选择寄存器”的控制,我们可以控制这两个寄存器来选择中断的触发方式。我们可以在程序中进行设置,比如所有段落设置为首行缩进2个字符EXTI_InitStructure。EXTI_Trigger = EXTI_Trigger_Rising;设置为上升沿触发中断然后该外部信号进入编号为3或门,或门另一端是软件中断寄存器,如果,软件中断/事件寄存器的对应位置1,编号3的输出总是为有效信号1。之后进入“中断挂起请求寄存器”,该寄存器记录了外部信号的电平变化.最后经过
21、编号为4的与门进入NVIC中断控制器,如果 “中断屏蔽寄存器”的对应位置0,外部的中断请求信号不能传输到NVIC中断控制器,从而实现中断的屏蔽。由于我们采用的是外部信号触发中断,所以我们只需了解外部中断的请求机制,对于事件的中断请求机制,我们在这里不做介绍。我们以PE1为例,介绍下外部中断的一般步骤.步骤如下: 开启I/O的复用时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOERCC_APB2Periph_AFIO,ENABLE); 初始化I/O为输入GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitSt
22、ructure。GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOE, GPIO_InitStructure); 初始化线上中断,设置触发条件GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource1); EXTI_InitStructure。EXTI_Line=EXTI_Line1; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure。EXTI_Trigger = EXTI_Trigger_Rising_Falling;
23、EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); 配置中断分组NVIC,并使能中断NVIC_InitStructure。NVIC_IRQChannel = EXTI1_IRQn; NVIC_InitStructure。NVIC_IRQChannelPreemptionPriority = 0x00; NVIC_InitStructure。NVIC_IRQChannelSubPriority = 0x06; NVIC_InitStructure。NVIC_IRQChannelCmd = ENABLE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 stm32 智能 小车 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。