您好,欢迎来到星星旅游。
搜索
您的当前位置:首页)智能小车循迹

)智能小车循迹

来源:星星旅游


河北联合大学 电气工程学院

生产实习报告

专 业 自动化 姓 名 张桂平 学 号 ************ 指导教师 沈小伟

2013年7月1日

时间 2013.6.17-2013.7.1 地点 河北联合大学电工电子实验基地 实习目的与内容 一. 实 习 目 的 本课题是基于ATC52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 ATS52 单片机为系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进设计和程序的编制以及程序的调试,并最终完成软件和硬 件的融合实现小车的预期功能。 通过对基于ARM LPC2000系列单片机的智能寻迹小车的设计与控制实训,除了加深和巩固学生课程理论学习之外,更重要的是加强实践、拓展应用,让学生了解基于ARM LPC2000系列单片机的开发和运用的一个整体开发流程,包括在训练中要求学生能够自己根据性能指标和功能要求掌握硬件电路的设计和制作、元器件的选用和安装、软件的编写和调试,同时学会硬件仿真、软件仿真和整机联调,其中最关键的两部分:硬件电路设计与制作和控制软件的编写以及调试,使得准产品最后达到技术指标的要求 二.实 习 内 容 本报告主要分为三个部分。第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术原理的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。 技术方案概要说明 本模型车的电路系统包括电源管理模块、单片机模块、路面检测模块、电机驱动模块。电路框图如下: 路面检测 模块电路 单片机控制 模块 电机驱动 模块电路 其工作过程如下: 1).利用红外采集模块中的红外发射接收对管检测路面上的轨迹 2).将轨迹信息送到单片机 3).单片机采用模糊推理求出转向的角度和行走速度,然后去控制行走部分 4). 最终完成智能小车可以按照路面上的轨迹运行。 电 源 模 块 硬件电路设计 1.单片机最小系统: 小车采用ATMEL公司的ATS52单片机作为控制芯片,下图是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下: 1)时钟电路:给单片机提供一个外接的16MHz的石英晶振。 2)电源电路:给单片机提供5V电源。 3)复位电路:在电压达到正常值时给单片机一个复位信号。 单片机最小系统 2. 电源模块: 模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机及舵机使用6V电源。考虑到电源为充电电池组,额定电压为7.2V,实际充满电后电压则为6.5-6.8V,所以单片机及传感器模块采用7805稳压后的5V电源供电,电机直接由电池供电。 3.路面检测电路: 路面检测电路由5对光电发送与接收管组成。由于路面存在黑色引导线,落在黑线区域内的光电接收管接收到反射的光线的强度与白色的路面不同,进而在光电接收管两端产生不同的电压值,由此判断路线的走向。传感器模块将当前采集到的一组电压值传递给单片机,进而根据一定的算法对电机进行控制,使小车自动寻线行走。 下图是路面检测电路图: RPR220VCCVCCRW1103VCC(测试点B)VCCD1LEDR1330G1R347K34(测试点A)2LM3241R2(测试点C)1K 11路面检测电路 4.单片机模块:是智能车的核心部分,主要完成对外围各个模块的管理,实现对外围模块的信号发送,以及对传感器模块的信号采集,并根据软件算法对所采集的信号进行处理,发送信号给执行模块进行任务执行,还对各种突发事件进行监控和处理,保证整个系统的正常运作。 XTAL2C730pFC830pFY112MHz单片机时钟电路 GNDXTAL1 S2+5V22uFC610kR18GND RST单片机复位电路 5. 电机驱动电路: 电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动 电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。设计中,驱动电路的四个输入端我们只用了两路输入分别与ARMLPC2103的P0.15和P0.14连接。这样四路输入就有高低电平了,轮子就能转起来。再接入两路PWM驱动,就能控制速度。P0.19控制车的右轮,P0.20控制车的左轮。由I/O的脉冲来控制H桥中三极管的通断,从而来控制直流电机的前进、后退、左转和右转的动作,具体如下表1。 采用普通直流电机,通过控制脉冲占空比算法,实现对小车速度的控制。这种调速方式有调速特性优良、调整平滑、调速范围广、带载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。 由三极管Q9、Q10、Q11、Q12构成H桥驱动电路,控制着几个管子的通断就可以控制直流电机的正转、反转。 Q110KQ13NEC772Q310KVCCQ10Q9NEC882MG1NEC882 Q16Q210KQ17UD74LS04 H桥驱动电路 Q1MOTOR DC5NEC772NEC772Q710KNEC77286UC74LS04 95 表1 P0.3 1 0 1 0 P0.2 0 1 0 1 P0.1 0 1 1 0 P0.0 1 0 0 1 状态 前行 后退 左转 右转 软件设计部分 1.小车循迹规则: 若小车偏左的时候,车轮将向右偏转;若小车偏右,车轮将向左偏转;若没有偏移,小车将继续向前;若小车完全偏离黑色轨迹,小车后退以寻找黑色轨迹。 2. 主程序流程图: N 探测黑线 启动循迹模式 图4-2循迹流程图 向左转 Turn _left2 向左转 Turn _left1 是否检测到黑线 Y 判断处理程序 向右转 Turn_ right1 向右转 Turn_ Lright2 继续前进 3.小车循迹程序: #include #define uchar unsigned char #define uint unsigned int void xunji(void); uint temp; uchar code table[]={0xf5/*0前进*/,0xfa/*1后退*/,0xf1/*2左转1*/,0xf9/*3左转2*/, 0xf4/*4右转1*/,0xf6/*5右转2*/,0xf0/*6停止*/,0xff/*7急停*/}; void delayms(uint z)//延时函数1ms { uint i,j; for(i=z;i>0;i--) for(j=125;j>0;j--); } main() { // P1=0xff; while(1) { } } void xunji(void)//寻迹 xunji(); { temp=P0; switch(temp) { case 0xe4:P2=table[0];delayms(1);break; case 0xe6:P2=table[2];delayms(1);break; case 0xe7:P2=table[3];delayms(1);break; case 0xef:P2=table[3];delayms(1);break; case 0xec:P2=table[4];delayms(1);break; case 0xfc:P2=table[5];delayms(1);break; case 0xfe:P2=table[5];delayms(1);break; case 0xe3:P2=table[3];delayms(1);break; case 0xf8:P2=table[5];delayms(1);break; case 0xe1:P2=table[3];delayms(1);break; case 0xf0:P2=table[5];delayms(1);break; case 0xe8:P2=table[4];delayms(1);break; case 0xe2:P2=table[2];delayms(1);break; case 0xee:P2=table[0];delayms(1);break; case 0xf6:P2=table[5];delayms(1);break; case 0xed:P2=table[3];delayms(1);break; case 0xff:P2=table[0];delayms(1);break; default :P2=table[6];delayms(1);break; } }

实习收获 根据本次设计要求,我们两人系统地阅读了大量的资料,并认真分析了设计课题的需求,还系统学习了51系列单片机的工作原理及其使用方法,并独自设计编写了小车运行的程序,经过一系列的修改完善,仿真正确后写进小车,经过调试,小车最终平稳快速的运行在轨道上。 以前总感觉学的东西是比较虚的,经过这一次的动手实践,让我感觉到这是一门真实的、很有应用的一门学科。通过本次课题设计,不仅是对我们课本所学知识的考查,更是对我的自学能力和收集资料能力以及动手能力的考验。本次小车循迹设计使我们对一个项目的整体设计有了初步认识,还认识了几种传感器,并能设计出其接口电路,再有对电路板的制作有了一定的了解,并学会了使用Protel设计电路。这次设计使我们意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。还有以前对程序只是一个很模糊的概念,通过这次的课题设计使我对程序完全有了一个新的认识,并能使用C熟练的进行编程了。通过本次课题设计,极大的锻炼了我们的思考和分析问题的能力,并对单片机有了一个更深的认识。 总之,在课题设计的过程中,无论是对于学习方法还是理论知识,我们都有了新的认识,受益匪浅。通过本次设计我掌握了很多以前不熟练的东西,认识了很多以前不熟悉得东西,同时,我更也了解自己在自动化专业上的优缺点,使我在人生上又进了一步,找到了奋斗目标,明确了人生方向。这将激励我们在今后再接再厉,不断完善自己的理论知识,提高实践运作能力,锻炼工作能力。 参考资料 [1] 郭惠,吴迅.单片机C语言程序设计完全自学手册[M].电子工业出版社,2008.10:1-200. [2] 边春元 李文涛 江杰 杜平等;C51单片机典型模块设计与应用;机械工业出版社;2008.4 [3] 李华. MCS- 51 系列单片机实用接口技术[M].北京:航空航天大学出版社, 2003 [4] 楼然苗.51 单片机设计实例[M].北京:航空航天大学出版社,2005.8 [5] 王晶,翁显耀,梁业宗 自动寻迹小车的传感器模块设计.武汉理工大学自动化学院 湖北武汉 [6] 刘迎春. 传感器原理设计与应用[M] . 长沙:国防科技大学出版社,1992. 学生: 张桂平 2013 年7 月 1日 成绩评定 优秀 良好 中等 及格 不及格 指导教师: 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务