当前位置:首页 > 嵌入式 > 嵌入式硬件

  引言

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

  所谓的复杂路线,即由小半径弯道、各种角度折道、直道等组成的不规则导引线,它是相对由大半径弯道组成、过渡平滑的简单路线而言的。笔者所设计的寻迹机器人小车,以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.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭