毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc

上传人:文库蛋蛋多 文档编号:4153350 上传时间:2023-04-07 格式:DOC 页数:37 大小:1.04MB
返回 下载 相关 举报
毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc_第1页
第1页 / 共37页
毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc_第2页
第2页 / 共37页
毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc_第3页
第3页 / 共37页
毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc_第4页
第4页 / 共37页
毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的能力风暴机器人超声波测距扩展卡的设计.doc(37页珍藏版)》请在三一办公上搜索。

1、目录第1章 绪论31.1 机器人研究的意义31.1.1 机器人足球的发展31.1.2 传感器技术与超声波应用41.2 能力风暴机器人概述41.2.1 开设能力风暴机器人教育的意义41.2.2 能力风暴机器人结构51.2.3 能力风暴机器人的硬件51.2.4 能力风暴机器人的开发能力6第2章 超声波测距扩展卡的设计82.1 超声波扩展卡设计思路82.1.1 超声波简介82.1.2 超声波测距原理82.1.3 课题设计的任务和要求102.1.4 方案设计比较10第3章 系统硬件结构设计133.1 系统主要结构133.2 51系列单片机功能结构特点133.2.1 AT89C51的引脚介绍143.2.

2、2 AT89C51的定时计数系统153.2.3 AT89C51的中断系统153.3 LM555定时器介绍163.4 硬件扩展总线ASBUS21第4章 绘制电路板224.1 PROTEL介绍及作图流程224.2 超声波测距扩展卡的软件调试234.2.1 VJC简介234.2.2 JC语言244.3 单片机汇编语言调试254.3.1 采用汇编语言的优点254.3.2 程序流程图26第5章 结论28致 谢30参考文献31附 录32第1章 绪论1.1 机器人研究的意义机器人(Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动

3、。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。它可以说是高级整合控制论、机械电子、计算机、材料和仿生学的产物。目前在工业、医学、农业甚至军事等领域中均有重要用途。机器人是近年来的研究热点,其研究水平是一个国际科技实力的重要标志。“能力风暴”(Ability Storms)机器人由上海广茂达电子信息有限公司开发,呈单片机结构,外形酷似UFO,是专为个人机器人的需求设计的, 它是最优秀的科技类探索性课程及课外活动的教具,它融合了光学、机械、电子、计算机等学科的高科技知识,集辅助教学和娱乐于一身。能力风暴个人机器人的配有5种十几个传感器,另外还可以根据需要扩展其他传感器,

4、对环境的感知能力很强。感知环境的能力是产生智能行为的前提,因此能力风暴能产生许多智能性行为。本课题主要是设计一块基于能力风暴机器人的超声波测距模块,用于解决“能力风暴”大学版机器人在比赛过程中识别障碍物的问题。1.1.1 机器人足球的发展足球机器人比赛虽然刚刚开展几年时间,但是它吸引了越来越多人的关注。因为它以喜闻乐见的方式走进了我们的视野,虽然它的体积很小,但是它的意义非常重大。它是综合了计算机技术,自动化技术,机电一体化技术,人工智能技术,模式识别技术的一门综合技术。 足球机器人的核心技术是人工智能技术,它的目地是使机器具有人的智慧。它能使机器具有像人一样的感知环境,向环境学习的能力。人工

5、智能包括智能控制、机器感知、机器情感、专家系统、人工生命、神经元网络和遗传算法等等。1.1.2 传感器技术与超声波应用传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,其中,超声波传感器在测量方面有着广泛、普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井

6、深、管道长度等场合。因此研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。1.2 能力风暴机器人概述1.2.1 开设能力风暴机器人教育的意义自从20世纪60年代初世界第一台机器人诞生以后,机器人技术得到了迅速地发展。在21世纪,机器人技术的进步将会对科学与技术的发展产生重要影响。高技术研究发展计划(863计划)是我国关于高技术的中长期研究发展计划,智能机器人是自动化领域的主题之一。863计划开始实施以来,在特种机器人,机器人应用工程,机器人基础技术等方面取得了很大成绩,组织和培养了一支数量可观的研究开发队伍,建立了一批

7、各具特色的研究开发环境,863计划已成为我国发展智能机器人技术的最重要的阵地。能力风暴机器人AS-U(以下简称:AS-U)是上海广茂达公司生产的专门面向教育的机器人。它融合了现代工业设计、机械、电子、传感器、计算机和人工智能等诸多领域的先进技术,学生可以通过使用能力风暴个人机器人接触到多方面的知识和技术。它提供了一个接口平台,可供用户进行扩展,实现二次开发,在软件,机械,电子等方面均有较强的延拓能力。它采用图形化交互C语言(简称VJC)完成AS-U的软件开发,具有基于流程图的编程语言和交互式C语言(简称JC),便于用户自由发挥。开展能力风暴机器人研究活动,旨在进一步加强未成年人思想道德教育,提

8、高广大青少年的科学素养,发展自身潜能,引导更多的大中小学生关注科技、热爱科技、走进科技,涌现出更多的未来科学家和未来工程师。在积极推进基础教育和高等教育改革的过程中渗透科学技术教育,努力培养大中小学学生的实践能力和创新精神。1.2.2 能力风暴机器人结构AS-UII 是面向教育的新一代智能移动机器人。AS-UII结构参见图1.1AS-UII有一个功能强大的微处理系统和传感器系统,而且它还能扩展听觉、视觉、和触觉,成为真正意义上的智能机器人。 AS-UII的身体结构主要由控制部分、传感器部分和执行部分三大部分组成。每一部分介绍如下:1控制部分控制部分是AS-UII机器人的核心组成部分,AS-UI

9、I的大脑有记忆功能,这主要由主板上的内存来实现,至于“大脑”的分析、判断、决断功能则由主板上的众多芯片共同完成。图1.1 AS-UII的内部结构图1.2.3 能力风暴机器人的硬件人对周围环境的反应过程主要是感觉大脑思考作出反映,机器人的信息处理流程也是如此。能力风暴智能机器人的配有5种十几个传感器,另外还可以根据需要扩展其他传感器,对环境的感知能力很强。感知环境的能力是产生智能行为的前提,因此能力风暴能产生许多智能性行为。能力风暴通过微控制器(microcontroller)来思维。我们采用的是Motorola公司8位单片机中功能最强、集成功能最全的高档机种。它的可靠性很高,有程序自下载功能。

10、能力风暴连上串口线就可自动下载程序。计算机硬件决定了机器的极限潜能,去开发这种潜能是软件的工作。能力风暴机器人为用户提供了交互式图形化编程C语言VJC,它使开发能力风暴的高层行为充满了乐趣。有的低层的驱动软件与硬件相关太紧密或实时要求很高,需要用汇编语言来处理。能力风暴智能机器人的执行器有:二只高性能直流电机;一只喇叭;一只2*16字符的液晶显示器。能力风暴机器人的系统结构如图1.2所示。图1.2 能力风暴机器人的系统结构能力风暴计算机硬件的设计策略是尽量选择功能齐全、可靠、周边设备集成度高的微控制器,价格也需控制,能让中国的学生以可以承受的价格获得世界上先进的智能机器人计算平台。Motoro

11、la生产的68HC11,以极少的周边芯片获得了齐全的功能,8个模拟口,5个输入捕捉,3个PWM输出,16位地址,8位数据总线,串口,以及4个通用I/O。同时,充分考虑到软件开发工具问题。因为没有优秀方便的软件开发工具,硬件只能成为专有系统,而无法成为开发平台。68HC11的自下载功能,使我们拥有了纯软件开发调试的优秀工具JC。JC即可用于开发高层应用软件,又便于开发低层驱动,还能交互调试。1.2.4 能力风暴机器人的开发能力(1)软件开发能力标准C语言子集,简洁的专业程序员语言支持浮点运算、指针、多维数组;先进的多任务操作系统ASOS;便于学习的图形化交互式语言;众多的驱动程序和应用程序代码,

12、在高手的基础上学习编程。(2)能力风暴机器人AS- U它采用图形化交互C 语言( 简称VJC)完成AS- U的软件开发, 具有基于流程图的编程语言和交互式C 语言(简称JC),便于用户自由发挥。(3)机械扩展能力1至32个直流电机;1至4个步进电机交流伺服电机;1至32个继电器、电继阀、记忆合金;1至32个灯泡、电热丝、蜂鸣器。扩展实例:灭火风扇,机械手臂,装饰彩灯等。(4)电子扩展能力至几百路位模拟输入;至几十路输出捕捉;路数字式输出。扩展实例:超声测距卡,红外测距卡,路伺服电机驱动卡,路输入输出。第2章 超声波测距扩展卡的设计2.1 超声波扩展卡设计思路2.1.1 超声波简介超声波是频率高

13、于20000赫兹的声波,它方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距,测速,清洗,焊接,碎石、杀菌消毒等。在医学、军事、工业、农业上有很多的应用。超声波因其频率下限大约等于人的听觉上限而得名。2.1.2 超声波测距原理2.1.2.1 超声波发生器 为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压

14、电式超声波发生器。 在本次设计中我们采用市场上较为普遍的型号为TR40-16B的超声波传感器。TR40-16B是分体式超声波传感器,共分为接收和发射两部分。其中,标有T的是发射部分,标有R的是接收部分。压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 若对发送传感器内谐振频率为40KHz的压电陶瓷片

15、(双晶振子超声波传感器)施加40KHz高频电压,则压电陶瓷片就根据所加高频电压极性伸长与缩短,于是发送40KHz频率的超声波,其超声波以疏密形式传播(疏密程度可由控制电路调制),并传给波接收器。接收器是利用压力传感器所采用的压电效应的原理,即在压电元件上施加压力,使压电元件发生应变,则产生一面为“+ ”极,另一面为“-”极的40KHz正弦电压。因该高频电压幅值较小,故必须进行放大。 超声波传感器使得驾驶员可以安全地倒车,其原理是利用探测倒车路径上或附近存在的任何障碍物,并及时发出警告。所设计的检测系统可以同时提供声光并茂的听觉和视觉警告,其警告表示是探测到了在盲区内障碍物的距离和方向。这样,在

16、狭窄的地方不管是泊车还是开车,借助倒车障碍报警检测系统,驾驶员心理压力就会减少,并可以游刃有余地采取必要的动作。2.1.2.2 超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。这就是所谓的时间差测距法。 超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此

17、可见,超声波测距原理与雷达原理是一样的。 测距的公式表示为:L=CT 式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。 超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。 由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM

18、92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。 超声波测距误差分析 根据超声波测距公式L=CT,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。时间误差当要求测距误差小于1mm时,假设已知超声波速度C=340m/s (20室温),忽略声速的传播误差。测距时间误差t(0.001/344) 0.000002907s 即2.907ms。 在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1s的精度,因此系

19、统采用89C51定时器能保证时间误差在1mm的测量范围内。由于本方案设计只用到八位数据传输,因此测量误并主要体现在传送数据上。5米定时计数器的最大值为72E3H,左移一位后的高八位为E5H,转化成十进制后是229,测量误差为5m/229=21.8mm。2.1.3 课题设计的任务和要求(1) 超声测距卡能发射超声波并检测被障碍物反射回来的声波,测量出两者的时间差,然后根据声音在空气中传播的速度,计算出障碍物与机器人之间的距离。在机器人比赛中可对周围环境进行探测,确定对手所在的方位。(2)Protel格式的电路原理图和印刷电路板图各一张。(3)自制的无线通讯模块一块。(4)利用VJC1.6编程工具

20、调试通过。2.1.4 方案设计比较2.1.4.1 方案一:发射电路与接收电路如图2.1所示。超声波的发射电路由LM555定时器构成40KHz的多谐振荡器。 LM555第3引脚输出端经过功率放大后驱动超声波传感器TR40-16,使之发射出超声波信号。电路工作电压12V。 图2.1 方案一的超声波发射电电路超声波接收电路超声波接收电路主要由接收换能器、功率放大电路、比较及控制等环节组成。9当超声波遇到障碍物返回时,超声波接收传感器TR40-16接收由于回波电压的数量级在毫伏量级,并且在距离较远的情况下,回波更弱,因而必须将信号放大。 如图2所示,设计中采用高速精密放大器 LM318。其带宽为15M

21、,第1级放大50倍,第2级电路接可变电阻,理论放大倍数50倍这样两级放大倍数最大可达到2500倍,能充分满足 因为较远距离传播而变得相当微弱的信号得到足够增益。然后由L M5 6 7(音频检测器芯片)来完成信号的滤波、检波、选频等功能。图2.2 方案一的超声波接收电路该方案优点:接收电路具有滤波功能,能最大幅度地减小干扰的影响,发射电路由555定时器上的可调电阻可以很方便地调整发射频率。该方案缺点:该方案使用集成元件较多,体积较大。2.1.4.2 方案二:发射电路图2.3 方案二的发射电路发射电路如图2.3所示。单片机信号经与非门后经过三极管放大,直接传送到超声波发射传感器。图2.4 方案二的

22、超声波接收电路接收电路如图2.4所示,接收过来的信号经两级放大后直传入单片机。优点:发射接收电路简单,成本低,制作方便。缺点:发射频率不能够调整,在机器人足球比赛当中若每个机器人的发射频率相同,则容易互相干扰,因此测距可靠性要差一些。接收电路没有滤波过程,容易形成干扰。综合两种方案的优缺点,本设计选择使用第一种方案。第3章 系统硬件结构设计3.1 系统主要结构在方案一中超声测距的电路主要组成如图3.1所示超声波发射器放大电路超声波接收器LM555音频选择器AT89C51ASBUS图3.1 系统的主要构成3.2 51系列单片机功能结构特点5l系列单片机中典型芯片(AT89C51)采用40引脚双列

23、直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的I/O端:P0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。该系列单片机引脚与封装如图3.2所示。单片机与一般的微型机比较有如下优点。体积小由于单片机内部包含了计算机的基本功能部件,能满足很多应用领域对硬件功能的基本要求。因此单片机组成的就用系统结构简单,小而全。可靠性高单片机内CPU访问存储器、I/O接口的信息传输线(

24、即总线)大多数在芯片内部,因此不易受外界的干扰:另一方面,由于单片机体积小,在应用环境比较差的情况下,容易采取对系统进行电磁屏蔽等措施。所以单片机应用系统的可靠性比一般的微机系统高得多。控制功能强单片机面向控制,它的实时控制功能特别强。CPU可以直接对I/O口进行各种操作,运算速度高,时钟可达16MHz以上。对实时事件的响应和处理速度快。使用方便由于单片机内部功能强,系统扩展方便,因此应用系统的硬件设计非常简单,又因为市场上提供多种多样的单片机开发工具,它们具有很强的软硬件调试功能和辅助设计功能。性价比高由于单片机功能强,价格便宜,其应用系统的印板小,接插件少,安装调试简单等一系列原因,使单片

25、机应用系统的性能价格比高于一般的微机系统。图3.2 AR89C51的引脚示意图。5l系列单片机提供以下功能:4 KB存储器;256B RAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个双向的串行口以及时钟电路。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。3.2.1 AT89C51的引脚介绍以下只对在本设计当中就用到的引脚作简要介绍。RST/VPD(9脚)复位信号时钟电路工作后芯片内部进行初始复位,复位后P0-P3口输出高电平,初值07H写入堆栈指针SP,清0程序计数器PC和其他特殊功能

26、寄存器。EA/Vpp(31引脚)片外程序存储器地址选择信号若EA接地,则不使用内部程序存储器,不管地址大小,取指时总是访问外部程序存储器。本超声波测距扩展卡并不需要外部存储器,故该引脚直接接高电平。AT89C51的I/O口AT89C51单片机有4个双向位I/O口P0-P3,P0为三态双向口,负载能力为8个LSTTL门电路,P1-P3为准双向口,负载能力为4个LSTTL门电路。P3口作第二功能口使用时实际上际上是系统具有控制功能的控制线。3.2.2 AT89C51的定时计数系统一般单片机内部都设有定时计数器,因为有的测控系统是按时间间隔定时控制的,如定时对物理过程的采样等。虽然可以通过延时程序实

27、现定时,但这会降低CPU的工作效率。如果能利用一个可编程的实时时钟获得延时定时,就可以提高CPU的工作效率。另外,也有一些测控系统是根据外部信号的计数结果来实现控制的。必须对外部随机事件进行计数。因此,单片机内部一般都设置可编程的定时计数器,以简化系统设计,提高系统功能。AT89C51内部有两个定时计数器,分别称为定时计数器0和定时计数器1简称T0、T1,它们都具备定时计数功能,有4种工作方式可以选择。在超声波测距扩展卡的设计中我们需要定时计数器的定时功能,定时功能的工作方式是对芯片内的机器周期计数,或者说计数脉冲来自芯片内部,每来一个机器周期,计数器加1,直到计数器满,再来一个机器周期,定时

28、计数器全部回0,这就是溢出。每个机器周期的时固定(振为12MHz,机器周期为1s,晶振为6MHz,机器周期为2s)。与定时计数器有关的控制寄存器共有4个,分别是TCON,TMOD,IE,IP特殊功能寄存器。根据TMOD寄存器中的M1和M0位的设定,定时计数器可选择4种不同的工作方式。根据超声测距的要求我们选择工作方式1。方式1是16位计数结构,定时器计数器由TH的全部高8位和TL的全部低8位组成。3.2.3 AT89C51的中断系统计算机工作时由于系统内外某种原因而发生的随机事件,计算机必须尽可能快终止正在运行的原程序,转向相应的处理程序为其服务,待处理完毕,再返回去执行被中止的原程序,这个过

29、程就是中断。 引起中断的设备或原因称为中断源。一个计算机系统的中断源会有多个,用来管理这些中断的逻辑称为中断系统。采用中断的优点有:分时操作;实时处理;故障处理。AT89C51单片机中有5个中断源,外部有两个中断请求输入,INT0,INT1。内部有3个中断请求。定时计数器T0,T1和片内串行口。当系统产生中断请求时,5个中断源中的请求标志根子别由特殊功能寄存器TCON和SCON的相位来锁存。3.3 LM555定时器介绍图3.3 LM555定时器内部结构图LM555定时器的电路和外引线排列如图3.3所示。LM555/LM555C 系列是美国国家半导体公司的时基电路。我国和世界各大集成电路生产商均

30、有同类产品可供选用,是使用极为广泛的一种通用集成电路。LM555/LM555C 系列功能强大、使用灵活、适用范围宽,可用来产生时间延迟和多种脉冲信号,被广泛用于各种电子产品中。 555时基电路有双极型和CMOS型两种。LM555/LM555C系列属于双极型。优点是输出功率大,驱动电流达200mA。而另一种CMOS型的优点是功耗低、电源电压低、输入阻抗高,但输出功率要小得多,输出驱动电流只有几毫安LM555 时基电路内部由分压器、比较器、触发器、输出管和放电管等组成,是模拟电路和数字电路的混合体。其中6脚为阀值端(TH),是上比较器的输入。2脚为触发端(TR),是下比较器的输入。3脚为输出端(O

31、UT),有0和1两种状态,它的状态由输入端所加的电平决定。7脚为放电端(DIS),是内部放电管的输出,它有悬空和接地两种状态,也是由输入端的状态决定。4脚为复位端(R),叫上低电平(2/3VCC是高电平1,1/3VCC是高电平1,1/3VCC是低电平0。如果在控制端CV加上控制电压VC,这时上触发电平就变成VC值,而下触发电平则变成1/2VC。可见改变控制端的控制电压值可以改变上下触发电平值。图3.4是由LM555定时器组成的多谐振荡器,Ra与Rb和C是外接元件。接通电源Vcc后,它Ra与Rb对电容C充电,当Uc上升略高于2/3Ucc时,电压输出为0。这时内部的三极管导通,电容通过Rb与三极管

32、放电,当Uc下降略低于1/3Vcc时,电压输出为1。图3.4 由LM555定时器构成的双稳态触发器电路图图3.5 超声波测距发射电路超声波发射电路如图3.5所示。超声波发射过程中三极管需要接+12V电压,必须接一个升压元件,在此我人选择LT1073作为升压元件对+5V稳压电源升压。图3.6 12V电压升压电路超声波发射电路如图3.6所示。当需要发射超声波时,由单片机发送高电平信号,送入4脚RESET端,LM555定时计数器开始工作。LM555定时器输出的功率还不能够完全驱动TR4016,因此在输出端接功率放大电路。本设计采用互补对称功率放大电路。互补对称功率放大电路主要由两个三极管组成,型号分

33、别为9012与9013。在LM555输出端接一个0.1uF的电容起隔直通交的作用。3.4 LM567介绍接收电路当中用到了LM567音频选择器。LM567音频选择器原理如图3.7所示。图3.7 LM567内部原理图。LM567 是一片锁相环电路,采用8脚双列直插塑封。其5、6脚外接的电阻和电容决定了内部压控振荡器的中心频率f2,f21/1.1RC。其1、2脚通常分别通过一电容器接地,形成输出滤波网络和环路单级低通滤波网络。2脚所接电容决定锁相环路的捕捉带宽:电容值越大,环路带宽越窄。1脚所接电容的容量应至少是2脚电容的2倍。3脚是输入端,要求输入信号25mV。8脚是逻辑输出端,其内部是一个集电

34、极开路的三极管,允许最大灌电流为100mA。LM567的工作电压为4.759V,工作频率从直流到500kHz,静态工作电流约8mA。LM567的内部电路及详细工作过程非常复杂,这里仅将其基本功能概述如下:当LM567的3脚输入幅度25mV、频率在其带宽内的信号时,8脚由高电平变成低电平,2脚输出经频率/电压变换的调制信号。如果在器件的2脚输入音频信号,则在5脚输出受2脚输入调制信号调制的调频方波信号。在图4的电路中我们仅利用了LM567接收到相同频率的载波信号后8脚电压由高变低这一特性,来形成对控制对象的控制。图3.8 由LM567组成的频率测试电路由LM567组成的频率测试电路如图3.8所示

35、。音频选择器所选取的中心频率计算公式为(1)频率误差范围为(2)图3.9 超声波接收电路超声波接收电路如图3.9所示。超声波接收过来的信号十分微弱,必须经过放大才能被LM567接收。在放大过程中,为了调试方便,我们在第二级放大中运用了可变电阻,这样就可以实现放大倍率的手动调整。因为LM567接收的是正弦信号,正弦电压变化范围在正负五伏区间,因此我们选择供电电压为正负五负的LM258集成运算放大器。由于LM567采用的是正负五伏电压供电,所以必须加一个将+5V电压变为-5V电压。在此我们采用MAX660将+5V稳压电源变为-5V电压。原理如图310所示。图3.10 负五伏电压变换电路MAX660

36、共有八个引脚,其中1脚是内部晶振控制端,当晶振外接时该引脚无用。2脚是外接电容正极的接入端,3脚接地,4脚是外接电容负极的接入端5脚是负电压输出端,6是低电压输入控制端,在源电压小于3.5V时,接地,在源电压大于3.5V 时可以接地也可以悬空。7脚提供晶振频率输入,内接一个15pF的电容,可以外部再接一个电容以减小晶振频率,8脚提供源电压。3.5 硬件扩展总线ASBUS能力风暴控制板设计了ASBUS总线见(图3.7),简单类似于ISA和PCI总线。采用堆叠式的ASBUS扩展卡可以方便扩展控制板的功能,它分为ASBUSA和ASBUSB两部分。机器人主板上ASBUSA和ASBUSB插槽用于插各种功

37、能的扩展卡。ASBUSA和ASBUSB引脚图和各部分功能如图3.11所示:图3.11 ASBUS信号线ASBUSA和ASBUSB分别有14个信号线。各信号线功能如下:PCO-PC7:数据总线/RESET:复位信号/IRQ:外部中断输入脚VCC:+5V电源(负载不要超过300MA),可用于扩展卡的电源输入端。Vmotor:电机电压,也即电池电压,可接较大负载。GND:地IS0-IS3:输入选择线0-3OS0-0S3:输出选择线0-3PA1-PA2:输入捕捉口,可用来扩展数字或脉冲输入的传感器。PA3:输出比较口,已被喇叭、DC3,servo使用,PE5-PE7:模拟输入口,可用来扩展温度传感器、

38、力传感器等模拟量输入传感器。第4章 绘制电路板4.1 PROTEL介绍及作图流程在EDA ( Electronic Design Automation) 工具中 ,Protel 系列软件一直是比较常用的。Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层。Protel 99 SE(Second Edition)在原理图设计和电路仿

39、真方面增加了许多小的功能,而其最主要的改进体现在电路板设计系统方面。Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。在本次设计中,即使用了Protel99 SE软件。下面简述产生PCB的步骤:(1)新建一SCH文件,绘制整个电机控制电路的电路原理图(2)在扩展卡原理图中定义元件的封装(3)产生网络表(4)新建一PCB文件,绘制出电路板边框,装载元件封装库并加载网络表,各元件封装图便会出现在该界面上。元件排列杂乱无章,且各元件之间用预拉线连接。(5)手动调整元件的布局,使各元件摆放尽量整齐美观。(6)进行布线,由

40、于设计并不复杂,元件较少,可使用自动布线。(7)对文字、个别元件、走线做些调整以及敷铜。(8)检查核对网络。(9)SCH及PCB出图下图为最终绘制成的PCB图:图3.12 超声波测距单片机电路图3.13 超声波测距发射接收电路4.2 超声波测距扩展卡的软件调试4.2.1 VJC简介图形化交互式C语言(简称VJC)是用于能力风暴智能机器人系列产品的软件开发系统,具有基于流程图的编程语言和交互式C语言(简称JC)。VJC为开发智能机器人项目、程序与算法、教学等提供了简单而又功能强大的平台,是全球开创性的具有自主知识产权的产品。在 VJC 中,不仅可以用直观的流程图编程,也可以用JC语言编写更高级的

41、机器人程序。VJC操作简便,有活泼明快的图案和简短的文字说明。可以使用形象化的模块,由顶向下搭建流程图,搭建流程图的同时,动态生成无语法错误的JC代码。流程图搭建完毕,程序就已经编写完成,可以立即下载到机器人中运行。4.2.2 JC语言JC语言是交互式C语言(简称JC)是用于能力风暴智能机器人的专用开发语言。JC由两部分组成:编译环境和能力风暴操作系统ASOS。JC实现了标准C语言的一个子集,它包括控制语句(for,while,if else)、局部变量和全局变量、数组、指针、16位和32位整数以及32位浮点数。 JC不直接编译生成针对特定处理器的机器代码,而是先编译生成基于堆栈虚拟机的伪代码

42、。然后这种伪代码由能力风暴操作系统解释执行。JC这种不寻常的编译方式有以下优点:(1)解释执行:允许检查运行错误。例如:JC在运行时,数组下标的检查。(2)代码更精简:伪代码比机器代码更简短。(3)多任务:由于伪代码是完全基于堆栈的,进程状态完全由它的堆栈和程序计数器所决定。因此只需要装载新的堆栈指针和程序计数器就可以方便地实现任务切换。任务切换由操作系统处理,而不是编译器。JC与标准C对比有以下特点:JC语言是建立在ANSIC标准上的。但是它们有些重要的区别。许多区别是因为JC比标准C更“安全”。例如,JC在运行时要检查数组下标,所以数组不能被变为指针,也不可以进行指针运算。另一些区别是由于

43、JC的运行时间更短更高效。用JC代码编写超声波测距数据接收程序由于VJC中没有合适的超声测距的模块库,所以我们只能用JC代码来编程,编制的程序如下:int sonarranging()int a,b;/*a来存放单片机读取的8位二进制的数值,b用来存距离,*/a=read(0x4000);/*将读取的数据送入a中*/b=a*20;/*距离换算,mm为单位*/return b;/*将b的值做为反回值*/void main()int sonardistance;/*声明距离变量*/distance=sonarranging;/*调用测距子程序*/printf(Distance is:%dmmn,d

44、istance);/*输出距离*/将该软件下载到能力风暴机器人上,并接好超声波测距卡,运行程序,即可实现超声波测距功能。4.3 单片机汇编语言调试由于计算机的CPU只能认识和识别二进制代码,所以又称为机器码。一种计算机有几十种甚至上百种指令,若都是用二进制码表示,是很困难的,二进制代码,如果用十六进制书写,是很方便的,所以通常用十六进制代码表示指令码,但是仍解决不了记忆问题和阅读问题。为了记忆和阅读方便,制造厂家对指令系统中每一条指令都给出了符号作指令助记符,这就容易记忆,容易理解,清晰可读。4.3.1 采用汇编语言的优点汇编语言与高级语言相比具有以下优点:(1)占用的内存单元和使用的CPU资

45、源少;(2)程序简短,执行速度快;(3)可直接调动计算机的全部资源,并可有效地利用计算机的专有特性;(4)能准确地掌握指令的执行时间,适用于实时控制制系统。根据以上汇编语言的特点,决定用汇编语言来编写单片机程序。4.3.2 程序流程图软件分为两部分,主程序和中断服务程序,如图所示。主程序完成初始化工作、超声波发射和接收顺序的控制。中断子程序主要完成数据的采集与处理。在程序设计过程中,一些问题必须考虑在内。首先是超声波发出之后有一段盲区,这是因为在超声波发出之后的一段时间内,超声波可能直接传到了超声波接收传感器,若在这段时间内接收超声波回波信号,会造成测距错误,因此必须设计一段延时程序,在发出超

46、声波之后的一段时间内不能接收超声波反射信号。在中断响应过程中,本方案采用了限幅滤过程,增强系统的抗干扰能力。在能力风暴机器人比赛中,多个机器人若都发射40KHz的超声波的话,可能会造成互相串扰。如果采用限幅滤波子程序,将误差较大的测量结果除去,则会起到良好的抗干扰效果。本方案设计的最大测量距离是5m。定时计数器的最大计数值是72E3H。结果为15位,因此选用定时计数器的工作方式1(16位定时计数器)。由于向ASBUS发送的数据为八位,因此我们需要将所测数据左移1位,将测量结果的高八位放入一个单元中以传送到ASBUS上。在主程序最后的延时等待程序当中,我们设特殊功能寄存器中的F0为标志位为1,若检测到F0为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号