毕业论文 智能循迹避障小车学术参考.docx
《毕业论文 智能循迹避障小车学术参考.docx》由会员分享,可在线阅读,更多相关《毕业论文 智能循迹避障小车学术参考.docx(32页珍藏版)》请在冰点文库上搜索。
毕业论文智能循迹避障小车学术参考
毕业论文(设计)
论文题目:
自动寻迹、避障智能小车设计
学生姓名:
XXX
学号:
XXXX
所在院系:
电气信息工程学院
专业名称:
电子信息科学与技术
届次:
XXX
指导教师:
XXX
淮南师范学院本科毕业论文(设计)
诚信承诺书
1.本人郑重承诺:
所呈交的毕业论文(设计),题目《
》是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容;
2.毕业论文(设计)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已注释说明来源;
3.毕业论文(设计)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;
4.本人已被告知并清楚:
学院对毕业论文(设计)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业论文(设计)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果;
5.若在省教育厅、学院组织的毕业论文(设计)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学院按有关规定给予的处理,并承担相应责任。
学生(签名):
日期:
年月日
自动寻迹、避障智能小车设计
学生:
XX(指导教师:
XX)
(淮南师范学院电气信息工程学院)
摘要:
智能小车是移动式机器人的重要组成部分,本设计通过实时检测各个模块传感器的输入信号,利用红外对管检测黑线实现寻迹,通过光电传感器实现避障,采用存储空间较大的AT89C51作为主控制芯片,小车电机驱动采用L298N芯片,根据内置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,能较有效的控制其在碰上障碍物时能转弯角度及寻迹行驶。
且添加可声控模块,实现对小车的声音控制。
本设计结构简单,较容易实现,在一定程度上体现了智能化的科技。
关键词:
智能小车;AT89C51;光电传感器;L298N
DesignofsmartcarforAutomatictracking,obstacleavoidance
Student:
XXX(FacultyAdviser:
XXX)
(CollegeofelectricalandInformationEngineering,HuainanNormalUniversity)
Abstract:
Intelligentvehicleisanimportantpartofmobilerobot,thedesignofeachmodulethroughtheinputsignalreal-timedetectionsensor,thedetectionlinetorealizetracingbyusinginfrared,photoelectricsensortoachieveobstacleavoidance,uselargestoragespaceAT89C51asthemaincontrolchip,motorvehicledriverusingL298Nchip,respectively,tocontrolthecarabouttwoDCmotorwithbuilt-inprocedures,toachieveautomaticcaridentificationroute,canthehitobstaclescanturnangleandtracingrunningeffectivelycontrolled.Andaddsoundcontrolmodule,therealizationofthevoicecontrolcar.Thedesignhassimplestructure,easyrealization,toacertainextentintelligenttechnology.
Keywords:
Smartcar;AT89C51;Photoelectricsensor;L298N
1绪论
1.1课题研究的背景
从工业革命开始,人们就开始了机器人的研究发展,近一个世纪机器人在机械领域,电力电子,冶金,交通,航空航天,国防事业等多方面得到了迅猛的发展。
智能化机器人的不断发展,使得人们的生活方式也得到了不断的改善。
人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。
目前,在不断改进生产技术,不断提高自动化技术的环境下,智能车的发展得到了空前的发展,且已在众多行业中得到广泛应用,智能车及相关产品的开发已日渐成熟。
而且,在世界经济多元化的环境下,很多国家都在积极开展研究和开发智能车。
在二十世纪高新技术不断发展的时代,移动机器人是成为机器人技术的一个重要分支[1]。
从1966年开始,斯坦福研究院NilsNilssen和charlesRosen等人经过6年的研究,终于开发出一种自主式的移动机器人,且完成了机器人系统的自主推理、规划和控制。
自此时以来,从无到有的移动机器人产生了,伴随着智能车数量的不断增加,移动机器人越来越受到人们的关注,且人类的生活水平也得到了一个提升。
一个拥有感知环境、规划决策,自动驾驶等功能的综合系统,构成了今天的智能车。
它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术[2],是典型的高新技术综合体。
在原有车辆系统的基础上,智能车添加了一些高新智能技术设备,如
1)用于完成来自外部传感器所获取的道路信息的预处理、分析、识别等工作的计算机处理系统;
2)传感器,用来获得道路实时状况信息的智能车眼睛;
随着微电子技术的不断发展,单片机不但集成程度越来越高,已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、A/D转换器、D/A转换器等多种电路,而且体积越来越小,功耗越来越低,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统[3]。
这种技术促使机器人技术也有了突飞猛进的发展,目前的机器人技术发展异常迅速,已经出现了各种各式的用于各种用途的机器人了,机器人的设计与制造已经不是很高难度的事情了,已经具有普及性了。
通过构建智能小车系统,培养设计并实现自动控制系统的能力。
在实践的过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用算法实现小车的智能控制。
灵活的运用所学的相关学科的理论知识,结合实际电路设计的具体实现方法,达到理论和实际的统一。
在此过程中,加深对理论知识的理解和认识。
且该设计具有实际意义,可以应用于考古、机器人、娱乐等许多方面。
尤其是在玩具机器人研究方面具有很好的发展前景[4]。
所以本设计与实际相结合,现实意义很强境感知、规划决策、自动行驶等功能于一体的综合系统——它集中地运用了计算机、传感、信息、通讯、导航、人工智能及自动控制等技术,是典型的高新技术综合体。
1.2课题研究的主要内容
其实智能车,就是一个机器人,其可以分为三大结构:
传感器检测、机械执行、中央处理器。
智能车通过感知导引线和障碍物,可以实现自动循迹、避障等功能,且可以通过一套完整的控制策略,改善小车的行驶状况,达到更加稳定的状态。
要完成上述的功能设计,传感检测部分可以采用能够感知清晰的图像的摄像头,或者选用人们常用的红外传感器来感测路况。
而智能小车的机械部分,可以采用四轮车(带有舵机)、或者三轮车(前轮为万向轮),电机则只需使用直流电机即可。
对于主控芯片CPU,我们选择简单易用的51单片机或高级复杂额ARM等芯片,通过配合软件编程,可以很好的实现自动寻迹、避障的功能。
2系统方案确定及主要元件的选择
2.1系统方案确定
本次设计的智能小车实现的基本功能如下:
v实时检测路径,并按照指定路线行驶;
v实时检测障碍物,并躲过继续行驶;
v通过声音传感器,来对小车实现声控;
为此以AT89C51为主控芯片,主要包括避障模块、电源模块、声控模块、电机驱动模块等,系统框图如图2.3所示。
通过寻迹及避障传感器来采集周围环境信息来反馈给CPU,通过主控的处理,来控制电机的运转,从而实现寻迹与避障,达到智能行驶。
且本设计添加了声控效果,通过声音传感器来对小车发出指令,让其行驶与停止。
为了能够更好地完成本次设计任务,我们采用三轮车,其前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用,并通过软件程序控制,与硬件架构相结合,从而实线自动寻迹、避障的功能。
图2.1系统总体框
2.2主要元件的选择
2.2.1主控器
按照题目要求,控制器主要用于控制电机,通过相关传感器对路面的轨迹信息进行处理,并将处理信号传输给控制器,然后控制器做出相应的处理,实现电机的前进和后退,保证在允许范围内实线寻迹避障。
方案一:
可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。
而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
方案二:
使用51单片机作为整个智能车系统的核心。
用其控制智能小车,既可以实现预期的性能指标,又能很好的操作改善小车的运行环境,且简单易上手。
对于我们的控制系统,核心主要在于如何实现小车的自动控制,对于这点,单片机就拥有很强的优势——控制简单、方便、快捷,单片机足以应对我们设计需求[5]。
51单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,且价格低廉。
综合考虑,本设计选择选用AT89C51单片机做控制器。
2.2.2供电单元
方案一:
采用单电源供电,通过单电源同时对单片机和直流电机进行供电,此方案的优点是,减少机身的重量,操作简单,其缺点是,这样会使单片机的波动变大,影响单片机的性能,稳定性比较弱。
方案二:
采用双电源供电,通过两个独立的电源分别对单片机和直流电机进行供电,此方案的优点是,减少波动,稳定性比较好,可以让小车更好的运作起。
2.2.3驱动电机选择
方案一:
采用直流电机,优点在于硬件电路设计简单。
当外加额定直流电压时,转速几乎相等,调速性能较好,且性价比高。
对于小车的行驶,能够很好的控制。
方案二:
采用步进电机,步进电机可以实现精确的转角输出,只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动,便于控速,但是软件程序的编写较直流电机稍显复杂。
表2.1电机性能对比
对比项
直流电机
步进电机
调速性能
较好
较差
位置控制精度
较差
好
控制难易程度
简单
较难
价格
低
中
综合考虑,本智能车设计决定采用直流电机作为智能车的动力电机。
2.2.4电机驱动器
方案一:
如果电机的开启和关闭控制通过继电器的来控制的话,该方案的优点是电路较简单的[6],但响应速度很慢,且易损坏,使用寿命短,可靠性不是很高。
方案二:
采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。
但
数字电阻元件比较昂贵,且电阻网络实现的调速很有限。
更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。
方案三:
采用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路(如图2.2)。
用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速,这是一种普遍使用的PWM技术。
该电路由于在饱和截止模式下工作,效率很高,H桥电路保证速度和方向的简单控制。
图2.2H型桥式电路
H桥电路的调速特性好,且调速范围宽,过载能力强,且能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转。
因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。
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.2单片机最小系统
3.2复位电路
在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。
MCS-5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST一直保持高电平,那么单片机就无限循环复位[8]。
复位模式基本包括上电自动复位和开关复位。
这两种复位方式如图3.3所示,在上电瞬间,电容两端电压不能突变,且电容负极和reset相连,此时电压全部加在电阻上,rest引脚电压为高电平,芯片复位。
随后,5V电源开始给电容充电,电阻上的电压逐渐降低至接近0V,芯片正常工作。
图3.3复位电路图3.4晶振系统
在并联电容器两端的复位按钮,在复位按钮不压在电路上电复位芯片,在正常工作时,按下按钮,RST引脚的高水平,手动复位的效果。
复位按钮并联在电容的两端,当复位按钮未被按下的时候电路实现上电复位,在单片机正常工作后,通过复位按钮使RST引脚出现高电平,达到复位的效果。
通常,在RST引脚上输入10ms以上的高电平,就可以使单片机复位[9]。
图中所示的复位电阻和电容只是常用值,实际可以根据需要采用同一数量级的电阻和电容代替。
3.3时钟电路
时钟电路是用来产生AT89C51单片机工作时所必须的时钟信号,AT89C51本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89C51在唯一的时钟信号的控制下严格的按时序执行指令进行工作,时钟的频率影响单片机的速度和稳定性。
通常时钟由于两种形式:
内部时钟和外部时钟[10]。
我们系统采用内部时钟方式来为系统提供时钟信号,如图3.4所示。
AT89C51内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。
电路中的C1、C2的选择在30PF左右,但电容太小会影响振荡的频率、稳定性和快速性。
晶振频率为在1.2MHZ~12MHZ之间,频率越高单片机的速度就越快,但对存储器速度要求就高。
为了提高稳定性我们采用温度稳定性好的NPO电容,采用的晶振频率为12MHZ。
3.4寻迹模块
小车循迹,我们通常采用红外检测的方法,红外检测法是通过黑线和白色对红外线的吸收效果不同,当红外光线射到白色底板时,会发生漫反射反射到智能车的接受管上,
而射到黑线则会被吸收不会产生发射,智能车红外接收管就接收不到。
故,整个智能车通过红外接收管是否接收到红外线来判断黑线和白线的[11],从而实现循迹。
但需要主要的是,红外传感器的检测距离有限,一般在3cm之内。
红外光电传感器由1个红外发射管(发射器)和1个光电二极管(接收器)所构成。
本次设计,红外光电传感器我们采用是的ST188,其是由发射功率红外光电二极管和高灵敏度光电晶体管构成,它使用的非接触式检测方式,且检测距离范围较大,一般为4~13mm。
寻迹传感器红外光电对管ST188实物及内部结构图如下图所示:
图3.5ST188结构与实物图
3.5避障模块
本设计避障模块选用的是集成模块E18-D50NK,该传感器是一中红外光电管。
这是一种集发射与接收于一体的光电式传感器,其检测距离可以根据我们的需要进行调节。
此传感器探测距离远,抗干扰性强,且价格低廉,容易使用,已在机器人行业中得到广泛应用,是我们避障功能设计的最佳选择。
该传感器实物图如图3.6:
图3.6E18-D50NK传感器图3.7声音传感器
该传感器原理:
前方无障碍输出高电平
(1),有障碍输出口(黄色)电平会从高电平变成低电平(0),工作原理已经标在图上了。
背面图有一个电位器可以调节障碍的检测距离。
3.6声控模块
通过声音传感器(如图3.7)检测当前是否有语音命令,来控制小车的行驶与停止,从而达到声控的效果。
声音传感器的阈值,我们可以通过人工设置,来调节阈值的大小,从而降低外界的干扰,保证系统的正常检测。
3.7H桥电机驱动
图3.8中所示为一个典型的直流电机控制电路。
因其形状酷似H字母,故人们称其为“H桥驱动电路”。
H桥驱动电路,由4个三极管和一个电机构成[12]。
只有导通对角线上成对的三极管,才能使电机正常运转。
图3.8H桥驱动电路
根据不同三极管对的导通情况,电流的流向也不同,可能从左至右,也可能从右至左,由于流过电机的电流方向的不同,故电机的转向也会不同。
如图3.9所示,当Q1管和Q4管这对三极管导通时,电流则会由电源正极经Q1从左向右流过电机,最好经Q4回到电源负极。
如图中电流指向所示,此流向的电流则会驱动电机沿顺时针方向转动。
若Q2和Q3这条对角线上的三极管导通时[13],电流从右向左流过电机,此时则会驱动电机沿另一方向转动。
图3.9桥电路驱动电机顺时针转动图3.10H桥驱动电机逆时针转动
而L298N内部集成了H桥式驱动电路,从而我们采用L298N电路来驱动电机。
通过单片机给予L298N电路PWM信号来控制小车的速度,起停,保证小车的循迹、避障等功能,为整个小车的运行垫底基础。
其引脚图如3.11驱动原理图如图3.12。
图3.11L298N引脚图
图3.12电机驱动电路
3.8电源模块
本设计需要双5V电源为整个系统供电,电源模块以芯片LM7805为核心设计成输出+5V直流电压的稳压电源电路。
该电源模块是有电源变压器变压器、整流、滤波和稳压电路等四部分组成。
电源变压器将交流220V变为9V左右交流电压,然后通过整流桥将交流电变为脉动的直流电压。
由于此脉动直流电压还包含较大的纹波,必须通过滤波电路加以滤波,C13、C14分别为输入端和输出端滤波电容,并利用三端稳压集成芯片LM7805进行稳压[14],当输出电较大时,7805应配上散热板。
具体电路如下图所示:
图3.137805稳压电源
3.9系统的整体电路
通过以上各个单元模块电路设计,综合起来得到本次设计的系统整体电路图如下图所示。
图3.14整体电路图
4系统软件部分设计
4.1系统使用的软件简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)[15]。
它具有强大的EDA工具软件的仿真功能,且还具有仿真单片机及其他外围器件的功能。
目前,最好的仿真单片机及外围器件的工具就属Proteus。
在近几年,Proteus软件在国内得到广泛推广,受到来自各界人士的青睐。
Proteus具有以下优势:
v丰富的器件库:
27000种以上的元器件,可以很容易地创建新元件;
v搜索器件智能化:
通过模糊搜索,即可快速找到我们所需的器件;
v智能化的连线功能:
自动连线功能使连接导线简单、快速,大大节约绘图时间;
v支持总线结构:
使用总线器件、总线布线使电路设计简明明了;
v输出高质量的图纸:
通过个性化设置,生成印刷质量的BMP图,可以很容易地提供给Word,PowerPoint和其他文件所使用。
v完善的电路仿真功能、单片机协同仿真功能、实用的PCB设计平台;
它的元器件、连接线路等却和传统的单片机实验硬件高度对应[16]。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
4.2软件调试平台
KeilforC51是美国KeilSoftware公司出品的C语言软件开发系统[17]。
在功能上、结构性、可读性、可维护性上,相比与汇编,C语言都具有明显的优势,故易学易用,在国内外得到广泛使用。
。
Keil提供了一个完整的开发环境,其中包括C编译器、宏汇编器、链接器、库管理和一个功能强大的仿真调试器,通过一个集成开发环境(uVision)将这些部分组合在一起。
如果你用C语言编程,那么Keil将是你最好的选择,即使不用C语言而选用汇编语言编程编程,其易于使用的软件仿真环境以及强大的综合调试工具也会使你事半功倍。
C51开发中除必要的硬件外,同样离不开软件。
一般,我们通过机器汇编,把我们写的源程序变为C51可以执行的机器码。
此外还有一种较为繁琐的方法,那就是手工汇编。
伴随着C51开发技术的不断提升,现在已不再使用汇编语言来开发,而是开始使用高级语言来开发。
目前,针对最流行C51开发项目,研发出了Keilfor51软件平台和支持在线调试的串口烧写。
Keil编译步骤如下:
1)在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。
首先从菜但的“工程”中“新建工程...”,建立我们将要做的工程项目。
2)Keil环境要求我们为Test工程选择一个单片机型号;我们选择Atmel公司的89C51。
“确定”后工程项目就算建立了。
如图4.1所示:
图4.1KeilMCU选型
3)立了工程项目,肯定要实施这个工程,现在就为工程添加程序。
点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。
在这里你可以进行编辑、修改等操作。
4)根据题意,在文档中写入下列代码;最后编译调试,生产HEX文件,如图4.3。
5)通过51单片机的下载软件下载生成的HEX文件,就可以运行了。
图4.2HEX文件的生产
4.3系统程序流程设计
本智能小车通过实时检测各个模块传感器的输入信号,利用红外对管检测黑线实现寻迹,通过光电传感器实现避障,把所有采集到的信息送到主处理器,让小车做出正确的行驶路线。
小车的启动