版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2设计方案基于单片机的简易自动仓储搬运智能小车结构设计摘要自动化工业已成为现在社会发展的必然趋势,智能自动控制技术已经越来越接近于我们的生活,大到车间机械臂精准操作流水作业,小到我们现在总所周知的小米智能家居。在技术不断发展的进程中,智能搬运车比起人力搬运,在我们的快递、物流行业显得更加有需要,不仅为我们节省大量人力资源,而且机械性的操作工作效率也得到了提高。本设计是以STM32系列单片机STM32F103C8T6作为核心模块,用以控制小车对路线的循迹走向和操控机械臂对目标物体的抓取、拿放。关键词:STM32单片机;循迹避障;机械臂;集成电路目录TOC\o"1-3"\h\u14791摘要 232771绪论 535501.1课题研究背景及意义 5307051.2本文主要的研究内容 678932设计方案 6133142.1设计任务 6274852.2设计方案论证与选择 6254322.2.6避障模块设计 9228313硬件电路介绍与设计 10303393.1整体工作流程及其电路框架 1065123.1.1工作流程 1065533.1.2电路整体框架 1144153.2单片机及其最小系统 11269083.2.2单片机最小系统 12285503.2.4stm32定时/计数器介绍 1548554系统软件的设计 1688404.1程序设计 1629374.2循迹模块设计 20302774.2.1循迹模块结构及其原理 21114144.2.2循迹模块电路设计 22260994.2.3红外循迹模块程序设计 2291175.软件调试 24267195.1程序仿真 24310345.2程序下载 2565446.系统测试 25197207总结 2612892参考文献 291绪论1.1课题研究背景及意义随着人类社会的不断发展与科技的不断创新,汽车行业和企业车间逐渐智能化,而在我们大学生行列中,智能小车的研究也越来越深入,只要是电子和计算机相关的专业,丢不免涉及到智能小车的测试和探究,在全国和省市的电子设计大赛中,智能小车是最常见的设计选题,甚至于在华为精英赛中,也有智能小车的主题赛。由此可见,智能小车看似简单,却十分能反应出一个学生的专业功底和创新精神,从一开始的蓝牙控制小车,到自动循迹小车,再到后来的不断附加功能,机械臂、摄像头等,进而衍生出了我们现在马路上可以看到的洒水车、自动扫地清洁车等。智能小车的设计是结合了以人工智能和自动控制为主的一个技术方案,是一个典型的科技综合实体。本研究目的在实现物体搬运自动规律化。本次确定的方案如下:在现有已知的循迹小车的基础上,添加一个机械臂,并加以电机控制机械臂对物体实施抓取运送到定点再放下;当在循迹路程中遇到障碍物,小车将会鸣笛示意,并且自动转向,然后再次寻找其他路线完成设定的物品搬运工做你。1.2本文主要的研究内容本篇设计是以STM32系列单片机为主要的控制核心,通过红外循迹避障模块引导小车按规定路线行驶,通过电机驱动模块控制两个电机分别操控机械臂的抓取和移动。在实验过程中,我们设定一条带有障碍物的线路,当智能小车在轨道上行进过程中,通过红外识别到前方有障碍物,那么小车将会停止前进并发出鸣笛示意;当障碍物被移走后,小车便可继续前进行驶,直到识别到目标物体,将目标物体按照规定计划抓取搬运到目的地后,小车再原路返回至起始点。2设计方案2.1设计任务本项设计的目的在于探索创新智能循迹小车在功能上的可开拓性,通过附属控件的组合和调制,设计出多种类型的智能小车,以便在我们的生活和工业生产中可以有效利用起来。本次循迹搬运小车的设计任务在于找到一种方便简易、低成本、易开发的集成芯片控制整个小车完成指定的指令。2.2设计方案论证与选择2.2.1设计的总体模块由于本次设计有一定的难度和复杂性,经过与老师的深入探讨和相关资料的查询后,我总结了本次设计应该包含控制模块、电机驱动模块、时钟模块、稳压模块、降压模块、红外循迹模块、红外避障模块和金属检测模块,最后外加一个舵机控制模块来操控机械臂完成相对应的指示要求。2.2.2控制模块芯片选择对于本设计而言,控制模块适合使用控制型的单片机。以下有两种方案:方案一:51系列单片机51系列单片机是带有8位CPU、128b的数据存储器、四个并行I/O口、专属寄存器、两个定时计数器和中断控制系统组成。由于51单片机成本低,适用面广泛,所以是单片机入门的最佳选择,也是应用最广泛的单片机之一。但由于其没有自编程能力,在一些较复杂的设计任务上还是无发胜任的。而本设计需要大量嵌入式系统的组合,所以51系列单片机相对而言过于简陋,性价比不高。故,方案一不合适。方案二:32位单片机由意法半导体公司研发的STM32系列单片机主要优势就是结合了低成本和高性能这两个特点的一款嵌入式应用系统。它有着一流的外设和最大的集成度,对我们本次的设计项目来说,无疑是更合适的选择,但其编程的过程与51单片机相比较而言,稍许复杂困难,但我相信正是这种困难,更能锻炼我们对专业的认识和新知识的自学能力。综上所述,方案二是控制模块芯片的最佳选择。2.2.3电机驱动模块方案选择本设计我选用的是L298N驱动。由于本次设计的主要任务是循迹+搬运,也就意味着需要两个电机,而L298N驱动就是可以驱动两个电机,因为相应频率高,所以可以同时驱动两个直流电机。当L298N与单片机结合,还可以精确的控制小车的速度;这种调制模式使得小车系统稳定且抗压性能强,并且可以快速启动和制动反转等。L298N是一种具有高电压、大电流的电机驱动芯片。主要特点是工作时候的电压高、而输出的电流大。它还具有两个使能控制端。当L298N芯片驱动两个直流电机时,接法如下图所示:
我们可以看出,IN1和IN2是控制调速端A的输入端口;IN3和IN4是控制调速端B的输入端口。2.2.4红外循迹模块方案选择竟然我们要做的是智能小车,那么就一定离不开循迹和避障。在循迹模块中,我选用的是E18-D80NK红外传感器。这一款传感器不仅可以发射信号也可以接收信号,是一种又可以发射又可以接收于的一款光电传感器,;正是由于其价格实惠、适用性高、使用简便并且可以不受可见光的干扰探测距离的远近,在机器人和部分工业机械装置上被广泛应用。2.2.5电源转换模块介绍由于本设计的输入电压为5V,我们使用的是两个12V的电池串联供电,所以我们还需要一个电源电压转换模块,来给我们的智能小车提供一个稳定的输出电压。在电源转换模块中,我们的输入电压必须比要输出的电压高,而输出的电压都是有规定的数值范围的,具体数值可查阅相关资料得知大概在1到40伏之间。在我们此次的实验成果中,我们测得的12V输入,5V输出电流1A时的负载调整率低于1%2.2.6避障模块设计我们知道,当人们走在路上的时候,我们就是通过眼睛来收集环境信息,然后通过大脑对信息进行处理,再做出相应的人体反应。而对于我们的循迹避障小车来说,避障模块就像我们人的眼睛一样来采集周围的环境信息,然后把采集到的信息传到芯片来处理信息从而实现避障功能。避障模块一般有红外检测、超声波检测等。本次试验我们使用的是红外检测。在使用红外避障模块时,我们通过控制小车的行进方向,让小车检测小车前方是否有障碍物。当小车前方遇见障碍时,我们可以直接控制小车停止前行,并等待障碍物被清楚后再继续完成设定的初始任务。舵机在避障模块十分重要,并且在我们的循迹搬运小车的设计中是不可或缺的一部分:以下是舵机的工作原理介绍:当中央处理器发出数据后,舵机内部会有一个特定的电路产生一个基准信号,它将传输的电压与电位器的电压进行比较后输出一个电压差。然后再通过红外传感器来判断小车的转动方向,然后这个输出的电压差是可以驱动马达的转动,马达的转动又通过减速齿轮将动力传到摆臂的位置。我们可以看出舵机的转动角度与中央处理器所提供的PWM信号是有相关的,以下列举几组舵机转角与脉宽的想对应关系图:舵机角度与脉宽的关系图3硬件电路介绍与设计3.1整体工作流程及其电路框架3.1.1工作流程本设计的智能小车由三个部分组成:传感器检测部分、CPU处理部分、执行指令部分。该智能小车可实现自动避障功能。智能小车主要是由四个轮子的电机带动小车运转然后再通过两个舵机来控制机械臂来完成指令动作。单片机用来驱动直流电机,而我们所采用的电机驱动模块为L298N电机驱动模块,通过STM32自带的PWM功能对电机进行调速。避障功能我们选择工业级漫反射式红外传感器,作为感知探头实现对前方障碍物的识别,其精度高,误差率低。循迹功能选择的是红外循迹传感器,在操作过程中我们是结合单片机滤波算法来对路面导引线进行识别,然后实现我们的设计目标之一的循迹功能。3.1.2电路整体框架电路整体框架如下图3-1:传感检测模块STM32传感检测模块STM32执行部分 执行部分时钟模块时钟模块图3-1电路整体框架3.2单片机及其最小系统3.2.1STM32F103C单片机简介此次设计中我们所选用的单片机是由ARM公司研发并设计的STM32系列单片机。不同的设计用不同的MCU,在“够用”的前提下选择稳定可靠并且便宜的器件来实现是常规做法。大多数情况下,一颗不需要外挂DRAM,不需要外挂FLASH,内置了足够多接口的售价1美金起的跑在72M频率下的32位微控制器,是比一颗需要6层板,需要外挂ROM+RAM,需要多组电源管理,需要bootloader,大多数时候需要操作系统的10美金起的跑在1.2G频率上的4核处理器,更适合于用在变频空调、工业自动化、金融POS和车载电子设备等上的,而更低端的4bit微控制器,现在仍旧活跃在玩具、计算器、微传感、遥控器、电饭煲、电磁炉等更为广泛低价的应用里。在STM32系列的单片机中,*****F101是标准型芯片;而*****F103是增强型芯片,因为它兼具更多的片内RAM和外设资源。本次试验,我们使用的是stm32f103处理器STM32F103C8T6的引脚图如下图3-2:图3-2STM32F103C8T6C的引脚图3.2.2单片机最小系统Stm32单片机的最小系统电路主要由时钟电路、调试接口电路,启动模式选择电路和复位电路这几个电路板块所组成。其中,STM32单片机最小系统电路原理图如图所示:1.系统时钟电路系统时钟电路主要作用是提供节拍。就好比是于我们人类的心脏在我们人体机能中的主要作用一样,血液是随着心脏的跳动传输到我们身体的各个部位;同理,信息也正是随着时钟的节拍进行传输。系统时钟的电路设计如图所示:2.复位电路在我们本次的设计中,RESET部件影响着RESET管脚的输入电平变化。当我们按下RESET按键时,RESET管脚输入的电平就是低电平;但当我们松开按键后,按键回弹后,那么RESET管脚的输入电平就变为了高电平。这种随着人为手动改变而变化的行为我们就称之为电路复位。(其中,我们所选用的开发板是低电平复位的)3.2.3stm32中断在本次设计实验中,我们要使用stm32的中断;在设计程序时,我们需要打开所有的中断通道。stm32系列单片机的中断机制结构如下图所示:图中的实线箭头,为外部中断信号的传输路径。开始是外部信号从输入线进入,然后再通过边沿检测电路,此时我们可以通过这个边沿检测电路上的两个选择寄存器来控制中断的触发方式。我们可以在程序中进行设置。然后这个外部信号进入或门3,或门另一端接的是软件中断寄存器,如果软件中断的对应位置1,那么或门的输出将总是为有效信号1。再然后外部信号将进入“中断挂起请求寄存器”,在这个寄存器中,记录一系列了外部信号的电平变化。最后这个外部信号再经过与门,如果“中断屏蔽寄存器”的对应位置0,那么外部的中断请求信号就不能传输到NVIC中断控制器,那么也就实现了中断的屏蔽。3.2.4stm32记数定时器Stm32系列的单片机一般包含8个计数定时器,有两个高级控制定时器TIM1和8,还有四个通用定时器TIM2~TIM5,再加上两个基本定时器TIM6~7。在我们本次的设计中,我们只需要用到TIM2、TIM3和TIM5这三个基本定时器,以下表我们介绍这三个基本定时器以及它的功能,如下表所示:4系统软件的设计4.1程序设计驱动软件的程序设计:用来控制车轮的电机主要是由GPIO口的输出来实现电机的动作执行,我们先要对小车进行运动方向和运动速度的设置。首先,对于运动速度的控制,我们必须使用脉宽调制(PWM),而小车的速度需要通过改变脉宽调制的占空比来进行调节。如果我们要想使stm32系列单片机的通用定时器产生PWM输出,就需要用到几几种特殊的寄存器:预分频寄存器、自动重装载寄存器、捕获/比较类的寄存器。下面我们就先简单介绍下这些寄存器:1、预分频寄存器(TIMx_PSC):该寄存器可以通过设置不同的时钟来进行不同的分频,然后再将分频后的时钟提供给计数器。该寄存器的各位功能如图所示:2、自动重装载寄存器(TIMx_ARR)的功能描述如下所示:通过预分频寄存器、自动重装载寄存器这两个寄存器我们就可以计算出脉宽调制的输出周期了。相关公式将在附件中展示。3、捕获/比较模式寄存器(TIMx_CCMR1/2)。这抓捕模式寄存器和比较模式寄存器的功能结构都差不多,两个寄存器的结构如下图所示:其中,这里比较重要的就是该寄存器的OCxM位,该位功能如下图所示:由于在本次设计的智能小车中我们使用的是脉宽调制的输出模式,所以我们要将OC1M接口处设置为110/111。捕获/比较使能寄存器(TIMx_CCER),这个寄存器控制着各个输入和输出通道的开关,此寄存器的结构描述如下所示:6、捕获/比较寄存器(TIMx_CCR1~4),总共有4个并且也是4个寄存器的功能结构都相似,所以不一一做介绍,该类型寄存器的结构介绍如下图所示:我们要在输出模式下对该寄存器的值与CNT中的值进行比较,然后我们再根据比较得出的结果来进行电平的翻转操作。在这几项过程中,我们可以知道:ARR和PSC寄存器可以控制PWM波的周期,TIM3可以控制PWM波的占空比。在运动方向的控制上,由于循迹避障中,要做到避障这个环节,那么设计代码我们主要讲解一下后退这个部分。我们主要给大家讲解一下如何通过库函数来进行端口配置。我们以PD8为例:接下来我们就可以开始编写程序来控制并驱动小车的运动方向了。4.2循迹模块设计机械臂和主题程序控制部分差不多完成,现在我们要使小车沿着黑色胶带运动。要想使小车沿着黑色胶带运动,我们首先想到的就是黑色是吸光色的,我们用红外探测显示器恰好就是这么一个用途。当红外探测器发出红外线时,无反光的区间就是小车移动的区间,由于红外探测部件的发散局限性,所以在一定角度内,小车是按一个方向直行,是不会倒车后退的,除非有指定的指令系统,小车就可以实现反向行车。而在我们此次的试验中,我们只需要小车完成规定路线行驶的任务即可。然后再在稳定行驶的前提下,再来操作机械臂完成相应的动作。而循迹模块的就是可以使小车能更加准确的识别黑色胶带的轨迹的一个模块。小车的中央处理模块需要从循迹模块中获得数据信息,才能再进行处理,然后驱动电机模块完成相应的动作。但是由于考虑到成本有限,所以我使用的是红外探测器。4.2.1循迹模块结构及其原理红外探测器主要是由红外线发射管、红外线接收管和一些集成电路组成。要做到沿着我们规定的路线运行,那么就需要每条路对应一个红外探测器。如果遇到了分岔路口,也许我们还需要多个红外探测器来对应不同方向的路线,当小车在运行的过程当中,能够及时的处理环境信息,然后立即作出反应,完成中央处理器规定的人物行为。红外循迹模块实物图如图所示:红外模块正反面本实验由于是只做一个简易版的循迹搬运小车,所以我们只需要用到一个红外探测器即可。红外探测器的原理是:由红外发射管发射红外光,然后经过地面反射,在黑色胶带区域,红外光被吸收,在非黑色区域,红外光被反射,红外接收管根据反射光的强弱为比较器提供模拟量,然后再输出相应的电平量,进而再去控制小车的电机进行前行和停止。IR红外探测器电路原理图如下图所示:IR探测器电路原理图4.2.2循迹模块电路设计4.2.3红外循迹模块程序设计根据电路原理图,我们对循迹子程序进行设计,循迹子程序流程图如图所示:循迹子程序流程图我们在循迹程序设计中,主要工作为:1、配置管脚与红外探测器的对应关系当小车处于在黑带上方时,输出为0。当红外探测器模块在白色上方时,输出为1。因此我们采用中断的方式进行循迹;在配置好管脚与红外位置关系之后,我们就需要进行中断初始化了。2、编写中断服务函数就以PE1为例,我们在中断初始化之后,PE1的值发生变化,我们就要进入中断服务函数,在中断服务函数中再去判断红外探测器是否在黑色胶带上方,如果在,此时我们就要让小车继续前进,如果不在黑带上方,小车就停止前进。其中断服务函数代码如下:#defineKEY3GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_1)voidEXTI1_IRQHandler(void){if(KEY3==0) {Right_Low();} EXTI_ClearITPendingBit(EXTI_Line1);}//清除LINE2上的中断标志位附录5.软件调试前面我们一一了解学习了每一个模块的电路设计及其程序设计,那么接下来我们就要开始根据各个模块的电路设计来进行相应的编程。我们使用keil3软件进行程序仿真,然后再用一个特定软件(第三方)把我们得到的目标程序文件下载到处理器中。5.1程序仿真软件keil3的操作主界面如图所示:在程序仿真中,我们只能观察PC7脚位的电平变化,来判断是否满足红外线的发射条件,而对于红外线发射到接受的持续时间是我们在程序仿真中无法观测到的。所以我们只能通过对硬件的测试来完成对整个产品成功与否的考核标准。PC7的软件仿真结果如下图所示:图3.2PC7脚电平仿真图5.2程序下载串口下载软件使用mcuisp,该软件启动界面如图所示:mcuisp启动界面我们使用mcuisp软件对芯片进行程序下载,程序下载的示意图如下所示:mcuisp程序下载图6.系统测试前面我们对程序进行了调试,当一切编码类任务完成后,接下来就是要对硬件进行测试了,通过测试的结果来验证本次方案是否成功。小车实物图如下所示智能小车实物图小车检测到前方有障碍时,小车停止前进,当障碍物被移走时,小车继续前进,完成初始设定任务,测试图如下图所示:智能小车避障图7总结通过本次电子信息专业的毕业设计项目的学习与自我操作过程,我利用了所学的基础知识,再加上老师同学们的一些专业指导意见,我自我感觉慢慢培养出了我独立解决问题和善于发现查找问题的能力。在组件过程中,我也进一步熟悉了电路的设计、开发版的焊接等能力,也进一步充实了电子元器件的知识容量库。从一开始的最基础的流水的灯,到现在可以完成一项智能小车,我所获得的收获必然比付出的汗水和时间更多。在实验过程中,我认识到真的只有动手操作才会真正学以己用,纸上得来终觉浅,绝知此事要躬行!一般在课堂上我们都是讲的一个一个分布开来的模块,而当我们要做出一个成品的时候,就要学会如果将各个模块结合在一起,我印象最深的就是舵机控制机械臂部分,也许是真的一点也不了解这一范围,导致我花了将近两个月的时间才测试出如何正确控制舵机,原来还需要一个金属探测器,当金属探测器检测到有金属物体时,才会进一步完成相应的抓取拿放动作,我就在想如果所搬运的物件不含金属那又该如何识别呢?后来查阅资料才知道还有图像识别、颜色识别等各种不同的“识别模块”,看来循迹小车只是一切一切的基础,就像洒水车、扫地清洁车等,只要有了基础,再慢慢创新搭建又是一个新的产品。另外,通过此次的设计经验,我也对大学期间所学习的数电模电知识完成了最后一次的整理和学习贯通。对于还没有学到的内容,也有了提前的了解,在智能控制着方面,我认为只要学熟练了,实际操作起来会发现这其实是很有意思的一个行业。能学到的东西真的很多!!参考文献刘小华,王燕生.指纹识别技术的发展[J].光学技术.1998,23(04):78-80.建材网(上海).国内指纹锁技术发展现状浅析./14/0707/12/A0I5FHSH00104JV9.html,2014-07-07.张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:高等教育出版社,2010:1-14.STC89C52RC单片机中文资料.电子电路网[引用日期2012-06
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 育儿中的品德行为引导课件
- 文字排版设计规范
- 流程优化实施路径与方法
- 红色教育拓展实施路径
- 小班节约粮食教育活动设计
- 2025艾滋病健康教育核心要点与实施策略
- 了解服装设计
- 2026年卡车维修技师招聘面试问题与气路系统检修详解
- 日间手术流程管理规范
- 2026年产品经理的自我管理与时间管理技巧考核
- 【MOOC】英语阅读-北京大学 中国大学慕课MOOC答案
- 【MOOC】倾听-音乐的形式与审美-武汉大学 中国大学慕课MOOC答案
- 2024届新高考语文高中古诗文必背72篇 【原文+注音+翻译】
- 美能达807si相机中文说明书
- CSTM-成核剂 N,N-二环己基对苯二甲酰胺编制说明
- HJ1209-2021工业企业土壤和地下水自行监测技术指南(试行)
- 立夏养生中医养生
- 广州中考英语视听说-询问信息讲解
- 学习解读2023 年事业单位工作人员处分规定课件
- 全过程咨询服务项目的管理制度(完整版)
- YY/T 0128-2023医用诊断X射线辐射防护器具装置及用具
评论
0/150
提交评论