基于STM32的小车控制毕业设计论文.docx
- 文档编号:12061795
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:34
- 大小:637.13KB
基于STM32的小车控制毕业设计论文.docx
《基于STM32的小车控制毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于STM32的小车控制毕业设计论文.docx(34页珍藏版)》请在冰点文库上搜索。
基于STM32的小车控制毕业设计论文
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
摘要
对于小车的控制,即是对于电机的控制。
电机作为机电能量转换装置,其应用范围已遍及国民经济的各个领域以及人们的日常生活中,所以怎么更好的对电机进行控制就显得尤为重要。
基于Cortex-M3内核的STM32F10x系列芯片是新型的32位嵌入式微处理器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。
本论文主要分析了基于STM32F103的小车控制系统的设计过程。
此系统主要包括STM32F103控制器、液晶显示电路、键盘控制电路、电机驱动电路、红外探测电路、触角检测电路等。
以STM32F103主控芯片及其外围扩展电路实现系统整体功能;小车基本运动模式的选择及速度调节用按键开关式的键盘输入实现;同时液晶模块实时显示小车运动参数;用红外探测电路实现小车循迹功能;用触角传感检测模块实现小车简单避障功能。
在硬件设计的基础上提出了实现电机控制功能、LCD显示功能及小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境IAREWARM5.3下编写了控制程序。
关键词:
PWM,STM32F103,电机,传感器
ABSTRACT
Thecontrollingtothecaristhecontrollingtothemotor.Asamechanicalandelectricalenergyconversiondevices,motorhasbeenappliedineveryfieldofnationaleconomyandpeople'sdailylife,therefore,howtocontrolthemotorbetterisparticularlyimportant.TheSTM32F10xserieschipbasedonCortex-M3kernelisthenew32-bitembeddedMCU,whichhavethegoodperformanceandportability,andtheSTM32F10xhaveimprovedtheefficiencyofDCmotorcontrol,furthermore,themodulardesignofcontrolsystemishelpfulforfunctionexpansionandupgrades.
Thispapermainlyanalyzesthedesignprocessofthecar’scontrolsystem,whichusestheSTM32F103asamasterchip.ThissystemprimarilycontainstheSTM32F103controller,LCDcircuit,thecontrolcircuitofkeyboard,thecircuitofmotor-driven,theinfrareddetectioncircuit,thecircuitoftentaclessensoretc.Inthisdesign,thewholesystemiscontrolledbythechipSTM32F103anditsperipheralextendedcircuit;thebasicmodel’sselectionandspeedaccommodationcanrealizebytheinputofkeyboard;atthemoment,LCDmoduledisplaythecar’smovingparametersreal-timely;theinfrareddetectionrealizecar’stracingfunction;tentaclessensormodulecompletethecar’ssimpleobstacle-avoidancefunction.BasedonHardwaredesign,thepaperputsforwardasoftwaredesignschemetorealizethemotorcontrolling,LCDdisplayfunction,thecar’ssimpletraceandobstacleavoidancefunction.ThenthecontrolcodeiswrittenonIAREWARM5.3whichisanIDEofSTM32F103.
KEYWORDS:
PWM,STM32F103,motor,sensor
前言
随着计算机、微电子、信息技术的快速发展,智能化技术的开发速度越来越快,程度越来越高,广泛应用于海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。
智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科,主要由路径识别、角度控制及车速控制等功能模块组成,被应用于隧道探测、机器人、考古、娱乐等许多方面。
因此,对智能小车的研究具有重要的实际意义。
嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。
单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,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波占空比参数控制电机的转速;设计简便的按键式键盘输入来切换小车运行模式,以及调节小车速度。
第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全系列处理器拥有的脚对脚、外设及软件的高度兼容性,这给其应用带来全方位的灵活性,可以在不必修改原始框架及软件的条件下,将应用升级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。
对于使用同一平台进行多个项目的开发而言,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信号输入。
每个端口都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或其它的外设功能口。
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个独立的通用定时器,TIM6和TIM7为基本定时器。
这8个定时器各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。
其中基本定时器可以为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟,实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。
通用定时器TIMx,它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。
通过对定时器预分频器和RCC时钟控制器预分频器的编程,可将脉冲长度和波形周期在几个微秒到几个毫秒间进行调整。
每个定时器都是完全独立的,没有互相共享任何资源,它们也可以一起同步操作。
STM32F103主控芯片的8个定时器中,高级控制定时器TIM1和TIM8及4个通用定时器均可生成PWM波。
高级控制定时器与通用定时器相比较,它们有非常多的相似之处,虽然前者功能要强大些,但鉴于后者已能够满足设计要求,因此选用通用定时器作为PWM生成模块。
下面简要介绍通用定时器的特性及功能。
通用定时器TIMx(TIM2、TIM3、TIM4和TIM5)主要特性如下[6]:
1.16位向上、向下、向上/向下自动装载计数器。
2.16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值。
3.4个独立通道:
输入捕获、输出比较、PWM生成(边缘或中间对齐模式)、单脉冲模式输出。
4.使用外部信号控制定时器和定时器互连的同步电路。
5.如下事件发生时产生中断/DMA:
更新:
计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发);触发事件(计数器启动、停止、初始化或者由内部/外部触发计数);输入捕获;输出比较。
6.支持针对定位的增量(正交)编码器和霍尔传感器电路。
7.触发输入作为外部时钟或者按周期的电流管理。
对通用定时器TIMx功能简要描述如下[7]:
时基单元可编程通用定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器。
这个计数器可以向上计数、向下计数或者向上向下双向计数。
此计数器时钟由预分频器分频得到。
时基单元包含计数器寄存器(TIMx_CNT)、预分频器寄存器(TIMx_PSC)和自动装载寄存器(TIMx_ARR),它们都可以由软件读写,在计数器运行时仍可以读写。
预分频寄存器用于设定计数器的时钟频率;自动装载寄存器的内容是预先装载的,其内容被永久的保存在影子寄存器,或每次更新事件UEA发生时传送到影子寄存器;当计数器达到溢出条件且当TIMx_CR1寄存器中的UDIS位为0时,产生更新事件。
更新事件也可由软件产生。
定时器工作模式有计数器模式、输入捕获模式、PWM输入模式、强制输出模式、PWM模式等,根据设计要求,定时器应配置成PWM模式生成不同占空比的PWM波。
以下对PWM模式做简要介绍。
脉冲宽度调制(PWM)模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。
在TIMx_CCMRx寄存器中的OCxM位写入‘110’(PWM模式1)或‘111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。
使用PWM模式,必须通过设置TIMx_CCMRx寄存器的OCxPE位使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。
因为仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIMx_EGR寄存器中的UG位来初始化所有的寄存器。
OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。
OCx的输出使能通过(TIMx_CCER和TIMx_BDTR寄存器中)CCxE、CCxNE、MOE、OSSI和OSSR位的组合控制。
在PWM模式(模式1或模式2)下,TIMx_CNT和TIMx_CCRx始终在进行比较,依据计数器的计数方向以确定是否符合TIMx_CCRx≤TIMx_CNT或者TIMx_CNT≤TIMx_CCRx。
根据TIMx_CR1寄存器中CMS位的状态,定时器能够产生边沿对齐的PWM信号或中央对齐的PWM信号[8]。
PWM输出信号的占空比由TIMx_CRRx寄存器确定的。
其公式为“占空比=(TIMx_CRRx/TIMx_ARR)*100%”,因此,可以通过向CRR中填入适当的数来输出自己所需的频率和占空比的方波信号,进而实现本设计中调速功能。
1.2小车及其驱动器介绍
1.2.1小车结构及功能简介
所谓小车控制实际上就是电机控制,本论文所设计的小车分为电机系统、显示系统、控制系统、避障和循迹系统五大结构。
电机系统使用两个电机(A和B),设定正转、反转和停止三种状态,分别控制左轮和右轮,通过两个电机的转动状态切换控制小车的行驶方向,例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 小车 控制 毕业设计 论文