基于AT89S52单片机及PID算法实现循迹避障功能的智能小车毕业论文绝对精品Word文档格式.docx
《基于AT89S52单片机及PID算法实现循迹避障功能的智能小车毕业论文绝对精品Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于AT89S52单片机及PID算法实现循迹避障功能的智能小车毕业论文绝对精品Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
智能小车,也被称之为轮式机器人。
我们知道,机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。
机器人由于具有高度的灵活性、可以帮助人们提高生产率、改进产品质量和改善劳动条件等优点,在世界各地的生产生活领域得到了广泛的应用[5]。
智能小车正是模仿机器人的一种尝试。
它是一种以汽车电子为背景,涵盖控制,模式识别,电子、电气、单片机、机械等多学科的科技创新性设计,一般主要由路径识别、速度采集、角度控制以及车速控制等模块组成。
这种智能小车能够自动搜寻前进路线,还能爬坡;
感知前方的障碍物,并自动寻找前进方向,避开障碍物;
加入相关声光讯号后,更能体现出智能化和人性化的一面。
1.2研究目的和意义
随着人们物质文化生活水平的不断提高,智能化的电子玩具深受人们的喜爱,尤其是各种智能小车,由于这类玩具具有较好的交互性,可控性,能够给人们带来很好的娱乐以及参与其中的体验,高科技智能化的电子类玩具逐渐成为市场的主流。
与此同时,智能小车可以应用于考古、机器人、医疗器械等许多方面,尤其在足球机器人研究方面具有很好的发展前景。
因此,智能化小车的研究不仅具有很大的现实意义,还具有极为广阔的应用前景和市场价值。
1.3研究内容
本设计的智能电动小车具有自动寻迹、寻光、避障、速度检测功能,可程控行驶速度、准确定位停车。
整体设计可以分为如下几个模块,控制核心采用MCS-51系列中的AT89S52单片机,循迹避障是通过传感器实现的,利用超声波传感器检测道路上的障碍,控制小车的自动避障,从而发出避障信号。
整个系统具有自动寻迹、寻光和速度测试功能。
电机驱动采用常用的PWM方式进行电机的降压调速控制,小车的速度通过液晶屏来显示。
软件中主要用到工业中常用的PID控制算法。
整个系统的电路结构较简单,可靠性能高。
实验测试结果满足要求。
2系统总体方案设计与论证
2.1总体方案设计
根据题目的要求,确定如下方案:
在现有玩具电动车的基础上,加装反射式红外光电传感器、超声波传感器、速度检测传感器以及光敏二极管阵列,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。
本方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
系统整体方框图如图2-1所示。
图2-1系统总体设计框图
2.2方案选择论证
检测系统主要运用传感器作为外部敏感元件,进行外部信号的检测。
传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求[7]。
它是实现自动检测和自动控制的首要环节。
选择合适的传感器可以使设计简便,还可以简化硬件电路。
2.2.1循迹检测系统
循迹检测常用到传感器。
根据小车功能的要求有两种方案,一种是使用红外光电传感器,另一种是使用CCD传感器。
这两种方案都可以达到小车循迹要求,目前使用最为普遍的循迹检测方法是红外探测法。
两种方案的主要区别是使用的传感器不同。
具体区别见表2-1。
表2-1循迹检测方案对比
红外光电传感器
CCD传感器
受外界干扰程度
小
较小
实时性
好
差
对主控芯片要求
较低
较高
成本
高
从上表中可以很明显的看出,红外传感器相对于DDC传感器来说,在实时性和对主控芯片的要求方面都比CCD传感器要好。
基于这些优势以及处于成本的考虑,本设计采用小车底部,距地面高度合适,可以达到很好的检测效果。
2.2.2障碍物检测系统
根据题目功能的要求,小车在循迹行驶过程中要能准确的避开途中遇到的障碍物,因此对检测距离有一定要求。
又考虑到在测障过程中小车车速及避障反应堆小车速度的限制,小车应在距障碍物10CM的范围内做出反应,这样才能在顺利绕过障碍物的同时还为下一步驶入车库寻找到最佳的位置和方向。
否则,如果范围太大,则可能产生障碍物的判断失误;
范围过小又很容易造成车身撞上障碍物或虽绕过障碍物却无法实现理想定向方案。
障碍物检测可以有多种方法:
红外光检测、超声波检测、甚至机械接触。
这些方法都有各自的优缺点。
常用的有红外检测和超声波检测,两种方案的区别见表2-2。
表2-2障碍检测系统方案对比
红外检测
超声波检测
检测距离
4~10cm
0.10~4.00m
精确度
1cm
受外界环境干扰程度
易受外界环境干扰
不易受外界环境干扰
硬件电路
所需元器件少,尺寸小,安装简便
稍复杂,安装简便
8元左右
6元左右
从上表可以看出,相对红外检测,超声波检测距离远,不易受外界环境干扰,由于小车需要在行驶过程中检测障碍物,颠簸,光照方面可能会对检测产生影响。
所以需要选择稳定性较好的,故本设计选择超声波检测。
2.2.3光源检测系统
光源检测使用常见的光敏器件,光敏二极管。
光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;
入射光强,电阻减小,入射光弱,电阻增大。
光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
这里我们就可以利用光敏二极管对光源变换的敏感反映,检测外部光源。
当有光照射时,光敏二极管呈强电阻,经比较器输出一个高电平,反之则输出低电平。
我们可以再外接一个LED作为检测指示灯,则可以明显观察到这个变化。
即有光照时LED亮,无时则灭。
2.2.4速度检测系统
在电机测速中,考虑了两种方案:
一种是使用光电码盘,即透射式光电传感器(凹槽型,类似老式鼠标),另一种是霍尔传感器(适合较高速度)。
两种方案的主要区别如表2-3。
表2-3速度检测系统方案对比
霍尔传感器
关电码盘
抗干扰性
较强
强
较好
易用性
需和磁钢配对使用,较麻烦
较简单
由上表可以看出光电码盘在各方面都具有一定的优势,因此本设计采用关电码盘测速。
2.3电机驱动系统
直流电机和步进电机都可以用于小车驱动。
故有两种方案。
方案一:
使用直流电机,加上适当减速比的减速器。
直流电机具有良好的调速性能,控制起来也比较简单。
直流电机只要通上直流电源就可连续不断的转动,调节电压的大小就可以改变电机的速度。
直流电机的驱动电路实际上就是一个功率放大器。
常用的驱动方式是PWM方式,即脉冲宽度调制方式。
此方法性能较好,电路和控制都比较简单。
方案二:
使用步进电机。
步进电机具有良好的控制性能。
当给步进电机输入一个电脉冲信号时,步进电机的输出轴就转动一个角度,因此可以实现精确的位置控制。
与直流电机不同,要使步进电机连续的转动,需要连续不断的输入点脉冲信号,转速的大小由外加的脉冲频率决定。
去而且其转动不受电压波动和负载变化的影响,也不受温度、气压等环境因素的影响,仅与控制脉冲有关[8]。
但步进电机的驱动相对较复杂,要由控制器和功率放大器组成。
具体差别见下表2-4。
表2-4电机控制方式对比
直流电机
步进电机
调速性能
较差
位置控制精度
驱动
简单
复杂
稳定性
好,仅与控制脉冲有关
由上表可以看出步进电机和直流电机都有各自的优点。
步进电机能进行精确的位置控制,但驱动电路麻烦,鉴于本设计中小车的位置控制不要求十分精确,直流电机即可满足小车要求的精度。
且直流电机易于控制,驱动电路十分简单。
2.4单片机控制电路系统
此部分是整个小车运行的核心部分,起着控制小车所有运行状态的作用。
控制的方法有很多,大部分都采用单片机控制。
单片机要完成电机控制、循线控制、避障控制金属检测控制和光源检测控制等工作。
本设计中小车的主控采用我们最为熟悉的AT89S52单片机。
虽然这款单片机本身没有PWM模块,但若采用本身有PWM模块的单片机就会产生资源浪费。
我们可以通过软件编程产生PWM,既能充分利用可用资源,又不浪费。
且能很好的满足题目要求。
2.5显示模块
由于小车要显示速度和行驶距离,内容较多。
数码管使用简单,价格低廉,但一个数码管只能显示一个数字,要显示多位数据时要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗。
故不予考虑。
液晶显示电路简单,使用方便,一个液晶显示器就可以同时满足此处同时显示速度和距离的要求,且更加直观明了。
3硬件设计
3.1总体设计方案
智能小车采用后轮驱动,后轮左右两边各用一个电机驱动,调制两个后面两个轮子的转速从而达到控制转向的目的,前轮是万象轮,起支撑的作用。
将四个红外线光电传感器装在车体的底盘前端,小车根据传感器检测到的情况执行。
避障的原理和循迹一样,在车头装了一个传感器,传感器检测到障碍物时,小车减速,车体做出相应的反应。
小车速度的检测也是靠的红外线,只不过是器件的型号不同,速度检测的传感器用的是对射式,避障用的是直射式。
把码盘装在电机的轴上,码盘随电机一起转动,这里使用的是改进过的的码盘,把圆形硬纸片切制成直径为25mm的圆,再把圆周用锯条均匀切12条缝,缝的宽度约为1mm。
可以很好的满足小车所需的精度。
考虑到电机控制要使用PWM波形,而AT89S52单片机本身不能产生PWM,需要外加电路或使用软件的方式实现,为减少硬件电路,这里选用软件产生PWM方式。
整体原理电路图如图3-1所示。
图3-1整体原理电路图
3.2单片机控制电路
单片机是控制单元的核心。
起着控制小车所有运行状态的作用。
单片机控制模块使用的是ATMEL公司生产的AT89S52,使用该芯片很容易实现对其他模块的控制。
通过对单片机AT89S52写入程序,可以方便的用软件来控制整个过程.控制部分如图3-2所示。
图3-2单片机最小系统
AT89S52单片机最小系统包括了一路复位开关,用于小车复位。
P1.0输出PWM信号,P1.1~P1.5分别控制电机驱动。
其他P口用外接控制小车的各种控制开关,P0口外接10K的上拉电阻,可用于外接LCD1602。
AT89S52单片机介绍:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程[16]。
其引脚排列如图3-3所示。
图3-3AT89S52引脚排列图
1.主要性能
●与MCS-51单片机产品兼容;
●8K字节在系统可编程Flash存储器;
●1000次擦写周期;
●全静态操作:
0Hz~33Hz;
●三级加密程序存储器;
●32个可编程I/O口线;
●三个16位定时器/计数器;
●八个中断源;
●全双工UART串行通道;
●低功耗空闲和掉电模式;
●掉电后中断可唤醒;
●看门狗定时器;
●双数据指针;
●掉电标识符。
4个P口在一般情况下都是是一个8位双向I/O口。
不过P0口是漏极开路的8位双向I/O口,而其他P口都是具有内部上拉电阻的8作为输出口要外部上拉电阻。
且P1口部分引脚和P3口具有第二功能。
具体见表3-1和表3-2。
表3-1P1口引脚第二功能
引脚号
第二功能
P1.0T2
定时器/计数器T2的外部计数输入,时钟输出
P1.1T2EX
定时器/计数器T2的捕捉/重载触发信号和方向控制
P1.5MOSI
在系统编程用
P1.6MISO
P1.7SCK
表3-2P3口引脚第二功能
P3.0RXD
串行输入
P3.1TXD
串行输出
P3.2
INT0(外部中断0)
P3.3
P3.4
T0(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器写选通)
另外还有第九引脚RST为复位引脚。
地十八引脚和第十九引脚分别为振荡器反相放大器的输入端和输出端。
3.3电机驱动电路
3.3.1驱动电路
小车使用的是直流电机。
从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。
直流电机常用的PWM,及脉宽调制方式驱动。
本设计中电机驱动采用L298集成H桥芯片。
L298中有两套H桥电路,刚好可以控制两个电机。
它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。
另外,L298的驱动功率较大,在6~46V的电压下,可以提供2A的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠;
为了保证L298正常工作,我们另外安装了续流二极管。
电路如图3-4所示。
能根据输入电压的大小输出不同的电压和功率,解决了负载能力不够这个问题。
利用单片机调整出PWM脉冲和高低电平对直流电机进行驱动和控制。
图3-4电机驱动电路
L298集成H桥芯片。
其外形、管脚分布如图3-5所示。
图3-5L298管脚分布图
3.3.2PWM调速原理
脉冲宽度调制(PulseWidthModulation),简称PWM。
脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。
PWM的理论基础是:
冲量相等而形状不同的的窄脉冲加在具有惯性的环节上,其效果基本相同。
采用PWM进行电机的调速控制,实际是保持加在电机电机电枢上的脉冲电压频率不变,调节其脉冲宽度。
电机是一个惯性环节,它的电枢电流饿转速均不能突变,很高的频率的PWM加在电机上,效果相当于施加一个恒定电压的直流电。
如图3-6所示。
这个电压可以由脉冲的宽度调节。
图3-6PWM等效图示意图
使用PWM方式可以很容易的实现调速。
PWM信号由单片机软件产生,使用非常方便。
由于电路总体上并不复杂,驱动电路的控制输入端也可以不用经光耦合隔离,直接与单片机引脚相连。
前进时,驱动两个直流电机都正转,后退时,则两电机都反转。
左转时前进时,左电机不转而右电机正转,右转前进时,则右电机不转而左电机正转。
进入减速区时,由单片机控制进行PWM变频调速,通过软件改变脉冲调宽波形的占空比,实现调速。
所有这些都是通过软件编程实现控制。
3.4循迹检测电路
该智能小车在铺有约两厘米宽黑纸的路面行驶,路面可以近似看为白色。
由于黑纸和白色路面对光线的反射系数不同,可以根据接收的反射光的强弱来判断道路——黑纸轨迹。
本设计采用简单易用,应用也较为普遍的红外探测法。
红外探测法,即用红外线在不同颜色的物表面具有不同的反射性质的特点。
在小车行驶过程中不断地向地面发射红外光,当红外线遇到白色地面时发生漫反射,反射光被装在小车上的接收管接收;
如果遇到黑纸则红外光被吸收,小车上的接收管接收不到信号。
市面上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠的集成式红外探测头。
ST系列集成红外探测头价格便宜。
体积小。
简便易用,性能可靠。
所以本设计选择了ST178反射式红外线光电传感器作为红外光的发射和接受器件,其内部结构和外接电路均较为简单.
本系统采用反射式红外线光电传感器ST178进行轨迹检测(约3cm宽的黑线),反射式红外光电传感器ST178由一个高发射功率红外发光管和一个高度灵敏光晶体管封装在一个塑料外壳里组成,一般检测距离可达4~10cm,鉴于小车底部聚地面的距离不超过五厘米,故用红外光电传感器足以满足地面黑线的检测。
且安装电路简单。
检测电路如图3-7所示。
图3-7ST168检测电路
正确选择检测方法和传感器是决定循迹效果的重要因素,而正确的器件安装方法也是影响循迹电路好坏的一个重要因素。
从简单。
方便。
可靠等角度出发,设计装设四个红外传感器,及采用四套上面的电路。
具体位置分布如图3-8所示。
此套红外光电传感器固定在底盘前沿,贴近地面。
正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号;
电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号后送80C51单片机处理,判断执行哪一种预先编制的程序来控制玩具车的行驶状态。
图3-8循线传感器布局
3.5障碍物检测电路
本设计中小车采用超声波检测障碍物。
超声波检测的原理是:
超声波发生器T发出超声波信号,当这个信号遇到障碍物时反射回来,被接收器R收到。
为使小车能准确避障,设计在小车的车体前端左右两侧分别各装一个超声波传感器。
小车则可以根据接收到的信号做出相应的避障反应。
超声波发射和检测接收电路如图3-9,3-10所示。
图3-9超声波发射电路图3-10超声波接收电路
设计中还加了一个声光报警功能,当小车检测到障碍物时,小车的报警系统中的蜂鸣器鸣叫,同时指示LED发光。
直到小车避开障碍物,警报排除。
超声波传感器简介:
超声波是一种在弹性介质中的机械振荡,有两种形式:
横向振荡(横波)及纵向振荡(纵波)。
在工业中应用主要采用纵向振荡。
超声波可以在气体、液体及固体中传播,其传播速度不同。
另外,它也有折射和反射现象,并且在传播过程中有衰减。
在空气中传播超声波,其频率较低,,一般为几十KHZ,而在固体、液体中则频率可用得较高。
在空气中衰减较快,而在液体及固体中传播,衰减较小,传播较远。
利用超声波的特性,可做成各种超声传感器,配上不同的电路,制成各种超声测量仪器及装置,并在通迅,医疗家电等各方面得到广泛应用。
超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金(磁致伸缩)两类。
电致伸缩的材料有锆钛酸铅(PZT)等。
压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。
有的超声波传感器既作发送,也能作接收。
这里仅介绍小型超声波传感器,发送与接收略有差别,它适用于在空气中传播,工作频率一般为23-25KHZ及40-45KHZ。
这类传感器适用于测距、遥控、防盗等用途。
该种有T/R-40-60,T/R-40-12等(其中T表示发送,R表示接收,40表示频率为40KHZ,16及12