资源目录
压缩包内文档预览:(预览前20页/共34页)
编号:512763
类型:共享资源
大小:5.14MB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
大学机器人小车的轨迹控制方法设计,毕业设计
- 内容简介:
-
沈阳理工大学学士学位论文摘 要机器人技术综合了机械学、电子学、计算机科学、自动控制工程、人工智能、仿生学等多个学科的最新研究成果,代表了机电一体化的最高成就,是当今世界科学技术发展最活跃的领域之一。本文较系统的介绍了移动式机器人的发展历史和现状,分析了移动式机器人的机械结构,并对其进行了运动学分析,建立了运动学方程,为对移动式机器人的运动轨迹控制提供了理论基础。搭建出了以单片机AT89C51为核心的控制系统,同时应用了Visual Basic 语言在计算机上编写出操作界面和控制程序,为完成控制提供了操作平台。计算机和单片机之间采用的是RS485串口进行通讯,使操作者利用计算机完成了对移动式机器人运动轨迹的控制。关键词: 移动式机器人;运动学;控制系统;单片机AbstractNowadays the development of the robot technology, which integrates the mechanics,electronics, computer science, automatic control engineering, artifitial intelligence andbionicsetc., represent the highest achievement on the integration of machinery and electricity and is one of the most active realms in the science technique of the world.This thesis introduces the development history and present situation about series robot. The mechanical structure of series robot is analyzed and the equation of kinematics was built up , for which is the basis of controlling the movement path. And then, we established the control system which is the core of single-chip AT89C51.The Visual Basic language was used to write the control program and designed the interface of operation in this thesis .The communication between single-chip and computer was carried out by RS-485 which make the manipulator can control the robot by a computer.Keywords: series robot; kinematics; control system; single-chip.目 录1 绪论11.1 移动机器人的发展11.1.1 发展历史11.1.2 国外发展情况11.1.3 国内发展情况21.1.4 发展趋势21.2 机器人的分类31.3 课题简介41.3.1 本课题研究的意义41.3.2 本设计的主要工作42 机器人小车系统概述62.1 小车机械结构方案比较62.2 小车机械结构方案确定72.3 机器人小车各部分构成83 运动学分析103.1 运动学模型103.2 几种基本的运动方式143.2.1 直线运动143.2.2 圆弧运动143.2.3 本体质心不变条件下的运动154 控制系统硬件设计174.1 小车计算机控制系统结构174.2 主控制器件的选择184.3 通讯方式的选择214.3.1 通讯种类的比较214.3.2 通讯讯号传输模式的确定224.4 总体控制电路244.4.1 复位电路244.4.2 时钟电路244.4.3 电机驱动电路255 控制系统的软件设计295.1 编程语言C51简介295.2 单片机控制系统软件设计295.2.1 AT89C51定时器设置315.2.2 中断设置325.2.3 串行协议设置366 系统操作界面设计386.1 设计方案简介386.2 利用MSComm控件实现VB中的串行通讯386.3 操作窗口设计396.4 运动轨迹的实现40结 论42致 谢43参考文献444511 绪论1.1 移动机器人的发展1.1.1 发展历史 机器人的应用越来越广泛,几乎渗透到所有领域。机器人的发展体现了一个国家技术水平的高低,现代机器人从其诞生到现在,已经发展到第三代。 第一代机器人是示教再现型机器人,它是通过一个计算机,来控制一个多自由度的机械,通过示教存储程序和信息,工作时把信息读取出来,然后发出指令,这样的机器人可以重复地根据示教者当时示教的结果,再现出这种动作。第二代机器人是带感觉的机器人,这种带感觉的机器人是类似人拥有某种功能的感觉,比如说力觉、触觉、滑觉、视觉、听觉。和人进行相类比有了各种各样的感觉,比方说在机器人抓一个物体的时候,它实际上力的大小能感觉出来,它能够通过视觉,去感受和识别它的形状、大小、颜色。 第三代机器人,也是我们机器人学中一个理想的所追求的最高级的阶段,叫智能机器人,那么只要告诉它做什么,不用告诉它怎么去做,它就能完成运动,感知思维和人机通讯的这种功能和机能,那么这个目前的发展还是相对的只是在局部有这种智能的概念和含义,但真正完整意义的这种智能机器人实际上并没有存在,而只是随着我们不断的科学技术的发展,智能的概念越来越丰富,它内涵越来越宽1。1.1.2 国外发展情况 早在60年代,就已经开始了关于移动机器人的研究。关于移动机器人的研究涉及许多方面。首先,要考虑移动方式,可以是轮式的、履带式的、腿式的,对于水下机器人则是推进式。其次,必须考虑驱动器控制,以使机器人达到期望的行为。第三,必须考虑导航和路径规划,对于后者有更多的方面要考虑,如传感器信息融合、特性提取、避障和环境映射等。因此,移动机器人是一个集环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统。 从80年代开始,美国国防高级研究计划局专门立项,制定了地面无人作战平台的战略计划。能源部制定了为期10年的机器人和职能系统计划,以及后来的空间机器人计划。美国NASA研制的火星探测机器人与1997年登上火星。为了在火星上进行长距离探险,又开始了新一带样机的研制,命名为Rocky7,并在Lavic湖的岩溶流上和干枯的湖床上进行了成功的实验。德国研制了一种轮椅机器人,并在乌尔姆市中心车站的客流高峰期的环境中和1998年汉诺威工业商品展览会大厅环境中进行了现场表演3、。1.1.3 国内发展情况 国内在移动机器人的研究上起步较晚,大多数尚处于某个单项研究阶段,主要的研究工作有: 清华大学智能移动机器人于1994年通过鉴定,涉及五个方面的关键技术:基于地图的全局路径规划研究;传感器技术、信息融合技术研究;智能移动机器人的设计和实现。另外,还有中国科学院沈阳自动化研究所的AGV和防暴机器人;中国科学院自动化所设计、制造的全方位移动式机器人视觉导航系统;哈尔滨工业大学于1996年研制成功的导游机器人4。1.1.4 发展趋势 机器人技术涉及很多学科领域,是多学科综合交叉的边缘学科,机器人技术的发展依赖于很多相关技术的进步。从当前各种技术的应用来看,机器人的发展会出现如下几个趋势: 智能化:从技术角度而言,机器人智能化无疑是一个重要的发展方向。目前智能研究可分两个层次,一是利用诸如模糊控制、神经元网络控制等智能控制策略,利用被控对象对模型依赖性不强的特点来解决机器人的复杂动作问题;二是使机器人具有与人类类似的逻辑推理和问题求解能力,面对非结构性的复杂环境和任务,能够自主寻求解决方案并加以执行。 多机协调性:这是现代生产规模不断扩大所决定的。在大型生产线上,往往是很多机器人共同完成一个生产过程,随着CAD、CAM、CAPP 等技术的发展,更多地把设计、工艺规划、生产制造、零部件的仓储和配送等有机地结合起来,机器人不再是一个独立的作业机械,而是整个生产过程中一个与其它环节密切结合的因素。 标准化:由于各家公司生产的机器人品种很多,机器人的配件也五花八门。不同厂家生产的机器人相互之间很难进行部件互换,这给机器人的使用、维护和更新换代带来了很大麻烦。因此,这是一项十分重要而又艰巨的任务。 微型化:受微电子技术的启发,人们开始设想将微型传感器、微处理器、微型执行机构等器件在极小的空间内进行集成,组成微型机电系统(MEMS)或微型机器人。这样的机器人,在生物血管疾病诊断和治疗,高级仪器设备的检修清洗等多个领域中有重要应用2。1.2 机器人的分类按不同的分类方式,机器人可以分为不同的类型。1、按技术特征划分,机器人可分为第一代机器人、第二代机器人、第三代机器人。第一代机器人以顺序和示教再现为基本控制方式工作;第二代机器人是有感觉的机器人;第三代机器人是智能机器人。2、按控制类型来划分,可分为以下几种: (1)伺服控制机器人。采用伺服手段,包括位置、力等伺服方法进行控制的机器人。 (2)非伺服控制机器人。采用伺服以外的手段,如顺序控制、定位开关控制等进行控制的机器人 (3)PTP 控制机器人。只对手部末端的起点和终点位置有要求,而对起点和终点的中间过程无要求的控制方式。 (4)CP 控制机器人。除了对起点和终点的要求以外,还对运动轨迹的中间各点有要求的控制方式。3、按机械结构来划分,可分为直角坐标机器人,圆柱坐标机器人,极坐标机器人,关节型机器人,SCARA 型机器人以及移动机器人。4、按用途分,可分为工业机器人,农业机器人,医疗机器人,海洋机器人,军用机器人,太空机器人,管道机器人,娱乐机器人等。5、按执行机构的动力方式来划分,可分为电动机器人,液压机器人,气动机器人等10。1.3 课题简介1.3.1 本课题研究的意义实际意义:机器人按机座形式可以分成固定式和行走式两种,一般的工业机器人大多为固定式。但随着社会需要的不断增长,这种机器人也越来越不能满足社会需求。由于海洋科学、原子能工业及宇宙空间事业的发展,移动机器人、自动行走机器人的应用也越来越多了。行走机构是行走机器人的重要执行部件,它由行走的驱动装置、传动机构、位置检测原件和传感器、电缆机关电路等组成。它一方面支撑机器人的机身、臂、和手臂,另一方面还根据工作任务的要求,带动机器人实现在广阔的空间内运动。 理论意义:几乎所有的关于机器人运动学的文章和书籍中,都是以固定基座的机器人模型作为研究对象,通常把腰部的基座作为基坐标系,将机器人手部夹手指尖的中心作为要描述的坐标系原点位置,这样建立的模型,不能满足也不适合移动式机器人。而专门关于移动式机器人运动学的研究就少而又少了。如何将移动式机器人建立运动学方程和模型是一个需要解决的重要问题。1.3.2 本设计的主要工作本设计的主要工作是移动式机器人小车的机构分析、运动学研究、小车几种基本运动方式控制。以上问题的提出和解决都是该机器人实际存在而且至关重要的核心问题。通过以上问题的分析和解决,以单片机为核心搭建移动式机器人的驱动系统并建立单片机与计算机的通讯,通过计算机完成对机器人移动轨迹的控制,使其能实现直线、圆弧、旋转等行走方式。 1、单片机与计算机通讯部分设计:单片机与计算机之间应用RS-485进行串口通讯,单片机选择AT89C51,它负责接收和执行来自计算机的数据和指令信息,并与其它外围芯片交换数据和状态信息,以控制步进电机脉冲的发出频率快慢和旋转方向,以此达到控制电机转向、调节电机转速的要求。 2、运动学分析:分析和比较双轮驱动移动机器人的机械结构。给出三轮移动的配置方式,根据刚体运动学及机器人运动学原理,分析并建立了移动式机器人小车的运动学模型,为其实现直线、圆弧、原地旋转等运动方式提供了理论基础。 3、人机操作界面的设计:为了便于操作者灵活方便地控制整个系统,本设计利用Visual Basic 语言编写了人机操作界面,依据系统控制要求和VB提供的MSComm控件特点,实现了VB和两个单片机的串行通讯,通过参数的输入、控制命令按纽的选择实现了串行通信,为上位机(PC)和下位机(单片机)之间的控制和通信搭建了桥梁。2 机器人小车系统概述2.1 小车机械结构方案比较 移动式机器人的运动方式有轮式、履带式、腿式。轮式和履带式机器人适于条件较好的路面,而步行机器人则适于条件较差的路面5。为了适应各种路面的情况,可采用轮、腿、履带并用。本课题中的机器人的设计思想是作为在路面环境较好的室内使用,所以采用轮式。图 2.1 机器人小车机械结构方案比较 轮式移动机器人一般有三轮、四轮或六轮,其转向装置的结构通常有两种方式:1、铰轴转向式:转向轮装在转向铰轴上,转向电机通过减速器和机械连杆机构控制左右轮的速度比来实现车体的转向。在这种情况下,非驱动轮应为自由轮。2、差速转向式:在小车的左右轮上分别装上两个独立的驱动电机,通过控制左右轮的速度比来实现车体的转向。在这种情况下,非驱动轮应为自由轮。 据上所述,轮式移动机器人小车通常有以下几种可选方案:(1)三轮铰轴转向式:如图2.1(a)所示,轮1为铰轴转向轮,它同时也可以作为驱动轮,如果轮1不为驱动轮,可将轮2或轮3之一为驱动轮。(2)三轮差动转向式:如图2.1(b)所示,轮1为随动轮,它可以自由转动,轮2和轮3都是驱动轮(3)四轮铰轴转向式:如图2.1(c)所示,轮1和轮2为转向轮,它们之间有同步轮转向连杆,转向通过转向电机来实现,轮3或轮4为驱动轮。(4)四轮差动转向式:如图2.1(d)所示,轮1和轮2为自由轮,轮3和轮4分别由不同的电机来驱动,以实现差动转向。 三轮结构比较简单,能够满足一般的需要,应用也比较广泛。四轮的稳定性好,承载能力较大,但结构较复杂,占用小车结构空间。六轮与四轮相似,只不过有更大的承载能力和稳定性,但结构更为复杂,运动学分析困难。2.2 小车机械结构方案确定 在本课题中,机器人的重量不是很大,工作条件较好,所以采用三轮就能满足条件要求。铰轴转向式控制简单,单精度不太高。差动转向式控制复杂,但精度较高。考虑到本设计是用于实验室教学,所以选择三轮差动转向式 选择设计方式如图2.2所示为双轮驱动移动机器人,其组合是前轮1为可以任意方向滚动的小脚轮,小脚轮的作用是使车体稳定,但会给车体带来力学上的干扰冲突,后轮2和后轮3为独立驱动轮,利用它们的转速差实现转向。这种组合的特点是机构组合容易,而且当2个驱动轮以相同速度、相反方向转动时车体能绕2个驱动轮连线的中点自转,但自转中心与车体中心不一致。图 2.2 机器人的小车机械结构2.3 机器人小车各部分构成1,驱动电机 根据控制方式的需要,驱动电机采用步进电机,这是因为步进电机具有以下优点:(1) 步距值不受各种干扰因素影响。简而言之,转子运动的速度主要取决于脉冲信号的频率,而转子运动的总位移量取决于总的脉冲个数。(2) 位移与输入脉冲信号相对应,步距误差不长期积累。因此可以组成结构较为简单而又具有一定精度的开环控制系统,也可以在要求更高精度时组成闭环控制系统。(3) 可以用数字信号直接进行开环控制,整个结构简单廉价。(4) 无刷,电机本身部件少,可靠性高。(5) 控制性能好。启动、停车、反转及其他运行方式的改变,都在少数脉冲内完成,在一定的频率范围内运行时,任何运行方式都不会丢步。(6) 停止时有自锁能力。(7) 步距角选择范围大,可在几角分至180度范围内选择。在小步距情况下,通常可以在超低速下高转距稳定的运行16。 根据所需,驱动电机选用BS42HB38-01型号。其参数如表2.1所示。表 2.1 电机参数表型号步距角(度)电机长度(mm)保持转距(Nm)额定电流(A)相电阻(欧)相电感(mH)转子惯量(g.cm2)电机重量(kg)BS42HB38-011.8380.25540.282,车架 车架要求在保证足够刚度的条件下,应尽量减轻车架的重量,一是为了提高有效载重量。其次,车架外轮廓不应有突出部分,以防止碰撞其他物体。本课题采用硬铝作为车架的材料。3,车轮 车轮采用铸铁橡胶面驱动轮,其优点在于不仅承载能力大,而且橡胶与地面的附着系数大,保证了足够的驱动能力。其中随动轮不产生驱动力矩,只起支撑作用,在小车转向时它可以自由转动。具体实物如图2.3所示图 2.3 小车结构实物图3 运动学分析 上一章已经介绍了移动式机器人小车部分的机械本体结构,它是由万向轮和固定式轮组成。由两个同一回转中心的固定式轮和一个万向轮组成。如图3.1所示为三轮式机器人小车框架结构。1 车轮;2轴;3光电编码器;4车轮;5直流电机;6车架;7偏心可定向轮图 3.1 三轮式机器人小车框架结构 机器人小车的驱动系统由两个步进电机通过皮带轮传动分别驱动两固定轮来实现,因此其运动形式为差动方式,即通过左右轮的不同转速来实现小车的不同运动方式。轮7是偏心可定向轮,也称为万向轮,作为小车运动的随动轮。C点为小车的质心,F点为万向轮相对于小车本体的不动点。光电编码器用于小车定位时输出反馈控制信号,不影响小车的运动学模型。3.1 运动学模型假设所本设计所研究的移动机器人是由刚性框架和刚性轮所组成,并假定机器人在水平面上运行,轮子与地面的相对运动满足纯滚动的条件。机器人在平面上的位姿描述如图3.2所示。图 3.2 机器人在平面上的位置描述 定义X1方向为小车的正前方,则为机器人的方向角,小车质心C点的坐标为( x, y ) 。因此用一三维向量= ( x, y,) T 即可完全描述机器人的位姿。图3.3是传统固定式轮的结构简图。图 3.3 传统固定式轮的结构简图 轮子的中心点B是机器人框架上的一定点。B点在随动坐标系 X1 ,X2 中的位置用极坐标表示为长度CB = l 和角。轮子平面相对于CB的方向由常数角表示。轮子绕其水平轴转角记为(t),轮子半径设为r。由此轮子的状态由四个常量、l 、r给出,运动状态由时变角(t)确定。根据刚体运动学原理有:VB = VC +BC B,轮子满足纯滚条件,所以将VB 分解成沿轮子平面和垂直于轮子平面两个分量,所以有下式成立:(3.1)(3.2)定义由惯性坐标系I1O I2到坐标系X1 CY1的旋转变换矩阵。即:(3.3)则公式3.1和3.2可改写为如下矩阵表示形式:沿轮子平面: (3.4)垂直于轮子平面: (3.5) 式(3.4)和(3.5)即小车运动过程中驱动轮的约束条件。有了小车轮子的约束条件,下面针对实际机器人平台建立小车运动学模型。假设机器人左右驱动电机的转角为1 (t)和2 (t),轮子半径均为r,齿轮传动的传动比均为i(i 0。欲使Rmin = 0,可以通过调整小车上的质量分布,使小车的质心移到两驱动轮回转轴线的中心点上,此时机器人小车的运动学模型有如下简洁形式: (3.21)其中: (3.22)所以,小车质心不动的条件,即x = y = 0,0,有: (3.23) 式(3.23)要求1 = -2,也就是说在机器人质心为驱动轮回转轴线的中心点,左右轮的转角速度相等,方向相反的情况下,机器人小车作本体质心不动的运动(原地打转运动) 。4 控制系统硬件设计4.1 小车计算机控制系统结构 控制系统在机器人小车系统中占有重要地位。控制系统是机器人的核心部分,它决定了控制性能的优劣,也决定了机器人使用的方便程度。 计算机控制系统有三种结构:集中控制、主从控制和分布式控制。 集中控制是用一台功能较强的计算机实现全部控制功能。在早期的机器人控制中多采用这种结构,因为当时计算机造价较高,而当时的机器人功能不多,因此这种结构控制速度较慢。随着计算机技术的进步和机器人控制质量的提高,集中式控制已不能满足需要,取而代之的是主从控制和分布式控制结构。分布式控制常用于机器人的多关节控制,即上一级主控制计算机负责整个系统的管理以及坐标变换和轨迹差补运算等,下一级由许多微处理器组成,每一个微处理器控制一个关节活动,它们平行的完成任务,因而提高了工作速度和处理能力12。为了使本课题以后可以更好地开展,方便增添机器人的自由度的可控制数目,如将在移动小车上安装机械手,那么整个机器人的自由度数目将为7。作为设计者不需要修改电路板和主控制程序,只需要用同样的7块电路板分别控制7个已经地址编号的7个电机。而且每个单片机内的烧写程序是完全一致的。这样的设计思想是在目前工业控制领域中先进和普遍的,这种控制方案只要设计出一个小型系统并调试成功,就可以方便、灵活地扩展多个小型系统,而且每个系统内的程序和电路完全一致。基于上述优点,本设计机器人小车的控制系统采用分布式结构,如图4.1图 4.1 小车的控制系统分布式结构图4.2 主控制器件的选择 演示型机器人的外形比较小,所以选择控制方案时要考虑到以后形成电路的实际安装尺寸、空间的限制和散热的要求等。从经济和控制要求方面考虑,拟选用单片机作为主控处理器。单片机的体积小、价格低、可扩展余地较大。由于本例中的演示型机器人对运行精度的要求并不高,使用单片机扩展一些常用的芯片,可使机器人很好的实现教学演示功能。并且与单片机配用的芯片一般都比较便宜,体积也较小,能够满足安装空间的要求。 本次设计选择ATMEL公司的AT89C51单片机。 AT89C51:是一种低功耗、高性能、内部带有4K字节可下载FLASH存储器、128字节RAM的8位CMOS单片机,该器件运用了ATMEL公司的高密度非易失存储器技术,与工业标准的80C51的指令和管脚排列兼容。片内可下载的FLASH存储器可通过SPI串行接口或通过通用的非易失存储器编程器对程序存储器进行系统内的重新编程。通过将可下载的FLASH存储器与通用的8位CPU相结合,AT89C51成为一种许多嵌入式应用系统中低成本,灵活性好的单片机13。其主要特点如下:l 与MSC-51产品兼容。l 4K字节可系统内重复编程的FLASH存储器。l 128字节的内部RAM。l 操作电压为4v6v。l 32路可编程I/O。l 2个16位计数/定时器。l 5个中断源,可编程的UART串行接口。引脚图如图4.2:图 4.2 AT89C51单片机引脚图管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 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)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出14。根据以上各引脚的功能及特点,本课题中引脚使用设计说明如下:P0.0P0.3:用来选择和控制单片机地址,利用拨码开关选择地址号0000为00号单片机,同样利用拨码开关选择地址号0001为01号单片机。P1.1:用来控制电机的两个转向,00为正转,01为反转。P1.2:用来控制脉冲发出频率,以此来控制电机的转速。P1.3:用来控制程序复位,初始为0,时时置高即为单片机复位。P2.0:用来控制串行通信,P2.0置低为单片机接收数据,P2.0置高为单片机发送数据Vcc: 接+5v电源。Vss: 接地。晶振:11.0592M。4.3 通讯方式的选择在检测和控制系统中,通讯是实现两端设备交换数据的主要手段,RS-232/485是最常应用的通讯标准。4.3.1 通讯种类的比较 通常通讯的方式可以区分为两种,一种为并行传输式的通讯,另一种为串行传输式的通讯。 所谓并行通讯,即是一次的传输量为8个位(一个字节),而串行通讯则是一次只传输1个位,它们两个之间的数据传输量就相差8倍之多,但并不是说串行通讯就不好,并行通讯虽然可以在一次的数据传输中就传输了8个位,但是因为数据电压传送过程中容易因线路的因素使得电压准位发生变化,使传输数据发生错误,如果传输线比较长的话,电压衰减效应及讯号间相互干扰问题会更加明显,数据错误会常常发生。与之相比,串行通讯一次只传1个位,相对来说,处理的数据电压只有一个准位,因此不容易把数据漏失,再加上一些防范的措施后,要数据漏失就更不容易了6。由于本设计是以单片机为核心处理器的移动式机器人,单片机的响应时间为毫秒级,使用串行通信完全可以满足控制时间响应的要求。而并行通信如果同时传递8位数据就必须连接8条数据线,对操作者来讲这样的电路连线方式麻烦、易坏而且成本高。由于移动机器人要实现较大的移动距离,需要比较长的传输线,基于串行通讯与并行通讯特点的比较,且串行通讯简单易用,工业上也使用了串行通讯来作为数据流通之用,使用范围广,所以选择串行通讯作为本设计的通讯方式。4.3.2 通讯讯号传输模式的确定RS-232与RS-485讯号传输模式的比较。首先,RS-232的讯号传输模式如图4.3所示。图 4.3 RS-232的讯号传输模式由图4.3可知,RS-232的讯号准位乃是参考到地线而来的,传送端参考到接地端1而据以传送数据;接收端则参考接地端2而还原出传送端的讯号准位;在两个接地端同电位的前提下,传送与接收端的讯号准位会呈现一样的结果。如果有躁声进到传输线路中的话,可能会如图4.4所示。图 4.4 有躁声进入时RS-232的讯号传输干扰的躁声讯号在地线及讯号上均会产生影响,原始讯号在加上躁声后依然是传送到接收端;而地线部分的讯号则被地准位给平均掉了,因此,讯号便发生了扭曲,当然讯号整个都不对了。而RS-485的讯号传输方式如图4.5所示。图 4.5 RS-485的讯号传输模式RS-485的讯号将被传送出去时会先分成正负两条线路,当到达接收端后,再将讯号相减还原成原来的讯号;如果将原始的讯号标示成(DT),而被分成后的讯号分别标示成(D+)及(D-),则原始的讯号与离散的讯号在由传送端传送出去时的运算关系如下: (DT)=(D+)-(D-) (4.1) 同样地,接收端在接收到讯号后,也依上式的关系将讯号还原成原来的样子。而如果此线路受到干扰,其情形可能如图4.6所示。图 4.6 有躁声进入时RS-485讯号传输 这时候在两条传输线上的讯号会分别成为(D+)+Noise及(D-)+Noise,如果接收端接收此讯号,它必须依照一定的方式将其合成,依次合成的方程式如下: (DT)=(D+)+Noise -(D-)+Noise=(D+)-(D-) (4.2)此式与前一式的结果是一样的。 所以使用RS-485网络可以有效地防止躁声的干扰,与此同时在讯号传送的距离方面RS-232传送距离短难以适应移动式机器人的设计要求,但RS-485传送距离最大可达1219米,能够形成一个较大的传输空间,并且RS-485适用于分布式的控制要求,因此本设计采用RS-485的通讯方式。4.4 总体控制电路 综合以上说述,本设计电路的基本结构是:单片机向上通过串口RS485 与计算机通讯,负责接收和执行来自计算机的数据和指令信息,并与其它外围芯片交换数据和状态信息,以控制脉冲的频率和发出时间。4.4.1 复位电路 通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。为使单片机正常工作,必须保证良好的复位。复位可分为上电复位和外部复位两种方式。上电复位是指单片机在接通电源时对单片机复位,外部复位可由外部脉冲复位或手动复位。本系统采用外部复位方式。具体实现方法是将DS1232复位芯片的第7脚与单片机的P1.3口相连,根据需要进行程序设计,即利用看门狗喂食的方法,时时为控制系统复位。P1.3口置高即复位4.4.2 时钟电路 单片机的定时控制功能是由片内的时钟电路和定时电路来完成的,而片内的时钟脉冲产生方式有两种:内部时钟方式和外部时钟方式。 本课题采用内部时钟方式,片内高增益反向放大器通过XTAL1和XTAL2外接作为反馈元件的晶体与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供振荡时钟。AT89C51工作的时钟频率为024MHz。本课题选用11.0592MHz的石英晶振与30pF的电容构成并联谐振电路。4.4.3 电机驱动电路 步进电机是一种将电脉冲信号转换成相应的角位移或线位移的机电执行元件,它每加一个控制脉冲就运行一步,故称之为步进电机或脉冲马达。它不能直接接到交流电源上工作,而是必须使用专用设备步进电机驱动系统,该系统是把计算机控制系统提供的弱电信号放大为步进电机能够接受的强电流信号,典型的步进电机驱动系统如图4.7所示图 4.7 典型步进电机驱动系统 现在步进电机控制驱动系统经常将变频信号源、脉冲分配器和功率放大器集成在一起,使用起来十分方便。本课题的步进电机控制驱动系统选用的是美国SHAPHON 公司与北京斯达特机电科技发展有限公司联合推出的MS-3H110M型号的步进电机驱动器,步进电机驱动器实物图如图4.8图 4.8 步进电机驱动器实物图1、步进脉冲信号CP:这是最重要的一路信号,因为步进电机驱动器的原理就是要把控制系统发出的脉冲信号转化为步进电机的角位移,这样,控制系统通过脉冲信号CP 就可以达到电机调速和定位的目的。2、方向电平信号DIR:此信号决定电机的旋转方向。比如说,此信号为高电平时电机为顺时针旋转,此信号为低电平时电机则为反方向逆时针旋转。此种换向方式,我们称之为单脉冲方式。另外,还有一种双脉冲换向方式:驱动器接受两路脉冲信号,当其中一路有脉冲信号时,电机正向运行,当另一路有脉冲信号时,电机反向运行。由拨位开关的第5位决定使用何种方式。3、使能信号EN:此信号在不连接时默认为有效状态,这时驱动器正常工作。当此信号回路导通时,驱动器停止工作,这时电机处于无力矩状态,此信号为选用信号。为了使控制系统和驱动器能够正常的通信,避免相互干扰,我们在驱动器内部采用光耦器件对输入信号进行隔离,三路信号的内部接口电路相同,常用的连接方式为共阳方式:把CP+、DIR+和EN+接在一起作为共阳端接外部系统的+5V,脉冲信号接入CP-端,方向信号接入DIR-端,使能信号接入EN-端;共阴方式:把CP-、DIR-和EN-接在一起作为共阴端接外部系统的GND,脉冲信号接入CP+端,方向信号接入DIR+端,使能信号接入EN+端;差动方式:直接连接。 本课题中驱动电机的驱动脉冲信号输入由AT89C51的P1.2位提供,方向信号由P1.1位提供,具体接线方式为:P1.1与电机驱动器的方向信号输入端口相连,用来控制电机的两个转向,00为正转,01为反转。P1.2与电机驱动器的脉冲信号输入端口相连,用来控制脉冲发出频率,以此来控制电机的转速。具体电路图如下:图 4.9 总控制电路图图 4.10 总控制电路实物图5 控制系统的软件设计5.1 编程语言C51简介 C语言是一种高级程序设计语言,它提供了十分完备的规范化流程控制结构。因此采用C51语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,这样可使整个应用系统程序结构清晰,易于调试和维护。对于一个较大的程序,可将整个程序按功能分成若干个模块,不同的模块完成不同的功能。对于不同的功能模块,分别指定相应的入口参数和出口参数,而经常使用的一些程序最好编成函数,这样既不会引起整个程序管理的混乱,还可增强可读性,移植性也好。5.2 单片机控制系统软件设计 小车的单片机控制系统主要作用是改变电机驱动器的输入信号,调节电机转速,使左右驱动轮电机产生差速,从而使移动小车实现直线前进、直线后退、向左圆弧转弯、向右圆弧转弯、原地左转、原地右转、停车等基本轨迹运动。其程序流程图如图5.1所示。图 5.1 程序整体流程图5.2.1 AT89C51定时器设置 驱动步进电机的脉冲由AT89C51的定时器中断方式产生。AT89C51有两个16位内部定时器/计数器,它们既可以编程为定时器使用,也可以编程为计数器使用。若是计数内部晶振驱动时钟,则为定时器;若是计数输入管脚的脉冲信号,则为计数器。与T/C有关的特殊功能寄存器:1、计数寄存器TH和TLT/C是16位的,计数器由高8位TH和低8位TL构成。在特殊功能寄存器(SFR)中,对应T/C0为TH0和TL0,对应T/C1为TH1和TL1。定时器/计数器的初始值通过TH1/TH0和TL1/TL0设置。 本设计中T0用来控制电机转速;T1用来控制串行通信波特率,初始值设置如下: TH1=0xfd; /设置波特率为9600 TL1=0xfd; TH0=0x00; /设置定时器初值 TL0=0x00;2、T/C控制寄存器TCOND7 D6 D5 D4 D3 D2 D1 D0TR1TR0TR0/TR1:T/C0,T/C1启动控制位 1:启动计数 0:停止计数TCON 复位后清“0”,T/C需受到软件控制才能启动计数,当计数寄存器计满时,产生向高位的进位TF,即溢出中断请求标志。TR1=1; /启动定时器1TR0=1; /启动定时器03、T/C方式控制寄存器TMOD D7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1MOGATEC/TM1MO T/C1 T/C0C/T:计数器或定时器选择位1:计数器 0:定时器GATE:门控信号1:T/C的启动受双重控制,即要求TR0/TR1和INT0/INT1同时为高。0:T/C的启动仅受TR0或TR1控制。M1和M0:工作方式选择位。四种工作方式,由M1和M0的四种组合状态确定,具体见表5.1。表 5.1 定时器/计数器工作方式M1 M0方式功 能0 00为13位定时器/计数器,TL存低5位,TH存高8位 0 11为16位定时器/计数器 1 02自动重装初值的8位计数器 1 13T0为两个8位独立计数器,T1为无中断重装8位计数器 在本设计中需要同时满足定时和串行通信两种工作要求,故需要启动T0和T1。T0用来定时,通过改变定时器T0的初值以达到改变电机转速的目的;T1用来设置串行通信的传输速率,即波特率。如果上位机、下位机的波特率不同,传输过程必将发生错误。本设计中T0和T1分别选择工作方式1和工作方式2。5.2.2 中断设置 AT89C51单片机中断的控制主要实现中断的开关管理和中断优先级的管理。这个管理主要通过对特殊功能寄存器IE和IP的编程实现。1、 中断允许寄存器IE D7 D6 D5 D4 D3 D2 D1 D0EAET2ESET1EX1ET0EX0EX0,EX1:外部中断0,1的中断允许位。1:外部中断0,1开中断; 0:外部中断0,1关中断。ET0,ET1:定时器/计数器0,1溢出中断允许位。1:T/C0,T/C1开中断; 0:T/C0,T/C1关中断。ES:串行口中断允许位。1:串行口开中断; 0:串行口关中断。ET2:定时器/计数器2溢出中断允许位。1:T/C2开中断; 0:T/C2关中断。EA:CPU开/关中断控制位。1:CPU开中断; 0:CPU关中断。 AT89C51单片机复位时,IE被清“0”,此时CPU关中断,各中断源的中断也都被屏蔽。若系统需用中断方式进行事件处理,则系统初始化程序中需编程IE寄存器。总的来说,单片机仅配置使用某些中断,其他中断被屏蔽。因此不使用外部中断时,外部中断用的管脚可用于通常的I/O功能。若程序中所有的中断都不使用时,使用EA禁止。2、串行口控制寄存器SCON 在串行口进行发送/接收数据时,每当串行口发送/接收完一组串行数据时串行口电路自动使串行口控制寄存器SCON中的RI或TI中断标志位置位,并自动向CPU发出串口中断请求,CPU响应串行口中断后便立即转入串行口中断服务程序执行。因此,只要在串行口中断服务程序中安排一段对SCON中的RI和TI中断标志位状态的判断程序,便可区分串行口发生了接收中断请求还是发送中断请求。 D7 D6 D5 D4 D3 D2 D1 D0SCONTIRITI:串行口发送中断标志位。1:有发送中断; 0:无发送中断 在串行口发送完一组数据时,串行口电路向CPU发出串行口中断请求的同时也使TI位置位,但在CPU响应串行口中断后是不能为硬件复位的,故用户在串行口中断服务程序中通过指令来使它复位。RI:串行口接收中断标志位1:有接收中断; 0:无接收中断 在串行口接收到一组数据时,串行口电路在向CPU发出口串行口中断请求时也使RI位置位,表示串行口已产生了接收中断。RI也应由用户在中断服务程序中通过软件复位。3、中断优先级寄存器IP 当系统中多个中断源同时请求中断,CPU按中断源的优先级别,由高至低分别响应。 AT89C51单片机有两个中断优先级,高优先级和低优先级,每个中断源都可以编程为高中断优先级或低中断优先级。这样可以实现两极中断嵌套,嵌套原则是:一个正在执行的中断服务程序可以被较高的中断请求中断,而不能被同级或低级的中断请求所中断。两极中断通过使用IP寄存器设置。D7 D6 D5 D4 D3 D2 D1 D0PSPT1PX1PT0PX0PX0,PX1:外部中断0,1中断优先级控制位。1:高优先级 0:低优先级。PT0,PT1:定时器/计数器0,1中断优先级控制位。1:高优先级 0:低优先级。PS:串行口中断优先级控制位。1:高优先级 0:低优先级。具体程序见附录C。中断函数流程图如图5.2:图 5.2 中断函数流程图5.2.3 串行协议设置开始符 地址号 电机转向 转速控制 结束符 开始符 地址号 电机转向 转速控制 结束符AA0000/01THTLDDAA0100/01THTLDD 00号单片机 01号单片机 每个字符串由开始符AA标志开始;第二位控制地址号:00为0号单片机(控制左轮),01为1号单片机(控制右轮);第三位控制电机转向:00为正转,01为反转;第四、第五位控制电机转速;最后以结束符DD标志结束。具体程序见附录C。串行协议流程图如图5.3:图 5.3 串行协议流程图6 系统操作界面设计6.1 设计方案简介 Visual Basic 语言有很强大的图形界面编辑功能。使用Visual Basic 可以很方便地设计出界面美观、使用方便和功能强大的应用程序17。依据系统的控制要求和VB 提供的各种控件的特点,窗口要实现的功能有:参数的输入、控制命令的选择、发出等。下面介绍窗口界面的设计。6.2 利用MSComm控件实现VB中的串行通讯 MSComm可设置串行通讯的数据发送和接收,对串口状态及串口通讯的信息格式和协议进行设置。它是一个标准的十位串口通讯,包括八位标准数据和数据的起始位和停止位。提供两种不同的处理通讯方式。一个是事件驱动通信,也就是利用MSComm控件的OnComm事件捕获并处理这些通信事件;另一个是通过检查CommEvent属性值查询事件,如果应用程序较小,这种方式可取7。 以下是程序所用到的控件的属性:Commport:设置并返回通信端口代号。程序必须指定所要使用的串行端口的号码,Windows系统会使用所设定的通讯端口与外界作通讯。程序亦可经由此属性读回所使用的连接端口号码。再此所设定的通讯端口号由1开始递增,MSComm控件最大值为16。默认值为1。Settings:设置初始化参数。以字符串形式设定或传回联机速度、同位检查、停止位等四个参数。其格式为“BBBB,P,D,S”,其中BBBB为联机速度,P为同位检查方式,D为数据位数,S为停止位数。默认值为“9600,N,8,1”,其意义为“所使用的通讯端口是以9600Bit的速度作传输,不作同位检查,每个元是8个Bit,而停止位是1个Bit”,此四项必须是依照顺序,不可前后对调。PortOpen:设置或传回通讯连接端口状态。使用串行端口前必须先将要使用的的串行埠先行开启;而在使用完毕后,也必须执行关闭的动作。串行通讯口端的各项功能的完成都是在PortOpen的True与False之间。Output:将一个字符串写入缓冲区。当程序需要向对方传输字符串时,可将字符串使用此指令写入输出缓冲区。InputLen:指定由串行端口读入的字符串长度。RThreshold:设定或传回引发接收事件的字符数;即属性页上的“最小接收字符数”。当接收缓冲区达到所设定的字符数时,将会引发OnComm事件中的接收事件。所以此属性就是引起接收事件的“门槛”默认值为0,其意义是无论缓冲区中有多少字符均不引发接收事件。Input:取回并删除接收缓冲区中的数据流。InputMode:设置或返回Input属性取回的数据的类型,数据是以字符串的形式接收还是作为字节数组中的二进制形式接收。“0”文本形式,“1”为二进制形式。具体程序如下:Private Sub Form_Load() MSComm1.CommPort = 1 通信端口号为 1。MSComm1.Settings = 9600,n,8,1 波特率9600,数据位8位,没有校验位。一个停止位。 MSComm1.InputLen = 6 此设置表示输入数据长度不受限制 MSComm1.InputMode = comInputModeBinary 二进制接收方式。 MSComm1.InBufferSize = 1024 MSComm1.RThreshold = 1 最小接收字符数为1 MSComm1.PortOpen = True 开启串行通讯口End Sub6.3 操作窗口设计 依据系统的控制要求、主程序的流程和参数输入顺序,系统的主操作界面可分为以下几个区域设计。1、原始参数输入区:主要由标签、文本框、单选按钮组成,随着输入参数的不同,输入区有不同的显示形式。2、操作提示信息显示区:负责提供操作过程中的错误信息。3、按钮区:包括运动方式选择按钮,复位,结束按钮等。控制系统的操作界面图如下:图 6.1 移动式机器人控制系统的操作界面6.4 运动轨迹的实现1、直线前进运动:两电机空间转向均为正转,转速相同即可实现运动。2、直线后退运动:两电机空间转向均为反转,转速相同即可实现运动。3、原地左旋转运动:00号电机(左)空间转向为反转,01号电机(右)空间转向为正转,两电机转速相等即可实现运动。4、原地右旋转运动:00号电机(左)空间转向为正转,01号电机(右)空间转向为反转,两电机转速相等即可实现运动。5、左转运动:两电机空间转向均为正转, 00号电机(左)转速小于01号电机(右)即可实现运动。6
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。