基于AT89C52的机器人在复杂路线下的自主寻迹系统

发布者:古古斋最新更新时间:2011-09-10 关键字:AT89C52  机器人  自主寻迹 手机看文章 扫描二维码
随时随地手机看文章

  引言

  智能寻迹机器人是一种被广泛研究的机器人,而且国内外都有许多重要的比赛都以寻迹机器人为核心展开。

  所谓的复杂路线,即由小半径弯道、各种角度折道、直道等组成的不规则导引线,它是相对由大半径弯道组成、过渡平滑的简单路线而言的。笔者所设计的寻迹机器人小车,以AT89C52单片机为控制芯片,采用自制的3个红外光电传感器,以简单的设计、较低的成本实现了复杂路线下机器人的自主寻迹。

  1 硬件及电路

  1.1 控制芯片

  考虑到实用性和性价比,采用AT89C52单片机作为机器人的控制芯片。AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8 KB的可反复擦写的只读存储器(PEROM)和256B的随机存取数据存储器(RAM),32个I/O口线,3个16位定时/计数器,1个全双工串行通行口。器件采用Atmel公司的高密度、非易失性存储技术生产,与标准MCS51指令系统及8052产品引脚兼容。

  1.2 传感器模块

  作为寻迹机器人的“眼睛”,选择合适的传感器是关键。目前市面上可选用的传感器主要有CCD传感器和红外光电传感器两种。近年来CCD传感器技术已趋成熟,在近几届“飞思卡尔”杯智能车大赛上,采用CCD传感器的智能车越来越多,并取得了不错的成绩。不过,CCD传感器价格较高,体积较大,数据处理相当复杂,因此在按既定路线行走的寻迹机器人设计中,红外光电传感器以其体积小、价格低、数据处理简单而显得更有优势。

  红外光电传感器由1个红外发射管和1个光敏二极管组成。工作时,红外发射管发射的红外光被被测表面反射回来,光敏二极管接收被反射光。由于被测表面的材质不同,反射率也不一样。当被测表面为白色时,反射光较强,光敏二极管将导通;反之,被测表面为黑色时,光敏二极管将截止。考虑到外界环境光照等干扰因素,输出的电压值有一定的波动范围,若直接输给单片机,可能导致检测判断错误。因此,需要将输出电压通过比较器(LM324)与预置的阈值电压比较,然后得出一个高低电平输给单片机。阈值电压通过试验测量得出,其电路如图1所示。其中LED为传感器工作指示灯,R1为阈值电压调节电阻。

  

传感器电路图

  图1 传感器电路图

  根据上述电路,自制了3个简易的红外光电传感器。经测试表明,性能良好,有效检测距离为1~4 cm,满足机器人寻迹的要求。

  1.3 驱动模块

  驱动机器人行走的2个电机需要不同的转速来实现转弯。选用的驱动芯片为L293D,它包含4个输出通道,最大输出峰值电流为1.2 A,能同时驱动2个直流电机工作;其信号输入端和使能端接收到来自单片机的信号,控制电机的通断以及正、反转,还可以通过向使能端输入不同占空比的方波信号来调整电机转速 (PWM方式)。

  如图2所示,IN端口接控制信号,OUT端口接电机的两端,EN端口接使能信号。一组IN端口输入为高/低或低/高电平时,能实现电机的正/反转。一组IN端口输入均为高或低电平时,电机将停转。EN使能端为高电平时,相应端口输入信号有效;反之,则输入信号无效。在EN端输入PWM波,通过调整 PWM波的占空比,即可实现电机的无级调速。

  

 电机驱动电路

  图2 电机驱动电路

  2 寻迹控制

  机器人寻迹控制示意图如图3所示,机器人采用前轮驱动后轮辅助的三轮差动式行走方式。车体前部两轮均为主动轮,由两个电机分别驱动,利用它们的转速差来控制机器人运动方向;后轮为从动万向轮,仅起着支撑车体的作用。车底板前部以车体中心线为轴线对称放置着3个自制的红外光电传感器,作为机器人的寻迹传感器。

  

  图3 寻迹控制示意图

  机器人寻迹场地中除了黑线,其他区域均为白色。当传感器正下方为黑线时,输出“0”状态,当其为白色区域时,输出“1”状态。因此,理论上3个传感器输出的组合状态会有8种,如表1所列。每一种组合状态都对应着一种机器人下一步的行走动作,共有前进、左转、快速左转、右转、快速右转、原地旋转、停止 7种动作。

  表1

  

  本机器人有着双级转弯的设计,即普通转弯和快速转弯。当机器人对黑线的偏离量比较小时,使用普通转弯,即两个驱动轮都向前运动,速度一大一小,依靠两轮的速度差来实现转弯;而当机器人偏离黑线较远时,使用快速转弯,即两个驱动轮一个向前运动,一个向后运动,这样能迅速实现转弯。普通转弯用于大半径弯道、大角度折道,而快速转弯则用于小半径弯道和直角锐角折道等非平滑过渡路线。对于非封闭路线,还设计了原地旋转的动作,来实现原路返回:一旦机器人小车走完全程,3个传感器将均检测到白色区域,输出组合状态“111”,此时一轮全速前进,一轮全速后退,小车原地旋转,直到掉过头来传感器检测到黑线为止。

  3 程序设计

  程序设计时,采用汇编语言编程。其思路为:第1步,系统初始化后,读取单片机P2口的值,然后对其P2.0、P2.1、P2.2按位取与,得到传感器模块的组合值。第2步,将得到的组合值与预定的值比较,若相等则执行相应的动作,否则继续比较,直到获得正确的动作。比较完全部动作后,转到第1步重新扫描传感器的状态值。

  为了进一步提高系统的安全性和可靠性,还需增加异常处理算法。可能出现的异常情况有:过小弯道或小角度折道时,机器人还来不及转过弯来,就已经完全偏离黑线。这种情况下,3个传感器都输出“1”,检测不到黑线,若不及时处理,机器人将无法继续寻迹。针对该情况,设计了原地旋转动作来找回预定路线,不过原地旋转有顺、逆时针之分,因此还得区分开来。改进后编程的思路为:每次读取P2口值之前,将其上一次的传感器组合值存入某个寄存器,当出现组合值为 “111”的情况时,立即查询上一次的值,根据该值,可以判断出机器人是从哪一侧偏离黑线的,从而进行顺或逆时针原地旋转。其主要程序如下:

  ……;系统初始化

  SENSOR: MOVA,P2

  ANLA,#07H;读P2口值,对P2.0、P2.1、P2.2按位取与

  CJNEA,#07H,NEXT;如组合值为111,直接转到动作判断程序,否则转到NEXT

  LJMPDATA_PROCESS

  NEXT:MOVR5,A;将本次传感器组合值赋给R5

  LJMPDATA_PROCESS

  DATA_PROCESS: CJNE A,#07H,D1;对组合值判断,确认为常规动作还是旋转动作

  LJMP ROTATE

  D1:……;继续常规动作判断

  ……

  ROTATE: MOV A,R7 ;旋转判断,将上一次传感器组合值赋给A

  CJNE A,#06H,R1;对上一次传感器组合值判断,决定顺逆旋转

  LJMPCLOCKWISE

  R1:……;继续顺逆判断

  ……

  CLOCKWISE:……;顺时针旋转动作

  LJMP DELAYS

  DELAYS:MOV A,R5

  MOV R7,A;将本次传感器组合值赋给R7

  LCALL DELAY;调用DELAYS子程序进行延时

  LJMP SENSOR ;重新扫描传感器状态

  END;程序结束

  结语

  根据上述设计思路,我们制作出寻迹机器人并进行了测试。测试场地如图4所示,黑色导引线宽度为3 cm,黑线周围区域均为白纸覆盖。测试结果表明:该寻迹机器人能在此复杂路线下平稳、顺利地沿着黑线走完全程,并在终点沿原路返回,达到了预期的目标。这为进一步研究复杂环境下的自动行走机器人提供了参考。

  

机器人寻迹测试图

  本文的创新点为:使用3个自制的红外光电传感器,以简单的设计和较少的硬件实现了复杂路线下机器人的寻迹。而基于该机器人双级转弯的设计思想,可以增加传感器数量、组成传感器阵列来实现多级转弯,从而对机器人的自主寻迹有着更为精确的控制。

  参考文献

  [1] 韩毅,张雪峰.一种低成本寻迹机器人的实现[J].微计算机信息,2008,52:233235.

  [2] 朱益斌,胡学龙,朱亚锋,等.自主式寻迹机器人小车的设计[J].国外电子测量技术,2006,25(7):4042.

  [3] 何立民.MCS51系列单片机应用系统设计[M].北京:北京航空航天大学出版社,2003.

关键字:AT89C52  机器人  自主寻迹 引用地址:基于AT89C52的机器人在复杂路线下的自主寻迹系统

上一篇:基于89C55单片机的图像处理系统设计
下一篇:8051体系中Keil C51中对双数据指针的支持情况及代码生成

推荐阅读最新更新时间:2024-03-16 12:41

八件大事揭晓本周机器人行业圈都发生了啥
转眼间周末又来临,小编也准时与你分享本周机器人行业大事件。京东市值逼近百度引发外界对于BAT格局改写的热议;亚马逊最高级别华人科学家任小枫加盟阿里,巨头争抢AI人才局面愈演愈烈;MIT全球50大最聪明公司出炉,科大讯飞力压群雄成中国第一。总体来说机器人产业趋势向好,科技巨头动作频频。接下来就让我们一起了解一下具体信息吧。 MIT全球50大最聪明公司:科大讯飞力压群雄居中国第一 6月27日,《麻省理工科技评论》2017年度全球50大最聪明公司榜单在北京发布,中国公司中,共有包括阿里巴巴、百度、腾讯、蚂蚁金服等在内的9家中国公司入选,也是该榜单发布7年来中国公司上榜最多的一次。其中科大讯飞首次上榜就名列全球第六、中国第一。 科
[机器人]
防疫战斗中,机器人「大白」下场打硬仗
“从1到10,你的疼痛指数有多少?” 在动画电影《超能陆战队》中,“大白”是一个专业的机器人健康顾问,只需简单快速扫描,就能检测出人的生命指数,根据其疼痛程度治疗疾病,且非常“暖心”。它还可不断学习,升级疾病库,完善自身系统。 据说,大白的形象和功能设定,参考的是卡内基梅隆大学、哈佛大学、麻省理工学院等顶级研究机构对下一代机器人的趋势看法,是对未来医疗机器人具体形态的“画像”。 而疫情这样的灾难,正在推动电影中的科学设想加速渗透入我们的生活,一如恩格斯所说:“没有哪一次巨大的历史灾难不是以历史的进步为补偿的。” 01 机器人“大白”都能干什么? 疫情,让医疗机器人更广泛进入人们的视线和空前密集活跃期。 自2020年新冠疫情
[机器人]
新加坡政府砸重金 诱半导体设厂
  尽管新加坡 半导体 业规模目前落后南韩与台湾,但在芯片强劲需求与政府砸重金奖励下,愈来愈多外国芯片大厂赴新加坡设厂,不仅推动当地景气,也拉抬自动化与 机器人 相关产业。下面就随嵌入式小编一起来了解一下相关内容吧。   为了吸引 半导体 厂商前去投资,新加坡政府推出规模数十亿美元的奖励方案,领域包括提升生产力、自动化与科技研发。 美光科技(Micron)与英飞凌科技(Infineon)已决定在新加坡扩产。   这一波电子业投资热潮,使新加坡科技业去年十月至今年二月的成长率年比剧增百分之五十七,也因此去年底免于陷入衰退。 此外,根据贸易与工业部数据,第一季制造业年比成长百分之六点六,高于整体经济成长率百分之二点五,主要原因是电子
[嵌入式]
杭州幻爽科技荣获“维科杯·OFweek 2022中国机器人行业年度卓越投资价值企业奖”
         由中国高科技行业门户OFweek维科网及旗下权威的 机器人 专业媒体-OFweek维科网·机器人共同举办的“维科杯·OFweek 2022中国机器人行业年度评选(OFweek Robot Awards 2022)”最终结果于4月20日在颁奖典礼上正式揭晓。          该评选是中国机器人行业内的一大品牌盛会,亦是高科技行业具有专业性、影响力的评选之一,“OFweek Robot Awards ”奖项设立迄今已有十余年,作为中国高科技产业的核心评选活动,已在各行业成功举办几十场高科技评选活动,被誉为业界“高科技行业奥斯卡奖”。          活动旨在为机器人行业的产品、技术和企业搭建品牌传播展示平台,并借
[机器人]
安防机器人面世,让传统静态安防“动起来”
当今各种交通安全事故、暴恐事件、社会人身伤害事件时有发生,人们对自身安全防护意识越来越高。由于传统静态安防技术体系过于成熟难以突破及人口红利下降等因素,安防产业也遇到发展瓶颈,难以满足智能预警需求。面对安防行业亿万级市场“蛋糕”,产业智能化升级迫在眉睫。虽然行业内相关企业不少,但大多还处于摸索状态。机器人产业近年来持续升温,“机器人+安防”概念崛起,给智能安防开辟了一片新的天地,从传统安防系统过渡到以现代服务为理念的智能安防系统成为大势所趋。可预见,在这场“机器人+”的革命浪潮中,安防机器人将成为机器人行业发展的焦点。 传统静态安防弊端多 中国“十三五”规划 、《互联网+人工智能三年行动实施方案》等一系列对人工智能的扶持政策的
[安防电子]
STM32和ROS机器人的串口通信方案
具体协议大致如下,易读、易调用、易拓展、易更改。 源码文件:进入下面公众号:小白学移动机器人,发送:串口通信升级。即可获得。 http://weixin.qq.com/r/KERAWIvE1daqrc879xE6 (二维码自动识别) 本方案解决的问题:解决以STM32做ROS机器人底层驱动的串口通信问题。 为什么要写篇文章?: 最近发现越来越多的小伙伴走入ROS机器人的领域,而ROS机器人与底层驱动的串口通信问题,是大家学习路上的一个难题。很多小伙伴对STM32单片机并不熟悉,对串口通信的理解并不透彻,自己去解决这个问题,费时费力,最后也可能没有好的结果,并且这又不是大多数学习ROS机器人的重点。最后发现网上也没有很好的
[单片机]
STM32和ROS<font color='red'>机器人</font>的串口通信方案
最逼真人造肌肉问世 会让未来机器人更强大
据英国每日邮报报道,美国哥伦比亚大学的工程师已经研发出一种可以用于人形 机器人 的合成肌肉。这种3D打印的合成软体肌肉抛弃了之前模型所使用的外部压缩器或者高压设备,它能够推、拉、弯曲和扭曲,而且能够举起自身千倍重的物体。 哥伦比亚大学的这个研究团队称,到目前为止没有任何材料能够真正作为一种软体肌肉。这是由于所有的材料都无法满足高强度应力和应变的需求。团队负责人Hod Lipson教授称:“软体材料机器人在那些需要与人类接触和互动的领域用途非常广泛,比如说制造和 医疗行业 。” Lipson教授补充称:“软体机器人与僵硬的机器人不同,它们能够复制自然运动,为人类提供医学或者其它类型的帮助,还能够执行精巧的任务或者抓取柔软物体。我们在
[嵌入式]
格斗机器人:“玩”出来的大产业
和陈昊约在了新车间附近的咖啡馆里见面,第一感觉是见到一个比想象中老成的90后。这种老成或许是平时喜欢的户外骑行运动造就的,或许是熬夜参加比赛带来的,抑或是历经了两次创业的辛苦。总之,这是他刚刚结束了深圳创客周之旅回到上海,带着他的格斗机器人。 只为好玩 格斗机器人在电影里的形象似乎已经深入人心,比如《超能陆战队》开场的机器人格斗比赛。粗粗浏览网页,格斗机器人早在2007年就已经见诸网端,以国外和中国港澳台地区最为关注,内地的格斗机器人比赛虽有,参赛者和关注度相比之下显得寥寥。    2004年,美国人 David Calkins和他的非营利性组织美国机器人学会(Robotics Society of America,下
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved