基于MCS-51的智能迷宫小车的设计与实现_第1页
基于MCS-51的智能迷宫小车的设计与实现_第2页
基于MCS-51的智能迷宫小车的设计与实现_第3页
基于MCS-51的智能迷宫小车的设计与实现_第4页
基于MCS-51的智能迷宫小车的设计与实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于MCS-51的智能迷宫小车的设计与实现专业:自动化学生:陈震南指导教师:郑恩辉摘要:随着电子、信息技术的应用与迅速普及,人们对电子技术的要求越来越高。迷宫小车的出现为今后能够更好地使用机器人来代替人工活动垫定了扎实的基础。经过完善的迷宫小车将可以广泛用于军事排雷、火灾现场的救灾抢险、有害气体中毒的抢救等活动中。然而,目前存在的一些迷宫车主要还是停留在人工远程控制阶段,真正稳定完备,并能实现自主学习的智能小车还有待继续研发。本课题设计了一个基于单片机控制的迷宫小车系统,该系统采用STC89S52单片机为主控制核心,实现信号采集,路线判断,以控制小车的运动;利用光电传感器检测迷宫黑线的走向,

2、结合L298N芯片驱动减速电机运转,从而实现小车走迷宫。该系统有单片机控制模块和光电传感器模块两个主要功能模块。单片机控制模块主要利用单片机接受到传感器输出的高低电平后再输出信号去控制小车的运动;传感器模块则利用光电传感器对黑线的感应,然后输出相应高低电平并传送给单片机。这样就可以实时监测小车在迷宫中所处的位置,并进行相应的运动,最终经判断让小车停止在迷宫出口指定的位置上,并通过迷宫小车的自主学习功能对迷宫路线进行最优化处理并学习记忆,使其在二次走迷宫时,能以最优路径走到迷宫出口。关键词:迷宫小车;单片机;传感器引言:智能迷宫小车也可以称为智能迷宫机器人,既然是智能机器人,那么就应当具备以下几

3、个特征功能:识别,处理,执行,学习。目前全世界各国所举办的大大小小关于机器人的比赛C数不胜数,其中的宗旨是一致的都是为了培养创新精神,激发思维想象力,并估计理论与实践相结合。在我国高校的机器人比赛中,最为广泛的是“飞思卡尔”杯大学生智能车竞赛,该比赛充分的利用学生的各方面知识,并要求将其运用至切实的实践中,极好的诠释了上述的机器人比赛宗旨。正因目前的机器人发展越来越迅速,越来越多智能机器人产品或已经或正在投入到农业、工业的生产当中,代替人工劳图1迷宫形状示意图作。同样,在抢险救、军事活动中,智能迷宫机器人也可以达到同样的功效,该迷宫小车可以在复杂的迷宫中,在迷宫的入口处进入迷宫,并对迷宫路口进

4、行智能识别,选择正确路径,最后找到迷宫出口。该迷宫机器人为采用MCS-51单片机为控制核心,ST188为识别路线的传感器,通过控制直流电机的正确运作,进行一系列的信号采集、数据处理、电机控制实现走迷宫的功能。迷宫是以白板为底,宽度为18mm的黑线组成的线形迷宫,迷宫的大小不限,但是对于迷宫过的路线均为直线,拐角均为直角弯,如图1所示。智能迷宫小车总体设计方案该智能迷宫车是由光电传感器模块、单片机控制模块、电机模块、液晶显示模块组成的。迷宫小车采用的是由一个万向轮作为前轮,以及两个直流电机驱动轮作为后轮的结构形式组成的三轮车。该车的特点就是灵活,通过后侧两个驱动轮的差速转动实现小车的转向。两电机

5、以相同速度同方向运转时,小车为前进;以相反方向运转时,小车实现绕车体中心自转,十分灵活。智能迷宫小车控制电路的设计小车传感器对白底黑线的迷宫路线进行检测,并将其信息进行具体的处理。该智能迷宫小车的整体控制流程是:由光电传感器检测路面信息,返回模拟信号;该信号通过比较器使其转换成数字信号;单片机对数字信号进行处理,判断道路目前情况;了解路面情况后,通过单片机对驱动电机进行调整;然后再次通过传感器检测车体是否行走正确。其中各个核心元器件选用的是STC89C52的核心控制器,ST188的光电传感器,L298N的电机驱动,以及采用LCD1602作为路径的显示器。具体控制框图与流程图如下图2.1和图2.

6、2所示:传感器模块图2.1总体设计硬件图电机模块生控制电机驱动图2.2系统控制流程图传感器的安装与检测方案对于不同的路面情况选用不同的传感器,针对该智能迷宫小车的迷宫为白底黑线的情况,选用ST188光电传感器则是较为合理。该传感器是将路面的黑白情况反映成为一个05V的模拟信号,再通过以LM358的基础的比较器,将其模拟信号转换为可以让单片机可以识别的数字信号0、1。传感器的不同安装方式,对于迷宫的检测效果也是不同的。总的来讲,按传感器安装的排数还是分为两大类:一类是单排,一字型排开;另一类则是多排,而多排又是一两排为主。3.1单排传感器:单排一般以5个为适中,具体方式如图3.1所示。这种排布方

7、式的主要优点资源的节省,传感器要求数量较少;而且理论上实现起来简单,只需通过此时刻与之前想接近的某一时刻进行对比(这两个时刻可以设为时是间间隔一定),就可以得出目前小车所处迷宫的位置状态,并可以判别出迷宫的路口情况。但是这个也只是存在于理论当中,现实的实践中往往是存在诸多干扰与不理想的情况,比如电机的转速不完全一致,以及传感器接受信号不完全同时等等。这个势必会影响小车的判断与运行,只要一个路口的判断失误,那车子的行走方向就有可能与正确路径背道而驰。图3.1单排传感器示意图双排传感器为了很好的克服以上的问题,采用双排传感器的配合使用较为合理。传感器的排布如图3.2所示,分为上下两排,上面这一排为

8、辅助传感器,作为与判断终点线和路口路径预判断使用;而下排传感器则作黑线中心判断与路口再判断使用。其中1号和3号为检测终点用,2号为路况的预判断使用,4号和7号为路口判别使用,5号和6号为黑线中心检测使用,其中2号也常配合5、6号使用。这种传感器的排布方式,可以令传感器分工使用,有效的避免一些来自路面的干扰和反馈信号的冲突。图3.2双排传感器排布是意图信号检测与处理4.1小车走迷宫的过程分析小车走线形迷宫时,整体的控制思路无非是以下几个步骤:(1)、小车沿着当前迷宫道走,并同时检测前方是否存在岔路口(2)、当检测到岔路口时,判断岔路口的类型;(3)、确定岔路口的类型后,控制小车朝着正确的方向运转

9、;(4)、依次循环作用。其主要的流程图如下图4.1所示:执行当前操作嗨判断是否为岔路口执行转向與判断是否为终点结束图4.1系统流程图小车寻线方法(1)小车的寻黑线行走相对还是比较简单的,在走直线的情况下,只需根据5、6号传感器对路面黑线的偏离位置检测,并通过电机对车体进行左右微调即可达到车子回到黑线中心直线行驶。如下图4.2所示,很明显小车在走直线时有偏右的趋势,5号传感器在黑线内,6号处在黑线外。那小车就要通过控制电机运转,即左侧电机不转,右侧电机前转,这样就可以使小车回到黑线中心,当达到5、6号传感器均在黑线上时,左右电机均保持前转,即可达到调整的目的,回到图5的状态继续直线行驶。图4.2

10、小车偏右示意图ri图4.3左右转路口示意图(2)小车除了要走直线,走转弯路口还是比较常见的。这里所谓的转弯路口是指只有一条路径选择的拐弯处,具体如图4.3所示。这种单纯的左右转弯,对于传感器的检测与判断也是比较简单。下面以小车右转弯为例讲述传感器的检测与判断过程:我们已经知道上传感器1、3是用于终点检测的,所以在这里面不作考虑;2号传感器则是作为与判断使用的,当小车如图9情况行走时,小车为处于直线状态;当从图4.4变化到图4.5的情况时,从视觉上看小车踏在了右转弯的路口上,但是由于3号传感器在这里不起作用,所以小车目前的状态仍然是直线的;当小车继续行走时,小车就会自然的到达图4.6的状态,这时

11、2号传感器进入了白地板,同时7号传感器进入了黑线而4号依然是没有变化,此时单片机就可以判断小车是进入了右转弯。图4.4小车处于直线上图4.5小车正处于右转路口上图4.6小车处于即将右转状态(3)当小车所处的位置能够面对两种或两种以上的路径选择,那么这个位置处的路口情况叫做岔路口,如图4.7所示:图4.7岔路口示意图其路口则检测与判定情况与上述的转弯路口基本一致,原理相同,其关键仍是要处理好传感器的变化关系。但对其信号的处理则不同,小车的行走方向则要根据单片机的处理与算法有直接关系,具体的选择方式会在算法介绍中讲述。(4)小车要行走顺利还需要注意死胡同的情况。所谓的死胡同是小车所处的直线前方已没

12、有道路。当小车进入死胡同,那势必会经过从图4.8到图4.9的过程。这时单片机应该控制电机做掉头,使小车返回。图4.8小车驶向死胡同图4.9小车处于正要掉头的状态5.小车控制算法小车要在迷宫入口处通过随机选择路径的方式来寻找迷宫出口时比较困难的,所以通过使用一些法则来选择行走方向仍是非常必要。迷宫小车一般会使用的控制算法有“左手法则”,“右手法则”和“靠前算法”。其中三者的区分方式是根据小车在遇到岔路口时的路径优先选择方向。以左手法则为例,所谓左手就是当小车在行经中传感器检测到前方有多个方向的岔路口时,小车优先选择向左转弯,如图4.7中的第1、3、4幅图所示;当岔路口没有左转路口时,如图4.7中

13、的第2副图所示,此时就以顺时针方向旋转,在这个过程中遇到路径则选为小车将要前进的方向。具体流程如示意图5.1所示。以左手法则行驶的小车不会走重复的路线,这样的话只要小车不出现路线判断错误,小车就一定会找到迷宫的出口。初始化扫描传感器并将传给单片机判断是是否为岔路口否-是否有左路径否继续运行小车左转小车直行(1结束丿图5.1小车路径选择流程图小车的学习功能智能迷宫小车在走迷宫的过程中,如果每一次都是以左手法则来走完全程,那时间效率是非常低的,所以这里介绍一下小车的自主学习功能,是小车能够在二次行走迷宫格时,有效地避免与滤除无效路线,如死胡同。我们使用“左手法则”进行穿越线迷宫,图6.1中的蓝色的

14、线,就是其穿越路径。可以看出绕了很大的圈。机器人的自主学习功能就是机器人在经过第一次穿越后,能够发现并记住所经过的无效线路,从而在第二次穿越时,自动绕过那些无效路口,实现最短距离穿越线迷宫,如图6.2中绿线所示路径。图6.1智能车第一次走迷宫路线图6.2智能车第二次走迷宫路线那上面的简化到底是如何实现的呢?当机器人穿越线迷宫时,每穿越一个“岔路口”,我们就让机器人在存储器中记录一个字符:如果是直行就保存一个S”;如果是左转就保存一个“L”;如果是右转就保存一个“R”;如果是掉头,就保存一个“U”。只要是岔路口,就要记录一次。当小车从起点出发经过第一个岔路口时如图6.3(a)所示,根据左手法则,小车将选择向左转弯进入图6.3(b)的状态,并记录下一个“L”;接下来小车遇到一个十字路口,继续根据左手法则选择左转,如图6.3(c),并记录为“LL”;然后又遇到三叉路口,小车左转如图6.3(d),并记录为“LLL”;然后是死胡同,小车必须转头如图6.3(e),记录为“LLLU”;6)7)然后又是岔路口,根据左手法则的第二条,没有左转的路则要直走如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论