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

下载本文档

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

文档简介

毕业设计论文 (基于单片机的智能避障小车设计) 插入相关内容图片 专 业: 电子班 级: 1001姓 名: 田川 二一三年十一月 基于单片机的智能避障小车设计摘 要当今世界,随着汽车工业的快速发展,关于汽车的研究也越来越受到人们的关注。从20世纪70年代,美欧等发达国家开始进行无人驾驶汽车的研究,我国从上世纪80年代开始着手无人驾驶汽车的研制开发,虽与国外相比还有一些距离,但目前也取得了阶段性成果。智能汽车概念的提出给汽车产业带来机遇也带了挑战。汽车的智能化必将是未来汽车产业发展的趋势,在这样的背景下,我们开展了基于单片机的智能小车的避障研究。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的结果,在这种情况下研究智能避障小车的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。该设计利用单片机STC89C52RC作为主控芯片,该芯片是一种高速、低功耗、抗干扰能力强的芯片,其最高时钟工作频率为48MHz,用户应用程序空间为8K。能够满足程序空间需要。本文首先介绍了智能车的发展前景,接着介绍了该课题设计构想,各模块电路的选择及其电路工作原理,最后对该课题的设计过程进行了总结与展望并附带各个模块的电路原理图,和本设计实物图,及完整的C语言程序。关键词:单片机,直流步进电机,避障小车 目 录第一章 总体设计方案.11.1设计要求.11.2系统设计方案.11.3总体设计.11.4功能说明.1第二章 硬件的选择与组成.22.1单片机的选择.2 2.2避障模块的选择.22.3驱动模块的选择.22.4电源方案.2第三章 软件程序流程图.33.1主流程图.33.2 模块程序设计说明.33.3单片机光电避障程序.34.2驱动模块程序.3第四章 电路调试.44.1硬件调试.44.2软件调试.44.3系统联调.44.4 实现功能.4第五章 小车图原理图程序.5 5.1小车图.5 5.2原理图.5 5.3单片机程序.5参考文献 .5致 谢.5第1章 总体设计方案1.1设计要求1在小车行驶过程中,光电传感器一直启动,对前方路况进行检测2当接近障碍物距离小于10cm时,小车自动左转3当小车转过后,还是一直检测前方道路是否有障碍,若无障碍,向前行驶。如果存在障碍物且小于10cm,小车左转,并再次检测前方路况,若无障碍物,向前行驶。1.2系统设计方案根据设计要求,为了便于调试和改进,采用模块化设计。系统可分为:微控制器、避障模块、驱动模块、电源模块、小车模块。其基本框图如下:1.3总体设计基于单片机STC89C52RC设计的智能避障小车,本设计需提供5V供电6V供电。5V供电为单片机及其他电路提供工作电压,其中直流6V供电只为光电避障模块供电。光电避障模块,采用购买现成的光电避障模块:5V电源,采用购买现成的移动电源:6V电源,采用购买现成的4节1.5V干电池串联得到:步进电机驱动模块,采用购买现成的步进驱动模块;小车模块,采用购买的现成的小车模块(包含车底盘加已固定好的两个步进电机加轮胎加万向轮)。各模块之间用排线连接,并用胶枪固定。单片机通过光电模块去对小车行驶道路上的障碍物进行检测,然后单片机通过处理反馈的信息,判断障碍物的距离,进而发出指令控制驱动模块,控制小车实现转向,达到避障的目的。制作该产品用到的元器件都是以前学习或实训中用到过的元器件,对元器件性能及使用方法有一定的了解,可以熟悉运用,而且有效节省了硬件成本,又能实现预定目标。该设计有很大的实用价值。系统整体设计如下所示: 光电模块=单片机 控制步进驱动模块 步进电机- 小车运动1.4功能说明本设计主控芯片采用52芯片,负责对传感器发出的信号接收处理,并向步进电机驱动模块发出动作指令。复位采用手动复位。+5V主要为单片机,步进电机以及其他芯片供电提供电源;+6V为光电模块供电。按下可以自锁的开关小车启动运行绿色指示灯亮 ,开关打开小车停止运动红色指示灯亮,运行中光电模块将检测信息反馈给单片机,单片机经过处理反馈回来的信息,发出相应的指令控制步进驱动模块,从而控制小车做出相应的动作,前进或转向,达到避障的目的。第2章 硬件的选择与组成2.1单片机的选择 采用单片机STC89C52RC为核心,8K的内部程序存储器(ROM),512个内部数据存储器(RAM),4个寄存器区,32个通用I/O端口,2个16位的定时、计数器,有ISP功能,能用于下载线进行的在线编程,设有4个中断源,能够完成设计要求,且该芯片价格便宜,采用该芯片能够达到设计要求,且平时实训中一直采用该芯片,对其比较熟悉,控制起来相对简单。 比较其他单片机,综合考虑设计要求及成本,该设计选用STC89C52作为主控芯片。单片机用的是STC89C52RC,该芯片存储容量大,体积小。单片机最小系统:电源部分、晶振部分、复位电路和31号脚接高电平。单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几个大单元及数据总线地址总线和控制总线等三大总线。9号复位信号脚,时钟电器开始工作,复位端会出现24个时钟周期以上的高电平,系统即初始复位。其复位方式一般为手动复位,VCC断电期间,此引脚可接上备用电源,以保证单片机内部RAM的数据不丢失。31脚程序存储器的内外部选通线,内置有8kb的程序存储器,当EA为高电平并且程序地址小于8kb时,读取内部程序存储器指令数据。所以该设计31脚应该接高电平。51单片机内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,18、19脚就接电容和晶振电路。单片机40脚接VCC,可以提供电源,20脚接地。 为方便端口的选择,单片机的P0口外界有上拉电阻,且32个通用I/O端口都接有排针,以方便使用及更换控制端口。引脚功能表VCC 40脚+5V电源GND 20脚GNDP0.0A(1号步进电机)P0.1B(1号步进电机)P0.2C(1号步进电机)P0.3D(1号步进电机)P0.4A(2号步进电机)P0.5B(2号步进电机)P0.6C(2号步进电机)P0.7D(2号步进电机)P2.0运行指示灯 绿色P2.1停止运行指示灯 红色P1.0光电模块信号采集P1.1启动停止按钮 可自锁2.2避障模块的选择采用光电避障,光电避障的基本原理是发光管发出光束,接收管接收前方物体反射的光束,据此判断前方是否有障碍物。根据反射光的有无可以判断前方是否有障碍,接近物体距离小于10cm时可以接收到当大于10cm时接收不到。这里我们选择的避障模块是探测到障碍小于10cm时,模块上的一组常开触点就会闭合 红外反射式传感器在自主式寻迹、避障机器人上的应用说明,用光电传感器作为机器人的近距离感觉传感器是可行的,当距离小于10mm时,有较好的可靠性和抗干扰能力,而传感器的探头尺寸仅为几个毫米,特别适合小型化,在相应的智能控制系统中可进行有意义的尝试。光电传感器的显著特点是非接触、不受电的干扰、灵敏度高、时间分辨率和空间分辨率高,可进行全方位的测试。 2.3步进驱动模块的选择 2.4电源方案5V电源,采用购买现成的移动电源:6V电源,采用购买现成的4节1.5V干电池串联得到。第3章 软件程序流程图3.1主流程图开始-向前运动-前方有障碍小于10cm-左转-前方无障碍-向前运动-前方有障碍-向左运动-开始后小车的光电模块会一直检测前方是否有障碍,如果没有一直往前移动,如果障碍小于10cm,光电模块会发信号给单片机 单片机会控制步进电驱动模块 进而控制步进电动机转动,实现避开障碍。如此循环,达到避障的目的。3.2 模块程序设计说明运用C语言编写程序,在平时的制作中多次使用该语言,因此采用该语言编程相对容易一些。3.3 光电避障程序while(p11=0IIp10=1)/向前运动p0.0=0;p0.1=0;p0.2=0;p0.3=1;delayms(50)p0.4=0;p0.5=0;p0.6=0;p0.7=1;delayms(50);p0.0=0;p0.1=0;p0.2=1;p0.3=0; delayms(50);p0.4=0;p0.5=0;p0.6=1;p0.7=0; delayms(50);p0.0=0;p0.1=1;p0.2=0;p0.3=0; delayms(50);p0.4=0;p0.5=1;p0.6=0;p0.7=0;delayms(50);p0.0=1;p0.1=0;p0.2=0;p0.3=0; delayms(50);p0.4=1;p0.5=0;p0.6=0;p0.7=0; delayms(50);while(p11=1)/停止P0=0xff;while(p10=0)/左转n=20;/控制左转角度While(n)p0.4=0;p0.5=0;p0.6=0;p0.7=1;delayms(50);p0.4=0;p0.5=0;p0.6=1;p0.7=0; delayms(50);p0.4=0;p0.5=1;p0.6=0;p0.7=0; delayms(50);p0.4=1;p0.5=0;p0.6=0;p0.7=0; delayms(50);4.2驱动模块程序p0.0=0;p0.1=0;p0.2=0;p0.3=1;delayms(50);p0.4=0;p0.5=0;p0.6=0;p0.7=1;delayms(50);p0.0=0;p0.1=0;p0.2=1;p0.3=0; delayms(50);p0.4=0;p0.5=0;p0.6=1;p0.7=0; delayms(50);p0.0=0;p0.1=1;p0.2=0;p0.3=0;delayms(50);p0.4=0;p0.5=1;p0.6=0;p0.7=0;delayms(50);p0.0=1;p0.1=0;p0.2=0;p0.3=0; delayms(50);p0.4=1;p0.5=0;p0.6=0;p0.7=0; delayms(50);3.4 驱动程序流程 当在主程序响应时,会首先判断障碍物的距离是否小于设定的安全距离(被设计中为10cm),若大于安全距离,小车继续按原来的方向行驶,若小于安全距离,小车首先左转,若无障碍物或有障碍但大于安全距离,小车沿该方向前进,反之当障碍物的距离小于安全距离时,小车向左旋转,若无障碍物或有障碍物但距离大于安全距离,小车沿该方向前进,反之当障碍物的距离小于安全距离时。小车向左转,沿该方向行驶。如此循环实现避障。第4章 电路调试4.1硬件调试在每个元件在没焊上去时,先用万用表检测,它们是不是都正常的,像LED灯,有些可能是有损坏的。单片机最小系统的焊接相对于驱动电路的焊接比较容易,以为在实训中多次焊接过该电路,但我还是很细心的按电路设计流程,画原理图、焊接电路、检测电路到通电测试。完成了该最小系统的设计。该设计过程中,要注意谐振电容的选择,焊接前一定要对该电容进行检测,确保谐振电容完好,否则将导致晶振不起振,单片机无法正常工作,振荡器输入分别由引脚18和引脚19来完成振荡部分。51单片机的一个机器周期含有6个状态周期,而每个状态周期为2个振荡器周期,因此一个机器周期共有12个振荡周期,12MHz的振荡频率,一个振荡器周期为1/12微秒,一个机器周期为1微秒。4.2软件调试软件调试是制作该课题一个难点,在调试采用分模块调试,首先调试光电避障模块位置以达到最佳效果,其次开始调试驱动模块,该模块是该课题的核心。4.3系统联调将硬件调试和软件调试相结合,在电路原理图上先检测电路有没有短接,断路现象,可以用万用表检测电路中的电流、电压是否符合。上电后,观察各个电源指示灯是否正常,用万用表检测各个主要测试点,看各个测试点电压是否正常。正常后,将所编写的程序烧入单片机最小系统中,进行系统联调将,看是否能够达到预期效果。4.4 实现功能本设计,以单片机STC89C52RC为核心实现小车避障。小车在行驶过程中自动检测障碍物,当障碍物的距离小于小车的安全行驶距离时,小车会首先向左转向,如果没有障碍物,小车沿该方向前进,若有障碍且障碍物距离小于安全距离,小车向左旋转,若无则沿该方向前进,若有障碍物且障碍物距离小于小车行驶的安全距离时,小车向左旋转,如此往复,达到避开障碍物的目的。由于自身能力有限,部分功能效果不是很好,但基本实现了避障的目的,有许多地方有待改进,我会在以后的学习中不断完善该设计。 第五章 小车图原理图程序5.1小车图5.2原理图5.3单片机程序#include#define uint unsigned int void delayms(uint);sbit p01=P01;sbit p02=P02;sbit p03=P03;sbit p00=P00;/左边步进电机sbit p05=P05;sbit p06=P06;sbit p07=P07;sbit p04=P04;/右边步进电机sbit p10=P10;/光电sbit p11=P11;/启动停止sbit p20=P20;/小车运行中指示灯 绿灯sbit p21=P21;/小车停止运行指示灯 红灯void main()while(p11=0IIp10=1)/向前运动p20=0;p21=1;p0.0=0;p0.1=0;p0.2=0;p0.3=1; delayms(50);p0.4=0;p0.5=0;p0.6=0;p0.7=1;delayms(50);p0.0=0;p0.1=0;p0.2=1;p0.3=0; delayms(50);p0.4=0;p0.5=0;p0.6=1;p0.7=0; delayms(50);p0.0=0;p0.1=1;p0.2=0;p0.3=0; delayms(50);p0.4=0;p0.5=1;p0.6=0;p0.7=0; delayms(50);p0.0=1;p0.1=0;p0.2=0;p0.3=0; delayms(50);p0.4=1;p0.5=0;p0.6=0;p0.7=0; delayms(50);while(p11=1)/停止p20=1;p21=0;P0=0xff;while(p10=0)/左转p20=0;p21=1;p0.4=0;p0.5=0;p0.6=0;p0.7=1; delayms(50);p0.4=0;p0.5=0;p0.6=1;p0.7=0; delayms(50);p0.4=0;p0.5=1;p0.6=0;p0.7=0; delayms(50);p0.4=1;p0.5=0;p0.6=0;p0.7=0; delayms(50);void delayms(uint xms)uint i, j;for(i=xms;i0;i-)for(j=110;j0;j-);参考文献1 谢自美电子线路设计.试验.测试 M 华中科技大学出

温馨提示

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

评论

0/150

提交评论