1 / 37
文档名称:

STM32的小车控制.docx

格式:docx   大小:2,497KB   页数:37页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

STM32的小车控制.docx

上传人:HShess 2024/5/10 文件大小:2.44 MB

下载得到文件列表

STM32的小车控制.docx

相关文档

文档介绍

文档介绍:该【STM32的小车控制 】是由【HShess】上传分享,文档一共【37】页,该文档可以免费在线阅读,需要了解更多关于【STM32的小车控制 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。STM32的小车控制I摘要对于小车的控制,即是对于电机的控制。电机作为机电能量转换装置,其应用范围已遍及国民经济的各个领域以及人们的日常生活中,所以怎么更好的对电机进行控制就显得尤为重要。基于Cortex-M3内核的STM32F10x系列芯片是新型的32位嵌入式微处理器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。本论文主要分析了基于STM32F103的小车控制系统的设计过程。此系统主要包括STM32F103控制器、液晶显示电路、键盘控制电路、电机驱动电路、红外探测电路、触角检测电路等。以STM32F103主控芯片及其外围扩展电路实现系统整体功能;小车基本运动模式的选择及速度调节用按键开关式的键盘输入实现;同时液晶模块实时显示小车运动参数;用红外探测电路实现小车循迹功能;用触角传感检测模块实现小车简单避障功能。在硬件设计的基础上提出了实现电机控制功能、LCD显示功能及小车简单循迹和避障功能的软件设计方案,。关键词:PWM,STM32F103,电机,传感器IIII前言随着计算机、微电子、信息技术的快速发展,智能化技术的开发速度越来越快,程度越来越高,广泛应用于海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科,主要由路径识别、角度控制及车速控制等功能模块组成,被应用于隧道探测、机器人、考古、娱乐等许多方面。因此,对智能小车的研究具有重要的实际意义。嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,ARM微处理器资源丰富,具有良好的通用性。Cortex-M3是ARM公司最新推出的第一款基于ARMv7体系的处理器内核。它主要针对MCU领域,在存储系统、中断系统、调试接口等方面做了较大的改进,有别于过去的ARM7处理器;Cortex-M3具有高性能、低功耗、极低成本、稳定等诸多优点,非常适合汽车电子、工业控制系统、医疗器械、玩具等领域。基于Cortex-M3内核的STM32系列处理器于2007年由ST公司率先推出,它集先进Cortex-M3内核结构、出众创新的外设、良好的功耗和低成本于一体,极大的满足自动控制系统设计要求。作为先进的32位通用微控制器的领跑者,STM32以其出众的性能、丰富且灵活的外设、很高的性价比以及令人意外的功耗水准,使其自面世以来得到众多设计者的青睐,众多行业领导者纷纷选用STM32作为新一代产品的平台。因此将STM32F103应用于智能小车的控制系统是一种较好的选择。基于此,本文提出了一个比较合理的智能小车系统设计方案。整个小车系统以STM32F103芯片为控制核心,附以外围电路,利用红外探测器、触角传感器采集外界信息和检测障碍物;充分利用STM32F103的串口、并口资源和高速的运算、处理能力,来实现小车自动识别路线按迹行走、躲避障碍物,并且通过LCD显示器实时显示小车运动参数;配置STM32F103通用定时器为PWM输出模式产生PWM波,通过步进调节PWM波占空比参数控制电机的转速;设计简便的按键式键盘输入来切换小车运行模式,以及调节小车速度。,以满足各种技术的不同性能要求,包含A、R、M三个分工明确的系列[1]。其中,A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时系统;M系列则专门针对低成本的微控制领域。Cortex-M3是首款基于ARMv7-M体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试成本等众多优点。它是专门为在微控制系统、汽车车身系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低成本于一体[2]。半导体制造厂商意法半导体ST公司是ARM公司Cortex-M3内核开发项目一个主要合作方,2007年6月11日ST公司率先推出了基于Cortex-M3内核的STM32系列MCU。本章将简要介绍STM32系列处理器的分类、内部结构及特点,并对本设计中重点应用的通用定时器做进一步分析。STM32处理器的分类STM32系列处理器目前分为2个系列。STM32F101是标准型系列,工作在36MHZ;STM32F103是增强型系列,工作在72MHZ,带有更多片内RAM和更丰富的外设。这两个系列的产品拥有相同的片内Flash选项,在软件和引脚封装方面是兼容[3]。标准型系列是STM32处理器入门产品,其价格仅相同于16位MCU却拥有32位MCU的性能,其外设的配置能提供优秀的控制和联接能力。增强型系列产品则将32位MCU的性能和功效引向一个新的级别。内含的Cortex-M3内核工作在72MHZ,能实现高端运算,其外设的配置能提供极好的控制和联接能力。STM32全系列处理器拥有的脚对脚、外设及软件的高度兼容性,这给其应用带来全方位的灵活性,可以在不必修改原始框架及软件的条件下,将应用升2级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。对于使用同一平台进行多个项目的开发而言,STM32更是一种非常好的选择。因为在STM32全系列产品中,既有适合仅需少量的存储空间和引脚,也有满足需要更多的存储空间和引脚;既有适于高性能应用的,又有满足低功耗要求的;既有适合低成本简单应用,也有满足高端复杂应用的。全系列兼容,使得项目之间的代码重用和代码移植变得非常方便。-M体系结构的32位标准RISC(精简指令集)处理器,提供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM内核的高性能。该系列微处理器工作频率为72MHz,内置高达128K字节的Flash存储器和20K字节的SRAM,具有丰富的通用I/O端口。。[4]STM32F103系列微处理器主要资源和特点如下[5]:,所有I/O口均可以映像到16个外部中断,几乎所有端口都允许5V信号输入。每个端口都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或其它的外设功能口。,多达16个外部输入通道,转换速率可达1MHz,转换范围为0~36V;具有双采样和保持功能;内部嵌入温度传感器。、设备到存储器和存储器到设备的数据传输,无须CPU任何干预。通过DMA可以使数据快速地移动,这就节省了CPU的资源来进行其他操作。DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C和USART等。:支持标准的20脚JTAG仿真调试以及针对Cortex-M3内核的串行单线调试(SWD)功能。通常默认的调试接口是JTAG接口。:三个USART异步串行通信接口、两个I2C接口、两个SPI接口、一个CAN接口和一个USB接口,为实现数据通信提供了保证。。在本设计中电机调速通过定时器的PWM功能实现。这将在下一节做进一步介绍。,其中TIM1和TIM8为高级控制定时器,TIM2、TIM3、TIM4和TIM5为4个独立的通用定时器,TIM6和TIM7为基本定时器。这8个定时器各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。其中基本定时器可以为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟,实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。通用定时器TIMx,它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。时钟控制器预分频器的编程,可将脉冲长度和波形周期在几个微秒到几个毫秒间进行调整。每个定时器都是完全独立的,没有互相共享任何资源,它们也可以一起同步操作。STM32F103主控芯片的8个定时器中,高级控制定时器TIM1和TIM8及4个通用定时器均可生成PWM波。高级控制定时器与通用定时器相比较,它们有非常多的4相似之处,虽然前者功能要强大些,但鉴于后者已能够满足设计要求,因此选用通用定时器作为PWM生成模块。下面简要介绍通用定时器的特性及功能。通用定时器TIMx(TIM2、TIM3、TIM4和TIM5)主要特性如下[6]:、向下、向上/向下自动装载计数器。(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值。:输入捕获、输出比较、PWM生成(边缘或中间对齐模式)、单脉冲模式输出。。:更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发);触发事件(计数器启动、停止、初始化或者由内部/外部触发计数);输入捕获;输出比较。(正交)编码器和霍尔传感器电路。。对通用定时器TIMx功能简要描述如下[7]:时基单元可编程通用定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器。这个计数器可以向上计数、向下计数或者向上向下双向计数。此计数器时钟由预分频器分频得到。时基单元包含计数器寄存器(T)、预分频器寄存器(TIMx_PSC)和自动装载寄存器(TIMx_ARR),它们都可以由软件读写,在计数器运行时仍可以读写。预分频寄存器用于设定计数器的时钟频率;自动装载寄存器的内容是预先装载的,其内容被永久的保存在影子寄存器,或每次更新事件UEA发生时传送到影子寄存器;当计数器达到溢出条件且当TIMx_CR1寄存器中的UDIS位为0时,产生更新事件。更新事件也可由软件产生。定时器工作模式有计数器模式、输入捕获模式、PWM输入模式、强制输出模式、PWM模式等,根据设计要求,定时器应配置成PWM模式生成不同占空比的PWM波。以下对PWM模式做简要介绍。脉冲宽度调制(PWM)模式可以产生一个由TIMx_ARR寄存器确定频率、Rx寄存器确定占空比的信号。MRx寄存器中的OCxM位写入‘110’(PWM模式1)或‘111’(PWM模式2),能够独立地设置每个OCx输出通5