单片机的足球机器人小车系统设计毕业论文.doc_第1页
单片机的足球机器人小车系统设计毕业论文.doc_第2页
单片机的足球机器人小车系统设计毕业论文.doc_第3页
单片机的足球机器人小车系统设计毕业论文.doc_第4页
单片机的足球机器人小车系统设计毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

焦作大学毕业设计 目录单片机的足球机器人小车系统设计毕业论文目录摘要1Abstract21 足球机器人的总体设计11.1引言11.2机器人的总体介绍11.3机器人移动方式的选择11.4机器人电路硬件选择21.5传感器元件及转换元件选择21.6机器人运行算法的构想32 动力驱动及硬件电路设计72.1 动力驱动部件与运动方式设计722机器人的车轮配置和操舵方式72.3 硬件电路设计82.3.1机器人系统结构82.3.2主控部分硬件电路392.3.3传感器部分硬件电路122.3.4电源供应部分162.4.1无线电线通讯接收系统213 足球机器人的软件设计233.1 A/D转换器的读写控制模块8233.2运动控制程序模块243.2.1程序原理243.2.2 运动控制模块243.3找球程序模块263.3.1编程思路263.3.2找球程序流程图263.3.3用C语言编写的程序代码273.4进攻程序模块283.4.1编程思路283.4.2 进攻程序模块流程图293.4.5 用C语言编写的程序代码303.5碰撞避让程序模块313.5.1碰撞避让程序的硬件实现313.5.2中断控制设置313.5.3碰撞系统模块程序323.6整体程序324 功能测试344.1功能测试344.1.1 找球功能模块测试344.1.2碰撞功能模块测试344.1.3 方向判断功能模块测试345 设计总结355.1 本设计的优点及创新之处355.2本设计可改进的方面35参考文献36附 录37致 谢432焦作大学毕业设计 1 足球机器人的总体设计1 足球机器人的总体设计1.1引言机器人竞赛是近年来国际上迅速开展起来的一种高科技对抗活动,足球机器人的硬件设计它涉及人工智能、智能控制、机器人、通讯、传感及机构等多个领域的前沿研究和技术融合。它集高技术、娱乐和比赛于一体,引起了社会的广泛关注和极大兴趣。目前,国际上推出了各种不同类型的机器人比赛,如机器人足球、机器人舞蹈、机器人相扑、机器人投篮等,其中尤以机器人足球比赛最为引人注目。 足球机器人小车系统作为整个系统的执行机构,其性能好坏对整个起着至关重要的作用。早期微型足球机器人采用分立元件控制1,这基本可以满足一般训练和比赛的要求,但也暴露很多的问题,例如运算速度太慢,可靠性低,经常出现故障等等,随着硬件水平的不断提高,越来越多的国内外更高性高的解决方案,如采用 DSP 的方式可以提高运算速度和控制精度,但是由于DSP 结构复杂,采用这种方式的同时也为电路的设计和后续的开发和扩展工作带来了很大的困难。因此本次设计采用集成度较高的8051 单片机为核心来设计电路,它集成度高、性能稳定、价格低、外围扩展电路丰富、开发周期短等特点。1.2机器人的总体介绍电气设计要求具有以下功能:无线数字接收、电动驱动 及调速、红外检测、障碍、智能协调控制等。采取了双层PCB板结构,各部件通过屏障电缆连接,金属框架结构。上层板是CPU板、A/D转换电路、放置电机驱动及接口电路、无线接电路等主要控制电路;中层板是驱动及检测板,放置电机驱动线路及红外检测线路;底层板是电源与电机板,放置两路电源,两套电机及减速系统,两个主动轮和两个从动轮用于保持小车的稳定运行以及场地灰度检测传感器,还有前端控球部件等。1.3机器人移动方式的选择机器人在地面上移动的方式通常有三种:车轮式、履带式和步行式。步行移动方式模仿人类或动物的行走机理,用腿脚走路,对环境适应性好,智能程度也相对较高。正因如此,步行移动方式在机构和控制上是最复杂的,技术上也还不成熟,不适于在要求灵活和可靠性高的比赛中。履带式实际是一种自己为自己铺路的轮式车辆。它是将环状循环轨道履带卷绕在若干滚轮外,使车轮不直接与地面接触。履带式的优点是着地面积比车轮式大,所以对地压强小;另外与路面黏着力强,能吸收较小的凸凹不平,适于松软不平的地面。因此,履带式广泛用在各类建筑机械及军用车辆上。车轮式移动是最常见的一种地面行进方式。车轮式移动的优点是:能高速稳定的移动,能量利用效率高,机构和控制简单,而且技术比较成熟。它的缺点是对路面要求较高,适于平整硬质路面。在机器人足球比赛中,场地为室内光滑平整地面,非常适合车轮运动,因此本设计选用车轮式运动方式。1.4机器人电路硬件选择根据规则所描述,要求机器人尺寸较为小巧,直径为22cm,并且不允许人工干设其操作,需要自动控制。因此选用单片机为核心的控制器件,小型直流电机作为动力驱动,可以达到比赛的要求。单片机价格低廉,体积小巧,一般为20引脚或40引脚封装,其中包括了中央处理器,数据存储器、程序存储器输入输出设备。对于需要灵活机动,精度要求不高,有可扩展性及程序可擦写和简单成熟的编程平台等要求,单片机不失为最合适的选择。电机选择方面,考虑到机器人本身自重不大,必且场地尺寸有限,可选用小型直流伺服电机,可用电枢电压作为速度控制信号,但必须加装减速箱以适应低转速和大扭矩的应用环境。1.5传感器元件及转换元件选择通过对比赛规则的解读可以发现,对于球和场地基板的设计是该项比赛中最具特色内容,它对机器人的核心设计传感器以及比赛的方式产生了决定性的影响。发出红外光的足球意味着机器人必须有红外传感器来对其进行检测。红外线波长介于可见光和无线电波之间,大约0.76nm1000nm,而光电传感器其所用到的波长选择在近红外区,即0.76nm1000nm。常用的红外线接收元件为光电二极管和光电三极管。它们可以将接收到的光变化转变的电流变化2。比赛的场地图纸为纵向的黑白灰度渐变,这意味着机器人对进攻方向作出正确判断必须要能读出场地的灰度变化信息。要实现这一功能,则要用到红外光电反射式传感器。该元件由红外发光管和接受管组成。发光管材料一般为砷化钾半导体,发光波长范围在0.761500 nm,小功率的管压降1.01.3v,平均工作电流2050mA,红外发管有指向角,光轴,波长,辉度等性能指标。红外接收管可用上述光电二极管或三极管。红外元件所接收的信号,根据情况的需要,要进行模拟-数字量的转换,因此需要A/D转换芯片,A/D转换的选择要根据所选用的单片机来确定。本文所选用的51系列单片机,为了提高数据处理速度和控制精度,本次设计采用并口技术。1.6机器人运行算法的构想对比赛过程的规则进行分析后发现,比赛的进行与真实的足球比赛的思维过程是一致的,机器人需要完成下述动作循环(如图1-1)。图1-1足球车机器人的算法Figure 1-1 soccer robot vehicles algorithm然而在这一过程中最关键的一步是把球攻进正确的球门,其难点在于找球的传感器与地面方向的传感器是相互独立的两套系统,怎样才能让机器人判断当前状态是找球过程还是在带球进攻过程。如果单独执行找球程序,让机器人跟随球的方向前进,很有可能把球撞入己方球门;如果单独执行方向判断程序,机器人则无法知道当前球的位置,有可能在没有控球的情况下冲向对方球门而造成无效的进攻。怎样解决找球程序和进攻方向判断程序的衔接,避免乌龙球和无效的进攻,这是算法设计要解决的重要问题。然而笔者查阅过一些相关资料,一直没有找令人满意的算法解决方案。由于机器人套件的外形限制,在外形上做一些改动以适应算法需要的想法无法实现。而本设计这是利用了外形可以自行设计的优势,通过加装了一个“持球探测臂”来解决算法上找球程序和进攻方向判断程序的衔接的问题。参考图如图1-2所示。图1-2 足球机器人模型 Figure 1-2 soccer robot model由图可知,当机器人寻找到球,并把球控制在控球板内时,持球探测臂上垂直向下的持球传感器将接收到红外信号并转换为电流变化。利用该信号作为是否持球的判断标志,单片机不断查询该标志位。若该标志位无信号反馈,则说明机器人没有控球,执行找球程序;若该标位有信号反馈,则说明已经控球,则执行进攻方向判断及带球进攻程序。简要流程如图1-3所示:图1-3 简要流程图Figure 1-3 brief flow chart用绘图软件做小车模型如图1-4所示: 图1-4 小车内部结构Figure 1-4 car internal structure各零部件的介绍如图1-5(a)、(b)、(c)所示:图a 图b图c图1-5 各零部件图Figure 1-5 various spare parts chart44焦作大学毕业设计 2 动力驱动及硬件电路设计2 动力驱动及硬件电路设计2.1 动力驱动部件与运动方式设计在各种机电一体化设备中动力驱动部件与运动方式,是系统中最终的执行机构,是最终的实现者对系统各方面的性能有几大的影响。一个好的,动力驱动部件,可以让整个系统可以平稳的运行,并且有高的灵敏性和反应速度。足球机器人也不例外,因此为机器人找一个好驱动方式,是必需的。22机器人的车轮配置和操舵方式常用的车轮配置有多种:二轮配置、三轮配置、四轮配置等几种二轮配置通常是在自行车等些简单的要求不高的机械中运用,显然不合适我们的足球机器人。三轮配置机器人车体配置结构虽然简单,但稳定性差,遇到冲撞容易倾倒,与三轮配置相比,四轮配置的稳定性更好,四轮轮典型配置有如下两种。图2-1 四轮典型配置一Figure 2-1 allocation of a typical four-wheel如图2-1组合为前后轮为万向脚轮,左右两轮为独立驱动轮,其自转中心于车体中心重合,适于在狭窄场地运行。其灵活性稳定性都比较好。其缺点是前后轮不能同时着地,加速前进时可能出现俯冲。图2-2 四轮典型配置二Figure 2-2 The four typical configuration图2-2的配置方式是常见的所谓汽车配置方式,车的稳定性较高。2个操舵轮需要同一个操舵机构协调转向,增加了操舵转向机构,同时为了减少后轮摩擦损耗,配备了差动齿轮装置,增加了机构复杂性。综合各种因素考虑,本设计采用图2-1所示的四轮配置方案2.3 硬件电路设计本章按照机器人系统结构模块,把本机器人分解为主控部分,传感器部分,AD转换部分,电源供电部分以及电机驱动部分。对每个部分的器件选用,主要功能以及各部分所组合成的总体系统作了分析介绍。2.3.1机器人系统结构按照现代机器人理论,机器人分为机械手,环境,任务和控制器4个相互作用的部分。其系统结构图如图2-3所示:图2-3 现代机器人的结构模型Figure 2-3 model of the structure of the modern robot在本设计中根据实际情况的需要,对以上模型进行了简化,得到如2-4所示的系统结构图:图2-4 足球机器人模型Figure 2-4 soccer robot model2.3.2主控部分硬件电路32.3.2.1主控部分硬件8051本设计选用了Intel公司生产的8051单片机作为控制器。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(ROM)8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM)8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。中断系统8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛结构原理,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即冯诺依曼结构原理。INTEL的MCS-51系列单片机采用的是哈佛结构的形式。图25 单片机封装图形Figure 2-5 SCM Packaging GraphicsMCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明4:(1)主电源引脚Vcc和Vss 88,G3eJ g8 j)5u Vcc(40脚):主电源接5V :xloO/l Vss(20脚):接地 oc |EYxP )Dz 7#8Ny (2)时钟电路引脚XTAL1 和XTAL2 ,(Jrz KAb h,iXTAL2(18脚):接外部晶体振荡器的一端。片内是一个振荡电路反相放大器的输出端。 er(j XTAL1(19脚):接外部晶体振荡器的另一端。片内是一个振荡电路反相放大器的输入端。 c?+T _NyoKZ (3)控制信号RST/Vpd、ALE/(/PROG) 、/ PSEN和 (/EA)/Vpp -X_,aZ=9& k|jU,Gz RST/Vpd(9脚):复位端。高电平有效,宽度在24个时钟周期宽度以上,使单片机复位。该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。 vJF)3hZ* vgK#rF ALE/(/PROG)(30脚):地址锁存信号端。访问片外存贮器时,ALE作低八位地址的锁存控制信号。平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。ALE端负载驱动能力为8个LSTTL门。该引脚有复用功能, 为片内程序存贮器编程(固化)的编程脉冲输入。 ),n.ldv 7dV*5 5 /PSEN(29脚):片外程序存贮器读选通信号端。负载能力为8LSTTL门。 .-V3iP %H*ANEu,!# (/EA)/Vpp(31脚):/EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。 /EA端接低电平时,CPU仅从片外程序存贮器取指令。该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。Q |0O;k (4)输入/输出引脚P0、P1、P2和P3口 PeC 6 Zx&q(|Ew P0.0P0.7(3932脚):访问片外存贮器时作为低八位地址线和八位数据线(复用)。负载能力为8个LSTTL门。 _;W2:y?Qo B P1.0P1.7(18脚): 8位准双向I/O口。负载能力为3个LSTTL门。 *t;dSi xA P2.0P2.7(2128脚):访问片外存贮器时作为高八位地址线。 FJ4pPb(|pcd | P3.0P3.7(1017脚):8位准双向I/O口。负载能力为3个LSTTL门。另外还有专门的第二功能。 ;V E: v CaE3qP3口的第二功能是P3.0(10脚): RXD(串行口输入端)P3.1(11脚): TXD(串行口输出端) #+;QeT7 P3.2(12脚): /INT0(外部中断0输入端) d32lVs 4 P3.3(13脚): /INT1(外部中断1输入端) YiCOlK P3.4(14脚): T0(定时器/计数器0外部输入端) qtrzai P3.5(15脚): T1(定时器/计数器1外部输入端) t-Qk4* P3.6(16脚): /WR(片外数据存贮器写选通信号输出端) 2u$lwL= P3.7(17脚): /RD(片外数据存贮器读选通信号输出端)8051的最小系统连接线路连接图如图2-6所示:图2-6 单片机最小系统Figure 2-6 SCM minimum system2.3.3传感器部分硬件电路(1)找球传感器根据比赛用球为红外发射装置,故采用的传感器为红外接收的传感器,根据车体前方的两个红外传感器接收红外光输出电压不同比较来判断球的方位指导车体前进方向。该红外接收器由一只光电三极管构成,其电路图如下:图2-6 找球电路原理图Figure 2-6 the ball circuit schematics当光电三极管接收到红外线信号时,其电阻减小,在管两端的电压分压减小,输出口电压上升,输入到AD转换芯片进行转换。(2)控球判传感器控球判断传感器也是一只红外三极管,安装在控球探测臂上,感光方向为正下方见前面的模型中其原理同上,因只需判断持球与否连个状态,所以不需要AD转换比较,输出量为数字量直接输入到单片机P1.3口进行判读。(3)进攻方向判断传感器场地贴有按进攻黑白灰度渐变的基板帖纸,由两个位于车底的灰度传感器进行判断,当左右两个传感器值相等时,认为正对球门。灰度传感器由反射式红外光电判读器组成,即一个红外发光管和红外三极管并排绑定构成,其电路图如图2-7所示:图2-7 判断进攻电路原理图Figure 2-7 schematic circuit judge attack当地面灰度变化时,对红外光的反射量随之变化,白色对红外光反射力强,输出电压高;黑色对红外光吸收力强,输出低电压。输入到AD转换芯片进行转换。(4)碰撞传感器当机器人与墙体发生碰撞时,装于持球检测臂上部的微动开关会被按下,导致一个中断脉冲,使机器人进入中断处理程序倒退,转向,避开障碍。由于碰撞开关安装高度大于球的直径,不会造成球碰到碰撞开关而造成误操作。电路和前的最小系统电路连在一起。碰撞传感器线路图见图15线路图,其中的电容C4电阻R3起到对碰撞信号稳定延迟的作用,使单片机能接收到一个可靠的中断信号。(5)A/D转换部分硬件电路7A/D数模变换是把输入的模拟信号转换成计算机可以识别的数字信号。从而来处理模拟信号。A/D转换器的类型最为常见的有二种:逐次逼近式A/D转换器和积分式A/D转换器。逐次逼近式A/D转换器的主要特点是转换速度快,此外,与同样分辨率的双积分式A/D转换器比较,它不需要高精度的运算放大器,成本比较低的特点。双积分分式A/D转换器具有精度、抗扰性好、价格便宜等优点,但是转换速度慢。考虑到这次设计中的模数转换更需要是速度的要求,我选择了逐次逼近式A/D转换器ADC0809芯片作为模数转换芯片。封装电路图形如图2-8:图2-8 AD0809封装模型Figure 2-8 AD0809 Packaging ModelAD0809内部主要是由8路模拟选择开关、8位A/D转换器三态输出锁存缓冲器构成。引脚名称与功能如下:IN0IN7:8路模拟量输入端。DB0DB7:8位数字量输出端。START:启动信号输入端。上升沿复位0809,下降沿启动A/D转换器。ALE:地址锁存控制信号。在信号前沿处把ADDA、ADDB、ADDC三条选择状态锁存在寄存器中,当该线为高电平时,地址才解锁,便可选择通道。START与ALE可连接在一起通过程序输入一个正脉冲启动A/D转换。EOC:转换结束标志输出端。当A/D转换结束,EOC由低变高,反相器反相后可作中断请求信号。OE: 输出允许控制信号。当OE=1时,打开三态门,数据线被解锁,把内部转换的数据送往总线上。CLK:时钟信号输入端。ADC0809要求外接时钟,其频率为10128MHz。V(+):正参考电压输入端,通常VREF(+) 接班人+5V电源。V(-):负参考电压输入端,VREF(-)接地(GND)。ADDA、ADDB、ADDC:8路模拟形状的三位地址选通输入线。选择对应的输入通进行A/D转换,对应关系见2-9。图2-9 A/D转换电路图Figure 2-9 A / D converter circuit2.3.4电源供应部分(1)稳压块选用本系统所有芯片都需要+5V的工作电压,而干电池足能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,想要得到稳定的+5V工作电压,则需要L7805稳压芯片。封装模型如图2-10所示5:图210 稳压芯片L7805Figure 2-10 regulator chip L7805(2)电源选择虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。单电池组:用一组电池同时给控制电路和驱动电机供电。可以使机器人的重量减轻,成本降低。双电池组:用两组电池分别给控制电路和驱动电机供电,可减少电机开关时的能量波动。考虑到机器人控制电路需要稳定可靠的电源,本次设计才用了双电池供电模式,四节AA1.5V碱性电池用于控制芯片供电,二节9V电池用于驱动电机供电。(3)电机的驱动与控制本次设计采用了H桥式电机驱动电路直流H桥功放电路是用于控制直流电机双向运动的基本电路,该电路使电机在单电源供电下可以双向运转。图1-11电路为用三极管构成的H桥集成功放电路基本形式。为使电机顺时针转,应接通三极管A和D,对电机而言,其电压右负左正;逆时针转时,应接通三极管B和C,对电机而言,其电压左负右正。通过改变不同的三极管导通状况,可改变电机两端电压,达到反转目的。图2-11 三极管构成的H桥集成功放电路Figure 2-11 triode constitute the H-bridge integrated amplifier circuitL298双通道直流电机驱动芯片L298N是Description ST公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传号。L298可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,同时也是PWM脉冲是输入脚,控制电机的停转。 L298驱动芯片是性能优越的小型直流电机驱动芯片之一。它可被用来驱动两个直流电机或者是双极性步进电机。在646V的电压下,可以提供2A的额定电流。L298还有过热自动关断功能,并有反馈电流检测功能。为保证L298正常工作,本次设计加装二极管反馈电路,如图2-12所示:图2-12 L298封装模型Figure 2-12 L298 model packageL298驱动双电机的电路连接图如图2-13:图2-13 L298驱动双电机的电路连接图Figure 2-13 L298 motor-driven double-connection of the circuit电机控制逻辑见表2-1:Vss=5V芯片电源电压,Vs=18V电机动力电压表2-1 电机控制逻辑Table 2-1 motor control logicIN1IN2IN3IN4M1M21010正反0101反反1001正反0000急停急停电机调速方面采用PWM脉冲调速6脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。与此类似,从电池吸收的电流也不限定在一组可能的取值范围之内。模拟信号与数字信号的区别在于后者的取值通常只能属于预先确定的可能取值集合之内,例如在0V, 5V这一集合中取值。 模拟电压和电流可直接用来进行控制,如对汽车收音机的音量进行控制。在简单的模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或减少,从而改变了驱动扬声器的电流值,使音量相应变大或变小。与收音机一样,模拟电路的输出与输入成线性比例。 通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗。此外,许多微控制器和DSP已经在芯片上包含了PWM控制器,这使数字控制的实现变得更加容易了。 简而言之,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。 下面几副图显示了三种不同的PWM信号。图2-15(a)是一个占空比为10%的PWM输出,即在信号周期中,10的时间通,其余90的时间断。图(b)和图(c)显示的分别是占空比为50%和90%的PWM输出。这三种PWM输出编码的分别是强度为满度值的10%、50%和90%的三种不同模拟信号值。例如,假设供电电源为9V,占空比为10%,则对应的是一个幅度为0.9V的模拟信号。 图a图b图c图2-15 三种不同的PWM信号Figure 2-15 three different PWM signal图2-16是一个可以使用PWM进行驱动的简单电路。图中使用9V电池来给一个白炽灯泡供电。如果将连接电池和灯泡的开关闭合50ms,灯泡在这段时间中将得到9V供电。如果在下一个50ms中将开关断开,灯泡得到的供电将为0V。如果在1秒钟内将此过程重复10次,灯泡将会点亮并象连接到了一个4.5V电池(9V的50%)上一样。这种情况下,占空比为50%,调制频率为10Hz。图2-16 用PWM进行驱动的简单电路Figure 2-16 PWM to drive with a simple circuit大多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz。设想一下如果灯泡先接通5秒再断开5秒,然后再接通、再断开。占空比仍然是50%,但灯泡在头5秒钟内将点亮,在下一个5秒钟内将熄灭。要让灯泡取得4.5V电压的供电效果,通断循环周期与负载对开关状态变化的响应时间相比必须足够短。要想取得调光灯(但保持点亮)的效果,必须提高调制频率。在其他PWM应用场合也有同样的要求。通常调制频率为1kHz到200kHz之间。 在电机控制电机PWM系统在很多方面有较大的优越性:(1)主电路线路简单,需用的功率器件少。(2)开关频率高,电流容易连续,谐波少,电机损耗及发热都较小。(3)低速性能好,稳速精度高,调速范围宽,可达1:10000左右。(4)若与快速响应的电动机配合,则系统频带宽,动态响应快,动态抗扰能力强。(5)功率开关器件工作在开关状态,导通损耗小,当开关频率适当时,开关损耗也不大,因而装置效率较高。(6)直流电源采用不控整流时,电网功率因数比相控整流器高。(7)当输入信号为零时,伺服电机处于微振状态,克服了静摩擦力的影响,有利于改善伺服系统低速运行时的平性。由于有上述优点,直流PWM调速系统的应用日益广泛,本次设计采用了用软件来产生PWM脉冲来实现电机调速。PWM脉冲由单片机的P1.4输出送往L298的6脚和11脚,来实现对电机的控制。2.4.1无线电线通讯接收系统本次设计采用了BIM-418(433)-F无线收发模块。它是英国Radiome-trix公司的一款低功耗超高频数据收发模块,载波频率分别为418 MHz和433 MHz,具有通信速率高、性能可靠、体积小的优点,只接少许外围电路即可工作,使用非常方便,既可发送又可接收。无线收发模块与微处理器8051的接线见图2。模块15脚(发射允许端)接为高电平,禁止发射功能,16脚(接收允许端)接为低电平,使能接收功能。模块12脚RXD端为接收到的数据信息,11脚为载波测试端,该端为低时12脚的数据有效。主要特性为:微型PCB(印制电路板)叠层结构;工作在业余无线电波波段;可双向传送;单向传输速率可达到40 kbit/s;室内有效范围为20 m,空旷处有效范围为100 m;工作电压范围4.5 V5.5 V,工作电流小于15 mA;可与CMOS逻辑和TTL逻辑兼容。在机器人足球比赛过程中,机器人的无线通信协议采用广播式通信方式。上位机通过无线通信设备,每隔20 ms30 ms发出一帧数据(规划场上所有机器人运动的控制命令),每个机器人全部接收,然后机器人根据自己的地址编号(机器人ID编码),从数据串中确定出发给自己的命令。每个机器人ID编码通过机器人车载控制板上的拨码开关来设定。接线电路见图2-17。采用成熟的商业化的无线通信模块BIM-418(433)-F,对于缩短开发周期、确保通信系统的高度可靠性具有重要意义。开发出的系统具有结构简单、无调整器件、抗干扰性好、运行稳定等优点,已经成功应用于参加的机器人足球比赛实践中。图2-17 无线电线通讯接口图Figure 2-17 radio-communications interface map这样整个机器人的驱动和硬件电路系统就基本上是完成了。焦作大学毕业设计 3 足球机器人的软件设计3 足球机器人的软件设计在完成了硬件的设计之后,需要进行相应的软件设计,对机器人的控制的思想,是直接通过软件程序表达的。因此,软件设计是整个设计过程中最重要的部分之一,直接关系到机器人在赛场上的表现。本章先对程序运行的重要环节AD转换器的读写控制进行了说明,再针对各个功能模块设计了相关软件,各模块间相互独立,可用于测试各个部件的运行状况。最后合成一个具有完整性能和多判断的比赛应用程序。3.1 A/D转换器的读写控制模块8A/D转换的过程首先向P0和P2端口输入AD0809的通道0地址,此时ALE地址锁存在信号将,地址锁存,单片机读写端,,OE有高电平打开三态门,同时,STRAT和ALT接在一起,程序输入一个正脉冲启动A/D转换,把内部转换的数据送往总路线,当EOC由低变高时数据转换结换结束。用C语言实现的代码如下9:#include #include #define IN0 XBYTE0xFEF8 /* 0通道的绝对地址*/#define IN1 XBYTE0xFEFA /*2通道的绝对地址*void abc0809_1(uchar idata *x); /*找球传感器的值*/void abc0809_2(uchar idata *x); /*灰度传感器的值*/void main (void) uchar idata ab2; /*存放找球传感器的数值*/ uchar idata ac2; /*存放灰度传感器的数值*/ uchar idata ad2; /*存放最原始灰度传感器的值*/ abc0809_2(ad); /*提取灰度传器最原始的值*/ abc0809_1(ab); /*取找球传感器的数值*/void abc0809_1(uchar data *x) /*提取找球传感器值的函数*/ uchar i ; uchar idata *ad_dr; ad_dr=&IN0; for(i=0;j2;i+) do*ad_dr=i xi=*ad_dr; while(P15=0);void abc0809_2(uchar data *x) /*提取灰度传感器值的函数*/ uchar i ; uchar idata *ad_dr; ad_dr=&IN1; for(i=0;j2;i+) do*ad_dr=i xi=*ad_dr; while(P15=0);3.2运动控制程序模块3.2.1程序原理机器人在实际运用中,需要作出的动作有:前进、后退、左转和右转,其中,左右转可以根据需要分别有以车身中心为圆心转动和以车轮为圆心转动。其工作原理为,通过8051的P1口向电机驱动芯片L298传送4位的控制信号控制左右两个电机的正转反转,同时在单片机一个引脚输出PWM波型来调节电机转速完成动作。其中,两个轮子反向转动时,可实现以车身中心为圆心转弯,当一个轮转动时,可实现以车轮为圆心转弯。3.2.2 运动控制模块在驱动电路的逻辑表可得正反转电机,通过二个电机的相互配合就可以使机器人在赛场中灵活的运动。(1)直行程序void line(void) /*用于进攻*/ p11=1; /* 由电机旋转逻辑表得*/ p12=0; p13=1; p14=0;pwm1(); /*长距离运动*/(2)轮心左转void left(void) /*用于找球*/ p11=1; /* 由电机旋转逻辑表得*/ p12=0; p13=0; p14=0; pwm2(); /*短距离运动*/(3)轮心右转void right(void) /*用于找球*/ p11=0; /* 由电机旋转逻辑表得*/ p12=0; p13=0; p14=1; pwm2(); /*短距离运动*/(4)旋转程序void xuanzhuang(void) /*用于找球*/ p11=1; /* 由电机旋转逻辑表得*/ p12=0; p13=0; p14=1;pwm2(); /*短距离运动*/(5)后退程序void houtui(void) /*用碰撞时用*/ p11=0; /* 由电机旋转逻辑表得*/ p12=1; p13=0; p14=1; pwm2(); /*短距离运动*/ p11=1; p12=0; p13=0; p14=1; pwm2(); /*当后退后在旋转调头*/3.3找球程序模块3.3.1编程思路找球的过程是通过对左右两个红外传感器的电压数字量比较实现的。当球在左前方时,左红外传感器接收光量大于右红外,电压数字量也大于右红外,这时控制机器人向左转。右转情况相同。当球在正前方时,左右传感器电压数字量相等,此时控制机器人直行。当球在背后时,两个红外传感器没有光接收,此时以车身中心为圆心进行转动,直到搜索到球为止。找球程序有以下几点值得注意。(1)找球目的在于尽快地接近球,于是当球不在正前方时,每次调整方向后,调入一段短距离直行程序,在修正方向的同时,不断地向球靠近;当球在正前方时,调入一段长距离执行程序,缩短找球时间。(2)由于AD转换以及传感器的误差的存在,即使球完全正对机器人,也不可能得到两个完全相等的电压数字量,于是在比较时应设一个阈值,当左右差值小于阈值时,认为正对足球,调用长直行;当差值大于阈值时,再进行左右大小判断,调用转弯程序。(3)当进行阈值判断时,差值有可能得到负数,在此情况下应求其相反数。(4)当球不在红外传感器可视范围,即传感器接收到的红外信号为零时,由于周围环境的影响和暗电流的存在,其输出电压不可能为零,而是约0.3 V左右。3.3.2找球程序流程图图3-1 找球程序流程图Figure 3-1 flow chart to find the ball3.3.3用C语言编写的程序代码void find(void) /*找球子程序*/ uchar a,b; abc0809_1(ab); /*提取找球传感器的值*/ a=ad0-ad1; /*判断传感器的值*/ b=abs(a); if(ab0=0|ab1=0) xuanzhuang(); /*调用原地旋程序*/ elseif(bab1) life(); /*左转*/else right(); 3.4进攻程序模块3.4.1编程思路进攻方向的判断是根据对面灰度的增减比较来进行的。在接近白色的区域,对红外光的反射量大,光电判读器即灰度传感器的输出电压高,在接近黑色区域,输出电压则低。在此,默认从白到黑为进攻方向进行编程。当机器人找到球并持球时,程序进入进攻模块。该模块大致分为两个步骤,首先判断前进的方向是否是进攻的方向,之后,再判断前进的方向是否平行于边线正对球门。在进攻程序之前的找球程序模块中,多次用到读取AD转换结果的程序READ,在该程序中,每执行一次,将读进2个传感器的转换结果,其中左灰度和右灰度的转换结果存放在数组ac2两个地址单元里。在判断正确前进方向时,里存放着前一次的转换结果,先把它们转移到数组ac2中,在于ad2中的原始灰度转换结果,分别与当前的结果进行比较,只要其中有一个值增大,就认定为前进方向错误,这时调用以车身中心为圆心的原地转动程序,当转过约180度后,读取当前灰度值保存,再调用一段短距离直行程序,再次比较灰度值变化趋势,直到左右两个灰度值都为减小,这时,机器人前进方向为正确进攻方向。在大方向调正之后,许要调整机器人的前进角度,即使前进方向平行于边线,正对球门。这个动作左右两个灰度传感器转换结果之间的比较完成。先读取当前灰度值,左右两个结果进行比较,如果左灰度大于右灰度,说明前进方向偏左,调用原地转动程序向右偏转,调整后,再次读取,比较,直到左右相等为止,这时方向正对球门,调用长距离直行程序,开始进攻,把球攻入球门。在两个灰度值大小比较时,与红外传感器有类似的问题需要注意:相减时出现负数时需要调整为相反数;判断相等时有传感器误差存在,需要设定阈值,差值小于阈值即认为相等。 图3-2 进攻判断 Figure 3-2 attack judgment3.4.2 进攻程序模块流程图进攻程序模块流程图如图3-3所示:图3-3 进攻流程图Figure 3-3 offensive flow chart3.4.5 用C语言编写的程序代码void attack(void) /*进攻子程序*/ uchar a,d;abc0809_2(ac); /*提取灰度传感器的值*/a=ac0-ac1; d=abs(a);if(!(ac0ad1|ac1ad1) /*判断进攻方向*/ xuanzhuang();elseif(abs(a)ac1) life(); /*左转*/else right(); /*右转*/3.5碰撞避让程序模块3.5.1碰撞避让程序的硬件实现本设计的碰撞避让系统,是通过51单片机的中断控制功能实现的。MCS-51系列单片机有5个中断源,可分为2个中断优先级。本碰撞避让系统所用到的中断源为 ,即外部中断0。其请求信号由P3.2输入请求信号有效电平由IT0和设置,一旦输入信号有效,则将TCON中的IE0标志位置1,可向CUP申请中断10。3.5.2中断控制设置MCS-51系统中断控制由4个专用寄存器组成。中断请求标志TCON其中IE0为外部中断零的申请标志位。当外部中断源有请求时,该位置1,其复位由触发方式来设置。IT0为外部中断触发方式设置位,IT0=0时,为电平触发方式,该方式下,CUP每个机器周期对外部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论