基于51单片机的循迹避障小车的设计.docx
《基于51单片机的循迹避障小车的设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的循迹避障小车的设计.docx(35页珍藏版)》请在冰豆网上搜索。
![基于51单片机的循迹避障小车的设计.docx](https://file1.bdocx.com/fileroot1/2023-2/3/26e9faa3-f05c-4d75-a601-ec99588b489b/26e9faa3-f05c-4d75-a601-ec99588b489b1.gif)
基于51单片机的循迹避障小车的设计
清华大学
本科生毕业论文
题目:
基于51单片机的循迹避障小车的设计
专业班级:
电子信息工程2012级02班
学号:
学生:
指导教师:
论文完成日期:
年月
重声明
本人的毕业论文是在指导老师的指导下独立撰写并完成的。
毕业论文没有剽窃、抄袭、造假等违反学术道德、学术规和侵权行为,如果有此现象发生,本人愿意承担由此产生的各种后果,直至法律责任;并可通过网络接受公众的查询。
特此重声明。
毕业论文作者(签名):
年月 日
基于51单片机的循迹避障小车的设计
专业:
电子信息工程班级:
**班作者:
***指导老师:
***
摘要
智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。
本设计通过实时检测各个模块传感器的输入信号,利用红外对管检测黑线实现寻迹,通过光电传感器实现避障,采用存储空间较大的AT89C51作为主控制芯片,小车电机驱动采用L298N芯片,根据置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,能较有效的控制其在碰上障碍物时能转弯角度及寻迹行驶。
设计采用对比选择,模块独立,综合处理的研究方法。
通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。
最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。
本设计结构简单,较容易实现,在一定程度上体现了智能化的科技。
同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。
关键词:
智能小车;AT89C51;光电传感器;L298N
DesignofCarforAutomaticTrackingandObstacleAvoidanceBasedonAT89C51MicrochipComputer
Speciality:
ElectronicInformationScienceandTechnologyClass:
1202
Author:
Tutor:
Abstract
Asanewproductofmodernsociety,intelligenceisthetrendinfuturedevelopment.Itcanworkinsomespecificenvironmentaccordingtothemodewhichsetsinadvance.Dispensingwithbehavioradjustmentmanagement,butitcanachievetheexpected,evenhighergoal.
Thedesignofeachmodulethroughtheinputsignalreal-timedetectionsensor,thedetectionlinetorealizetracingbyusinginfrared,photoelectricsensortoachieveobstacleavoidance,uselargestoragespaceAT89C51asthemaincontrolchip,motorvehicledriverusingL298Nchip,respectively,tocontrolthecarabouttwoDCmotorwithbuilt-inprocedures,toachieveautomaticcaridentificationroute,canthehitobstaclescanturnangleandtracingrunningeffectivelycontrolled.
Usingmethodsofcontrastselection,moduleindependence,integratedtreatment;consultingalargenumberofrelatedliteratureanddata;andlistingdiffernetsolution;accordingtopracticalsituationandchoosethebestschemetodesign.Andthen,debuggingandcheckingeverysinglemodule,gettingthecorrectsignaloutput.Finally,combiningprogram,conformingeverymoduleefficientlytomakeitwork.
Thedesignhassimplestructureeasyrealizationtoacertainextentintelligenttechnology.Thiscarcanbeusedasamodelofdevelopmentoftoy,tomakeupthedeficiencyoftechnicalcontentinthechinesetoymarket,torealizeeconomicprofitandtoformcommercialvalue.
Keywords:
Smartcar;AT89C51;Photoelectricsensor;L298N.
1绪论
1.1课题研究的背景
从工业革命开始,人们就开始了机器人的研究发展,近一个世纪机器人在机械领域,电力电子,冶金,交通,航空航天,国防事业等多方面得到了迅猛的发展。
智能化机器人的不断发展,使得人们的生活方式也得到了不断的改善。
人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想[1]。
目前,在不断改进生产技术,不断提高自动化技术的环境下,智能车的发展得到了空前的发展,且已在众多行业中得到广泛应用,智能车及相关产品的开发已日渐成熟。
而且,在世界经济多元化的环境下,很多国家都在积极开展研究和开发智能车。
在二十世纪高新技术不断发展的时代,移动机器人是成为机器人技术的一个重要分支。
从1966年开始,斯坦福研究院NilsNilssen和charlesRosen等人经过年的研究,终于开发出一种自主式的移动机器人,且完成了机器人系统的自主推理、规划和控制。
自此时以来,从无到有的移动机器人产生了,伴随着智能车数量的不断增加,移动机器人越来越受到人们的关注,且人类的生活水平也得到了一个提升。
智能小车国外研究现状:
世界各国在智能微型车领域进行了很多研究,己经应用多个领域,在探测和军事领域使用特别多。
近年来,我国也开展了很多研究工作,以满足不同用途的需要。
世界各国开发、研制星球探测车系统己经有了多年的历史。
美国和前联是从20世纪60年代末期开始进行月球表面探测任务的。
美国曾在1966-1968年间,向月球成功发射了两次无人巡游探测器。
1997年,由美国JPL(全称JetPropulsionLaboratory,美国太空总署喷气推进实验室)研制的Sojourner号探测车登上了火星。
它验证了小型火星车的性能,并完成了一系列技术试验。
2004年1月,美国的“勇气号”和“机遇号”火星探测车再度登陆火星。
前联在1959-1976年间,总共成功发射了两个月球探测车。
2014年7月24日,记者从XX证实,XX已启动无人驾驶汽车研发计划。
根据规划,该无人驾驶汽车可自动识别交通指示牌和行车信息,具备雷达、相机、全球卫星导航等电子设施,并安装同步传感器。
车主只要向导航系统输入目的地,汽车即可自动行驶,前往目的地。
在行驶过程中,汽车会通过传感设备上传路况信息,在大量数据基础上进行实时定位分析,从而判断行驶方向和速度。
XX方面证实,XX已经将视觉、听觉等识别技术应用在无人汽车系统研发中,负责该项目的是XX深度学习研究院。
2014年12月21日,谷歌宣布,其首款成型的无人驾驶原型车制造完毕,将会在2015年正式进行路测。
此次推出的原型车外型上并无太大差别,只是细节上有一些变动,车顶上用于检测路况的激光扫描系统更加精细,新车还装上了车灯。
这辆无人驾驶车将再次装上刹车踏板和油门,毕竟按照加州汽车管理局的规定,当自动驾驶汽车行驶在公共道路上时,必须有驾驶者在驾驶座上以便随时接过汽车的控制权。
单片机的应用领域越来越广泛,无论是在生活,生产上,单片机无处不在。
ATMEL公司的AT89S51单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
AT89S51可以说是单片机领域的主流产品,其应用如此广泛,所以有必要去学习和应用该单片机,以满足实际产品开发的需要,也是适应社会智能化、自动化的趋势。
一个拥有感知环境、规划决策、自动驾驶等功能的综合系统,构成了今天的智能车。
它集中地运用了计算机、传感、信息、通信、导航及自动控制等技术[2],是典型的高新技术综合体。
在原有车辆系统的基础上,智能车添加了一些高新智能技术设备,如
1)用于完成来自外部传感器所获取的道路信息的预处理、分析、识别等工作的计算机处理系统;
2)传感器,用来获得道路实时状况信息的智能车眼睛;
随着微电子技术的不断发展,单片机不但集成程度越来越高,已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、A/D转换器、D/A转换器等多种电路,而且体积越来越小,功耗越来越低,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统[3]。
这种技术促使机器人技术也有了突飞猛进的发展,目前的机器人技术发展异常迅速,已经出现了各种各式的用于各种用途的机器人了,机器人的设计与制造已经不是很高难度的事情了,已经具有普及性了。
通过构建智能小车系统,培养设计并实现自动控制系统的能力。
在实践的过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用算法实现小车的智能控制。
灵活的运用所学的相关学科的理论知识,结合实际电路设计的具体实现方法,达到理论和实际的统一。
在此过程中,加深对理论知识的理解和认识。
且该设计具有实际意义,可以应用于考古、机器人、娱乐等许多方面。
尤其是在玩具机器人研究方面具有很好的发展前景[4]。
1.2课题研究的意义
本设计与实际相结合,现实意义很强境感知、规划决策、自动行驶等功能于一体的综合系统——它集中地运用了计算机、传感、信息、通讯、导航、人工智能及自动控制等技术,是典型的高新技术综合体。
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
本设计就是在这样的背景下提出的,本题目是结合科研项目而确定的设计类课题。
本设计就采用了比较先进的C51为控制核心,C51采用CHOMS工艺,功耗很低。
该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。
尤其是在足球机器人研究方面具有很好的发展前景;在考古方面也应用到了超声波传感器进行检测。
所以本设计与实际相结合,现实意义很强。
智能小车国外研究现状:
世界各国在智能微型车领域进行了很多研究,己经应用于各个领域,在探测和军事领域使用特别多。
近年来,我国也开展了很多研究工作,以满足不同用途的需要。
世界各国开发、研制星球探测车系统己经有了多年的历史。
单片机的应用领域越来越广泛,无论是在生活,生产上,单片机无处不在。
ATMEL公司的AT89S51单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
AT89S51可以说是单片机领域的主流产品,其应用如此广泛,所以有必要去学习和应用该单片机,以满足实际产品开发的需要,也是适应社会智能化、自动化的趋势。
通过构建智能小车系统,培养设计并实现自动控制系统的能力。
在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。
灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。
在此过程中,加深对控制理论的理解和认识。
1.3课题研究的主要容
其实智能车,就是一个机器人,其可以分为三大结构:
传感器检测、机械执行、中央处理器。
智能车通过感知导引线和障碍物,可以实现自动循迹、避障等功能,且可以通过一套完整的控制策略,改善小车的行驶状况,达到更加稳定的状态。
要完成上述的功能设计,传感检测部分可以采用能够感知清晰的图像的摄像头,或者选用人们常用的红外传感器来感测路况。
而智能小车的机械部分,可以采用三轮车(前轮为万向轮),电机则只需使用直流电机即可。
对于主控芯片CPU,我们选择简单易用的51单片机芯片,通过配合软件编程,可以很好的实现自动寻迹、避障的功能。
主要容:
对智能循迹小车的现状、研究意义和设计要求进行简单阐述。
介绍了该智能循迹小车系设计方案比较和选择,分析了各模块的功能。
阐述了智能小车系统的硬件电路的设计,其中包括单片机最小系统模块电路、电机驱动模块电路、以及附带的信号提示电路等。
介绍了该系统程序调试过程中所用到的程序调试软件及其调试环境。
总结说明了本论的主要容,举出了在系统测试过程中所发现的问题。
2系统方案确定及主要元件的选择
2.1系统方案确定
本次设计的智能小车实现的基本功能如下:
v实时检测路径,并按照指定路线行驶;
v实时检测障碍物,并躲过继续行驶;
本设计以AT89C51为主控芯片,主要包括避障模块、电源模块、电机驱动模块等,系统框图如图2-1所示。
通过寻迹及避障传感器来采集周围环境信息来反馈给CPU,通过主控的处理,来控制电机的运转,从而实现寻迹与避障,达到智能行驶。
为了能够更好地完成本次设计任务,我们采用三轮车,其前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用,并通过软件程序控制,与硬件架构相结合,从而实线自动寻迹、避障的功能。
图2-1系统总体框
2.2主要模块的选择
2.2.1主控器
按照题目要求,控制器主要用于控制电机,通过相关传感器对路面的轨迹信息进行处理,并将处理信号传输给控制器,然后控制器做出相应的处理,实现电机的前进和后退,保证在允许围实线循迹避障。
方案一:
可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。
而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
方案二:
使用51单片机作为整个智能车系统的核心。
用其控制智能小车,既可以实现预期的性能指标,又能很好的操作改善小车的运行环境,且简单易上手。
对于我们的控制系统,核心主要在于如何实现小车的自动控制,对于这点,单片机就拥有很强的优势——控制简单、方便、快捷,单片机足以应对我们设计需求[5]。
51单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,且价格低廉。
综合考虑,本设计选择选用AT89C51单片机做控制器。
2.2.2供电单元
方案一:
采用单电源供电,通过单电源同时对单片机和直流电机进行供电,此方案的优点是,减少机身的重量,操作简单,其缺点是,这样会使单片机的波动变大,影响单片机的性能,稳定性比较弱。
方案二:
采用双电源供电,通过两个独立的电源分别对单片机和直流电机进行供电,此方案的优点是,减少波动,稳定性比较好,可以让小车更好的运作起。
方案三:
采用多节电池串联供电。
由于单片机工作电压在5V左右,小直流电压也是几伏电压即可驱动,可以用电池供电,让多节电池串联来保证系统正常工作。
不仅减少了机身重量,而且携带时分方便,无需任何的升压降压处理,操作简单。
综合考虑,本设计选择选用电池供电。
2.2.3驱动电机选择
方案一:
采用直流电机,优点在于硬件电路设计简单。
当外加额定直流电压时,转速几乎相等,调速性能较好,且性价比高。
对于小车的行驶,能够很好的控制。
方案二:
采用步进电机,步进电机可以实现精确的转角输出,只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动,便于控速,但是软件程序的编写较直流电机稍显复杂。
两种电机性能对比如表2-1
表2-1电机性能对比
对比项
直流电机
步进电机
调速性能
较好
较差
位置控制精度
较差
好
控制难易程度
简单
较难
价格
低
中
综合考虑,本智能车设计决定采用直流电机作为智能车的动力电机。
2.2.4电机驱动器
方案一:
如果电机的开启和关闭控制通过继电器的来控制的话,该方案的优点是电路较简单的[6],但响应速度很慢,且易损坏,使用寿命短,可靠性不是很高。
方案二:
采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。
但数字电阻元件比较昂贵,且电阻网络实现的调速很有限。
更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。
方案三:
采用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路(如图2-2)。
用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速,这是一种普遍使用的PWM技术。
该电路由于在饱和截止模式下工作,效率很高,保证速度和方向的简单控制。
H桥电路的调速特性好,且调速围宽,过载能力强,且能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转。
因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。
图2-2H型桥式电路
2.2.5传感器的选择
本设计外围传感部分采集包括两大部分:
寻迹部分,避障部分。
寻迹采用红外对管ST188,其采用高发射功率红外光电二极管和高灵敏度光电晶体组成,采用非接触式检测方式,且检测距离可调围较大。
避障采用集成模块E18-D50NK,声音传感器则采用由电压比较器LM393及驻极体话筒构成的声音传感器模块。
3系统硬件部分设计
3.1主控器AT89C51
AT89C51单片机拥有4KbiteROM(ReadOnlyMemory),且具有低电压、高性能8位微处理器的工作特性[7]。
单片机中的EEPROM存储器可以循环擦写100次。
该装置选用了Atmel的高密度非易失性存储器制造技术制造,兼容现代MCS-51工业标准的指令集和输出管脚。
TMEL公司的89C51是一种高效的微控制器,因其将8位CPU和FLASH存储器组合在一个芯片中,故其简单、方便、易使用。
89C2051单片机是它的一种精简版。
89C单片机制造成本低,且灵活度高,故被广泛应用于嵌入式控制系统中。
图3-1AT89C51单片机
AT89C51实物图和引脚图如图3-1,其主要特性如下表3-1:
表3-1AT89C51特性
AT89C51主要特性
1
兼容MCS-51的指令集和输出管脚
2
拥有4Kbite可编程可擦除只读存储器
3
可循环擦除/写入1000次
4
10年的数据保留时间
5
全静态工作频率0Hz-24MHz
6
三级程序存储器锁定
7
128×8位部RAM
8
32可编程I/O线
9
两个16位定时器/计数器
10
5个中断源
11
可编程串行通道
12
闲置和掉电模式-低功耗
13
拥有片振荡器和时钟电路
由于AT89C51单片机要能正常工作必须要有时钟和复位电路等构成单片的最小运行环境,为此本系统的最小控制电路如图3-2所示,实物图如图3-3所示:
图3-2单片机最小系统
图3-3实物图
3.2复位电路
在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。
MCS-5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST一直保持高电平,那么单片机就无限循环复位[8]。
复位模式基本包括上电自动复位和开关复位。
这两种复位方式如图3-4所示,在上电瞬间,电容两端电压不能突变,且电容负极和reset相连,此时电压全部加在电阻上,rest引脚电压为高电平,芯片复位。
随后,5V电源开始给电容充电,电阻上的电压逐渐降低至接近0V,芯片正常工作。
图3-4复位电路
在并联电容器两端的复位按钮,在复位按钮不压在电路上电复位芯片,在正常工作时,按下按钮,RST引脚的高水平,手动复位的效果。
复位按钮并联在电容的两端,当复位按钮未被按下的时候电路实现上电复位,在单片机正常工作后,通过复位按钮使RST引脚出现高电平,达到复位的效果。
通常,在RST引脚上输入10ms以上的高电平,就可以使单片机复位[9]。
图中所示的复位电阻和电容只是常用值,实际可以根据需要采用同一数量级的电阻和电容代替。
3.3时钟电路
时钟电路是用来产生AT89C51单片机工作时所必须的时钟信号,AT89C51本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89C51在唯一的时钟信号的控制下严格的按时序执行指令进行工作,时钟的频率影响单片机的速度和稳定性。
通常时钟由于两种形式:
部时钟和外部时钟[10]。
图3-5时钟电路
我们系统采用部时钟方式来为系统提供时钟信号,如图3-5所示。
AT89C51部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。
电路中的C1、C2的选择在30PF左右,但电容太小会影响振荡的频率、稳定性和快速性。
晶振频率为在1.2MHZ~12MHZ之间,频率越高单片机的速度就越快,但对存储器速度要求就高。
为了提高稳定性我们采用温度稳定性好的NPO电容,采用的晶振频率为12MHZ。
3.4寻迹模块
小车循迹,我们通常采用红外检测的方法,红外检测法是通过黑线和白色对红外线的吸收效果不同,当红外光线射到白色底板时,会发生漫反射反射到智能车的接受管上,而射到黑线则会被吸收不会产生发射,智能车红外接收管就接收不到。
故,整个智能车通过红外接收管是否接收到红外线来判断黑线和白线的[11],从而实现循迹。
但需要主要的是,红外传感器的检测距离有限,一般在3cm之。
红外光电传感器由1个红外发射管(发射器)和1个光电二极管(接收器)所构成,循迹示意图
如图3-6所示。
本次设计,红外光电传感器我们采用是的ST188,其是由发射功率红外光电二极管和高灵敏度光电晶体管构成,它使用的非接触式检测方式,且检测距离围较大,一般为4~13mm。
寻迹传感器红外光电对管ST188实物及部结构图如图3-7所示:
图3-6循迹示意图
图3-7ST188结构与实物图
3.5避障模块
本设计避障模块选用的是集成模块E18-D50NK,该传感器是一种红外光电管。
这是一种集发射