基于51单单片机的自动循迹小车毕业论文doc.docx
- 文档编号:26900881
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:41
- 大小:3.89MB
基于51单单片机的自动循迹小车毕业论文doc.docx
《基于51单单片机的自动循迹小车毕业论文doc.docx》由会员分享,可在线阅读,更多相关《基于51单单片机的自动循迹小车毕业论文doc.docx(41页珍藏版)》请在冰豆网上搜索。
基于51单单片机的自动循迹小车毕业论文doc
基于51单单片机的自动循迹小车毕业论文
1绪论
1.1研究背景
目前,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备,当生产现场环境恶劣时,人工不能完成的任务如物料运输和装卸等,可采用智能循迹小车完成相应的任务。
世界上许多国家都在积极进行智能车辆的研究和开发设计。
移动机器人是机器人学中的一个重要分支,出现于20世纪06年代。
当时斯坦福研究院(SRI)的NilsNilssen和charlesRosen等人,在1966年至1972年中研制出了取名shakey的自主式移动机器人,目的是将人工智能技术应用在复杂环境下,完成机器人系统的自主推理、规划和控制。
从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人的一个重要分支也得到越来越多的关注。
智能小车,以轮子作为移动机构、能够实现自主行驶的机器人,我们称之为智能小车,又称轮式机器人,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术,是典型的高新技术综合体。
在工业生产中,可以代替人类完成恶劣环境下的货物搬运、设备检测等任务;在军事上,可以在危险地带代替人类完成侦查、排雷等任务;在民用上,可以作为导盲车为盲人提供帮助;在科学研究方面,可以代替人类完成外星球勘探或者矿藏勘探等。
因此对智能小车的研究具有非常大的意义。
1.2自动循迹小车的国内外研究现状
国外智能小车始于上世纪50年代,它的发展历程大致可以分为以下三个阶段:
第一阶段:
1954年美国BarrettElectronic公司研究开发出了世界上第一台自主引导车系统,该系统只是一个运行在固定路线上的拖车式运货平台,但它却具有了智能车辆最基本的特征无人驾驶。
第二阶段:
从80年代中后期,在欧洲,普罗米修斯项目于1986年开始了在这个领域的探索,在美洲,美国于1995年成立了国家自动高速公路系统联盟,其目标之一就是研究发展智能车辆的可行性,并促进智能车辆技术进入实用化,在亚洲,日本于1996年成立了高速公路先进巡航/辅助驾驶演剧协会,主要目的是研制自动车辆导航的方法,促进日本智能车辆的整体进步。
进入80年代中期,设计和制造智能车辆的浪潮席卷了全世界,一大批世界著名的公司开始研制智能车辆平台。
第三阶段:
从90年代开始,智能车辆进入了深入、系统、大规模的研究阶段。
最为突出的是,美国卡内基-梅陇大学机器人研究所完成了Navlab系列的自主车的研究,取得了显著的成就。
相比于国外,我国开展智能车辆技术方面的研究开始于20世纪80年代,而且大多数研究尚处于针对某个单项技术研究的阶段。
虽然我国在智能车辆技术方面的研究总体上落后于发达国家,但是我国也取得了一系列的成果,主要有:
中国第一汽车集团公司和国防科技大学于2003年研制成功了我国第一辆自主驾驶轿车;上海交通大学应用现代控制理论设计出了一种自动驾驶汽车模型,该模型在汽车系统的动力学建模的基础之上,设计了自动驾驶的专项系统,它能根据弯道的弯曲变化程度实时的计算出车辆的转向盘角度,控制车辆按照预设道路行驶;清华大学计算机系智能技术与系统国家重点实验室自1988年开始研制的THMR系列移动机器人取得了很大的成功。
它兼有面向高速公路和一般道路的功能,目前已经能够在校园的非结构化道路环境下,进行道路跟踪和避障自主行驶;哈尔滨工业大学于1996年研制成功的导游机器人等。
1.3本课题设计的主要工作及结构安排
本设计的循迹小车具有自动循迹功能,另外扩展了避障和遥控功能,整体设计可以分为如下几个模块,控制核心采用STC89C52单片机,循迹避障是通过传感器实现的,利用RPR220型光电对管对轨迹信息进行检测,利用红外避障传感器检测道路上的障碍,用PT2272、PT2262组成无线遥控模块。
整个系统具有自动循迹避障和遥控避障等功能。
整个系统的电路结构较简单,可靠性能高,实验测试结果满足要求。
本论文分为以下几个方面进行阐述所设计的自动循迹小车系统:
第1章绪论。
主要概述自动循迹小车的研究背景和意义;
第2章系统总体方案设计。
主要叙述了自动循迹小车的基本原理和总体设计方案;
第3章系统硬件设计。
对系统的硬件电路进行分块设计;
第4章系统软件设计。
对系统的软件进行了设计与分析;
第5章系统扩展。
对系统的扩展电路进行了软硬件设计分析;
第6章系统调试。
主要概述了系统部分模块的调试方法。
2自动循迹小车系统方案设计
2.1自动循迹小车基本原理
循迹就是能够沿着给定的轨迹运行,一般给定的轨迹为在白色地面上黑色轨迹。
为了实现这一目的,就需要轨迹检测模块,这相当于小车的眼睛,需要将路面信息返回到大脑中,这大脑就需要有信息处理功能的微处理器来构成,处理的信息需要执行机构来执行,这就需要电机驱动模块,来实现小车的行走功能,而一个完整的系统,还需要有电源模块来提供能量。
简言之,系统的基本原理就是:
循迹模块将检测到的路面信息传送给微处理器来处理,然后将处理结果送到电机驱动模块执行,达到循迹的目的。
2.2总体方案设计
2.2.1系统总体方案的设计
根据论文的要求,系统设计方案如下:
本自动循迹小车以STC89C52单片机作为微控制器,采用RPR220型红外对管组成循迹模块,采用L298电机驱动芯片和两个直流减速电机构成电机驱动模块,以7805稳压管构成电源电路。
自动循迹小车系统结构框图如图2.1所示。
图2.1自动循迹小车系统结构框图
2.2.2方案选择与论证
(1)控制器的选择
方案一:
STC89C52单片机作为系统的控制器。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,stc系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试,并且价格便宜。
方案二:
采用FPGA作为系统的主控制器。
FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,IO口资源丰富,易于进行功能扩展,处理速度快,常用于大规模实时性要求较高的系统,但价格高,编程实现难度大。
本系统逻辑功能简单,仅仅需要接收传感器的信号和控制电机,对控制器的数据处理能力要求不高,从性价比方面考虑选择方案一。
(2)电源模块
方案一:
电脑USB串口供电。
能直接为单片机提供稳定的+5V直流电压。
USB串口线又容易得到。
但需要很长的线,这样导致无法在室外工作。
方案二:
用7.2V充电电池组作为小车供电电源。
经7805稳压后给单片机供电,而7.2V电压可直接接在L298驱动芯片上作为两个直流电机的驱动电压。
在不超过单片机工作电压范围的情况下,又能驱动直流电机。
这个电源结构简单,价格便宜,容易得到,而且能够重复使用。
方案三:
采用4节普通5号电池作为小车的供电电源。
刚买的5号电池测得电压为1.7V,4节就是6.8V,单片机需要5V电源,因此用7805稳压到5V后供电,但是其放电电流不大,导致电动机转速很慢,而且在使用过程中,其电压会明显降低,普通5号电池会降到1.4V以下,这样导致经过7805稳压后电压小于5V,完全无法带动整个系统正常工作,因此放弃该方案。
综上所述,选择方案二作为小车电源模块,经济实惠。
(3)电动机的选择
方案一:
采用直流电机。
直流电机转动力矩大,响应快速,体积小,重量轻,直流电动机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转,能满足各种不同的特殊运行要求,价格便宜。
方案二:
采用步进电机。
步进电机是一种将电脉冲信号转换成角位移或线位移的精密执行原件。
控制方便,体积小,灵活性和可靠性高,具有瞬时启动和急速停止的优越性,比较适合本系统控制精度高的特点。
但步进电机的抖动比较大,输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统,价格还比较昂贵,所以这里不采用此方案。
由于直流电机价格便宜、控制简单,因此本设计用方案一。
(4)电动机驱动模块的选择
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵,且可能存在干扰。
更主要的问题在于一般电动机的电阻比较小,但电流很大,分压不仅会降低效率,而且实现很困难。
方案二:
采用继电器对电动机的开与关进行控制,通过控制开关的切换速度实现对小车的速度进行调整。
这个电路的优点是电路较为简单,缺点是继电器的响应时间长,易损坏,寿命较短,可靠性不高。
方案三:
采用专用电机驱动芯片L298作为电机驱动芯片。
L298中有两套H桥电路,刚好可以控制两个电机。
它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。
L298的驱动功率较大,在6~46V的电压下,可以提供2A的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠。
基于以上的分析,建议电动机驱动电路选择方案三。
(5)循迹传感器的选择
方案一:
用光敏电阻组成光敏探测器。
光敏电阻的阻值可以跟随周围环境光线的变化而变化。
当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。
因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。
将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。
方案二:
用RPR220型光电对管。
RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。
RPR220其具有如下特点:
塑料透镜可以提高灵敏度。
内置可见光过滤器能减小离散光的影响。
体积小,结构紧凑。
当发光二极管发出的光反射回来时,三极管导通输出低电平。
此光电对管调理电路简单,工作性能稳定。
综上所述,循迹传感器选用RPR220光电对管,经济实惠,使用方便,精确度高。
3系统硬件设计
3.1自动循迹小车硬件设计
自动循迹小车的硬件电路主要由稳压电路模块、电机驱动模块、循迹模块、控制模块等组成,循迹小车硬件电路图如图3.1所示。
图3.1循迹小车硬件电路图
稳压模块将7.2V电压降到5V给单片机、循迹模块以及L298芯片供电,而7.2V电压则作为电机的驱动电压,时钟电路采用12Mhz晶振,提供单片机内各种微操作的时间基准,复位电路用于使单片机的片内电路初始化,循迹电路由4组RPR220型光电对管和LM393电压比较器构成,检测到黑线时输出高电平给单片机,在白线上时则输出低电平信号,单片机根据检测到这个信号相应的控制2个电动机正反转或加减速等等。
3.2单片机控制器模块设计
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和系统可编程Flash。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35Mhz,6T/12T可选。
为了使系统设计简单,本系统只需要复位电路和晶振电路就能满足控制要求,其中复位操作完成单片机片内电路的初始化,使单片机从一确定的状态开始运行,当单片机的复位引脚RST出现5ms以上高电平时单片机就完成了复位操作;时钟电路就是在引脚XTAL1和XTAL2外接晶体振荡器构成内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。
单片机模块如图3.2所示。
图3.2单片机模块
51单片机内部有P0、P1、P2、P3等4个8位双向I/0口,因此外设可直接连接于这几个口线上,而无需另加接口芯片。
P0~P3的每个端口可以按字节输入和输出,也可以按位进行输入输出,用于位控制十分方便。
P0:
P0口为三态双向口,能带8个TTL电路,对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻,需要外接上拉电阻。
P1:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
P2:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
STC89C52主要功能如表3.1所示。
表3.1STC89C52主要功能
主要功能特性
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
3.3稳压电路模块
稳压电路由L7805和电容组成,其特点如下:
最大输入电压可达35V,最大输出电流为1.5A,输出电压为5V,热过载保护,短路保护等。
由于其输出电压为5V,因此作为单片机的稳压电路芯片非常合适,而且价格便宜,其输出可直接给单片机供电。
输入用7.2V充电电池组,小车供电电池如图3.3所示,7805芯片如图3.4所示,稳压电路模块如图3.5所示。
图3.3小车供电电池
图3.47805芯片
图3.5稳压电路模块
X7805系列是三端正电源稳压电路,它的封装形式是T0-220。
他有一系列固定的电压输出,应用非常广泛。
每种类型由于内部电流的限制,以及过热保护盒安全工作的区的保护,使它基本上不会损坏。
如果能够提供足够的散热片,它能够提供大于1.5A的输出电流。
虽然是按照固定电压值来设计的,但接入适当的外部器件后,就能获得不同的电流和电压。
3.4电动机驱动模块
电机驱动选用双全桥电机专用驱动芯片L298,L298N是SGS-THOMSONMicroelectronics所出产的双全桥电机专用驱动芯片(DualFull-BridgeDriver),内部包含4信道逻辑驱动电路,可同时驱动2个直流减速电机,内含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的I/O端口来提供模拟时序信号,L298N电机驱动芯片如图3.6所示。
Pin1和Pin15电流侦测端,可用电阻连接来控制负载的电路,不用时接地;OUTl、OUT2和OUT3、OUT4之间分别接2个直流减速电机;input1~input4输入控制电位来控制电机的正反转;Enable则控制电机停转。
图3.6L298N电机驱动芯片
电机调速通常用的是PWM调速,即脉宽调制方式驱动,通过改变占空比来改变电动机转速。
具体控制方式如下:
input1~input4接单片机,控制电动机转向,若单片机一I/O口输出PWM信号到使能端EnableA,当EnableA为高电平时电动机则转动,若为低电平则不转动,通过调节PWM波的占空比可以改变EnableA的高低电平时间从而可以改变电动机的转速。
L298的逻辑功能如表3.2所示。
表3.2L298逻辑功能
IN1
IN2
ENA
电机状态
0
1
0
停止
0
1
1
逆时针转
1
0
0
停止
1
0
1
顺时针转
L298的驱动功率较大,在6~46V的电压下,可以提供2A的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠;为了保证L298正常工作,在OUTl、OUT2、OUT3、OUT4上都加上续流二极管。
电机驱动电路如图3.7所示。
图3.7电机驱动电路
3.5循迹电路设计
循迹小车在铺有约两厘米宽黑纸的路面行驶,路面可以近似看为白色,可以直接将绝缘胶布粘在白色地面上或白纸上作为小车循迹轨迹。
由于黑纸和白色路面对光线的反射系数不同,可以根据接收的反射光的强弱来判断道路——黑色轨迹。
本设计循迹传感器采用RPR220反射型光电对管,通过红外敏感端对不同颜色的感光能力的不同,可以很容易的辨别白纸上的黑色轨迹。
红外发射管发出的红外线照射到黑带时,光线被黑带吸收,红外接收管无法接受到红外线,不导通。
当红外发射管发出的光照射到地面时发生漫反射,光反射回来被红外接收管吸收,红外接收管导通。
RPR220型光电对管如图3.8所示,循迹检测电路如图3.9所示,本设计用4组该检测电路达到精确循迹的目的。
图3.8RPR220型光电对管
图3.9循迹检测电路
将该传感器4个一组放置在小车前方,传感器布局如图3.10所示,中间两个传感器之间的距离最好为轨迹宽度,左边第一个和第二个之间的距离可适当较近一些,具体位置可在测试中调整,这样放置的目的是能够很好的反应小车的循迹状态,例如当左边第一个在黑线上时,就表明小车偏离轨道太远需要进行粗调,应当向左大转弯了。
当传感器在黑线上时接收管不导通,LM393的3脚电压就为VCC,而2脚电压可以由电位器进行调节,只要电位器不是在最上端,则2脚电压就小于VCC,这样正向端的电压大于反向端电压,那么经过电压比较器比较后,输出高电平,当传感器在白线上时,红外接收管导通,则3脚可视为接地,则正向端电压小于反向段电压,那么经比较器比较后输出低电平。
图3.10传感器布局
这里循迹模块电压比较器选用的是LM393,LM393是由两个独立的、高精度电压比较器组成的集成电路,失调电压低,最大为2.0mV。
它专为获得宽电压范围、单电源供电而设计,也可以以双电源供电;而且无论电源电压大小,电源消耗的电流都很低。
它还有一个特性:
即使是单电源供电,比较器的共模输入电压范围接近地电平。
主要应用于限幅器、简单的模/数转换器、脉冲发生器、延时发生器、宽频压控振荡器、MOS时钟计时器、多频振荡器和高电平数字逻辑门电路。
393被设计成能直接连接TTL和CMOS;当用双电源供电时,它能兼容MOS逻辑电路——这是低功耗的393相较于标准比较器的独特优势。
4系统软件设计
4.1系统软件流程图
自动循迹小车系统程序要求对4个光电对管的信号进行检测,然后单片机根据检测到得信号做出相应的控制反应,从而控制电动机的转速和转向,达到自动循迹的目的。
具体程序流程图如图4.1所示。
图4.1程序流程图
4.2程序设计
4.2.1计时程序设计
为了更方便的控制小车速度,采用PWM调速方式,而该中断计时程序的作用是产生一个基准的时间,调用该程序让某一I/0口保持高电平,然后再调用一次将该I/0口取反就形成了PWM信号,从而控制电机的转速,非常方便,改变t的值来改变占空比。
voidtimer(unsignedintt)//中断计时
{
unsignedinti;
for(i=0;i { TMOD=0X10; TH0=0x3C; TL0=0xB0; TR1=1; while(! TF1); TR1=0; }} 4.2.2主程序设计 主程序的内容包括初始化程序,读取传感器信息,以及根据相应的电机控制程序等。 其中传感器信号可能逻辑状态如表4.1所示,根据这些状态结合实际轨迹情况对电机进行相应控制,不同的轨迹在相同状态下电机的控制也会不同。 例如小车偏左状态如图4.2所示,当小车处于这种状态时,小车向左转弯才能让黑线在小车正下方,这时应该控制左轮电机速度不变,右轮电机加速才能比较平稳的让小车恢复最佳循迹状态,当小车右边两个传感器都在黑线上时,表明小车需要转过90°弯,这时应该左轮电机正传,右轮电机反转才能平稳的沿着黑线转弯。 图4.2小车偏左状态 表4.1传感器信号可能逻辑状态 RPR3 RPR1 RPR2 RPR4 0 0 0 0 前进 0 0 0 1 左轮大转弯 向右转 0 0 1 0 左轮转弯 向右转 0 0 1 1 左转弯90° 0 1 0 0 右轮转弯 向左转 0 1 0 1 左转弯大于90° 向左转 0 1 1 0 前进 0 1 1 1 左轮转90° 向右转 1 0 0 0 右轮大转弯 向左转 基于上述传感器可能出现的逻辑状态循迹程序如下: main() {IN1=0,IN2=1,IN3=0,IN4=1; while (1) { if((RPR4==0&&RPR3==0&&RPR1==0&&RPR2==0)|(RPR1==1&&RPR2==1&&RPR3==1&&RPR4==1))//未 检测到黑线,小车继续前进 {IN1=0,IN2=1,IN3=0,IN4=1; PWM1=1;PWM2=1; timer(100);//2.2ms PWM1=0; PWM2=0; timer(400);//8.8ms } ………… if(RPR4==0&&RPR3==1&&RPR1==0&&RPR2==0)//左轮最外围检测到黑线左轮大转弯 {IN1=0,IN2=1,IN3=0,IN4=1; PWM1=1; PWM2=1; timer(50); PWM1=0; PWM2=1; timer(50); PWM1=0; PWM2=0; timer(400);}}} 5系统扩展 5.1避障功能扩展 利用红外避障传感器进行小车的避障扩展,红外避障传感器如图5.1所示,该传感器测量范围为3~80CM,可利用其背面的距离调节电位器来调节距离。 图5.1红外避障传感器 避障硬件电路如图5.2所示,避障原理是检测到障碍物则输出低电平,背面灯亮,未检测到障碍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 自动 小车 毕业论文 doc