仿人竞速机器人的设计摘要随着智能控制技术与检测传感技术的飞速发展,智能机器人将在以后的工业生产和家庭生活中得到广泛应用,本系统相当于一个简单的智能机器人,是具有自动检测障碍物、黑白线和金属块的多功能智能小车。本系统采用了AVR系列单片机中的Atmega16作为智能小车的检测和控制核心。路面黑白线检测使用了反射式红外光电传感器,障碍物检测采用了超声波传感器,金属块的检测采用了金属接近开关。驱动采用的是直流电机,电机控制方式为对单片机I/O口进行扫描和单向PWM从而控制小车的转向和速度。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,并采用了AVR系列中的Atmega16稳定高速的执行软件程序的特点,从而实现对小车的精确控制。关键字:Atmega16超声波反射式红外光电检测传感器AbstractWiththedevelopmentofintelligentcontroltechnologyanddetect-sensortechnology,intelligentrobotwillusebroadinindustryandfamilylife.Wecanconsiderthissystemasaordinaryrobot,itisanabstractwhichhassomefunctionsofdetectingbarriers,blackandwhilerunwayandmental.BasedonthemicrocontrollerAtmega16.Reflecting-infraredsensorsareappliedtodetectblacklines,ultrasonicsensorsareappliedtodetectbarriersandmentalapproachswitchsensorisappliedtodetectmental.ByintroducingPWMtothesystem,weareabletocontrolmotorrevolvingspeeddynamicallyandprecisely.Andoneofthemoststrikingfeaturesofthedesignisitssoftwarealgorithmwhichenablesthecartorunanddetectaccurately.1系统设计1.1设计要求设计一仿人机器人,能够实现以下功能:(1)机器人能够自动检测到黑白跑道,并且沿着黑色跑道运行。(3)机器人能够在运行过程中自动沿黑线跑弯道。1.2总体设计方案1.2.1设计思路图1.2.1智能仿人机器人系统总体设计框图整个系统可以分为传感器检测部分、控制器模块和电机驱动及LCD显示部分。传感器检测部分由反射式红外光电检测黑白跑道模块组成。反射式红外光电传感器运用其对白色物体发出的光将反射回来,而对黑色物体发出的光被吸收的原理产生不同的信号来检测黑白跑道,将检测到的信号送入控制器模块(MCU),从而可以控制机器人始终沿黑色跑道运行的功能。机器人设计了LCD显示模块。总体框图如图1.2.1所示,为实现各模块的功能,分别设计了几种不同的方案并进行了论证。1.2.2方案论证与比较(1)黑白跑道检测模块方案的论证与比较小车要在黑色跑道上运行,所以对黑白跑道的检测的精度要求很高,关于黑白跑道检测有以下两种方案:方案一:采用反射式红外光电检测传感器。该传感器运用用检测黑色跑道时红外线被吸收,而检测白色跑道时红外线被反射信号不同的原理,而区分黑白跑道。这种传感器具有价格便宜,检测电路简单的优点。方案二:ccd与cmos感光传感器。由于仿人机器人的行进速度较慢,所以不需要太多的预处理,以红外传感器的处理距离足以实现比赛,而且感光传感器的价格叫昂贵,处理速度慢,占用资源多,反射式红外光电检测黑白跑道模块块控制器模块电机驱动模块LCD显示模块黑白跑道经过比较分析,从经济性和必要性选择方案一。(2)控制器模块方案的论证与比较方案一:采用多片ATMEL公司的AT89S52作为控制器。由于本设计对控制器的运算速度要求较高,AT89S52难以达到较快的速度,且该设计程序较大,AT89S52仅有8K的ROM,片外ROM将增加硬件工作量。方案二:采用AVR系列的Atmega16作为控制器。由于Atmega16是一种高速度、低功耗且具有16KB系统内可编程Flash的8位AVR微控制器。本设计中对控制器的运算速度的要求,Atmega16是可以满足的。并且该单片机的价格便宜,功能强大,适合选用。从硬件和软件的工作量、以及成本考虑,选择方案二。(3)电机的选择与论证方案一:采用步进电机。步进电机的一个显著特点就是具有快速启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。另一个显著特点是转换精度高,正转反转控制灵活。方案二:采用普通直流电机。直流电动具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求。由于普通直流电机更易于购买,并且电路相对简单,所以采用直流电机作为动力源。(4)电源选择方案一:采用单一电源供电方案。这样供电比较简单;但由于电动机启动瞬间电流很大。而且PWM驱动的电动机电流波动较大,会造成电源电压不稳,可能会使传感器误检测,严重时可能造成单片机程序跑飞、复位等异常现象。此方案缺点十分明显。方案二:双电源供电方案。将电机驱动电源与单片机及传感器电源完全隔离,利用光电耦合器进行连接。但这样可以彻底解决电机运行对系统稳定性的影响,从而提高了系统的可靠性。经分析本系统选择方案二。2单元电路设计1控制电路设计控制电路中的Atmega16是一个稳定高速的单片机,16KB系统内可编程Flash。整个系统还有超声波发射接收电路、反射式红外光电检测电路、金属接近开关检测金属块电路、液晶显示电路和电机驱动电路。2直流电动机PWM驱动模块的电路设计图2.1.1直流电动机PWM驱动模块的原理图直流电动机PWM驱动模块的原理图如图2.1.1所示。对小车前后轮电机的驱动采用直流电机专用驱动芯片L298。单片机Atmega16具有4个8位I/O口(PA口,PB口,PC口,PD口),此处运用PB口的输出数据和定时器产生的PWM波通过光耦隔离控制L298,其中改变IN1和IN2、IN3和IN4可控制电机的方向,PWM控制电机速度。2黑白跑道检测模块电路的设计黑白跑道检测模块电路的原理图如图2.1.2所示,采用了反射式红外光电传感器ST178,它的工作原理是:在检测到白线时,红外线被反射回来,在检测到黑线时,无红外线反射回来,利用这两种信号的不同,送到单片机中处理,就可以检测黑白跑道了。图2.1.2黑白跑道检测模块电路的原理图3系统的软件设计系统的软件设计采用了C语言编程,程序是在WindowsXP环境下采用ICCAVR软件编写的,ICCAVR软件提供丰富的库函数和功能强大的集成开发调试工具,可以完成编辑、编译、连接、调试、仿真等整个开发流程。黑白跑道检测子程序黑白跑道及金属块检测子程序的流程图如图3.1所示。黑白跑道检测采用了2个反射式红外光电传感器,装在机器人的左右脚,传感器检测到黑线时,小车将向检测到的方向调整,从而可以行进在黑白跑道的黑线上。图3.1黑白跑道检测子程序的流程图