简易智能小车作品类别:第五类引言本系统采用AT89S52作为主控制芯片,整合控制器模块,金属探测模块,障碍物探测模块,路面检测模块,光源探测模块,电机驱动模块,实现小车自动寻路,金属探测,避障和寻光入库。电路结构简单,可靠性能高,无论在结构和技术上都具有较好的科学性,在无人区引导探测金属矿源方面具有一定的应用前景。方案设计一、设计要求:1.电动车从起跑线出发,沿引导线到达B点。在“直道区”铺设的白纸下沿引导线埋有1~3块薄铁片。电动车检测到薄铁片时需立即发出声光指示信息,并实时存储、显示在“直道区”检测到的薄铁片数目。2.电动车到达B点以后进入“弯道区”,沿圆弧引导线到达C点要求电动车到达C点检处停车5秒,停车期间发出断续的声光信息。3.电动车通过障碍区,在光源的引导下,进入车库。简易路程图二、方案选择:1.电机驱动方案的选择与论证方案一:使用继电器对电机进行开关控制和调制。但缺点很明显,这种电路不能和单片机直接连接,因为它返回“0”时,并没有接到地上,所以单片机并不能识别,反而都会的还是0,其次继电器响应慢而且机械结构容易坏。方案二:使用三极管或者达林顿管,结合单片机输出PWM信号实现调速的目的,此方案易于实施,但若控制电机转动方向较为困难工作不是很稳定。方案三:使用PWM控制芯片来实现对电机的控制,控制就是对脉冲的宽度进行调制的技术,即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形。2.路面寻线模块方案一:采用光敏传感器,根据白色背景和黑线反光程度的不同来判断传感器是否位于黑线上。方案二:采用反射式红外传感器来进行探测。只要选择数量和探测距离合适的红外传感器,可以准确的判断出黑线的位置。方案选择:采用方案二。方案一受环境光的影响太大,效果不佳。而红外光不易受到环境光的干扰。3.金属检测模块采用金属接近开关来检测铁片,当金属接近时,高频磁场在金属中产生了涡流,使得LC谐振回路的震荡幅度下降到阈值电压,开关输出信号。4.寻光模块方案一:采用单一的光敏电阻,利用其在不同的光强下阻值不同,确定小车的转向,保证其朝着光源最强的角度前进,这样做电路实现简单,但是精度不易控制。方案二:采用多个光敏电阻,在小车车头排列成为半圆状结构。根据矢量合成原理,按照各个传感器测量光强的不同,确定小车相对于光的位。方案选择:采用方案二。此方案实现较为复杂但能取得良好的效果。5.避障模块方案一:采用一体化红外接收头,在38KHz附近,接收头的灵敏度不同。依次在38KHz发射频段不同的红外线,在距离障碍物一定距离时测出障碍物。方案二:采用超声波测距的方法,利用超声波传感器,监视测量发射脉冲和接受脉冲的时间差,计算超声波和物体之间的距离。可以将避障和寻光模块一起排列为环状结构。方案选择:因超声波测距有其性能上的优势,所以选择方案二。三、总体设计:四、单元电路设计:1.控制器模块:单片机AT89C51金属探测模块障碍物探测模块路面检测模块电动机驱动模块光源探测模块本设计采用Atmel公司的AT89C51作为系统控制器的单片机方案,AT89C51主要用于控制实现电动车速度控制、循迹行驶、金属探测、金属数目数码管显示、躲避障碍物及探测光源寻光入库的功能。(AT89C51电路图)2.金属探测模块:工作电压直流DC6~36V,三线制,NPN,常闭,检测距离8mm,电流200mA;接线方式:3.电机驱动模块:电机的驱动芯片选用L298N作为驱动芯片。工作稳定电机驱动信号由单片机提供,信号经过光耦隔离后,传至PWM控制芯片L298N,通过L298N的输出脚与两个电机相连。电机LALB00不转01前转10后转11不转4.循迹模块:当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,输出端将输出低电平;当小车行驶到黑线时,红外线信号被黑色吸收后,将输出高电平,从而实现了通过红线检测信号的功能。将检测到的信号送到单片机的I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑线吸收了,表明小车处在黑色的引线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。反射式红外传感器ST188采用高发射功率红外广电二极管和高灵敏度光电晶体管组成。检测距离可调整范围为4-15mm;采用非接触检测方式LED(由左侧的白色方块表示)和探测器装(在右侧)。虚线表示光线从发射器LED中发出并反射回探测器;探测器检测到的光强大小取决于物体表面的反射率,而这一光强就是传感器的输出值。如图所示,选通信号(高电平)经过三极管扩流后送到传感器的K脚,如果检测到黑线,传感器C脚输出高电平;否则输出为低电平。为了提高控制精度,要求传感器排列紧密,越紧越好。但传感器排列紧密,传感器发射管的光线可能会从地面反射进入临近传感器的接收管。所以不能同时开启这些传感器。5、避障模块:超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接受回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。6、电机驱动模块:本L298N驱动模块,采用ST公司原装全新的L298N芯片,采用SMT工艺稳定性高,采用高质量铝电解电容,使电路稳定工作。可以直接驱动两路3-35V直流电机,并提供了5V输出接口(输入最低只要6V),可以给5V单片机电路系统供电(低纹波系数),支持3.3VMCUARM控制,可以方便的控制直流电机速度和方向。7、寻光模块:光源探测电路如下图所示,VT5为光敏三极管,三极管VT4、VT6构成达林顿管,三极管VT8是为了提高电路的负载能力,其中R1为可变电阻(0--5K),可调节光源探测灵敏度。单片机可直接对VT8输出信号进行判断。9013901320M4.7K22UF4.7K90134.7K9013901320M4.7K22UF4.7K90134.7K9013901320M4.7K22UF4.7K90134.7KGNDVCCEEECCC左中右50%R11k50%R1'1k50%R1''1k五、软件设计:1、循迹算法:如果某时刻检测到黑线偏左,就要向左转弯;如果检测到黑线偏右,就要向右转。为了克服惯性,防止小车左右摆冲出黑线,采用PWM波控制小车速度,来使其平稳运动。部分程序如下:voidtimer0()interrupt1/*T0中断服务程序*/{if(tzkbz)en1=1;elseen1=0;/*产生电机1的PWM信号*/if(tzkby)en2=1;elseen2=0;/*产生电机1的PWM信号*/t++;if(t=100)t=0;/*1个PWM信号由100次中断产生*/}voidxunji(void){switch(a){case0x06:flag=0;s1=0;s2=1;s3=0;s4=1;zkbz=65;zkby=65;break;case0x02:flag=0;s1=0;s2=1;s3=0;s4=1;zkbz=65;zkby=15;break;case0x01:flag=0;s1=0;s2=1;s3=0;s4=1;zkbz=55;zkby=5;break;case0x04:flag=0;s1=0;s2=1;s3=0;s4=1;zkbz=15;zkby=65;break;case0x08:flag=0;s1=0;s2=1;s3=0;s4=1;zkbz=5;zkby=60;break;case0x00:flag=1;s1=0;s2=1;s3=0;s4=1;zkbz=50;zkby=50;break;default:break;}2、金属探测:当探测到金属片时,管脚返回低电平0,数码管加一。程序如下:if(b==0){c=0;Delaynms(160);b=1;c=1;d=d+1;P0=table[d];3、超声波避障:当小车4个红外探测器探测到黑线后,5s计时后进入避障阶段,当前方有障碍物时,小车做如下动作:左拐—直走—右拐—直走。部分程序如下:voidConut(void){time=TH1*256+TL1;TH1=0;TL1=0;S=time*1.87/100;//算出来是CM11。0592M晶振if(flag==1)//超出测量{flag=0;s1=0;s2=1;s3=0;s4=1;}else{if(S=32){zkbz=80;zkby=80;s1=0;s2=1;s3=0;s4=1;}else{zkbz=60;zkby=60;s1=0;s2=1;s3=1;s4=1;Delaynms(1000);zkbz=60;zkby=75;s1=0;s2=1;s3=0;s4=1;Delaynms(1000);zkbz=60;zkby=60;s1=0;s2=1;s3=0;s4=1;Delaynms(1500);s1=1;s2=1;s3=0;s4=1;Delaynms(2000);s1=0;s2=1;s3=0;s4=1;Delaynms(1500);e=e+1;if(e=2)e=0;}}}4、寻光入库:小车避障后进入寻光入库阶段,由寻光电路工作,寻找光源。部分程序如下:voidquguang(void){switch(f){case0x40:s1=0;s2=1;s3=0;s4=1;zkbz=65;zkby=65;break;/*直走*/case0x80:s1=0;s2=1;s3=0;s4=1;zkbz=65;zkby=15;break;/*左拐*/case0x20:s1=0;s2=1;s3=0;s4=1;zkbz=15;zkby=65;Delaynms(100);break;/*右拐*/case0xC0:s1=0;s2=1;s3=0;s4=1;zkbz=55;zkby=15;break;/*小右拐*/case0x60:s1=0;s2=1;s3=0;s4=1;zkbz=15;zkby=55;break;/*小左拐*/case0x00:s1=0;s2=1;s3=0;s4=1;zkbz=65;zkby=15;break;/*左拐*/default:break;}Delaynms(10);六、整体测试:1.循迹:循迹时,小车转弯时候老冲出黑线,通过调节PWM波调节小车速度,当个PWM信号由100次中断产生时,调节直线时,小车左右速度65,转弯时候65、15,小车平稳运动。2.金属探测:金属探测时,当金属片据传感器大于0.5cm时候,金属探测失灵,应把传感器置于据金属片0.5cm的高度上。3.超声波避障:当规避动作在小于据障碍物距离S=15cm时,小车将不能完全避开障碍物,所以,应设定S30时,小车才能完全规避。4.寻光入库:通过调节R1,来调节寻光电路灵敏度,来避开自然光的影响,R1过大时候易收到自然光干扰,R1过小时候易击穿三极管。七、结论:经过以上调试,小车能实现循迹、金属探测、避障、寻光入库的功能,但是由于电源电压不恒定和万向轮的影响,小车在避障时候,不太稳定,每次转向程度偏差较大。总体上来说,小车实现了预定功能,在整个设计过程中,我们组也遇到了很多困难,比如说小车运行不稳定,程序不够简洁明了,寻光干扰较大等问题,但在全体小组成员的努力下,终于完成了整个小车项目,经核算,小车花费不到200元。附小车图: