stm32的小车控制

上传人:F****n 文档编号:102746840 上传时间:2019-10-04 格式:DOCX 页数:31 大小:632.25KB
返回 下载 相关 举报
stm32的小车控制_第1页
第1页 / 共31页
stm32的小车控制_第2页
第2页 / 共31页
stm32的小车控制_第3页
第3页 / 共31页
stm32的小车控制_第4页
第4页 / 共31页
stm32的小车控制_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《stm32的小车控制》由会员分享,可在线阅读,更多相关《stm32的小车控制(31页珍藏版)》请在金锄头文库上搜索。

1、摘 要对于小车的控制,即是对于电机的控制。电机作为机电能量转换装置,其应用范围已遍及国民经济的各个领域以及人们的日常生活中,所以怎么更好的对电机进行控制就显得尤为重要。基于Corte- M3内核的STM32F10系列芯片是新型的32位嵌入式微处理器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。本论文主要分析了基于STM32F103的小车控制系统的设计过程。此系统主要包括STM32F103控制器、液晶显示电路、键盘控制电路、电机驱动电路、红外探测电路、触角检测电路等。以STM32F103主控芯片及其外围扩展电路实现系统整体功能;小

2、车基本运动模式的选择及速度调节用按键开关式的键盘输入实现;同时液晶模块实时显示小车运动参数;用红外探测电路实现小车循迹功能;用触角传感检测模块实现小车简单避障功能。在硬件设计的基础上提出了实现电机控制功能、LCD显示功能及小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境IAR EWARM 5.3下编写了控制程序。关键词:PWM,STM32F103,电机,传感器目 录 前 言1第1章 绪论21.1 STM32芯片介绍21.1.1STM32处理器的分类21.1.2 STM32处理器的内部结构及特点31.1.3 TIM定时器介绍41.2 小车及其驱动器介绍61.2.1 小车结构及功能

3、简介61.2.2 电机驱动电路简介7第2章 小车控制系统硬件设计92.1 系统功能实现及需求分析92.2 主要电路设计102.2.1 STM32F103及外围电路设计102.2.2 电源电路设计122.2.3 电机驱动电路设计122.2.4 液晶显示电路设计132.2.5 键盘扩展电路设计142.2.6 触角探测电路设计152.2.7 红外探测电路设计15第3章 小车控制系统软件设计173.1 IAR开发环境介绍173.2 程序设计思路及部分模块程序183.2.1 程序设计思路183.2.2 按键子程序193.2.3 循迹子程序213.2.4 自由行走子程序223.2.5 LCD显示子程序23

4、第4章 结论24致谢25参考文献26附录27财务盈利能力分析采用的主要评价指标包括静态评价指标和动态评价指标两类。其中静态评价指标主要有投资回收期,投资利润率,投资利税率和资本金利润率;动态评价指标主要有投资回收期,净现值、净现值率,内部收益率。29前 言随着计算机、微电子、信息技术的快速发展,智能化技术的开发速度越来越快,程度越来越高,广泛应用于海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科,主要由路径识别、角度控制及车速控制等功能模块组成,被应用于隧道探测、机器人

5、、考古、娱乐等许多方面。因此,对智能小车的研究具有重要的实际意义。嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,ARM微处理器资源丰富,具有良好的通用性。Corte-M3是ARM公司最新推出的第一款基于ARMv7体系的处理器内核。它主要针对MCU领域,在存储系统、中断系统、调试接口等方面做了较大的改进,有别于过去的ARM7处理器;Corte-M3具有高性能、低功耗、极低成本、稳定等诸多优点,非常适合汽车电子、工业控制系统、医疗器械、玩具等领域。基于Corte-M3内核的STM32系列处

6、理器于2007年由ST公司率先推出,它集先进Corte-M3内核结构、出众创新的外设、良好的功耗和低成本于一体,极大的满足自动控制系统设计要求。作为先进的32位通用微控制器的领跑者,STM32以其出众的性能、丰富且灵活的外设、很高的性价比以及令人意外的功耗水准,使其自面世以来得到众多设计者的青睐,众多行业领导者纷纷选用STM32作为新一代产品的平台。因此将STM32F103应用于智能小车的控制系统是一种较好的选择。基于此,本文提出了一个比较合理的智能小车系统设计方案。整个小车系统以STM32F103芯片为控制核心,附以外围电路,利用红外探测器、触角传感器采集外界信息和检测障碍物;充分利用STM

7、32F103的串口、并口资源和高速的运算、处理能力,来实现小车自动识别路线按迹行走、躲避障碍物,并且通过LCD显示器实时显示小车运动参数;配置STM32F103通用定时器为PWM输出模式产生PWM波,通过步进调节PWM波占空比参数控制电机的转速;设计简便的按键式键盘输入来切换小车运行模式,以及调节小车速度。第1章 绪论1.1 STM32芯片介绍2006年ARM公司推出了基于ARMv7架构的Corte系列的标准体系结构,以满足各种技术的不同性能要求,包含A、R、M三个分工明确的系列1。其中,A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时系统;M系列则专门针对低成本的微

8、控制领域。Corte-M3是首款基于ARMv7-M体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试成本等众多优点。它是专门为在微控制系统、汽车车身系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低成本于一体2。半导体制造厂商意法半导体ST公司是ARM公司Corte-M3内核开发项目一个主要合作方,2007年6月11日ST公司率先推出了基于Corte-M3内核的STM32系列MCU。本章将简要介绍STM32系列处理器的分类、内部结构及特点,并对本设计中重点应用的通用定时器做进一步分析。1.1.1

9、STM32处理器的分类STM32系列处理器目前分为2个系列。STM32F101是标准型系列,工作在36MHZ;STM32F103是增强型系列,工作在72MHZ,带有更多片内RAM和更丰富的外设。这两个系列的产品拥有相同的片内Flash选项,在软件和引脚封装方面是兼容3。标准型系列是STM32处理器入门产品,其价格仅相同于16位MCU却拥有32位MCU的性能,其外设的配置能提供优秀的控制和联接能力。增强型系列产品则将32位MCU的性能和功效引向一个新的级别。内含的Corte-M3内核工作在72MHZ,能实现高端运算,其外设的配置能提供极好的控制和联接能力。 STM32全系列处理器拥有的脚对脚、外

10、设及软件的高度兼容性,这给其应用带来全方位的灵活性,可以在不必修改原始框架及软件的条件下,将应用升级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。 对于使用同一平台进行多个项目的开发而言,STM32更是一种非常好的选择。因为在STM32全系列产品中,既有适合仅需少量的存储空间和引脚,也有满足需要更多的存储空间和引脚;既有适于高性能应用的,又有满足低功耗要求的;既有适合低成本简单应用,也有满足高端复杂应用的。全系列兼容,使得项目之间的代码重用和代码移植变得非常方便。1.1.2 STM32处理器的内部结构及特点STM32F103系列微处理器是首款基于ARMv7-M体系结构

11、的32位标准RISC (精简指令集)处理器,提供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM 内核的高性能。该系列微处理器工作频率为72MHz,内置高达128K 字节的Flash存储器存储器 存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。它根据控制器指定的位置存进和取出信息。 全文和20K 字节的SRAM,具有丰富的通用I/O 端口。其内部结构图如图1.1所示。 图1.1 STM32F10内部结构图4STM32F103系列微处理器主要资源和特点如下5:1. 多达51个快速I /O 端口,所有I/O口均可以映像到16个外部中断, 几乎所有端

12、口都允许5V 信号输入。每个端口都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或其它的外设功能口。2. 2个12位模数转换器,多达16个外部输入通道,转换速率可达1MHz,转换范围为0 36V;具有双采样和保持功能;内部嵌入温度传感器温度传感器 。3. 灵活的7路通用DMA 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须CPU 任何干预。通过DMA可以使数据快速地移动,这就节省了 CPU 的资源来进行其他操作。DMA 控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C和USART 等。

13、4. 调试模式:支持标准的20脚JTAG 仿真调试以及针对Corte- M3内核的串行单线调试(SWD)功能。通常默认的调试接口是JTAG 接口。5. 含有丰富的通信接口:三个USART异步串行通信接口、两个I2C 接口、两个SPI接口、一个CAN 接口和一个USB接口,为实现数据通信提供了保证。6. 内部包含8个定时器。在本设计中电机调速通过定时器的PWM功能实现。这将在下一节做进一步介绍。1.1.3 TIM定时器介绍STM32F10系列处理器内部有8个定时器,其中TIM1和TIM8为高级控制定时器,TIM2、TIM3、TIM4和TIM5为4个独立的通用定时器,TIM6和TIM7为基本定时器

14、。这8个定时器各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。其中基本定时器可以为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟,实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。通用定时器TIM,它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。通过对定时器预分频器和RCC时钟控制器预分频器的编程,可将脉冲长度和波形周期在几个微秒到几个毫秒间进行调整。每个定时器都是完全独立的,没有互相共享任何资源,它们也可以一起同步操作。STM32F103主控芯片的8个定时器中,高级控制定时器TIM1和TIM8及4个

15、通用定时器均可生成PWM波。高级控制定时器与通用定时器相比较,它们有非常多的相似之处,虽然前者功能要强大些,但鉴于后者已能够满足设计要求,因此选用通用定时器作为PWM生成模块。下面简要介绍通用定时器的特性及功能。通用定时器TIM (TIM2、TIM3、TIM4和TIM5)主要特性如下6:1. 16位向上、向下、向上/向下自动装载计数器。2. 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为165536之间的任意数值。3. 4个独立通道:输入捕获、输出比较、PWM生成(边缘或中间对齐模式)、单脉冲模式输出。4. 使用外部信号控制定时器和定时器互连的同步电路。 5. 如下事件发生时产生中断/DMA:更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发);触发事件(计数器启动、停止、初始化或者由内部/外部触发计数);输入捕获;输出比较。 6. 支持针对定位的增量(正交)编码器和霍尔传感器电路。7. 触发输入作为外部时钟或者按周期的电流管理。对通用定时器TIM功能简要描述如下7:时基单元可编程通用定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器。这个计数器可以向上计数 、向下计数或者向上向下双向计数。此计数器时钟由预分频器分频得到。时基单元包含计数器寄存器(TIM

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号