基于STC单片机的轮式机器人运动控制研究
2017-09-06谢孟喆王群
谢孟喆+王群
摘 要:最近几年,随着电子科学与技术的发展,为满足不同的用户要求,不同类型、不同功能的轮式机器人成为了多个高校、高新技术公司的研发热点。通过研究双轮轮式机器人的自动寻迹功能来研究机器人的设计和机器智能有着非常深远的意义。本次研究的内容就是基于STC单片机的轮式机器人的运动控制研究,最終目标是完成智能小车的自动寻迹实验。
关键词:轮式机器人;智能小车;自动寻迹
1 轮式机器人硬件系统研究
轮式机器人集单片机控制技术,红外传感器技术,直流电机驱动技术于一体,可以在输入相应的程序后,按照程序准确的完成动作。本文首先重点说明了智能小车直流电机驱动原理、红外传感器工作原理和双轮轮式机器人的自动巡线原理。根据智能小车各个模块的功能设计智能小车前进程序和智能小车的自动寻迹程序。最后,对双轮轮式机器人的自动巡线实验做了简单的操作说明。
(一)硬件的电路原理
直流电机工作原理也可以叫做H桥路工作原理,下图即为H桥路工作原理的电路图,ENA、ENB为使能端,当使能端为高电平(ENA\ENB=1)时使能,当使能端为低电平时则智能小车停止前进,IN1和IN2、IN3和IN4分别控制右电机和左电机的正转、反转,也可以控制刹车。另外,在直流电机可以正常工作的情况下,为了保护智能小车的电路,电源电压一般在7.2V-9V之间。
(二)红外传感器
红外传感器由红外发射管和接受管组成,安装在机器人底盘前部,共设置了左右两个检测点。红外发射管发出的光线经地面反射到红外接收管,基于黑色引导线与场地底色的反射光强差异,导致输出的电压不同,从而识别黑色引导线。
红外传感器的发射部分采用一个红外发光二极管,由于红外发射管的工作频率可以达到几MHz或十几MHz,属于工作频率较高的发光元件,接收部分可以选择一个光敏二极管,其调制频率在几十至几百kHz的范围内,能够满足实验要求。
发射部分的红外发光二极管发出的红外光经地面反射由光敏二极管接收,然后光信号通过转换器转变为电信号,但是这种电信号通常比较微小,不利于检测,所以这种电信号需要进行滤波放大处理。信号处理模块对放大后的信号进行识别,判断被检测对象的特性。根据检测到的结果就可以判断这个检测点是不是在黑色引导线的上方,从而判断出自动寻迹机器人和黑色引导线的相对位置。图3为红外传感器的外部工作原理图,a图红外发射器感应到浅色地面,反射光比较强;b图为红外传感器检测到黑色引导线,反射光经黑线反射弱。
(三)智能小车的巡线原理
智能循迹小车在贴有黑色引导线的浅白色地面上行驶,利用黑色对光线的反射率小这个特点,当传感器检测到地面的颜色不是黑色时,传感器发射出去的红外光被大部分反射回来。于是传感器输出低电平0。 当传感器检测到地面中的黑色引导线,说明红外传感器在黑线上方,因黑色的反射能力很弱,反射回来的红外光很少,达不到传感器动作的水平,所以传感器输出1。继续用单片机判断传感器的输出端是0或者是1, 就能检测出智能小车有没有偏离黑色引导线。
智能小车的两路红外传感器呈一行布置在小车底盘前方,摊头朝下,方便对地面黑色引导线的检测。例如,当智能小车沿着黑色引导线前进,黑色引导线被左侧侧探头检测到,就意味着小车已经偏离,此时红外传感器模块的左侧传感器输出高电平,左电机停止转动,右电机照常转动,智能小车左转,回到原轨道方向,巡线的过程中会出现三种情况:
情况1:黑色线被左侧探头检测到,则意味着小车已经偏移到赛道右侧,应该左转,如图2所示;情况2:黑色线被右侧探头检测到,则意味着小车已经偏移到赛道左侧,应该右转,如图3所示;情况3:黑线没有被任何一个探头检测到,则继续直行。
(四)智能小车的硬件连接
本系统以单片机为核心,主要研究单片机模块、电机控制模块和红外传感器模块,将电机控制模块的P1.1-P1.6、红外传感器模块的P3.2-P3.5、VCC、GND分别与单片机模块对应的引脚用杜邦线连接。
2 软件编程
在完成硬件配置后,利用单片机语言汇编的软件keil uVision4完成智能小车的前进编程和自动巡线编程,并将程序烧录单片机中进行调试、测试。
3 总结
经测试,本设计可使智能小车完成自动巡线的任务目标,并有很好的稳定性。本次研究的智能小车自动巡线功能是研究智能小车一个方向,还可以从以下几个方向展开研究,在小车上装摄像头进行实时视频监控采集,还可以通过蓝牙传给远端的主机,主机可以发送命令给小车,执行相应的动作等等,通过不同模块的研究可以为智能小车的以后发展奠定一定基础。
参考文献
[1]李尧.竞速轮式移动机器人系统的开发研究[D].兰州理工大学,2011.
[2]张文杰.基于CAN总线的智能小车控制系统研制[D].西南交通大学,2010.
[3]刘景超.基于模糊算法的移动机器人避障寻址的研究[D].东北大学,2013.
[4]万亮.智能小车运行控制系统的研究[J].电子制作,2014(12):64-65.
[5]吕云芳.基于C51高级语言程序控制的智能循迹小车设计与实现[J].实验室研究与探索,2015(3):150-153.