1. MCS-51单片机概述
所谓单片机就是指由一块超大规模集成电路芯片构成的微机。也就是说,将微处理器系统的各种CPU外的资源。单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。单片机也具有自身的特点,如单片化,体积大大减小,降低了成本和功耗,并且也提高了可靠性。单片机片上外设资源丰富,比较适合控制。
MCS-51单片机是Intel公司生产的一个单片机系列名称。MCS-51单片机属于单片机,因此它具有单片机所具有的特点。MCS-51单片机的基本组成主要包括中央处理器CPU、内部RAM、内部ROM、定时/计数器、并行I/O口、串行口、中断控制系统、时钟电路。MCS-51单片机的分类如表1所示。
2. MCS-51单片机在智能机器人中的应用
机器人已经在很多领域中展现出其强大的搬运功能。随着社会所需的功能越来越强大,致使机器人朝着智能化方面发展。本文对MCS-51单片机在智能机器人中的应用主要是对智能机器人行走系统进行设计。
2.1智能机器人行走系统的总体设计方案
智能机器人行走系统主要组成部分如图1所示。
2.1.1行走系统控制电路
行走系统控制电路组成部分如图2所示。(1)红外线光感电路传感器通过发光二极管发出红外线,若有障碍物在前方,红外线会被反射回来,被感光三极管接收, 单片机程序对信号进行比较处理,按设定的动作要求向后轮的两个电机发出控制命令, 控制小车行进。(2)电机驱动电路采用89S51 单片机, 通过L293D芯片来控制两个驱动电机动作。89S51 根据红外传感器对外界进行探测后反馈回来的信号, 依据迷宫车探路算法, 判定迷宫车行进方向, 分别向左右两个驱动电机发出控制指令, 该信号经L293D 芯片驱动后, 直接控制相应电机动作, 使迷宫车按既定动作进行前进、后退、转向。
2.1.2行走系统控制程序
行走系统控制程序算法主要有四种。(1)靠左算法。靠左算法就是一直靠左行走。当然这种算法也有可能使行走路线循环下去,最终导致死循环,永远都找不到出口。(2)靠前算法。靠前算法就是说一直按照前方的路行走,如果前方没有路,那么就左转,左边没有路,才选择右转。(3)洪水算法。洪水算法即使用256 B 额外内存, 会大幅提高性能。该算法比一般迷宫算法的有效率高20~ 50 倍。同时可以在内存中建立一个区域, 与实际中的迷宫格数一一对应。在实际使用时算法并不太复杂。该额外内存区域称为“ 浪头”, 它将体现在内存区域的实际状况中如图3所示。当迷宫被淹没的时候, 一个波浪的前头从目标格向智能科技论文发表外扩展。在内存区域中这种单元格是惟一需要处理的,当浪头到达开始的单元格子, 机器人已经被淹没。通常来说, 开始的单元格可以是任何一个格子。但是为了方便起见, 把开始点设在迷宫的第一个单元格, 终点任意。反过来也可以把出口放在第一个单元格, 把开始点设在中间或希望的位置。一旦到达了起点即搜索完成, 最短的路径可以使机器老鼠移动到周围的格子中数值比较小的那个格子去, 依次类推机器老鼠就能走到终点。按照洪水算法行走时,必须要把所有的路都要走一遍,虽然比较浪费时间,但是它可应用于任何迷宫。只要走完第一遍就能够一次性走出正确路线,并且此路线为最佳路线。(4)铺路算法。为了与实际中的迷宫格数一一对应,可以在内存中建立一个区域,记忆所有已经走过的路,因为有了记忆功能,因此就可以走第2遍。铺路算法可以走复杂的迷宫,并且肯定会走出去的。这种算法的使用能够确保第二次顺利走出,但是此条线路是否最短是无法确保的。以上这四种算法各有其优缺点,本文采用靠前算法。
2.2行走系统运行
(1)小车的外壳及轮子是纯手工安装的, 精度不是很高, 小车在行驶过程中不能一直走直线, 很容易发生擦墙事故影响小车走迷宫。若是手工制作时所引起的,可通过给行驶时较落后的轮子上绕一些胶带来增加轮子的周长来解决。也可通过在电路中加入A/ D 转换器, 对程序进行相对的改进, 不断的测小车与周围墙壁的距离, 保持小车与周围墙壁保持一定距离来解决。
(2)采用ST 188 型红外线传感器, 易受外界干扰不能准确地检测墙壁信号, 尤其是在强光下无法正常运行, 对某些材料反射的光无法接收, 易受阳光干扰, 导致小车不能无误地走出迷宫。引起干扰的原因是阳光所发出的红外线与红外传感器所发出的红外线是一样的,都是连续的, 无法区别, 所以易受周围光线的干扰。对于该问题的解决办法是利用无线遥控基本原理使红外传感器所发出的红外是一种有固定频率有别于周围红外的信号。
(3)很难控制行车速度。小车在转90°和180°时,通常都是转过这个角度,导致小车不能直线走出迷宫。因此,可以通过接入调压电路的方式来解决此问题,在小车转弯时间一定的情况下,车轮速度主要通过马达上电压的调节来进行,多次实践最终达到预定的标准。另外,也可以通过改变程序中的小车转角时间来进行。实践证明,这两种方法虽然都能够控制行车速度,但是在单独使用的过程中是很难达到预定目标的。因此,为了达到很好控制行车速度,可将这两种方法结合起来使用。
参考文献:
[1] 周世宾,郝静如,黄民. 基于单片机的水下机器人定位系统[J].传感器世界, 2008, (02) .
[2] 徐洁. 智能小车速度控制策略的选择[J]. 硅谷, 2009, (23)
[3] 程志江, 李剑波. 基于模糊控制的智能小车控制系统开发[J]. 计算机应用, 2008, (S2)
[4] 邹晓娥, 李良仁. 基于单片机的超声波测距系统设计[J]. 九江职业技术学院学报, 2006, (03)
[5] 孙丽飞,王法能,王宽仁,和亮. 基于单片机的智能巡线机器人的设计与研究[J]. 西安外事学院学报, 2007, (01) .
[6] 蔡美琴. MCS-51 系列单片机系统及其应用[M]. 2 版. 北京:高等教育出版社, 2004.