山东科技大学电子通信与物理学院 张玉帅 杨婷婷
基于51单片机的智能寻迹机器人系统设计
山东科技大学电子通信与物理学院 张玉帅 杨婷婷
【摘要】本文针对智能机器人如何在比较复杂的道路上实现自主行走,设计出了一种利用灰度传感器和光电传感器作为引导,借用通信中分时复用概念,以51单片机为核心的智能机器人系统。该系统的机器人利用51单片机和传感器,价格低廉。该机器人通过识别以黑色长条为边线和模拟障碍物,实现了在道路快速、准确行走,遇到障碍物寻找最佳路径绕过的功能。经过适当改造之后具有多种用途。
【关键词】PWM;分时复用;交叉足
随着现代科技发展,智能设备走入人们日常生活已经成为一个趋势。但是智能家居机器人因其造价较高,造成其售价较高,因此步入人们生活的步伐缓慢。
鉴于此,本设计提出了一种基于STC12C5A60S2单片机的机器人寻迹可行性方案设计,该方案在保证成本低廉的同时,又能够快捷、准确和稳定地完成直行、转弯、避障等一系列动作,满足机器人在运动中所需要的基本要求。另外,该机器人系统是智能家居机器人的基础和关键。
机器人的机械结构设计非常重要。由于本设计采用的是交叉足方式,所以采用了以下的结构设计。
本设计使用的交叉足是由两个交叉的U型框组成,稳定相比窄足来说要高出一个等级,每个宽度约为10厘米。
考虑到使用金属制作的U型框表面非常光滑,无法很好的在平常道路上行走。为了解决这个问题,我们先后用过纸、毛巾等摩擦力较大的东西粘在脚底,然而后来发现用纸太容易磨破,而毛巾摩擦力又大,对机器人的运动产生阻碍。最后,本方案选择了生活中常用而且价格便宜的鼠标垫作为粘在脚底的东西。将鼠标垫较为光滑的正面与脚底粘住,而摩擦力较大的背面与地面接触。经过测试,粘有鼠标垫的机器人走路情况良好。
腿部的设计主要是两腿之间的距离。不要小看两腿之间的距离,这距离也会影响机器人整体运动的效果。由于已知U型框的宽度约为10厘米,经过不断的尝试,本设计最后将两腿之间的距离确定为12厘米,这样走起来相对比较稳定,效果比较好。
本设计使用4个舵机,其中上面两个舵机直立,下面两个舵机平躺。在这种方式下,下面两个舵机控制脚的上下运动,而通过上面两个舵机则可以控制舵机的前进和转弯。前进和转弯的差别主要在于,前进时上面两个舵机转动角度在数值上相等,而转弯时,上面两个舵机转动角度在数值上并不相等。
本设计使用一块木板架在两腿之间,然后将模块放在木板之上。经过综合考虑单片机核心控制模块和中介模块放置方式,本设计使用的木板尺寸是长为16.8cm,宽为9.9厘米,然后将中介模块和单片机核心控制模块并行放在木板之上。经过测试发现,使用木板之后的机器人非常牢固。同时,为了节省空间,我们将电池放置在木板之下,机器人的两腿之间,利用粘布将其粘贴在木板之上,为了使粘贴更加牢固,我们又将其捆绑上胶带加以固定。
本系统的硬件部分主要有单片机核心控制模块、电池模块、中介模块、舵机运动模块和传感器模块组成。
单片机核心控制模块,采用国产的STC12C5A60S2单片机,功能较为强大。作为整个机器人的核心部分,主要是控制机器人的行走,负责根据传感器传递来的信号,利用预先写入的算法,控制舵机进行躲避或者绕行的措施。其主要由单片机、晶振电路、复位电路和在芯片引脚上接上拉电阻部分组成。一般情况下,使用的晶振是11.0592MHZ。本设计中所有定时器都基于此晶振来设计。
电池模块,为整个机器人其它各个模块的运行提供稳定的电源驱动。由于舵机需要至少6.6V的电压,为此使用了一个标称电压为7.2V的可充电的锂电池。
中介模块是整个机器人承上启下的一个模块。这个模块主要有以下功能:①负责接收来自单片机核心控制模块的信号,然后转接到舵机上;②负责转接电池输入电压,为舵机提供合适电压电源;③连接降压模块,为单片机和传感器提供稳定的5V电压。
舵机要求电压为6V~7.4V,由于与电池标称电压一致,在中介模块上只需要设计一个转接插针即可。
传感器反馈模块、单片机核心控制模块需要5V的电压供电,本设计从电池连接一个LM7805三端稳压器将电压稳定到5V左右,然后并联一个电容,使电压稳压,连接到多个排针,为以上两个模块供电。为了控制方便,本设计在电容和排针之间设置了一个开关。
舵机运动模块,是该机器人的功能实现模块。通过PWM占空比实现舵机的转动,进而实现机器人的前进和转向,这是机器人运动的关键。
传感器反馈模块,可以说是机器人的“眼睛”,它分为光电传感器和灰度传感器两个部分。灰度传感器主要检测边界黑线位置,为单片机核心控制模块判断是否调整机器人路线做出决定的依据;光电传感器负责感知圆筒障碍物,同样也为单片机核心控制模块判断机器人是否转向做出决定的依据。
3.1运动算法设计与实现
机器人的运动可以分解为一个个简单的步骤组成,而这个简单的步骤是:左下舵机向上转动一定角度,右下舵机向右转动一定角度,左上和右上分别左转和右转相同的一定角度,使得机器人完成第一迈步动作。而后全部放下。右脚迈步动作与左脚迈步动作类似。
总体来说,本设计采用了“3+3”方式走法,即“左脚抬-->左脚迈-->左脚放”,然后“右脚抬-->右脚迈-->右脚放”,如此循环执行。减慢降低速度有利于提高稳定性,设置两个灰度传感器防止走出。其中,左脚的操作是通过单片机的定时器1来实现,右脚的操作是通过定时器0来实现的,最后通过中断和定时器的分时复用实现整个机器人的运动。
舵机接收到来自单片机的信号后,信号进入调制芯片,获得偏置电压。由于其内部有一个基准电路,能够产生一个宽度约为1.5ms,周期为20ms的基准信号。偏置电压与基准信号相比较获得一个电压差。然后,电压差输出到电机驱动芯片,后者将决定舵机的旋转方向和角度。
3.2传感器算法设计及实现
传感器作为机器人的“眼睛”,对机器人的运行非常重要。本设计选用了2个灰度传感器和光电传感器。
其实,无论是灰度传感器还是光电传感器,都可以看做是一个开关。灰度传感器工作时,当检测到是白色时,发回低电平(0)到单片机的I/O口,当检测到是黑色时,发送高电平(1)到单片机的I/O口;光电传感器工作的时候,当检测到障碍物时候,会发送一个低电平(0)到单片机的I/O口。
本设计将左侧灰度传感器接到单片机的P3.4端口,右侧灰度传感器接到单片机的P3.3端口,光电传感器接到P3.2端口。通过传感器传到单片机的高低电平,使单片机就当前的位置作出判断,进而通过纠正方向的函数,实现机器人的方向纠正。
3.3总体效果实现
当机器人开始运动的时候,机器人将严格按照所指定的路线前进。由于舵机的设计误差,可能会使机器人产生旋转角度的误差,造成其运动方向偏移,或者到达转弯地点时,传感器将自动将信号传递给单片机,单片机将做出修正机器人运动方向的指令,最终实现机器人按照较为合理的路线实现直行、转弯和避障。
现代科技的发展使智能家居成为了可能。智能家居机器人将进
一步进入人们的日常生活,成为人们生活的一部分。本设计提出的机器人寻迹系统作为智能家居机器人的运动学基础,充分考虑了智能家居机器人在现实应用中可能面临的问题,并给出了解决方案,实现效果良好。可以说,本系统在未来将会有更深入的研究基础。
参考文献
[1]阎石.数字电子技术基础[M].北京:高等教育出版社, 1998.
[2]郭天祥.51单片机C语言教程[M].哈尔滨:电子工业出版社,2009.
[3]李宏俊.以单片机为核心的温室智能控制系统[J].电子元器件应用,2007,9(5):20-23.
[4]汪新浩.基于移动机器人的智能家居安防系统[J].电子世界,2015.13:81-88.
作者简介:
张玉帅(1995—),山东莱芜人,现就读于山东科技大学电子通信与物理学院通信工程系。
杨婷婷(1997—),山东济南人,现就读于山东科技大学电子通信与物理学院通信工程系。