您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > STM32智能小车测速
课程设计说明书题目:基于单片机的测速装置学院(系):年级专业:学号:学生姓名:指导教师:教师职称:1目录目录.................................................1燕山大学课程设计(论文)任务书...........................2摘要...................................................3前言.....................................................3一、STM32相关知识介绍...................................41.1STM32介绍........................................41.2固件库在STM32中的作用............................4二、智能小车介绍.........................................52.1智能小车整体简介...................................52.24路红外线探测系统.................................62.3PWM测速原理及模块.................................72.4L298驱动模块......................................8三、程序设计............................................93.1外设的初始化和设置步骤............................93.2设计流程和思路...................................12四、心得体会............................................13五、参考资料............................................14六、程序附录............................................142燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:自动化系学号学生姓名专业(班级)设计题目基于单片机的测速装置设计技术参数1掌握PWM电机调速原理;2掌握红外测速原理;3合理设置电机控制周期。设计要求1测速装置采用20格光码盘;2主板选用STM32;3驱动采用双L298模块。工作量1、完成设计说明书一份;文稿打印;2、设计说明书中要绘制原理图、流程图;2、能够现场根据要求调试参数。工作计划第1周:查阅相关资料,有老师讲授STM32开发版学习;第2周:装配电机,实现正常行驶;第3周:调试第4周:规范化撰写课程设计说明书;最后进行答辩。参考资料1直流电机调速原理;2光电检测技术;3相应的微处理器原理及应用。指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。3摘要本次综合训练是以基于Cortex-M3内核的STM32微控制器为控制工具去控制智能小车去检测黑线进行循迹,同时利用PWM测速原理去检测并传回转速值。前言随着科学技术迅猛发展,人们对设备越来越高的应用需要已经无法满足当前和未来高性能的应用与发展需求。显然,嵌入式系统的软、硬件技术和开发手段,正日益受到重视,成为各领域技术创新的重要基础。目前,嵌入式系统是近年来发展很快的计算机方面的学科方向,并迅速渗透到控制、自动化、仪器仪表等学科。嵌入式方向包括了软硬件协同设计、嵌入式体系结构、实时操作系统、嵌入式产品设计等方面的知识,大于当代大学生,更需要掌握嵌入式系统设计的典型开发工具和开发核心技术。近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的IT应用领域之一。4一、STM32相关知识介绍1.1STM32介绍首先Cortex-M3是ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的内核。STM32系列产品得益于Cortex-M3在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集和大幅度提高中断响应的紧耦合嵌套向量中断控制器,所有新功能都同时具有业界最优的功耗水平。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。1.2固件库在STM32中的作用STM32固件库是32位基于ARM微控制器STM32F101xx与STM32F103xx的固件函数库。该函数库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,5无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用本固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API(applicationprogramminginterface应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。所有的驱动源代码都符合“StrictANSI-C”标准(项目于范例文件符合扩充ANSI-C标准)。因为该固件库是通用的,并且包括了所有外设的功能,所以应用程序代码的大小和执行速度可能不是最优的。对大多数应用程序来说,用户可以直接使用之,对于那些在代码大小和执行速度方面有严格要求的应用程序,该固件库驱动程序可以作为如何设置外设的一份参考资料,根据实际需求对其进行调整。二、智能小车介绍2.1智能小车整体简介智能小车可以分为三部分——传感器部分、控制器部分、执行器部分。控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。好比人的大脑。执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。对机器人小车6来说,最基本的就是轮子。这部分就好比人的四肢一样。传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。好比人的眼睛、耳朵等感觉器官。用STM32控制的智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车,远程传输图像等功能。2.24路红外线探测系统简介:此模块是为智能小车、机器人等自动化机械装置提供一种多用途7的红外线探测系统的解决方案。使用红外线发射和接收管等分立元器件组成探头,并使用LM339电压比较器(加入迟滞电路),防止临界输出抖动做为核心器件构成中控电路。此系统具有的多种探测功能能极大的满足各种自动化。智能化的小型系统的应用。应用范围:智能化轮式车和智能化履带车1、巡线2、避障3、防跌落特性:易于安装。4路分别独立工作,工作时不受数量限制中控板与探头分开,安装位置不受限制模块高度≤4厘米,安全工作电压范围在4伏特至6伏特之间4路全开工作电流30毫安至40毫安之间。+5、GND:电源接线端IN(1—4)、OUT:探头与中控板连接端OUT1、OUT2、OUT3、OUT4:对应输出端LED3、LED4、LED6、LED7:对应输出指示R17、R18、R19、R20:对应比较电压调节输出端为集电极开路,板载4.7千欧上拉电阻2.3PWM测速原理及模块ZK-measure测速模块8简介:此模块是为智能小车、机器人等自动化机械装置。使用一休化对射红外发射接收管WYCH206,并使用74HC14(带施密特触发器反向器),防止临界输出抖动做为核心器件构成中控电路。应用范围:智能化轮式车和智能化履带车1、测速(配合编码盘)留有安装孔易于安装,使用非常简便,灵敏度高。反应非常迅速。测试测速模块:槽型不要有遮挡物,将模块接上电源+5V后用万用表测OUT输出端电压。此时的电压电压为0.3V左右,D1指示灯亮,当用大于2MM的不透明物体通过槽型光电,OUT输出端电压应接近电源,D1指示灭(表示已检测到物体)。通过检测得到PWM波,利用STM32对其进行捕获,可以得到编码盘上栅格的频率,进而根据轮子上编码盘的齿数,轮子半径,得到小车轮子的速度。2.4L298驱动模块9小车直流电机工作电流一般是200-400MA有些更大,如果一个小车是二个轮子,那么总的电流在400-800MA左右,这些电机轮子都是要接受单片机指令执行相应的动作,而市面有的单片机IO口一般只能提供5MA到10MA的电流,直接驱动不了电机,所以需要加一个驱动模块。放大电流。驱动采用专业的L298N驱动芯片。L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。三、程序设计3.1外设的初始化和设置步骤此步骤描述了如何初始化和设置任意外设。这里PPP代表任意外设。1.在主应用文件中,声明一个结构PPP_InitTypeDef,例如:PPP_InitTypeDefPPP_InitStructure;10这里PPP_InitStructure是一个位于内存中的工作变量,用来初始化一个或者多个外设PPP。2.为变量PPP_InitStructure的各个结构成员填入允许的值。可以采用以下2种方式:a)按照如下程序设置整个结构体PPP_InitStructure.member1=val1;PPP_InitStructure.member2=val2;PPP_InitStructure.memberN=valN;/*whereNisthenumberofthestructuremembers*/以上步骤可以合并在同一行里,用以优化代码大小:PPP_InitTypeDefPPP_InitStructure={val1,val2,..,valN}b)仅设置结构体中的部分成员:这种情况下,用户应当首先调用函数PPP_SturcInit(..)来初始化变量PPP_InitStructure,然后再修改其中需要修改的成员。这样可以保证其他成员的值(多为缺省值)被正确填入。PPP_StructInit(&PPP_InitStructure);PP_InitStructure.memberX=valX;11PPP_InitStructure.memberY=valY;/*whereXandYarethememberstheuserwantstoconfigure*/3.调用函数P
本文标题:STM32智能小车测速
链接地址:https://www.777doc.com/doc-4709151 .html