基于单片机的六自由度关节控制系统设计毕业设计_第1页
基于单片机的六自由度关节控制系统设计毕业设计_第2页
基于单片机的六自由度关节控制系统设计毕业设计_第3页
基于单片机的六自由度关节控制系统设计毕业设计_第4页
基于单片机的六自由度关节控制系统设计毕业设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计 (论 文) 基于单片机的六自由度关节控制系统设计Design of Six Degrees of Freedom Joint Control System Based on Single Chip Microcomputer 学 院: 专业班级: 学生姓名: 学 号: 指导教师: 年 月毕业设计(论文)中文摘要基于单片机的六自由度关节控制系统设计摘 要:机器人是一种机械设备,它能进行编程并能在自动控制下进行某些操作和移动任务。而机械臂作为机器人的一个重要分支,其应用也越来越普及。如今,国内的机械臂控制系统已经成为一门热门的研究课题,因此,本文设计了一种基于单片机的六自由度关节控制系统。本文首先本文介绍了六自由度关节控制系统中包含的硬件结构。接着,介绍了机械臂的六自由度关节控制系统的软件实现,包括对软件进行功能分析以及程序的编写。具体设计流程是首先利用Protel进行电路原理图的设计,接着了解如何用Matlab对六自由度关节进行数学上控制运动模型的建模仿真,之后用Proteus软件进行了电子电路与控制程序的仿真。最后,实验证明本设计的方案可行,并对本设计的成果进行总结和反思,并指出了设计中存在的不足和今后的改进方向。关键词:机械臂;单片机;舵机;机器人毕业设计(论文)外文摘要Design of Six Degrees of Freedom Joint Control System Based on Single Chip MicrocomputerAbstract: The robot is a kind of mechanical equipment, it can be programmed and can perform certain operations as well as mobile tasks under automatic control. The mechanical arm is an important branch of the robot and its application is becoming more and more popular. Now, the mechanical arm control system has become a popular research topic in our country, therefore, this paper designs a six degree of freedom joint control system based on single chip microcomputer. This paper first introduces the hardware structure contained in the six degrees of freedom joint control system. Besides, this paper introduces the software realization of the six degrees of freedom joint control system of the manipulator, including the function analysis of the software and the realization process of the software. The specific design process is using Protel to design circuit schematics and learning how to use Matlab to simulate the motion model of the six degrees of freedom joint. After that, I use Proteus software to carry out the simulation of electronic circuit and control program. Finally, experiments show that the design of the program is feasible. Then, I summarize and reflect on the results of this design. I also point out the shortcomings in the design and introduce its future improvement.Keywords: Mechanical arm; Single chip; Steering gear; Robot届本科毕业设计(目录) 第 27 页 共 1 页 目 录1 绪论11.1 研究背景和意义11.2 国内外发展现状和发展趋势21.3 本文的主要内容52 机械关节系统的组成62.1 坐标形式62.2 驱动方式62.3 控制方式73 控制系统的硬件设计83.1 舵机选择与驱动电路83.2 主控制器选择93.3 主控制器电路图113.4 输入电路144 控制系统的软件设计154.1 姿态的输入与解算154.2 舵机控制信号的产生164.3 控制程序165 系统的仿真195.1 仿真电路图绘制195.2 仿真结果20结论23致谢24参考文献25附录:1附录1:1附录2:21 绪论1.1 研究背景和意义自第一台具有现代意义的机器人问世已经过去了将近几十年,在这期间,机器人技术获得了突飞猛进的发展。这是一门综合了机械磨具设计、电力电子驱动、嵌入式编程、自动控制以及人工智能等的交叉学科。与此同时,机器人学也因此而丰富起来,它的发展和机器人是相辅相成的。其不但推动了机器人的发展,并且,随着工业机器人对设备要求越来越高,机器人学也越来越丰富,并不断地在增加新的内容,包括控制理论、信息传感技术以及新兴的人工智能与仿生科学等1。随着工业水平的稳步提升,机器人的使用范围变得更加宽广,而其中使用较为广泛的就是六自由度关节机械臂。机械臂的分类多种多样,根据载重能力的大小可分为大、中、小三种类型的机械臂。大型的机械臂主要应用在工厂车间的货物搬运、装配等大重量负载的场合,如图1-1所示。中、小型机械臂主要是用于车间内的焊接、喷漆、质量检测等不需要太大负载但是精度要求较高的场合,如图1-2所示。并且,随着工业生产需求的不断提高,一些生产应用场合使得人们期望机器人能够完成更多复杂的任务,要求其拥有更高的运行速度和控制精度2,因此,针对此类需求去研制开发机械臂的控制系统异常重要。 图1-1大型机械臂示意图图1-2中、小型机械臂示意图六自由度关节的机械臂是由六个独立的旋转关节串联形成的一种工业机器人3,国内一般的六自由度关节主要是采用关节串联的方式组成的,虽然六自由度关节可以完成基本的动作需求,但是它的设计难度和复杂程度大大提高,并且在组装、装配的过程中费时费力。与此同时,在运动中,各关节相互制约,关节的电子线路裸露在外,容易造成线路缠绕,轻则会影响运动效果的精度,严重的甚至会造成机械臂损坏,如果没有恰当的保护机制,还可能造成人员伤亡。针对上述使用过程中的各类问题,设计完整可靠的机器关节就显得尤为迫切。1.2 国内外发展现状和发展趋势1.2.1 机器人发展历史1920年,科幻小说家Karel Capek在其作品中最先使用Robota词语, “机器人”这个词开始走进人们的视线4。1939年,美国Westinghouse在纽约的世博会第一次展示了家用机器人,此款机器人由电缆线控制,可以行走和发音。但是,这只是一款演示型的概念产品,距离实用还有很远的一段距离。1942年,著名科幻作家Isaac Asimov在他的作品中提出了“机器人三定律”,虽然这是科幻小说的设定,但是其逻辑严谨,切合实际,并且这个“机器人三定律”也成为了科学界默认的机器人准则5。1948年,维纳创立了控制论,并阐明了机器中通信、控制过程的基本规律,最早提出了以计算机为核心的自动化工厂的概念6。1954年,美国人德沃尔发明了首台可编程机器人,率先创造了现代意义上的机器人。1956年,马文.明思在达特茅斯会议上提出智能机器人可以感知周围的事物,并建立可以从中找出解决问题方案的抽象模型 7,正是这个理念为后续几十年的智能机器人发展指明了方向。1959年,通用机器人公司制造了首台工业用机器人,其创造者英格伯格也因此次发明对机器人行业做出了突出的贡献被誉为“工业机器人之父”8。在六十年代,因为传感器技术的发展,机器人的功能和可操作性变得越来越强。其通过加入视觉传感器、声呐、光电管等器件,来增加机器人的感觉器官,使得机器人能更加准确的进行定位。1968年,美国斯坦福研究所发布了一个名为Shakey9的机器人,这款机器人自带视觉感受器,它可以根据操作者的指示自行寻找指定积木并进行抓起,第三代机器人的研究便自此掀开了序章。在七十年代,随着计算机以及控制理论的完善,美国通用公司推出了通用工业机器人PUMA,表明了机器人技术在生产过程中得到实际的应用,而且PUMA机器人到现在都有人在使用。还值得一提的是日本,虽然日本机器人行业起步晚,但是在一系列鼓励研发、鼓励使用机器人的政策带动下,其机器人行业也开始迅速崛起,逐渐的,其机器人拥有量和机器人技术都走在了世界前沿,并被誉为“机器人王国”。首台人形双足机器人便是在日本早稻田大学研究开发成功的,其研制者加藤一郎也被称为“人形机器人的父亲”。在八、九十年代,随着工业化进程的加速,机器人开始广泛应用于汽车、电子等行业,渐渐取代了流水线上的工人。随着时代的进步,工业机器人的使用量和受欢迎程度达到了顶峰。机器人的动作准确、效率高,其生产产品的效率以及质量都远胜于工人的手工操作。之后,随着乐高、微软等推出模块化机器人组件,机器人统一化的发展方向也更加显而易见,我们甚至可以预见,工业和民用机器人将更多、更快地走入人类的生活。1.2.2 国外机器人发展现状1989年,美国国家宇航局等提出了一个遥操作机器人控制系统结构的标准参考模型,这是最早的对智能机器人系统按照功能进行模块划分的尝试。NASREM模型共分为三层,每一层又分为任务分解、世界建模和传感器处理三个部分10。每一部分都是状态机,可以按照输入生成对应的输出,它可以接收到相同层传感器采集的数据和上一层命令的输入,输出是对下层的命令和对上层的信息反馈。这种结构描述了一个设计系统的通用方法,并且已经有基于NASREM模型的实际系统。以上是机械臂控制理论的建模进展,而对于机械臂实际使用的研究状况如下:纽约州立大学开展了一个针对多机械手协同工作系统的研究项目。2006年,Glenn Wheil等人研发出新型移动机械手臂,提供和验证了多种控制算法。德国航天中心使用变刚度执行器开发的机械臂执行机构,采用模拟人类手臂的方式,可实现26个自由度的动作。柏林科技大学研制的仿生机械臂,结合机电部件和生物模型,以人造骨和人造肌为原料,采用气动肌腱的动力方式,可以完成模拟人类肢体的动作。2011年瑞士ABB公司发布了仿人双臂机器人概念机11,目的是替代人们完成精巧零件的组装,因为针对的是精细加工行业,其对于机器人的动作精度、灵活度、柔顺性以及可靠度都有极大的要求。在概念机中,此机器人每个动作机械臂为七个关节,末端为柔性抓手,实现柔性反馈,保证动作的安全,并且它的控制器还同时具备实施规划动作路径的功能。2012年,美国Rethink公司推出新一代仿人机器人,双臂具有七个关节,由弹性驱动器驱动,并且可以根据前端的摄像头实现定位,可以实现0.5mm的定位精度,其负载重量和动作速度等各项指标都达到了人类手臂的标准。日本安川的双臂系列机器人在负载和灵活性方面也具有较高水平,能够在自动化流水线上完成一系列操作12。本田公司的仿人机器人可以完成精密定位,并且可以根据传感器反馈实时调整动作的方向和力度,完成旋开水瓶、倒水、握手、送餐等一系列动作。美国通用公司和国家宇航局合作的Robonaut2机器人主要针对复杂环境下的危险任务设计,负载能力强,可靠性高,可以在太空甚至地外星球协助人类宇航员或者单独完成各类任务13。1.2.3 国内机器人发展现状我国的工业机器人的研发始于上世纪六十年代,但是在很长一段时间内,国内众多研究机构的研发进度都只是停留在程控阶段,并且,无论是控制算法还是电机技术都没有重大突破,一直在重复低精度的工作。后来,少数科研院所才慢慢开始进一步的研究。在863计划14之前,国内甚至还没有教学用的关节机器人产品,更不必说能够应用的产品了。但随着我国的改革开放进程,经济开始飞速发展,我国工业化程度大大的增高。另外,国家也将机器人事业列入了发展规划项目,因此带动了机器人产业的发展。经过了近几十年的发展,我国目前已经形成了自动化的生产线,建设了配套行业,带动了一些工业机器人公司,例如沈阳新松、哈尔滨博实、一汽涂装研发中心、上海发那科、深圳市汇川技术、广州数控设备、安徽埃夫特等机器人产业基地。1.2.4 机器人的发展趋势自二十世纪90年代以来,机器人技术的发展方向逐渐从制造领域向非制造领域扩展。在当下,机器人的首要研发方向已是朝着基于非结构环境、极限环境的先进专用机器人发展15。并且,这种研发也正在朝着模块化、小型化、智能化以及自动诊断、自动修复的方向发展。机器人操作也开始迎合多种多样、有特点的操作环境,并且开始进入更广阔的制造以及非制造领域。从机器人的发展进程来看,随着机器人技术的发展,其控制系统的控制精度变得越来越高,控制方法也越来越多功能,并且向着智能化、集成化以及系统化等方向发展16。1.3 本文的主要内容针对国内机械臂控制系统目前性能参差不齐的现状,本篇文章设计了一个以STC89C52单片机为基础的六自由度关节控制系统。本文的主要内容如下:第一章首先论述了本文题目的背景与意义,之后追溯了机器人技术的进步过程,详细描述了国内和国外机器人的发展状况,并且分析了国内机器人行业所存在的不足,最后,展望了机器人的发展方向。第二章对机械臂的组成进行了概述,介绍了机械臂的机械动力结构和电子控制结构,并简单分析了机械臂的运动控制模型。第三章主要介绍了六自由度关节控制系统中的硬件结构,包括所用元器件的选用以及相应的电路连接图。第四章介绍了机械臂关节控制系统的软件实现过程,包括利用Matlab进行数学上的控制运动模型建模去调整控制参数的理论学习,软件的功能分析以及程序的编写,详细叙述了各功能模块的程序设计思路和实现流程。第五章首先熟悉了Proteus软件的使用,然后在其中进行仿真电路图的绘制,最后用Proteus软件进行电子电路与控制程序的仿真。最后是针对本设计的成果与实现情况进行了总结,并指出了设计中存在的不足和今后的改进方向以及致谢。2 机械关节系统的组成2.1 坐标形式机械臂可以按照结构的坐标表示方法分为如下几种类型:直角坐标。机械臂的关节在各自的运动方向上互相垂直。虽然其操作简单,造价低廉17,但是它不能完成较复杂的任务。并且,在操作过程中机械臂灵活性较差,不容易控制。圆柱坐标。在水平放置的转台上安装机械臂,这样,机械臂可以在转台上进行上下平移18,并且可以在水平方向进行伸缩移动,此类结构的动作运动简单而且易于控制,但是可覆盖的区域比较小。球坐标。此种结构与球坐标相比动作更加灵活,易于控制,并且基座小,覆盖空间广,但是关节的防护问题难以解决。关节型。这类机械臂的结构类似于人体的骨骼结构,通常由两个肩关节和一个肘关节进行定位,由两个或三个腕关节进行定向。两个肩关节正交分布,其中一个进行偏航,另外一个实行俯仰。此类结构动作比较灵活,覆盖面积广,并且各关节之间的独立性非常好,这也是当前使用最为广泛的一种机械臂结构。SCARA型。这类结构的机械臂是由三个旋转关节构成19,从而能够在平面中实行定位和定向移动。另外,此种类型的机械臂可以完成垂直平面的移动,适用于精密装配任务的工业流水线。考虑到设计的要求,本设计采用的是关节型机械臂,而本文所述的六自由度关节机械臂主要包括腰转、肩转、肘转、腕转、腕摆以及抓取六个部分,分别由六个舵机进行驱动。2.2 驱动方式机器人机械臂的驱动方式可以分为如下几种:气压驱动。其介质通常为压缩的空气20,驱动压力由负载能量决定,通常为0.40.6个大气压,有些场合有可能达到1个大气压。该驱动系统的结构简单,成本低,并且动力作用较为平稳,但缺点是功率较小,并且动力装置体积较大,定位精度不容易控制。它主要适用于易燃、易爆的危险场合以及扬尘、震动的恶劣环境。液压驱动。液压驱动的优势是功率较大,动作平稳,效率高,响应速度快并且控制调节简单,基本上可以实现无级变速21。但是,受密封效果的影响,可能会产生液压油的泄露,影响运动的精度与系统稳定性,因此液压驱动多用于大负载、低速场合。电机驱动。电机驱动是通过电机的旋转来提供动力,可以直接由电机带动旋转轴旋转,或者经过减速装置提高动力。电机驱动相比于其他驱动方式最大的优点就是控制比较灵活,定位精度高,成本低,易于实现,并且可以方便的增加反馈机制,提高动作的精确程度,也不会存在污染泄露等问题。同时,电机驱动也是最普及的一种机械臂驱动方式。本设计的机械臂主要是用于教学演示以及控制算法的验证,对于负载的要求较小。并且因为教学使用需要控制成本,更要易于维护,在综合考虑应用环境以及全面比较各驱动方式的的情况下,本设计选用了电机驱动。2.3 控制方式机械臂的控制方式按照控制指令的流动可分为串行和并行两种方式,考虑到设计的可实行程度,同时为了使计算量简单,我们优先选择串行的方式。串行控制还可以根据微控制器的功能和分布划分成如下三种形式:单控制器,集中控制。此类控制方式是由单个微控制器去完成系统所有的功能需求,包括指令的接收、解码,动作的解算以及电机驱动信号的调制。此类控制方式对于单片机的性能和程序编写的任务分配要求较高,要达到实时控制则需要在程序优化上投入很多时间。并且,此类系统的后期维护比较困难,不易完成系统的更新换代。双控制器,集中控制。若是双控制器,那么其中之一作为主控制器,进行接收指令、解码以及动作解算,另一个辅助控制器只是进行电机的驱动控制,两个控制器之间只能进行命令传递。这种控制系统可以方便的进行程序维护,甚至可以在保持通信协议的情况下,更换某一部分控制器。多控制器,分布控制。此类控制结构是不设置主控制器的,而是根据功能将系统进行划分,各部分之间只进行数据和命令的传递,在后期的维护过程中可以对任意控制器进行升级维护。此类系统的控制方式比较灵活,与此同时,其速度与可靠性都较高22。综合考虑各种设计因素,因为本设计在定型之后,后期更换维修的可能性较小,因此,本设计采用单控制器集中控制的结构,在程序中对各功能进行模块化分割。3 控制系统的硬件设计3.1 舵机选择与驱动电路舵机是多种技术的集合体,它由发动机、减速齿轮、转动轴、电位计以及控制电路等构成。舵机可以利用反馈信息不断校正控制量,使得输出位置保持恒定。其结构如图3-1所示。图3-1舵机结构图舵机的形状和大小各异,并且种类众多,其分类大致如图3-2所示。最右侧舵机为标准多级,中间两个为微型舵机,左侧为大扭矩舵机,它们控制方式相同,都是三线制,即一根电源线,一根地线,一根信号线,如图3-3所示。图3-2常见舵机的分类图3-3舵机线路示意图除了大小和重量之外,舵机还有两个重要的指标,即扭力和转速,这是由舵机内部减速齿轮的结构决定的。在供电电压是5V的情况下,标准舵机扭力为5.5kg/cm,标准转速为0.2s/60。舵机的控制信号是一种简单的脉宽调制信号,可以轻松地使用控制器或者模拟电路发出这种信号。舵机控制信号周期为20ms,脉冲宽度0.5-2.5ms23,线性对应舵盘0-180度,信号图如图3-4所示。图3-4舵机控制信号图3.2 主控制器选择在本设计的功能实现过程中,不但需要进行数字信号的处理,还需要进行数字运算和逻辑控制,主控制的实现有如下几种方案可供选择:第一种方案是使用DSP作为系统的主控制器,DSP也称数字信号处理器,能实现该系统中各模块之间的调度和运算。DSP在一般的微控制器基础上集成了专门的乘法器电路,更适合进行大规模的高速数字运算,通常使用在音频、视频信号处理等需要大规模实时运算的地方。但是,因为DSP可进行专门的数字运算,所以其价格也比一般为控制器要高,在对运算量和运算时间要求不是很高的情况下,一般来说,微控制器即可满足要求。第二种方案是采用FPGA24作为主控制器。FPGA的全称是现场可编程门阵列,它是由可配置逻辑块组成的数字集成电路,这些逻辑块间用可配置的资源互连,通过对其中资源连线的配置实现开发者想要的一些效果。FPGA既可以像底层电路设计一样简单易懂,也具有嵌入式开发的灵活性,可以方便功能的修改和升级。但是FPGA是新兴产品,开发资料较少,且各生产厂家的器件和编译器下载器无法通用,因此开发难度较大。并且,FPGA适合各类单纯的数字逻辑控制运算电路,其最大的优势就是可以进行并行计算,虽然主频不如微控制器高,但是大规模并行计算从侧面提高了FPGA的数字处理能力。但是,FPGA更侧重于硬件描述,其编程较为复杂。第三种方案是采用单片机作为主控制器。单片机的结构和通用计算机的CPU是类似的,都具有处理器、存储器等部件25,我们可以将其视为一款低端的、可以进行底层编程扩展的通用CPU。它们的区别只在于通用电脑的CPU位数更高,运算频率更快。单片机编程灵活,适合进行逻辑运算。并且根据几十年的发展,单片机的资料丰富,开发较为简单。根据本设计的功能要求,并结合各种开发方式的特点,我选择使用单片机作为本次设计的主控制器。一般来说,个人计算器强调的是通用性,重点在于其操作系统与交互界面。而单片机的主要优势则是其编程灵活方便,可以随意根据开发者的需要进行修改、编程。单片机的应用非常广泛,从工农业生产到儿童玩具制造都有单片机的身影,例如汽车发动机控制系统、医疗设备、办公机器、家用电器等。单片机的制造和生产不仅受到设计的限制,更多的是微电子方面的制造工艺难以满足。最初的单片机只有4位运算能力,且主频和内存都不如现在的单片机。现在单片机经过8位、16位已经发展到了32位的时代26,并且其运算速度在逐渐提高。在发展过程中,单片机集成了越来越多的通用输入输出口、中断系统、定时计数器、各种通信总线、模数转换等模块。目前,单片机种类繁多,结合本设计功能的需求,我选择了8位STC89C52单片机。相对于性能强大的32位单片机,本设计选择的STC89C52单片机所要求的外围电路简单,易于实现制作。常见的40脚双列直插的封装27,使得此设计可以直接在万用板上手工完成焊接,而不用专门印制电路板。此款单片机是单片机家族中应用较广泛的一款,经过多年发展,资料丰富,入门学习方便。最重要的是,本设计要求实现的功能,并不需要复杂的通信接口以及中断系统等片上集成资源,而所选型号单片机片内集成的定时计数器以及通用输入输出管脚已经足够,因此我最终选择了该型号的单片机来完成设计。STC89C52单片机是一款8051内核的8位单片机。因为其价格便宜,电路清晰,兼容性好,它在中国大陆地区得到了广泛应用。此款单片机是由中国本土的公司设计生产的,因此在中国大陆价格便宜。与此同时,此款单片机使用的串口编译烧录程序,无需特定的烧写器件,使用方便。最重要的是,此款单片机兼容8051内核,所有此系列的单片机程序通用,而8051单片机历史悠久,不论是在大学课程教材中还是在工业生产中都有大量的应用,实例丰富。由于此些种种原因,虽然STC89C52单片机在性能和可靠性上较国外高级的32位单片机还具有一定差距,但在对功能和性能要求不高的设计中,尤其是对于刚刚跨入电子设计行业的初学者,是一款非常不错的选择。STC89C52单片机有4组32位通用输入输出管脚,可以满足大部分的设计需求。值得注意的是,此款单片机因为内存容量有限,被设计为可扩展外部存储的形式,而所用的管脚就是P0组管脚,所以P0组管脚内部就不含有上拉电阻。而当P0组管脚作为通用输入输出管脚使用时就要从外部接入大小约等于10k的上拉电阻。单片机的P3组管脚不但可以作为单片机的通用输入输出管脚,还具有一些复用功能,例如串行通信接口的输入输出,外部中断系统的中断触发,定时计数器的时钟输入等功能,因此,我们在使用时需要注意此类功能是否有特定的引脚。3.3 主控制器电路图单片机是利用微电子加工工艺制作出来的,它在运行过程中需要各类辅助电路的协助,例如晶振、电容等,为其提供必要的信号支撑。虽然随着工业制造的发展,单片机的集成度变得非常高,但是,还是有一些技术难点没有被攻克,我们不能无限制的在硅片上设计电子元件,硅片上集成的只是一些电阻、二极管或三极管,而对于电容、电感等的集成技术还没有得到有效应用。虽然有一些器件支持了内部封装的晶振电路,但是,内部晶振受外界环境中的电压、温度等因素影响较大,所以在对时间频率要求较高的设计中,例如涉及到通信时序、定时中断等情况,多采用外界晶振的方式。所以单片机要真正工作起来还需要将一些难以集成的元器件进行焊接,这也就构成了单片机最小系统28。本设计中STC89C52单片机最小系统电路图如下图3-5所示。图3-5单片机最小系统电路图单片机最小系统由单片机、晶振电路、复位电路、电源电路组成。下面我将分别详细地解释各部分电路。STC89C52单片机的晶振电路由晶体振荡器和两个电容构成,如图3-6。因为单片机的内部电路属于时序逻辑电路,因此,需要晶振给电路提供一个脉冲信号进行驱动。此电路中的两个电容是起到稳定晶振输出频率和快速起振的作用,一般选择30pf左右即可。晶振是单片机稳定工作的时钟保证,由于本设计需要较精确的控制,因此选择了11.0592MHz的晶振。图3-6晶振电路图单片机复位即相当于对单片机进行重新启动,执行复位操作时,单片机内部的功能寄存器以及存储器全部清零,从而防止某些寄存器的初值对程序进行干扰。而当单片机出现程序跑飞的死机状态时,也需要复位来重新执行程序。图中单片机的复位电路是由一个按键、一个电阻以及一个电容构成的,如图3-7所示。上电瞬间,电容内无电荷,两端无电压,因此,单片机复位管脚对于参考信号地的电压为VCC,维持为高电平的状态。此时,电源、电阻、电容形成一个回路,并且具有电势差,电源发出的电流对电容充电,充电过程使得电容两端的电压升高。充电完成后,管脚即变为低电平。根据单片机的内部设置,在复位管脚为高电平状态时执行复位操作,变为低电平则复位完成,随后单片机可正常工作,用户执行此过程即为上电复位。手动按键复位原理和上电复位的原理相同。当按键被按下时,单片机复位管脚与VCC电源相连,变为高电平状态,开始复位,而此时电容两端短路,电容放电。当按键抬起,重复给电容充电过程,充电完成,复位管脚回复低电平状态,完成复位,单片机开始正常工作,运行程序内容。图3-7复位电路电源电路由一个VCC电源和两个去耦电容组成,如下图3-8所示,可以提供比较稳定的电源,防止电源电压不稳定,影响到单片机的工作。图3-8电源电路3.4 输入电路单片机系统可以选择的输入方案有多种,独立按键、矩阵式键盘甚至还可以通过模拟通信接口外接键盘。矩阵键盘可以用较少的管脚来实现多按键选择,但是电路比较独立,而且按键复杂。外接PS/2或USB接口键盘则需要编写对应接口的时序,对程序压力较大,而本设计又不需要太多按键选择。独立按键虽然数量较少,浪费IO口,但是编程简单,电路易懂,适合学生,因此,本设计选择独立按键作为输入的实现方式,如图3-9所示。图3-9独立按键图4 控制系统的软件设计4.1 姿态的输入与解算本文所述的六自由度关节机械臂采用的控制方式是集中控制模式,采用单一控制器,即进行姿态运动的解算时,需要对舵机控制信号进行调制。对于机械臂的正运动学分析29,就是指定每一个关节舵机的旋转角度,从而明确末端执行器的位置。我们可以根据机械臂所处环境建立坐标系,在坐标系中分析机械臂的各关节角度,以及末端执行器的运动轨迹。与此同时,如果要进行机械臂的逆运动学分析,则要以机械臂的正运动学解析为前提30。对于机械臂的逆运动学分析,就是根据目标位置处于坐标系中的坐标解算如何控制关节动作保持末端执行器坐标与目标一致。三维空间中任意点,都可以用一个矢量坐标进行表示。为描述空间中某物体的方位,首先要对其所处的三维空间建立直角坐标系。在坐标系中,我们可以根据变换矩阵去描述物体在空间中的坐标变换了,对六自由度关节机械臂建立坐标系如图4-1所示。图4-1六自由度关节坐标系串联机器人的每一个关节和连接杆都构成一个自由度,为描述其相邻杆之间的位置与运动关系,通常所用的就是D-H法。此方法是在每根连杆上都固定一个坐标系,并与基础坐标系相连。其参数定义为i绕Zi-1轴,Xi-1轴到Xi轴的角度,i绕Xi轴,Zi-1轴到Zi的角度,i沿Zi-1轴,Xi-1轴到Xi轴的距离。i沿Xi轴,Zi-1轴到Zi轴的距离31。建立坐标系,即可以根据确定的D-H参数利用旋转与平移变换建立相邻连杆之间的对应关系。六自由度关节串联机器人的逆运动存在封闭解,能直接对正运动公式进行求解,然后获得逆运动解。逆运动学分析对于机器人的运动和轨迹规划都有重要意义,逆运动学分析的准确性将很大程度影响机械臂的动作平稳与精确度。但是,在实际操作过程中,受空间和机械结构的限制,我们需要将计算结果进行转换才能输入到关节控制部分。4.2 舵机控制信号的产生前文已经叙述过,舵机内部存在基准闭环回路,因此只需要控制器发送控制信号即可驱动舵机运动。控制信号的周期为20ms,高电平持续时间大约为500-2500us,对应选择角度为0-180。本系统中共有六自由度关节,即有六个舵机需要控制,而选用的STC89C52单片机中定时器数量有限,因此需要解决如何利用单个定时器产生六路独立PWM信号,而不影响单片机执行其他工作。本设计中利用单个定时器产生多路PWM信号思路如下:在定时器中断中分别设置六组变量,每组变量都在中断函数的自加循环中,输出的PWM信号周期为2700us*6,高电平时间为500us到2000us可调。在中断函数中,自加变量不断自加循环,对应的PWM信号管脚输出高电平和低电平,调节占空比,以此完成多路PWM信号的调制。因为所有调制程序都是在中断服务函数中完成,因此不影响主程序的执行。在主循环中对输入按键进行扫描,如果对应按键发生动作,即将随之改变设定的脉冲宽度,从而在不影响其他脉冲调整的情况下,改变输出控制信号的脉冲宽度。4.3 控制程序本设计利用Keil Uvision4软件开发单片机的程序,Keil Uvision4软件可以完成程序的编写和编译,并可以和Proteus软件实现联动调试。本程序主要分为四大模块,分别为管脚定义、定时器产生多路PWM信号函数、按键扫描函数和主函数,编程顺序如下图所示。管脚定义定时器产生多路PWM信号函数按键扫描函数主函数图4-2编程顺序图首先,在本程序中,利用自加的方式,实现只用一个定时器完成多路PWM信号的控制。在主程序中,设定好舵机初值,通过按键扫描函数,读入按动按键的信息,再通过定时器产生多路PWM信号的函数,从而达到控制舵机角度变化的目的。同时,在按键扫描函数中,添加了报警程序,通过极限值的判断,实现报警。由于具体流程图过于庞大和页面限制,报警流程图只能单独详细呈现,如图4-3,具体流程如图4-4所示。读入按键信息是否小于500或者大于2000?Led灯亮,实现报警YNLed灯不亮,可以继续读入按键信息结束图4-3 报警流程图系统初始化设定舵机初始角度按键扫描按键1按下对应公式,改变占空比延时YN按键2按下按键3按下按键4按下下按键5按下按键6按下正常工作报警电路电机转动电机角度不改变开始结束是否超出角度限制?图4-4 控制程序流程图5 系统的仿真5.1 仿真电路图绘制本系统选用的仿真软件为Proteus软件,Proteus是英国Lab Center Electronics公司开发的工具软件,它不仅仅拥有一般EDA软件的仿真功能,还可以模拟微控制器以及外围器件32。目前,Proteus软件是使用最为广泛、最受单片机爱好者以及使用单片机进行相关科研开发者喜爱的一款单片机仿真软件。因为其操作简单,使用方便,在单片机的教学、研发中应用非常广泛,并且,它的处理器模型支持8051、DSPIC33、PIC16/18、8086和MSP430等。同时,它又在2010年增加了Cortex和DSP系列处理器,并且还将持续增加其他系列处理器模型。在编译方面,它也支持和Keil以及Matlab等多种编译器进行联动调试。接下来,本文开始阐释Proteus软件的仿真流程。首先,打开Proteus软件,选择新建工程。根据工程建立向导进行选择填写即可,然后打开器件库,选择需要用到的器件。本设计中用到了单片机、按键、舵机、示波器,还有一些晶振、电阻和电容等。在添加好器件之后,则开始对器件连线,绘制电路。在仿真单片机电路时,可以不进行最小系统的绘制,只需要将用到的单片机元件进行添加即可。但是,本设计出于严谨性考虑,还是将单片机的最小系统外围电路进行绘制,包括晶振及复位电路。由于仿真环境是理想环境,因此,电源电路不存在电源抖动,不需要添加去耦电容。绘制的最小系统电路如图5-1所示。图5-1仿真中的最小系统图绘制完单片机的最小系统电路之后,接着进行6个舵机以及12个按键的电路连接。由于舵机是集成元器件,只需要将电源线和信号线连接好,而其控制信号的电平与单片机兼容,因此,将其直接与单片机对应的管脚相连即可。最后,是报警电路的连接。本次使用LED灯进行报警,将LED灯一端与单片机对应管脚相连,另一端接地,那么,如果舵机的角度以及转到极限了,我们却仍然按动按键,想让舵机的角度继续增加,那么在这种情况下,LED灯亮,实现报警。舵机以及按键的连线和报警电路图如图5-2所示。图5-2舵机、按键以及报警电路图5.2 仿真结果在仿真电路连接图绘制完成之后,双击单片机,对其工作频率以及程序文件进行设置,将工作频率设为11.0592MHz,并选择编译好的程序文件即可,如图5-3所示。随后,启动仿真,即可在示波器屏幕上观察到单片机输出的控制脉冲信号。控制脉冲信号如图5-4所示。图5-3参数设置图5-4舵机控制脉冲信号按动按键即可调整对应的舵机角度,并且可以在示波器上观察到控制信号的改变。仿真中舵机角度如图5-5所示。 (a)舵机1、2 (b)舵机3、4、5、6图5-5舵机角度图如果要实现报警功能,则要按动按键,使舵机角度一直增加到正、负90度,若在这种情况下,继续按动按键,则LED灯点亮,实现报警功能,如图5-6所示。图5-6报警电路结 论在当今社会,关节控制系统是一项非常热门的研究课题,虽然,其已经有了很长的一段发展历史,但是,它的发展还不能说是完全成熟,仍然有可以更进一步的空间。由于本文要实现对基于单片机的六自由度关节控制系统的设计,我了解了很多有关机械臂的一般控制方法。考虑到51单片机系列在大学的学习课程之内,并且本人对C语言的使用较为熟悉,综合考虑,采用了STC89C52单片机以及使用C语言编程。首先,利用Protel绘制单片机最小系统电路图。接着,参考相关资料,了解利用Matlab对系统的坐标解算进行简单验证的理论。然后,熟悉Keil4软件的使用,并在Keil4中编写了控制系统的程序,进行编译之后,生产.hex文件。最后,在Proteus中连接仿真电路图,导入.hex文件,从而实现了对控制信号的仿真以及验证。并且,从验证结果来看,本设计可以基本完成对六自由度关节的控制,并增加和实现了报警的功能。但是,由于作者的能力确实有限,而且时间方面对于本人来说可能较为仓促,因此,本人在本次设计过程中,没有能力和时间去完成机械臂实物的制作。与此同时,本系统还存在一些不足之处,例如空间坐标与角度的对应、舵机的稳定以及选择速度的控制等问题需要后续解决。机器人关节控制系统的相关研究发展的很快,同时,比尔盖茨作为个人电脑的领导者,他也曾说过机器人很有可能重现个人电脑的兴起。并且在今后的生活中使人们的生活方式完全改变。那么,后面如果有机会、有时间继续完善我本次的设计工作,我会研究相关资料并咨询专业人员,希望可以实现空间坐标和角度的对应以及加强对舵机稳定性的改善,同时,我希望可以对利用Matlab进行姿态解算有更进一步的理解,而不是仅仅停留在了解的程度。最后,本人也希望有机会能够将自己的设计付诸于实践,制作成实物,进而有更进一步的理解和改进。致 谢在本篇论文结束之际,我首先要感谢我的指导老师,因为本文是在指导老师的严格要求和精心指导下才得以完成的。在此期间,李老师曾经和我们一起讨论过设计的相关问题,也在就业实习、感情生活等各方面给予了我们非常亲切的关心。同时,即使在寒假期间,他也通过网络向我们及时传达有关设计的消息,督促我们在规定的时间完成规定的任务,按照学校的流程完成相关工作。不论我们有任何问题向老师求教,李老师都会耐心解答并为我们加油。同时,我要感谢我的舍友和其他同学们,当我在毕业设计过程中遇到“拦路虎”时,当我的就业问题与毕业设计问题相冲突时,当我因为准备面试而没有充足的时间完成论文时,也正是由于他们的热心帮助和鼓励,我才能够坚持下来,直到两方面的工作都圆满完成。我还要感谢我大学的老师们,正是由于他们大学四年来的教学和帮助,我才有一定的理论基础去支撑本次毕业设计,有能力完成自己的学业。当然,我还要感谢我的父母,感谢他们对我无私的奉献,培养我成人、成才。我也要感谢我的学校,虽然每次来到这里,我总要花费很长的时间,但是,这里的一草一木,一砖一瓦,一本书,一份资料,都已经成为了我生命中的一部分,正是因为它们的陪伴,我才能安静地学习,变得更好。谢谢大家!参 考 文 献1 黄芳.工业机器人运动控制分析与研究J.工业c,2016(7):00106-00106.2 李抗.双机器人协调运动中的运动控制研究D.西安工程大学,2016.3 强欢.六自由度机械臂关节模块化技术研究D.北京理工大学,2015.4 赵欣.工业机器人:“中国制造”必然之选J.科技智囊2013(8):34-39.5 Asimov I. The Complete RobotM. Voyager, 1983.6 刘甲玉.维纳控制论思想方法述评J.大庆师范学院报,2004,24(2):17-19.7 佚名.机器人发展简史J.机械工程师,2008(7):18-19.8 王向宁,黄文祥.机器人会走进家庭吗?J.商业周刊,1998(1):96-97.9 曹凯.移动机器人技术研究现状与未来J.信息系统工程,2013(5):140-140.10 Lumia R. Using NASREM for real-time sensory interactive robot controlJ. Robotica, 1994, 12(2):127-135.11 宗卫红.智能技术,智慧跨跃机器人时代向我们走来2014中国国际工业博览会ABB中国媒体见面会J.国内外机电一体化技术,2014(6):19-20.12 徐化,曹其新,邱长伍等.双臂移动机器人的图形化编程与仿真控制系统J.系统仿真学报,2006,18(9):2541-2545.13 Diftler M A, Mehling J S, Abdallah M E, et al. Robonaut 2 - The first humanoid robot in spaceC/ IEEE International Conference on Robotics and Automation. IEEE, 2011:2178-2183.14 863计划智能机器人主

温馨提示

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

评论

0/150

提交评论