当前位置:文档之家› 基于STM32 智能抓物小车的设计 电子设计II课程报告

基于STM32 智能抓物小车的设计 电子设计II课程报告

摘要本实验主要分析把握对象的智能车基于STM32F103的设计。

智能系统的组成主要包括STM32F103控制器、伺服驱动电路、红外检测电路、超声波避障电路。

本试验采用STM32F103微处理器作为核心芯片,速度和转向的控制采用PWM技术,跟踪模块、检测、障碍物检测和避免功能避障模块等外围电路,实现系统的整体功能。

小车行驶时,避障程序跟踪程序,具有红外线跟踪功能的汽车检测电路。

然后用颜色传感器识别物体的颜色和抓取。

在硬件设计的基础上提出了实现伺服控制功能,简单的智能车跟踪和避障功能的软件设计和控制程序,在STM32集成开发环境IAR编译,并使用JLINK下载程序。

关键词:stm32;红外探测;超声波避障;颜色传感;舵机控制ABSTRACTThis experiment mainly analyzed the grasping object intelligent car based onSTM32F103 design. The composition of the intelligent system mainly includes STM32F103 controller, servo drive circuit, infrared detection circuit, ultrasonic obstacle avoidance circuit. This test uses the STM32F103 microprocessor as the core chip, the speed and steering control using PWM technology, tracking module and detection, obstacle avoidance module for obstacle detection and avoidance function, other peripheral circuit to achieve the overall function of the system.The car is moving, obstacle avoidance procedures prior to tracking program, car tracking function with infrared detection circuit. Then use color sensor to recognize object color and grab. On the basis of the hardware design is proposed to realize the servo control function, simple intelligent car tracking and obstacle avoidance function of the software design, and the control program is compiled in the STM32 integrated development environment IAR, and download the program using Jlink.Key words: STM32; infrared detection; ultrasonic obstacle avoidance; color sensing; steering control目录第一章绪论 (1)1.1研究意义概况 (1)1.2研究思路 (1)第二章硬件设计部分 (2)2.1中央处理模块 (2)2.1.1 stm32f103内部结构 (3)2.1.2 stm32最小系统电路设计 (3)2.1.3 stm32软件设计的基本思路 (6)2.2 避障模块设计 (6)2.2.1 避障模块器件结构及其原理 (7)2.2.2 HC-SR04模块硬件电路设计 (8)2.3循迹模块设计 (9)2.3.1 循迹模块结构及其原理 (9)2.3.2 循迹模块电路设计 (11)第三章软件调试及实物展示 (12)3.1 程序仿真 (12)3.2 程序下载 (12)3.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.1 stm32f103内部结构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.2 stm32最小系统电路设计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.6 JAG电路原理图JTAG的主要功能是使目标文件烧到核处理器中。

4.启动模式电路启动模式电路原理图如图2.7所示:图2.7 启动模式电路原理图通过设置BOOT[1:0]引脚可以选择三种不同启动模式,启动模式如表2-1所示:表2-1 启动模式表启动模式选择引脚启动模式 说明 BOOT1BOO T0 X0 主闪存存储器 主闪存存储器被选为启动区域 01 系统存储器 系统存储器被选为启动区域 1 1 内置SRAM 内置SRAM 被选为启动区域2.1.3 stm32软件设计的基本思路在对其他模块设计之前,我们必须了解stm32的编程规则。

相关主题