简易射门机器人
摘要:本设计采用了STC89C52单片机作为电动车的检测和控制核心,通过光电探头检测路面黑色寻迹线,使小车按预定轨道行驶,由光电传感器检测乒乓球位置,并进行射门。通过键盘控制和LCD12864液晶显示电路对小车的运动轨迹进行记录和显示切换,最后通过软件设计,实现了小车按轨道行驶、射门等功能。
引 言为使机器人能在设定的场地范围内行动,能在指定区域内寻找到乒乓球,并进行射门动作,按题目要求准确运行,故采用了单片机STC89C52最小系统作为电动车的检测和控制系统。通过光电探头检测路面黑色寻迹线,使小车按预定轨道行驶。
1、 系统方案设计、比较与论证根据题目要求分以下部分进行方案设计与论证
1.1、寻迹线探测模块 探测路面黑色寻迹线的原理:光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接受到反射光强弱由传感器产生高低电平并最终通过单片机判断是否到达黑线偏离跑道。
方案一:由可见光发光二极管与光敏二极管组成的发射-接收电路。该方案成本较低,易于制作,但其缺点在于周围环境光源会对光敏二极管的工作产生很大干扰,一旦外界光亮条件改变,很可能造成误判和漏判;如果采用超高亮发光管和高灵敏度光敏管可以降低一定的干扰。
图1 光电检测电路
方案二:自制红外探头电路。此种方法简单,价格便宜,灵敏度可调,但易受到周围环境影响,特别是较强光照对检测信号的影响,会造成系统不稳定。再加上时间有限,制作分立电路较繁琐。
基于上述考虑,为了提高系统信号采集检测的精度,我们采用方案一。
1.2、电动机及其驱动模块的选择根据题目中小车行驶全程的时间要求,可知小车的行驶速度很慢,普通的电机很难满足此速度要求,而伺服电机可以满足此要求,伺采用脉冲控制比较容易实现起跑停,并且其具有很大的转动力矩,不会在倾斜面出现堵转情况。故我们采用伺服电机。
在选用驱动模块方面由以下两种方案:采用专用驱动芯片。该芯片集成度高,占用空间小,主要应用于电机调速场合。采用分立三极管驱动电路。经分析此机器人小车所要求的功能比较简单,不需复杂的调速,采用脉冲控制。故我们最后决定用后方案。
1.3、信息显示模块 采用LED,缺点是占用单片机接口太多,显示信息量少,需要循环显示,占用太多程序资源。采用LCD12864,占用11个单片机接口,同时显示信息量大,灵活多变显示多种信息。因此,我们拟采用后者。
1.4、电源选择方案一:所有器件采用单一电源(6节五号电池)。这样供电比较简单,但是由于电动机启动瞬间电流很大,会造成电压不稳、有毛刺等干扰,严重时可能会造成单片机系统掉电,使之不能完成预定行程。
方案二:单电源两路供电。电动机驱动电源采用6节五号电池无稳压供电,单片机及其外围电路电源采用5V稳压电源供电,这样两路互不影响。
根据以上综合考虑,故拟采用方案二。
经过一番仔细的论证比较,我们最终确定的系统详细方框图如下:
图2 系统方案设计图
2、系统总体设计方案根据题目的基本要求,设计任务主要完成机器人在规定时间内按规定路径稳定行驶,并能进行射门,同时对行程中的有关数据进行处理显示。整个系统的模块框图如图1所示。
图3 系统总体设计框图
该系统主要由电动机驱动模块、寻迹线探测模块、红外避障碍、信息显示模块几个部分组成。由89C52单片机为系统控制的CPU对小车寻迹、乒乓球检测和LED显示进行控制,使小车在规定的时间内完成规定的路线,并检测乒乓球送入球门,完成题目的要求。
3、系统硬件电路设计
3.1、单片机最小系统 图4 单片机最小系统
该最小系统主要采用STC89C52用为电路的控制芯片。
3.2、寻迹线探测电路设计采用光电探测器,该探头输出端只有三根线(电源线、地线、信号线),只要将信号线接在单片机的I/O口,然后不停地对该I/O口进行扫描检测,当其为低电平时则检测到白纸,否则为高电平时则检测到黑线区域。小车前进(倒退)时,始终保持黑线在车头二个传感器之间,当小车偏离黑线时,探测器一旦探测到有黑线,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统再对小车路径予以纠正。当小车回到了轨道上时,车头两个探测器都只检测到白纸,则小车继续直线行走,否则小车会持续进行方向调整操作,直到小车恢复正常。
3.3、声控检测电路设计电路采用LM358作为比较器。当有响声时,话筒将声音信号转换为电信号,经三极管放大,运放比较输出。因为输出信号有抖动,对单片机的接收有所干扰。考虑到I/O口接收的问题,电路多加了延时电路,能更好的防止抖动。
图5 声控检测电路
3.4、光电检测乒乓球位置电路设计
图6 光电乒乓球检测电路
乒乓球检测电路与寻迹电路相原相同,只是乒乓球检测电路光电传感器灵敏度不要寻迹那么灵敏。
3.5、 电动机驱动电路设计该电路电机采用脉冲击驱动,根据脉PWM不同进而控制电机的前进和后退以及左右转向。
4、系统软件设计
4.1、系统流程图 图7 系统流程图
当开机时,系统上电复位,各项初始化,系统等待1秒钟,检测声控,然后进入自动运行状态。
为机器人小车运行及方向调整程序,使小车按预定路线运行,并且在小车偏离轨道后自动调整走向使小车自动返回预定路线,当检测到兵时,停两秒并声音提示,然后进行射门,并且控制LCD实时显示运行时间,轨迹,距离。
5 系统测试5.1测试条件在指定区域内测试,指定区域用白纸铺设,黑线宽度为2cm,防守者为易拉罐,直径为5.5cm,高度为13.2cm,防守者为黑色。
乒乓球为白色,内填充物重量为45克。
5.2测试参数5.2.1电机转速测试
5.2.2小车行驶过程测试
5.2.3系统误差测试
参考文献【1】 吴少军、刘光斌 编著《单片机实用低功耗设计》 人民邮电出版社
【2】周航慈 编著 《单片机应用程序设计》 北京航空航天大学出版社
【3】谭浩强. C语言程序设计(第二版). 北京:清华大学出版社,2000