毕业论文--基于单片机的智能小车设计.docx_第1页
毕业论文--基于单片机的智能小车设计.docx_第2页
毕业论文--基于单片机的智能小车设计.docx_第3页
毕业论文--基于单片机的智能小车设计.docx_第4页
毕业论文--基于单片机的智能小车设计.docx_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX大学毕业设计(论文) (xx届)题 目 基于单片机的智能小车设计 二级学院 专 业 班 级 学 号 学生姓名 指导教师 基于单片机的智能小车设计摘 要随着电子技术不断地革新,为了让科技更好地服务于人类,人们发明了各式各样的新型电子产品。具有智能、决策、感知和交互的产品。智能电动小车也是一种具有智能化的能够通过通信技术或单片机编程等方式完成想要执行的任务。当前社会科技技术的快速发展,交通运输工具日益多样化。日益严峻的交通拥挤,交通事故屡屡发生,造成了不可挽回的人身财产威胁。针对这种现状,可以设计以一种智能的、高效的、可靠的小车。其设计思路与一些日常生活迫切需要的机器人类似。智能小车为了满足智能小车的设计要求,小车采用了两轮双电机驱动方式,以89C52单片机作为副控制,以STC12C5A60S2单片机为核心的智跑机器车的基本原理与实现方案。采用的电子信息技术主要有:(1) 显示由LCD12864 (5V 蓝屏 并口)(2) 应用传感器测速、计数模块(3) 通过C语言编程控制小车的速度(4) 运用红外避障传感器进行有效避障关键字:智能小车 STC12C5A60S2单片机 红外避障传感器Intelligent car design based on MCUAbstractAs the electronic technology innovation unceasingly, in order to make better service to human science and technology, people invented all kinds of new electronic products. With intelligence, decision making, perception and interaction products. Intelligent electric car is also a kind of intelligent can through the communication technology and single-chip microcomputer programming way to perform tasks.The current society with the rapid development of science and technology, transport has become increasingly diversified. Increasingly serious traffic congestion, traffic accidents frequently occur, causing irreparable threat to personal property. Aiming at this situation, can be designed to a kind of intelligent, efficient, and reliable car. Its design concept and some much-needed daily life like robot. Smart car in order to meet the requirements of the design of the intelligent car, the car USES two rounds of double motor drive method, with 89 c52 as vice control, STC12C5A60S2 single-chip microcomputer as the core of basic principle and implementation scheme of machine running car.The electronic information technology mainly include:(1) display LCD12864 (5 v blue screen Parallel port)(2) the application of speed sensor, counting module(3) by C language programming control the speed of the car(4) the use of infrared sensors for effective obstacle avoidance obstacle avoidanceKeywords: intelligent car ;STC12C5A60S2 microcontroller ;infrared sensor of obstacle avoidance3目 录摘 要1Abstract2第1章 前言1第2章 系统描述22.1 系统功能简介22.2系统总体设计3第3章 系统硬件设计43.1主控制器设计43.2 电机驱动设计83.3 供电电源设计93.4 障碍物检测电路设计103.5 测速检测设计113.6显示电路设计12第4章 系统软件设计144.1系统软件结构设计144.2 总体流程图144.3程序设计15第5章 实物实测185.1 实物组装185.2 测试方案20参考文献21致谢22附件一23基于单片机的智能小车的设计第1章 前言随着汽车工业的快速发展,关于汽车的研究也越来越受人关注。随着世界能源短缺,全球环保意识的增强,智能化的汽车正在成为世界潮流。将汽车智能化是人们越来越迫切的愿望。智能小车的研究和应用所涉及传感器技术、电子信息工程、电气控制技术、智能控制等学科。将小车智能化是一门跨学科的综合性技术,在当代,人们研究活跃,智能化作品也日渐成熟,广泛应用在人们生活当中。智能作为现代社会的新产物,是今后科学技术发展的新向标。它可以按照预先设定好的模块在一个特定的环境中自行检测,管理、控制。可用于科学技术勘探。无需人为控制管理,方可达到预期目标或甚至更高的目标。智能机器人现在渐渐取代一些人们完成高难度的任务。他可以适应复杂的环境,很少受外界因素的干扰,智能小车就是其中的一个体现。如果将汽车智能化,那么可以使我们的未来生活变得更加便利。除了潜在的军用价值,在交通运输中也有很大的作为。可见研究智能小车的意义重大,本设计就是在这样的背景下提出来的。在指导老师的引导下,充分的为智能化小车提供了指导支持。本实验是理论和实践相结合的设计课题。设计智能小车能够实时显示时间、里程、具有自动避障功能等。根据题目要求,确定如下方案:在现有的电动小车中,加装红外超声波传感器,进行实时勘测障碍物;加装测速传感器模块,实时测速、记时;加装LCD12864显示屏,进行显示相关数据。这次方案实现对电动车的运行状态进行实时控制,可靠,灵活,精度高等特点。本设计采用STC12C5A60S2单片机。其功能强大,集成高。易学实用,深受广大使用者好评。第2章 系统描述智能小车由软件和硬件组成,其中软件控制小车的程序。包括有小车运行的主函数、PWM函数、LCD12864函数、红外避障传感器函数等。硬件系统有小车模型、主控制器52单片机、红外避障模块、LCD12864显示模块、测速传感器模块、L289N电机驱动板模块、电池供电模块等。2.1 系统功能简介由于程序是相互嵌入的,各个系统之间相互有联系。智能电动小车需要完成的功能有,直行,停止,后退,左转,右转等一系列不同环境下指定动作。其详细工作原理如下:刚开始启动电源开关,电动车从起跑线出发,经过直线跑道到达一定的指定范围,只要供电充足,小车可自动安全行驶。如果正前方有障碍物,小车正前方有红外避障传感器出现低电平,小车自动通过读写源程序后退,直到红外避障传感器检测为高电平,则表示前方已无障碍物,小车会通过计数器模块自动调整两轮转速可安全前行;如果前方有障碍物,小车前方有四个红外避障传感器出现低电平,小车也会自动后退,直到红外避障传感器检测为高电平,则表示前方已无障碍物,小车会通过计数器模块自动调整两轮转速可安全前行;如果最左侧和左中侧有障碍物,红外避障检测到了就会出现低电平,小车自动通过读写源程序向右后轮会后退,直到红外避障传感器检测为高电平,则表示左侧无障碍物,小车会前行;如果最如果最右侧和右中侧有障碍物,红外避障检测到了就会出现低电平,小车自动通过读写源程序向左后轮会后退,直到红外避障传感器检测为高电平,则表示右侧无障碍物,小车会前行;同时计数器计数,LCD12864显示屏亮,每一秒刷屏一次。显示运行时间和路程。2.2系统总体设计智能电动小车的外形俯视图如图2-1所示,其中,小车整体具有智能小车模型,可轻易安装拆卸轮子马达等。红外避障传感器是用来检测前方区域的障碍物,如有障碍物可以确保小车安全的避让。测速传感器用来检测小车在直行,左右转弯、后退的速度,这样为了使小车行驶更加稳定精准。LCD12864 5V 液晶显示屏用于显示小车行驶时间和路程,为了精准的记录小车在行驶过程中的状态。L298N电机驱动模板是小车驱动的主导,能控制小车行驶的车速。就相当于调节小车的PWM脉冲宽度可以调节到小车电机的车速。输入电压为7.2V,但经过PWM电机驱动可以输出5V的电压给单片机的最小系统供电。在之后的章节中会详细的介绍每个模块的设计和制作。图2-1外形俯视图第3章 系统硬件设计智能小车的总体原理图如图3-1所示,其中包括主控制器,电机驱动,供电电源,障碍物检测,测速传感器,显示屏等。图3-1 总体原理图3.1主控制器设计关于主控制器,它是整个智能小车的主要部件。几乎所有的车上的模块都是由主控制器来控制完成的,是整个小车的发动机。 主控制器的设计主要采用AT89S52单片机为小车的检测和控制核心。以其他模块为辅,构成了整个智能小车的器件。关于AT89S52的介绍是: 1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051.2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)3.工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz4. 用户应用程序空间为8K字节5. 片上集成512 字节RAM如以下图3-2所示:图3-2 AT89S52单片机其中关于单片的机最小系统是指元件组成为最小的可以工作的单片机。其中有复位电路,晶振电路等重要模块,如下图3-3复位电路,图3-4晶振电路。那么,下面介绍一下关于单片机的最小系统中的复位电路和晶振电路。单片机的复位,是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个假设的状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值,也就是俗称出厂化状态。单片机复位电路原理是在单片机的复位RST引脚上外接电阻和电容,可实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。如图31-2所示。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位RST引脚上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回到低电平进入正常工作模式,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电,RT也被拉到高电平,而且由于电容的充电,会有一段时间保持电容放电过程,一段时间的高电平会使的单片机产生复位。图3-3 复位电路关于单片机的晶振电路,它包括外部时钟和内部时钟。其原理是:(1)单片机的XTAL1和XTAL2内部有一片内振荡器结构,但需要在XTAL1和XTAL2两端连接一个晶振和两个电容组成时钟电路,这可以使晶振配合产生信号的方法是内部时钟方式;(2)单片机还可以工作在外部时钟方式下,可以直接向单片机XTAL1引脚输入时钟信号波形,而XTAL2管脚悬空不管。就可以产生外部时钟了。但大多数单片机系统会选择复杂的内部时钟而非选择简单的外部时钟,这是因为单片机的内部振荡器能与晶振、电容构成一个性能非常好的时钟信号源,构成稳定的时钟信号。时钟电路在单片机系统中很重要,它能控制着单片机工作的节奏,是单片机工作的心脏,这是是必不可少的部分。晶振是单片机晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络。电工学上这个网络有两个谐振点,以频率的高低分,其中较低的频率是串联谐振;较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。 晶振有一个重要的参数负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容。请注意一般IC的引脚都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15pF或12.5pF,如果再考虑元件引脚的等效输入电容,则两个22pF的电容构成晶振的振荡电路就是比较好的选择。图3-4 晶振电路3.2 电机驱动设计关于电机驱动模块,我们在基于单片机的智能小车上运用L298N进步机直流电 机驱动器。下面为图3-5所示。L298N进步机是ST公司生产的一种高电压、大电流的电机驱动芯片。该芯片主要特点有:工作电压高,最高工作电压可达45V;输出电流较大,瞬间峰值电流可达2.5A,持续工作电流大约为1.8A;额定功率是23W。其中进步机含两个H桥的高电压大电流全桥式驱动器,可以用于驱动直流电动机和步进电动机、继电器线圈等感抗负载;采用标准的逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止进步机工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻或电压,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。下面为图3-5本模块是集成了一个内置有的5V供电系统。当你的驱动电压约为7V的时候,可以使能板载的5V逻辑供电,当使用板载5V供电之后,接口中的+5V供电不要输入电压,但是可以引出5V电压供外部使用:本次采取的进步机就是有约7V的电压供电,当接口中的+5V供电不要输入电压,可以引出5V的电压给外部。电压提供给最小系统的单片机工作。当ENA 使能 IN1 IN2 控制 OUT1 OUT2。当ENB 使能 IN3 IN4 控制 OUT3 OUT4图3-5电机驱动3.3 供电电源设计智能小车其供电电源部分为最重要的,因为它决定了单片机的工作和步进电机的需要电压。单片机工作和各个检测传感器的运行都需要+5V的电压,这个部分是TTL电平。另一个是步进电机需要的电源,其驱动电压为7V到35V,由于我们制作的智能小车为低成本速度有限的小车,而且考虑小车不能采用外部有限电源连接,这样小车的主供电电源为蓄电池供电,其硬件是18650锂电池图为3-6所示的电压大致为7.2V。图3-6供电电源3.4 障碍物检测电路设计智能小车前方安装红外避障传感器用来检测前方是否有障碍物。红外避障传感器是一种发射与接收集于一身的光电传感器,检测的距离可以根据实际情况进行调试和探测。本实验采用了四个红外避障传感器作为避障检测,该传感器的特点具有受外界光电的影响,但探测距离较远,在本次智能小车上是最佳的方式。智能小车前方安装有四个红外避障传感器,其相应的角度调节好,最好能使前方180度的视觉范围都能检测的出来,可以直观的检测到前方是否有障碍物,从而使得小车可以安全的行驶。其红外避障传感器的工作原理是:前方无障碍物输出高电平(1),有障碍物输出(黄色线)电平会从高电平变为低电平(0)。其背面有个可调电位器,可以调节障碍物的检测距离。在外部电路设计中,输出端加上上拉电阻10千欧到+5V的电压中,再接入单片机会较为稳定。使红外避障传感器更好地工作。此处单片机可以采用外部中断INT0或INT1来实现。如下图3-7示为红外避障传感器实物。图3-7 红外避障传感器3.5 测速检测设计智能小车在运行过程中,需要时刻控制轮子的转速。其运用了霍尔测速传感器模块,简要说明一下计数传感器的模块。主要芯片是LM393、3144霍尔传感器,工作电压为直流电压为5V。其中特点有:具有信号输出指示提示单路信号输出灵敏度可调高如有有磁场切割就有信号输出可以用电机测速或者位置检测等场合,其实物图为下面3-8示。图3-8计数传感器3.6显示电路设计智能小车上运用LCD12864为液晶显示。其记录着小车行驶的路程和时间,每一秒钟刷屏一次。使用液晶显示屏具有较好的观感性,充分发挥显示屏显示文字和数字的效果。关于LCD12864液晶显示屏的功能介绍有串并行显示可通过下列两种调节方式。一种是PSB引脚控制程序内部高低电平的选择 H-并行 ;L-串行。第二种是JP2引脚短路点有3点,S和中间点连起来为串行,P点和中间点连起来为并行。此液晶显示屏只支持一种电压,有的为5V,有的为3.3V的。其中这个LCD12864液晶显示屏为5V电压,其实物图为3-9所示。图3-9 LCD12864液晶显示屏 关于12864显示屏与单片机的连接线路图如下图3-10图3-10 与单片机的连接线路第4章 系统软件设计本章节描述的是智能小车系统软件设计,其软件与硬件相互匹配,才能使小车智能化,多功能化,简单化等优点。软件设计是控制小车运行的状态。使得AT89S52单片机和各个模块相互衔接,相互配合完成一系列复杂的运动。4.1系统软件结构设计智能电动小车的软件结构如图4-1所示,主要包括主函数,电机控制、障碍物传感器检测模块、测速传感器模块、显示模块等4个部分,如下图41-1所示。图4-1为小车的软件结构4.2 总体流程图关于智能小车的总体流程图是符合逻辑思维的,单片机下载的源程序会通过读写的方式进行指令的执行。其总体流程如下图4-2所示。图4-2 总流程图4.3程序设计在程序设计这块,我们运用编程软件Keil,51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上都有明显的优势,因而易学易用。下图4-3所示的基本操作界面。图4-3 编程软件Keil对于各个模块与单片机最小系统的连接方式,以实现各个模块的功能。电机驱动模块:电源供电给电机工作电压为7.2V,L298逻辑工作电压为5V。两侧有电机输出端口ABCD,左轮接入单片机P2.0/P2.1,右轮接入单片机P1.2/P1.5.红外避障传感器模块:关于红外避障模块,此小车运用了四个前方红外避障传感器。方向分别为左左、左右、右左、右右。红外避障传感器的红线和绿线分别接入+5V的正负极,而黄线为信号线接入单片机的功能引脚。左左接入单片机引脚P2.2、左右接入单片机引脚P2.7、右左接入单片机引脚P3.6、右右接入单片机引脚P3.7。计数传感器模块:对于计数传感器模块,左轮信号接入单片机引脚为P3.4;右轮信号接入单片机引脚为P3.5。显示模块:我们运用LCD12864为显示屏,定义LCD12864DB0DB7分别接入单片机引脚为P0.0P0.7为数据总线;定义LCD12864的RS控制线接入单片机引脚为P2.3;定义LCD12864的PW控制线接入单片机引脚为P2.4;定义LCD12864的E控制线接入单片机引脚为P2.5;定义LCD12864的PSB控制线接入单片机引脚为P2.6;第5章 实物实测关于这次制作智能小车的毕业设计过程中,从理论到实践,从制作实物到毕业论文,一整个过程中有太多的东西需要自己去学习和操作的。虽然累,但自己投入了很多时间和精力去制作,从中体会到了很多深层次的东西。5.1 实物组装经历了为期一个多月的成品组装,在整个过程中不仅使自己在硬件上有了更多的了解,更加使得自己的动手能力得到了提升。下图为制作智能电动小车过程中的实物图:前期中期后期5.2 测试方案在制作智能小车实物过程中,不断地完善小车的硬件设施。同时加大了制作过程的难度。在编写程序过程中,不断地更改程序的步骤。在硬件与软件相互磨合的过程中遇到过许许多多的障碍。起初由于程序上的不完美,使小车运行的很别扭。避障功能没有完全的适应各个复杂的环境,而且停止后退的动作连贯,显示屏显示速度和距离也不灵敏、精准。经过长时间摸索实验当中,通过查看资料,网上收集案例,同学之间的交流,同时也得到了指导老师的帮助。这段基于单片机的智能小车可能设计的不完美,有很多的不足,但自己亲力亲为学到了不少知识。通过此次的设计和制作小车,让自己把大学所学的知识都巩固了和运用上了,特别对于单片机的设计和数电模电的知识的运用。在软件编写过程中遇到了很多问题,起初写好的简单程序下载到单片机,使整个小车运动起来。从而检测电源模块,驱动模块,还有单片机最小系统主控制模块是否有问题。再后者不断地改写程序,下载到单片机中运行,反反复复的调试小车运行状态。把红外避障模块也写入进来,使小车能够在复杂的环境中安全行驶。但在这个期间遇到了技术上的障碍,阻止了智能小车制作的进度。程序编写的不符合现实中的环境要求,小车达不到完全避障的功能。在这个避障功能实现时听取了很多同学的改进方法。增加红外避障传感器的个数,从而灵敏的实现复杂环境中的避障。在制作这个过程,花费了不少时间。在制作液晶屏显示的过程中,为了单片机上的引脚数和显示屏完美的连接上并放在小车上,在这个过程中重新焊接了一块最小系统。在液晶显示模块上技术一些指导源于有经验的同学的参考文献,特别要感谢魏道志同学的帮助。现如今,小车制作已基本完成,也实现了各项有关功能,有付出就会有成效!毕业论文也是如期写完。实物和论文有许多不足之处,还望各位老师见谅,提出宝贵意见和建议。参考文献1李广第,单片机基础,北京 北京航空航天出版社,2001.72李全利、迟荣强编著,单片机原理及接口技术 北京 高等教育出版社,2004.13候媛彬,单片机原理及其毕业设计精选,北京 科学出版社,2006.84马忠梅,单片机的C语言应用程序设计,北京 北京航空航天大学出版社,2003修订版5郭天祥,新概念51单片机C语言教程,北京 电子工业出版社,2009.16张毅刚、彭喜元、彭宇,单片机原理及运用,北京 高等教育出版社,2010.5致谢历时近三个月的毕业设计已经制作完成了。在漫长的时间段里经历了很多,有自己不断摸索的过程也有来自同学老师的帮助。在这里对他们说声:感谢你们!对于自己来说收获颇多,加深了自己在大学期间所学的知识印象,同时也提高了自我不断学习,不断创新的精神面貌。通过这次脑力和智力的综合考验,让我明白了知识的重要性,改变了很多我曾经错误的想法。无论对现在毕业答辩还是未来从事的工作岗位,都有莫大的意义!由于自己本身知识储备有限,设计过程中有很多的不足之处,还望老师们批评指正。附件一主程序设计#include config.hunsigned char a = 0;unsigned int Count_old,Count_new,n,s;unsigned int t=0;unsigned char time_flag = 0;unsigned int time_velue;unsigned char time_flag;void display_12864(uint time ,uint line); /12864液晶显示时间和路程void Exti_Init(void);void main(void)LCD12864_Init();/12864液晶初始化Pwm_Init();/PWM初始化Count_Init();Exti_Init();while(1)switch(a)case 0 :Count_Clear();a+;break;case 1 :if(BAR_LL = 1) & (BAR_LR = 1) & (BAR_RL = 1) & (BAR_RR = 1)Go();a = 1; elsea+;break;case 2 :if(BAR_LL = 0) & (BAR_LR = 0) & (BAR_RL = 0) & (BAR_RR = 0) | (BAR_LR = 0) | (BAR_RL = 0)Break();a = 1; elsea+;break;case 3 : if(BAR_RL = 0) | (BAR_RR = 0) Count_old = Count1();a = 5; else a+;break;case 4 :if(BAR_LL = 0) | (BAR_LR = 0) Count_old = Count0(); a = 6; elsea = 1;break;case 5 : Left_break(); Count_new = Count0(); n = Count_new - Count_old; if(n 10)if(BAR_RR = 1) & (BAR_RL = 1) & (BAR_LR = 1) & (BAR_LL = 1) a = 0; break;case 6 : Right_break(); Count_new = Count1(); n = Count_new - Count_old; if(n 10)if(BAR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论