您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > STM32的小车控制
I摘要对于小车的控制,即是对于电机的控制。电机作为机电能量转换装置,其应用范围已遍及国民经济的各个领域以及人们的日常生活中,所以怎么更好的对电机进行控制就显得尤为重要。基于Cortex-M3内核的STM32F10x系列芯片是新型的32位嵌入式微处理器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。本论文主要分析了基于STM32F103的小车控制系统的设计过程。此系统主要包括STM32F103控制器、液晶显示电路、键盘控制电路、电机驱动电路、红外探测电路、触角检测电路等。以STM32F103主控芯片及其外围扩展电路实现系统整体功能;小车基本运动模式的选择及速度调节用按键开关式的键盘输入实现;同时液晶模块实时显示小车运动参数;用红外探测电路实现小车循迹功能;用触角传感检测模块实现小车简单避障功能。在硬件设计的基础上提出了实现电机控制功能、LCD显示功能及小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境IAREWARM5.3下编写了控制程序。关键词:PWM,STM32F103,电机,传感器II目录前言...............................................................1第1章绪论.........................................................21.1STM32芯片介绍..............................................21.1.1STM32处理器的分类....................................21.1.2STM32处理器的内部结构及特点..........................31.1.3TIMx定时器介绍.......................................41.2小车及其驱动器介绍..........................................61.2.1小车结构及功能简介....................................61.2.2电机驱动电路简介......................................7第2章小车控制系统硬件设计.........................................92.1系统功能实现及需求分析......................................92.2主要电路设计...............................................102.2.1STM32F103及外围电路设计.............................102.2.2电源电路设计.........................................122.2.3电机驱动电路设计.....................................122.2.4液晶显示电路设计.....................................132.2.5键盘扩展电路设计.....................................142.2.6触角探测电路设计.....................................152.2.7红外探测电路设计.....................................15第3章小车控制系统软件设计........................................173.1IAR开发环境介绍...........................................173.2程序设计思路及部分模块程序.................................183.2.1程序设计思路.........................................183.2.2按键子程序...........................................193.2.3循迹子程序...........................................213.2.4自由行走子程序.......................................22III3.2.5LCD显示子程序.......................................23第4章结论........................................................24致谢...............................................................25参考文献...........................................................26附录...............................................................271前言随着计算机、微电子、信息技术的快速发展,智能化技术的开发速度越来越快,程度越来越高,广泛应用于海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科,主要由路径识别、角度控制及车速控制等功能模块组成,被应用于隧道探测、机器人、考古、娱乐等许多方面。因此,对智能小车的研究具有重要的实际意义。嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,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波占空比参数控制电机的转速;设计简便的按键式键盘输入来切换小车运行模式,以及调节小车速度。2第1章绪论1.1STM32芯片介绍2006年ARM公司推出了基于ARMv7架构的Cortex系列的标准体系结构,以满足各种技术的不同性能要求,包含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系列处理器的分类、内部结构及特点,并对本设计中重点应用的通用定时器做进一步分析。1.1.1STM32处理器的分类STM32系列处理器目前分为2个系列。STM32F101是标准型系列,工作在36MHZ;STM32F103是增强型系列,工作在72MHZ,带有更多片内RAM和更丰富的外设。这两个系列的产品拥有相同的片内Flash选项,在软件和引脚封装方面是兼容[3]。标准型系列是STM32处理器入门产品,其价格仅相同于16位MCU却拥有32位MCU的性能,其外设的配置能提供优秀的控制和联接能力。增强型系列产品则将32位MCU的性能和功效引向一个新的级别。内含的Cortex-M3内核工作在72MHZ,能实现高端运算,其外设的配置能提供极好的控制和联接能力。STM32全系列处理器拥有的脚对脚、外设及软件的高度兼容性,这给其应用带来全方位的灵活性,可以在不必修改原始框架及软件的条件下,将应用升级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。3对于使用同一平台进行多个项目的开发而言,STM32更是一种非常好的选择。因为在STM32全系列产品中,既有适合仅需少量的存储空间和引脚,也有满足需要更多的存储空间和引脚;既有适于高性能应用的,又有满足低功耗要求的;既有适合低成本简单应用,也有满足高端复杂应用的。全系列兼容,使得项目之间的代码重用和代码移植变得非常方便。1.1.2STM32处理器的内部结构及特点STM32F103系列微处理器是首款基于ARMv7-M体系结构的32位标准RISC(精简指令集)处理器,提供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM内核的高性能。该系列微处理器工作频率为72MHz,内置高达128K字节的Flash存储器和20K字节的SRAM,具有丰富的通用I/O端口。其内部结构图如图1.1所示。图1.1STM32F10x内部结构图[4]STM32F103系列微处理器主要资源和特点如下[5]:1.多达51个快速I/O端口,所有I/O口均可以映像到16个外部中断,几乎所有端口都允许5V信号输入。每个端口都可以由软件配置成输出(推挽或开4漏)、输入(带或不带上拉或下拉)或其它的外设功能口。2.2个12位模数转换器,多达16个外部输入通道,转换速率可达1MHz,转换范围为0~36V;具有双采样和保持功能;内部嵌入温度传感器。3.灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须CPU任何干预。通过DMA可以使数据快速地移动,这就节省了CPU的资源来进行其他操作。DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C和USART等。4.调试模式:支持标准的20脚JTAG仿真调试以及针对Cortex-M3内核的串行单线调试(SWD)功能。通常默认的调试接口是JTAG接口。5.含有丰富的通信接口:三个USART异步串行通信接口、两个I2C接口、两个SPI接口、一个CAN接口和一个USB接口,为实现数据通信提供了保证。6.内部包含8个定时器。在本设计中电机调速通过定时器的PWM功能实现。这将在下一节做进一步介绍。1.1.3TIMx定时器介绍STM32F10x系列处理器内部有8个定时器,其中TIM1和TIM8为高级控制定时器,TIM2、TIM3、TIM4和TIM5为4个独立的通用定时器
本文标题:STM32的小车控制
链接地址:https://www.777doc.com/doc-6574762 .html