资源描述
智能循迹小车设计专业: 自动化班级: 0804 班姓 名:指导老师: 2010年 8月2010年 10月 摘要:本课题是基于AT89C52单片机的智能小车的设计和实现,小车完 成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速 稳定的寻线行驶。小车系统以 AT89S52 单片机为系统控制处理器; 采用红外传感获取赛道的信息, 来对小车的方向和速度进行控制。 此 外,对整个控制软件进行设计和程序的编制以及程序的调试, 并最终 完成软件和硬件的融合,实现小车的预期功能。引言当今世界,传感器技术和自动控制技术正在飞速发展,机械、电 气和电子信息已经不再明显分家, 自动控制在工业领域中的地位已经 越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自 动控制和传感器技术已经达到了很高的水平, 特别是日本, 比如日本 本田制作的机器人, 其仿人双足行走已经做得十分逼真, 而且具有一 定的学习能力,还据说其智商已达到 6 岁儿童的水平。作为机械行业的代表产品汽车, 其和电子信息产业的融合速度 也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特 别是轿车) 的价值量比例逐步提高, 汽车将由以机械产品为主向高级 的机电一体化方向发展, 汽车电子产业也很有可能成为依托整车制造 业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、 多媒体化和智能化方向发展, 使其不仅作为一种代步工具、 同时能具 有交通、娱乐、办公和通讯等多种功能。无容置疑, 机电一体化人才的培养不论是在国外还是国内, 都开 始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲 广播电视联盟亚太地区机器人大赛( ABU ROBCO)、N 全国大学生“飞 思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于 机电一体化的兴趣和强化机电一体化的相关知识。但很现实的状况 是,国内不论是在机械还是电气领域,和国外的差距还是很明显的, 所以作为机电一体化学生, 必须加倍努力, 为逐步赶上国外先进水平 并超过之而努力。为了适应机电一体化的发展在汽车智能化方向的发展要求, 提出 简易智能小车的构想, 目的在于: 通过独立设计并制作一辆具有简单 智能化的简易小车, 获得项目整体设计的能力, 并掌握多通道多样化 传感器综合控制的方法。所以立“智能循迹小车”一题作为尝试。此项设计是在以杨老师提供的小车为基础上,采用AT89C52单片 机作为控制核心, 实现能够自主识别黑色引导线并根据黑线走向实现 快速稳定的寻线行驶。一、实验目的 :通过设计进一步掌握5 1单片机的使用,特别是在嵌入式系统中 的使用。进一步学习5 1单片机在系统中的控制功能, 能够合理设计 单片机的外围电路,并使之和单片机构成整个系统。二、设计方案:该智能车采用红外传感器对赛道进行道路检测, 单片机根据采集 到的信号的不同状态判断小车当前状态,通过电机驱动芯片 L298N 发出控制命令,控制电机的工作状态以实现对小车姿态的控制。三、报告内容安排:本技术报告主要分为三个部分。 第一部分是对整个系统实现方法 的一个概要说明, 主要内容是对整个技术原理的概述; 第二部分是对 硬件电路设计的说明, 主要介绍系统传感器的设计及其他硬件电路的 设计原理等; 第三部分是对系统软件设计部分的说明, 主要内容是智 能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。技术方案概要说明 本模型车的电路系统包括电源管理模块、单片机模块、传感 器模块、电机驱动模块。工作原理: 利用红外采集模块中的红外发射接收对管检测路面上的轨迹 将轨迹信息送到单片机 单片机采用模糊推理求出转向的角度和行走速度,然后去控制 行走部分最终完成智能小车可以按照路面上的轨迹运行。硬件电路的设计1、最小系统:小车采用atmel公司的AT89C52单片机作为控制芯片,图1 是其最小系统电路。 主要包括: 时钟电路、电源电路、 复位电路。 其中各个部分的功能如下:1、时钟电路:给单片机提供一个外接的 16MHz的石英晶振。2、电源电路:给单片机提供5V电源。3、复位电路:在电压达到正常值时给单片机一个复位信号。3、传感器电路:光电寻线方案一般由多对红外收发管组成, 通过检测接收到的 反射光强,判断黑白线。原理图由红外对管和电压比较器两部分组成, 红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单 片机。VC寸A图2 赛道检测原理图:P2.04、电机驱动电路:电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动 电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V 2A以下的电机。其引脚排列如图1中U4所示,1脚和15脚可单独引 出连接电流采样电阻器,形成电流传感信号。L298可驱动2个电机,0UT1 0UT2和0UT3 OUT4间分别接2个电动机。5、7、10、12脚 接输入控制电平,控制电机的正反转,ENA ENB接控制使能端,控制电机的停转。也利用单片机产生 PWMI号接到ENA ENB端子,对 电机的转速进行调节。L298N的逻辑功能:表1 SHARP GP2D12实物图ENA(B)INI (IW3)IB2电机运行桔況HHL正转KLMH同:EN2 CZN4 )同THl CTH3)快速停止LXX停止外形及封装:ia Multilwattl 5Tftjf/ 散热片与8脚连通CURfiEHT ENSIHG BOUTPUU JIOUTPUT 3NFUT 4EjMABLEBWPUT 3LOQiC 5UPP1.V VOLTAGE 也OHOINPUT 2EWiBL AHlPljT 1SUPPLY VQLTAO 堆QW、!4i&UTPUf 1CUmEN T SCruSiHG A图3 L298N实物图L298N电路原理图:由于一片L298N可以直接驱动两个电机,但是为了加大驱动力,我们米用两路并联的方式来驱动电机。J112345633.1P3.3P3.5P3.7P4.2P4.457101261158,IN1VS S.IN2OUT1IN3IN4OUT2.ENA ENBOUT3GND GNDOUT4.GNDVCCU1L29 8NU24+12 V213149+5V+12V7D2400D3400MG1MOTORD1r4oqRIGHT单片机引脚5710126111158IN1VS S IN2OUT1.IN3.IN4OUT2ENA ENBOUT3.GNDGNDOUT4GNDVCCL29 8N4+12 V213149+5VMG2MOTORD5D7400+.40077*耳D6 尹40078 AT+12VLEFT小车电机驱U3J2+5VGNDP5.7CON3571012611j1315软件系统的实现8 9GNDVCCIN1VSS2图3 3.3UT1L298N电路图IN4 OUT2ENA灭火风扇小车循迹规则:灭火风扇驱动若小车偏左的时候,车轮将向右偏转;若小车偏右,车轮将向左 偏转;若没有偏移,小车将继续向前;若小车完全偏离黑色轨迹,小车后退以寻找黑色轨迹。小车程序:#include reg52.h#define det_Dist 2.55/单个脉冲对应的小车行走距离,其值为车轮周长/4#define RD 9 / 小车对角轴长度#define PI 3.1415926 #define ANG_90 90#define ANG_90_T 102#define ANG_180 189/*= 全局变量定义区=*/sbit P10=P1A0; /sbit P1 仁P1A1; / sbit P12=P1A2; / sbit P07=P0A7; / sbit P26=P2A6; / sbit P24=P2A4; /sbit P25=P2A5; / unsigned char mType=0; /控制继电器的开闭 控制金属接近开关 控制颜色传感器的开闭 控制声光信号的开启 接收颜色传感器的信号,白为 0,黑为 1 左 右 接收左右光传感器的信号,有光为 0设置运动的方式, 0 向前 1 向左 2 向后 3 向右unsigned char Direction=0; / 小车的即时朝向 0 朝上 1 朝左 2 朝下 3 朝右 unsigned sX=50; unsigned char sY=0; / 小车的相对右下角的坐标 CM (sX,sY )unsigned char StartTask=0; / 获得铁片后开始执行返回卸货任务, StartTask 置一 unsigned char Inter_EX0=0; / 完成一个完整的任务期间只能有一次外部中断/ Inter_EX0 记录外部中断 0 的中断状态/ 0 动作最近的前一次未中断过,/ 1 动作最近的前一次中断过unsigned char cntIorn=0; / 铁片数unsigned char bkAim=2; / 回程目的地, 0 为 A 仓库, 1 为 B 仓库, 2 为停车场, /( 在 MAIN 中接受铁片颜色判断传感器的信号来赋值 )unsigned char Light_Flag=0;/ 进入光引导区的标志 (1)unsigned int cntTime_5Min=0;/ 时间周期数 ,用于 T0 精确定时void delay(unsigned int time)unsigned int i,j;unsigned int cntTime_Plues=0; / 霍尔开关产生的脉冲数/*=全局变量定义区=*/*/* 通用延迟程序 -*/*/ time*0.5ms 延时for(j=0;jtime;j+) for(i=0;i=4520)Display(5);P2=(P2&240)|15); EA=0; / 停车程序P07=1;delay(4000);PCON=0X00;while(1);/*外部中断 0 中断程序 : */ /*发现铁片,发出声光信号并将铁片吸起,发光二极管和蜂鸣器 */*并联在一起(设接在P07 ) . 0为A仓库,1为B仓库,2为停车场*/void fndIorn(void) interrupt 0 unsigned char i;P10=1;P2=(P2&240)|15);/停车P07=1;delay(1000);/ 刹车制动 0.5msP07=0;Inter_EX0=1;cntIorn+;Display(cntIorn);for(i=0;i40;i+)P2=P2&249;delay(2);P2=(P2&240)|15);delay(2);P2=P2&249;delay(100);P2=(P2&240)|15);/停车IornColor();/ 判断铁片黑白 ,设置 bkAimfor(i=0;i95;i+)P2=P2&249;delay(3);P2=(P2&240)|15);delay(2);P2=(P2&240)|15);/停车delay(4000); / 把铁片吸起来EX0=0;/*外部中断 1 中断程序 :*/*对霍尔开关的脉冲记数 ,对小车的位置进行记录,以便对小车进行定位*/void stpMove(void) interrupt 2cntTime_Plues-;if(Direction=0) / 向上if(mType=0) sY+=det_Dist;else if(mType=2)sY-=det_Dist;else if(Direction=1) / 向左if(mType=0) sX+=det_Dist;else if(mType=2)sX-=det_Dist;else if(Direction=2)/ 向下if(mType=0) sY-=det_Dist;else if(mType=2)sY+=det_Dist;else if(Direction=3) / 向右if(mType=0) sX-=det_Dist;else if(mType=2)sX+=det_Dist;结论根据本次设计要求, 我们小组系统地阅读了大量的资料, 并认真分析了设计 课题的需求,还系统学习了 51 系列单片机的工作原理及其使用方法,并独自设 计智能小车的整个项目。虽然条件艰苦, 但经过不懈钻研和努力, 购买到了所有所需的元器件, 并系 统的进行了多项试验, 最终做出了整个小车的硬件系统, 然后结合课题任务和小 车硬件进行了程序的编制, 本系统能够基本满足设计要求, 能够较快较平稳的是 小车沿引导线行驶, 但由于经验能力有限, 该系统还存在着许多不尽人意的地方 有待于进一步的完善和改进。通过本次课题设计, 不仅是对我们课本所学知识的考查, 更是对我的自学能 力和收集资料能力以及动手能力的考验。 本次毕业设计使我们对一个项目的整体 设计有了初步认识, 还认识了几种传感器, 并能独立设计出其接口电路, 再有对 电路板的制作有了一定的了解,并学会了使用Protel设计电路。本次毕业设计使 我们意识到了实验的重要性, 在硬件制作和软件调试的过程中, 出现了很多问题, 最终都是通过实验的方法来解决的。 还有以前对程序只是一个很模糊的概念, 通 过这次的课题设计使我对程序完全有了一个新的认识,并能使用 C 熟练的进行 编程了。通过本次课题设计, 极大的锻炼了我们的思考和分析问题的能力, 并对 单片机有了一个更深的认识。总之,在课题设计的过程中, 无论是对于学习方法还是理论知识, 我们都有 了新的认识, 受益匪浅,这将激励我们在今后再接再厉, 不断完善自己的理论知 识,提高实践运作能力。1、 tml 2 、新编 MIS 51 单片机使用设计 哈尔滨工业大学出版 社 2004 年 1 月 第二次印刷 张毅刚, 彭元喜 姜守达 编著
展开阅读全文