基于MCS51的寻线机器人的设计与制作毕业设计正文.docx
《基于MCS51的寻线机器人的设计与制作毕业设计正文.docx》由会员分享,可在线阅读,更多相关《基于MCS51的寻线机器人的设计与制作毕业设计正文.docx(29页珍藏版)》请在冰豆网上搜索。
基于MCS51的寻线机器人的设计与制作毕业设计正文
基于MCS51的寻线机器人的设计与制作
学校:
武汉纺织大学
学生姓名:
XXXXXX
指导老师:
XXXX
摘要
寻线机器人由路线检测和电机驱动两部分组成。
其中路线检测部分本文根据红外光电传感器ST168利用红外线在不同颜色的物理表面具有不同的反射性质的特点,设计了传感器的检测与信号传输的接口电路,并完成了信号的处理程序,最终实现了整个机器对于线路的准确定位。
另外电机驱动部分本文根据L298N的步进电机驱动原理,本文设计了驱动模块的接口电路,并完成了对步进电机的驱动与转速的控制程序,最终实现了小车的转向控制要求。
本系统采用8位单片机AT89S52为核心控制器,利用5个红外光电传感器构成的光电传感器阵列采集路面信息,单片机获得传感器采集的路面信息,经过分析后控制步进电机的转动来控制智能车的走向,从而实现智能机器人沿给定的黑线快速平稳地行驶。
关键词:
光电传感器;智能;寻迹;路径识别
ABSTRACT
Thehuntingrobotiscomposedoftherouteexaminationandthemotor-driventwoparts.AndrouteexaminationpartialthisarticleaccordingtoST168usinginfraredsensorelectrcalindifferentcolorsofphysicalsurfacewithdifferentcharacteristicsofthereflectionproperties,thispaperdesignsasensordetectionandsignaltransmission,interfacecircuitandcompletedthesignalprocessingprogram,andfinallyrealizethewholemachineforaccuratepositioningoftheline.
Moreovermotor-drivenpartialthisarticleaccordingtoL298Nsteppingmotordriveprinciple,thispaperdesignsthedrivermodule,interfacecircuitandcompletedthesteppingmotordriverandspeedcontrolprocedures,finallyrealizesthecar'ssteeringcontrolrequirements.
Thesystememploys8bitsingle-chipmicrocomputerAT89S52asmaincontrollerandanarrayofphotoelectricsensorsforrecognizingthepathinformation.Single-chipMicrocomputerenergizestheservotosteerandcontrolthesteppingmotoraccordingtotheanalysisofthepathinformationfromsensors.Consequently,thisintelligentvehiclecantracktheblack-guide-lineautomaticallyandmoveforwardfollowingthelinequicklyandsmoothly.Theautonomoustracingprincipleofphotoelectricsensorispresented.Theeffectsofsensors’array,overallarrangement,andspaceontheautonomoustracearediscussed.
Keywords:
photoelectricsensor;intelligentvehicle;autonomoustracing;pathrecognition
1系统总体设计方案
1.1系统分析
智能机器人的总体工作模式为:
红外光电传感器采集道路信息经过74HC245进行放大处理输入到89S52控制核心,进行进一步处理;控制核心处理好信息后又控制两个步进电机的转向;机器人转向通过控制两个步进电机的转向来控制。
1.2系统设计结构图
按照预先的设计,我们设计了整个系统的结构图。
系统力求简单高效,在满足设计要求的情况下,使硬件结构最简单,减少因硬件而出现的问题。
如图1.1所示机器人系统结构图。
图1.1智能机器人系统结构图
根据以上系统法案设计,机器人包括四大模块:
AT89S52主控模块、传感器模块、电源模块、电机驱动模块、各模块的作用如下:
AT89S52主控模块,作为整个机器人的“大脑”,将采集光电传感器的信号,根据控制算法做出控制决策,驱动步进电机完成对智能机器人的控制。
传感器模块,是智能机器人的“眼睛”,可以通过一定的前瞻性,提前感知前方的赛道信息,为智能机器人的“大脑”
做出决策提供必要的依据和充足的反应时间。
电源模块,为整个系统提供合适而又稳定的电源。
电机驱动模块,驱动步进电机完成智能机器人转向控制。
1.3传感器设计方案
方案一:
使用CCD传感器来采集路面信息。
使用CCD传感器,可以获取大量的图像信息,可以全面完整的掌握路径信息,可以进行较远距离的预测和识别图像复杂的路面,而且抗干扰能力强。
但是对于本项目来说,使用CCD传感器也有其不足之处。
首先使用CCD传感器需要有大量图像处理的工作,需要进行大量数据的存储和计算。
因为是以实现机器人视觉为目的,实现起来工作量较大,相当繁琐。
方案二:
采用颜色传感器。
目前颜色传感器的应用越来越广泛,效果也可以。
但几百元的价格及相对复杂的处理电路,并且还需要光源,所以也不是一个很好的选择。
方案三:
使用光电传感器来采集路面信息。
使用红外传感器最大的优点就是结构简明,实现方便,成本低廉,免去了繁复的图像处理工作,反应灵敏,响应时间低,便于近距离路面情况的检测。
但红外传感器的缺点是,它所获取的信息是不完全的,只能对路面情况作简单的黑白判别,检测距离有限,而且容易受到诸多扰动的影响,抗干扰能力较差,背景光源,器件之间的差异,传感器高度位置的差异等都将对其造成干扰。
在本次设计中,赛道只有黑白两种颜色,机器人只要能区分黑白两色就可以采集到准确的路面信息。
经过综合考虑,在本项目中采用红外光电传感器作为信息采集元件。
如图1.2所示两种不同赛车。
图1.2光电传感器赛车与CCD传感器赛车
2机械系统设计与实现
为了使机器人能够更稳定的高速运行,在设计之初,就对这个机器人进行了系统的分析。
另外,我们在实际调试中发现,前轮如果用两个连轴轮的话对机器人的高速运行下的稳定性影响很大,所以选择了万向轮最好,本设计中是用万向滚珠代替万向轮同样的可以满足要求。
2.1本体机械建模
此次设计是智能机器人本体采用两块聚酯塑料板用螺丝连接而成。
机器人的机械结构只使用两块聚酯板及驱动部分。
控制采用后轮转向同时驱动方案。
具体模型数据如下:
总长:
200mm
总宽:
110mm
如图2.1所示
图2.1机器人机械图
2.2本体结构的连接
我们在实际调试中发现,要想把两块聚酯板牢固的连接在一起,同时还要保证电机也稳定的,我们选用两个长螺丝中间用以通孔连接,螺丝固定电机的同时用通孔连接也可以固定两板。
如图2.2所示:
图2.2本体连接结构(正视图、侧视图)
2.3本体中心的调整
机器人本体重心适当降低,在可以过坡道的情况下,尽量降低重心,使机器人在转弯时可以更加稳定、快速。
2.4前轮高度的调整
本设计中,我们选选择用万向滚珠来做为前轮,因为本机器人转向与驱动都是通过后轮来实现,这样就省去了要设计转向轮那部分。
在安装万向滚珠时要注意保证滚珠低端与后轮外圈在同一平面,这样降低机器人本体重心的同时也可保证机器人的顺利行驶。
2.5寻迹传感器布局
(1)分析:
寻迹传感器模块的设计是整个智能机器人设计中的最重要的一部分,其作用相当于人的眼睛和耳朵,采集外部路面的信息并将其送入MCS微控制器进行数据处理,其能否正常工作直接影响着机器人对路面的判断以及机器人下一步的行动,因而其布局的合理性与有效性对机器人稳定而又快速的行驶起着至关重要的作用。
我们认为在传感器的布局中,要解决两个问题:
信息检测的精确度和信息检测的前瞻性。
寻迹传感器的布局常见的有以下几种方案
方案一:
一字形布局
反射式光电传感器在机器人前方一字形简单排布。
在一字形中传感器的间隔有均匀布局和非均匀布局两种方式,均匀布局不利于弯道信息的准确采集,通常采取的是非均匀布局。
考虑到弧度信息采集的连贯性,非均匀布局的理论依据是等角度分布原则,即先确定一合适的定点,从定点依次等角度画射线,射线与传感器水平线相交的位置即为传感器的位置。
这种方案信息检测相对连贯,准确,使控制程序算法简单,机器人运行连贯,稳定。
方案二:
M形布局
传感器呈M形排布。
这种方案的优点在于拓宽了边沿传感器的检测范围,更适合于机器人快速行进中的弯道检测,但相对一字形布局来说,M形布局不利于信息检测的稳定,易于产生振荡,不利于机器人行驶的稳定。
在我们的方案选择中,我们采用的是上述第一种方案。
“一”字型排布方式在众多排布方式中效果显著,是最常用的一种排布方式。
一字型布局是传感器最常用的布局形式,即各个传感器都在一条直线上,从而保证纵向的一致性,使其控制策略主要集中在横向上。
此外,光电传感器应尽量靠近地面,以便减少外界光源对传感器的干扰。
传感器垂直高度一般以5~10mm为宜,离地面过远,光反射信号差,信号不强;离地面过近,会导致反射角度太大,加剧光漫射干扰的影响。
传感器布局如图2.3所示
图2.3传感器布局图
3硬件电路系统设计与实现
3.1MCS51最小系统
3.1.1AT89C52
特点:
●与MCS-51产品指令和引脚完全兼容
●8K字节可重擦写FLASH闪存
●1000次擦写周期
●全静态操作:
0Hz-24MHz
●三级加密程序存储器
●256X8字节内部RAM
●32个可编程I/O口线
●3个16位定时/计数器
●8个中断源
●可编程串行UART通道
●低功耗空闲和掉电模式
功能特性概述:
AT89C52提供以下标准功能:
8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
AT89C52的芯片管脚图如图3.1
图3.1AT89C52的芯片管脚图
引脚功能说明:
VCC——电源电压
GND——地
P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见下表。
FLASH编程和程序校验期间,P1接收低8位地址。
P1.0和P1.1的第二功能
引脚号
功能特性
P1.0
T2(定时/计数器2外部计数脉冲输入),时钟输出
P1.1
T2EX(定时/计数2捕获/重装载触发和方向控制)
P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
FLASH编程或校验时,P2亦接收高位地址和一些控制信号。
P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
3.1.2MCS最小系统
单片机最小系统,或者称为最小应用系统,是指用最少的原件组成的单片机可以工作的系统。
对51单片机来说,最小系统一般应包括:
单片机、晶振电路、复位电路、按键输入、显示输入等。
如图3.2所示晶振电路与复位电路
图3.2MCS51系统的晶振电路与复位电路
在本设计中,我们要用到最小系统中的晶振电路、复位电路等,另外还有用到P0、P1及P2中部分端口。
其中P0口低4位作为输出端口与步进电机1驱动模块连接,用于控制步进电机1的运动停止、正反转及转速;另P1口低4位同样作为输出端口与步进电机2驱动模块连接,用于控制步进电机2的运动停止、正反转及转速。
我们在处理P2口中用到其高5为端口,即P2.7-P2.3几个端口。
这几个端口的作用是接收经过74HC245功率放大后的传感器采集的路面信息,然后发出信号控制电机的转动时机器人沿着赛道平稳行进。
如图3.3所示本设计主控模块。
图3.3系统主控模块
3.2光电传感器模块
3.2.1光电传感器工作原理
光电传感器按检测方式通常分为对射式和反射式。
反射式光电传感器的光源有多种,常见的有红外发光二极管、普通发光二极管和激光二极管,前两种光源容易受到外界光源的干扰,而激光二极管发出的光的频率较集中,传感器只接收很窄的频率范围信号,不容易被干扰,但价格较贵。
红外反射式光电传感器工作时会受到多种不确定因素的影响,如反射表面的形状、颜色、光洁度,以及日光等,因此,为了提高系统的可靠性和准确性,通常是将发射信号经调制后送红外管发射,再由光敏管接收调制的红外信号。
接收的反射光强度经检测电路转换得到的输出信号电压Vout是反射面与传感器之间距离x的函数,当反射面物质为同种物质时,x与Vout的响应曲线是非线性的
如图3.4所示。
设定输出电压达到某一阈值时作为目标,不同的目标距离阈值电压是不同的。
图3.4输出信号与距离的关系曲线
当x一定时,接收的反射光强度还与反射面的特性有关。
在智能机器人系统中,红外发射管发射的红外线具有一定的方向性,当红外线照射到白色地面时会有较大的反射,如果距离x取值合适,红外接收管接收到反射回的红外线强度就较大;如果红外线照射到黑色标志线,黑色标志线会吸收大部分红外光,红外接收管接收到红外线强度就很弱。
这样,利用红外光电传感器检测智能机器人行驶道路上的黑色标志线,就可以实现智能机器人的自动寻迹。
红外光电传感器的输出可分为数字式与模拟式两种。
数字式红外传感器具有
与微处理器相对应的接口,硬件电路简单,但存在采集路径信息粗糙、丢失路径信息的缺点。
模拟式红外传感器输出的模拟信号,通过将多个模拟式红外传感器进行适当的组合形成光电传感器阵列,可以再现道路的准确信息,具有较高的可靠性与稳定性。
图3.5为沿车道黑色标志线分布的阵列光电传感器的输出。
实际工作时利用传感器对白色和黑色的反射率大小,把最大、最小值之间分为n个index区间,通过对各个传感器index值的组合来获得机器人本身相对路径标志线的位置,从而对位置和行驶方向都能做较精确的控制。
图3.5沿黑色标志线分布的阵列光电传感器输出
3.2.2红外传感器ST168
红外光电传感器ST168特点如下:
1.采用高发射功率红外光电二极管和
高灵敏度光电晶体管组成。
2.检测距离:
5—10mm。
3.采用非接触检测方式。
如图3.6ST168实物图:
图3.6ST168实物图
如图3.7所示ST168应用电路图。
图3.7ST168应用电路
R1限制发射二极管的电流,发射管的电流和发射功率成正比,但受其极限输入正向电流50mA的影响,用R1=500的电阻作为限流电阻,Vcc=5V作为电源电压,测试发现发射功率完全满足检测需要;电阻R2可限制接受电路的电流,一方面保护接收红外管;另一方面可调节检测电路的灵敏度。
3.3电机驱动模块
3.3.1电机驱动芯片L298N
恒压恒流桥式2A驱动芯片L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
如图3.8所示其引脚图。
图3.8L298N引脚图
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:
工作电压高,最高工作电压可达24V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;最大功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止期间工作又一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
如图3.9所示L298N驱动电机电路。
图3.9L298N控制的电机驱动电路图
3.3.2步进电机
步进电动机是将电脉冲信号转变为角位移或线位移的开环控制元件,是一种特殊的电动机。
由于不需要A/D转换就能够直接将数字脉冲信号变换,因此它被认为是理想的执行元件。
步进电机是一种数模转换型电--机械转换器[15]。
它是根据数字装置输入的脉冲序列进行工作的。
每输人一个脉冲,电机轴产生一个固定的角位移,称为步距。
电机的输出速度取决于输人脉冲的频率,即
(3-1)
式中
--输出角位移
--步距
--输人脉冲数
(3-2)
式中
--输人角速度
f--输人脉冲的频率
正因为输入是一个脉冲序列,因此,步进电机是一个能够直接与计算机连接的执行元件。
步进电机是按电磁铁原理来工作的。
现以简单的三相反应式步进电机为例说明其工作原理。
如图3.10所示,定子上均匀地分布着三对极A、B和C,每对极均有一对相互连接的绕组,称为一相。
转子是由导磁体组成,其上有三对绕组(三个相)根据输人的脉冲序列依次通电。
设第一个脉冲使A相绕组通电,转子上的极正对A极,如图3.10(a)所示,输入第二个脉冲以后,B相通电,其余各相断电,在电磁力的作用下,吸着转子转动一个步距∆Ө=60º,直至转子上的极正好对准B极为止,如图3.10(b)所示。
于是,若按A-C-B-A-C的顺序依次通电的话,那么,转子就会一步一步地逆时针转动。
图3.10步进电机工作原理
上述三相式供电方式,由于每次只有一个绕组通电,所以存在一个严重的缺点,即当转换时,某一相通电,另一相断电的瞬间,不能各相都处于断电状态,以致引起失步。
若采用六拍式的供电,即依次按A-AB-B-BC-C-CA的顺序供电,保证每次供电的瞬问都有一对极供电,就会克服失步的毛病。
由于三拍变为六拍,使步距由60º降到30º,减小了一倍。
同理,可导出步进电机的步距,即
图3.11六拍式供电方式
式(3-3)表明步距与定子的相数、转子的齿数成反比。
同时可以看出,六拍式比三拍式的步距小。
3.3.3步进电动机的主要静态指标
(1)相效:
是指产生不同对极N、S磁场的激磁线圈对效,常用m表示。
(2)拍效:
是指完成一个磁场周期性变化所需脉冲效或导电状态。
用N表示,或指电机转过一个齿距角所需脉冲数。
对三相步进电动机,有三相三拍运行方式,即A-B-C-B-C-A;三相六拍运行方式,即A-AB-B-BC-C-CA-A。
对四相步进电动机,有四相四拍运行方式,即AB-BC-CD-DA-AB。
(3)步距角:
是指对应一个脉冲信号,电机转子转过的角位移,用Ө表示。
Ө=360○/(转子齿数J·运行拍数N)。
以四相、转子齿为50齿的电机为例,四拍运行时步距角为
(1.8度,俗称整步),八拍运行时步距角为
(0.9度,俗称半步)
3.3.4