已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学校代码: 学 号: 毕业设计(论文)BACHELOR DISSERTATION 论文题目:基于运动控制卡的四关节机械手臂 控制系统设计 学位类别: 学士学位 学科专业: 机械设计制造及其自动化 作者姓名: 导师姓名: 完成时间: 2015.5.21 0基于运动控制卡的四关节机械手臂控制系统设计摘 要 此次毕业设计我主要使用VC+6.0编程软件里的MFC appwizard进行界面编写并通过学习和研究固高科技公司的GT系列编程手册,对所设计的界面进行程序的编写完成四关节机械手臂控制系统的初步设计。在运动控制卡的基础上,通过适当的接线使其对四个闭环伺服电机驱动器进行控制,并以此实现对电机的驱动,而后带动轴的运动使运动平台能够运动。本次设计主要是使电机驱动两个或者三个轴,使其在平面或者三维空间内能够协调运动,并且通过编写相关的程序让电机运转,使其既能在平面实现我们想完成的轨迹,也能在三维空间内实现既定的轨迹路线。关键词:GT运动控制器;VC+ 6.0;伺服机构;机械手 Based on the motion control card of four joint mechanical arm control system designAbstract The graduation design, I mainly use MFC in VC + + 6.0 programming software AppWizard interface written and through the study and research of solid high-tech companies in the GT series programming manual, procedures for the design of the interface of completed the preliminary design of the four joint robot arm control system.In the motion control card based on, through appropriate wiring the four closed loop servo motor drive control, and thus to achieve the motor drive, then drives the axial movement of the moving platform to move.This design is mainly the motor driving two or three axes, the in plane or three-dimensional space to coordinate movement, and through the preparation of procedures related to let the motor running, which we want to accomplish the trajectory in the plane, but also to achieve the path in three-dimensional space.Keyword:GT;VC+ 6.0;Motion controller;Manipulator目录第一章绪论11.1课题背景11.2开放式控制系统11.3设计目的及要求21.3.1 设计目的21.3.2 设计要求3第二章 四关节机械手控制系统的原理及组成32.1运动控制系统简介32.1.1 GT系列运动控制器52.1.2 四关节机械手72.2 GT系列运动控制器的原理82.3 安装步骤9第三章 运动控制系统界面的制作及程序的编制123.1 V C+编程123.1.1 V C+介绍123.1.2 各轴回原点的原理和程序143.1.3 整个界面中控件的程序163.2 控制系统程序的编制163.2.1动态链接库的调用173.2.2初始化183.2.3 S-曲线模式203.2.4 T-曲线模式213.2.5停止223.2.6退出233.3多轴协调运动233.3.1直线插补的两轴协调运动程序243.3.2圆弧插补的两轴协调运动程序253.3.3自定义轨迹曲线263.3.4运动控制界面的制作26第四章 设计结果与不足28第五章 总结29参考文献30致谢31第一章 绪论1.1课题背景 近来伴随着经济的快速发展,人类的手工劳动已经逐渐无法适应生产的需求,所以新的生产条件的产生就变得迫在眉睫,机器就成为新纪元生产需求的产物,并且慢慢代替了人类的手工劳动。伴随着高客气的飞速发展,人们设计出更多并且更有效的机器来替代人工劳动。大量的机器被投入到了生产中去,不但提高了生产的效率,而且也大大的节省了人力物力的消耗,并且也让精度这一人类无法控制的因素得到解决。这一改进不仅大大提高工厂的利润,而且也能被市场所接受。虽然传统机床的产生在一些方面加快了经济的发展,但是它也伴随着一些问题的出现。类比于人类的手工劳动,传统的机床确实节省了人力物力,不过传统的机床在操作时需要有人在旁边,并且必须是有一定工作经验的人才能操作该机床,否则不一定能完成想完成的工作。所以问题随之也就产生了,如果要想很好的掌握机床的操作那就需要很长的时间才能实现,还有一些大件的东西要想顺利加工还需要充足的体力,所以这也就导致了在这一行业中性别也是一大限制。不过时代在发展,人类在进步,当然科技也同样如此,伴随着信息时代的到来,传统机床业逐渐升级成为现在的数控机床,数控机床的智能化比传统机床先进了很多,不过这也是数控机床与传统机床相结合的结果。数控机床不仅可以单独的实现想完成的操作,而且大大的减少了人类手工的操作。相对于传统的机床,数控机床有很多的特点:是生产效率得到大幅度的提高,并且加工精度和工作时间等方面也得到进一步的提高。俗话说一分价钱一分货,数控机床的功能多那么在价钱方面也比传统的机床要贵好多。既然花了那么多前,肯定对所买的东西的性能与要求也会多一些,那么机床寿命应该是最需要关注的一点了。为了满足市场的需求,并且数控机床在功能上本身就有严格的要求,那么加工中心就产生了,众所周知要想加工比较复杂的工件那么对加工中心智能化的要求也就很高,所以随着科技发展和市场需求的不断改变,机床的升级也会慢慢实现。 传统产业的迅猛发展得益于信息时代的高新技术的发展,因此以前的传统的机床产业也逐渐得到了快速的发展,并且由传统机床改进成了早期的数控机床,不过经济的发展,市场需求的不断变化,早期的数控机床也慢慢没办法适应现代生产的需求,所以进一步的改进在所难免,所以精度和柔性化都越来越高了,两者可以相互转换,就防止了以前不同类型的机床,另建部可以相互使用的情况,这个系统不但能够扩展使用,而且也可以相互之间进行操作,这也改变了以前机床间不可以互相使用的情况。这个系统不仅能互相转化利用,并且更方便,而且使机床间的沟通加强了。这次设计主要用的Microsoft Visual C+6.0里面的MFC appwizard这个程序来开发平台的。1.2开放式控制系统 在生活水平不断提高的今天,人们对市场的需求就不断增加,而后市场也必须做出改变才能满足人们对市场的需求。此时一种制造系统的出现就迫在眉睫开放式控制系统。当然这并不是和普通的系统一模一样,这个系统必须具有更好的柔性,而且在功能方面也必须满足一个词多样化。开方式控制系统能够把许多东西集中在一起使用,不像以前单一的控制系统还要分散使用它,这样把需要的东西聚集在一起,更加方便消费者使用。当然这个系统也可以转换适用所谓转换使用,顾名思义就是可以在不同的机器间相互转换使用,这样就改变了以前死板的模式,扩大了使用的空间范围。这个系统不仅可以完成上述功能,还有一个功能就是扩充。这就意味着我们可以自行添加一些新的功能,当然前提是在新的基础上,有了这个功能我们可以很轻松的满足用户的一些特殊需要。该系统不仅能满足新的加工需求,还能迅速的响应,更重要的是可以与其他的公司相互合作,实现集成。开发开放是控制系统并不是那么简单,他的软件开发有许多的特殊需求,这个软件必须要满足所有用户的使用,综合考虑,这个软件必须要比较全面,能让绝大多数的新用户能够轻松的运用并且最好能单独的使用。这个软件在开发时也要想到性能方面的问题,尽量要使程序能符合绝大多数用户的口味并且具有能让用户添加特殊功能的空间,并且把用户的使用情况开放。 开放性控制系统有四个比较显著的特点:第一个特点就是只要把程序插入到机床中就可以使用;第二个特点就是可以把不同机床上的程序移到另一个机床使用;第三个特点就是可以让用户自行添加程序以满足特殊需求;第四个特点就是使机床间可以相互操作使用; 运动控制卡是开放性控制系统中的核心组成部分,它的特点也很鲜明,它能够发出两种不同的脉冲信号。其中一种就是单脉冲,可以表示为脉冲+方向,另一种就是双脉冲,可以表示为脉冲+脉冲,这样的话使得脉冲的误差可以很小。并且还能够实现直线插补。每个轴都能够相互独立的运动并且保证互相之间不影响,当然它的优点也并不仅止于此,例如它还可以自由的使用,因为它对外界很开放。它也可以按照你想的想法和思路来运行。当然精度高也是运动控制卡的一大优点,正因为此它可以很轻松的完成很精确的运动。连续插补功能则是运动控制卡的又一大优点,也就意味着,它可以完成很多的步骤并且是在连续运动的工程中,同时还具有特别高的精度。1.3设计目的及要求1.3.1 设计目的 我的毕设是四关节机械手臂的控制系统设计,初步是用Microsoft Visual C+6.0这一编程软件编制所需要的软件系统,因为基础是运动控制卡所以也涉及了运动控制卡的开发环节与软件的一些结构和它的流程并且通过它来介绍控制系统的硬件组成还有它的工作原理。然后再运用PC+控制卡,完成对三个闭环伺服和一个开环步进电机的控制并且让电机能够带动两个或三个轴,使得控制平台能在二维平面或者三维空间内协调运动,并且通过对笔架的掌控使其能在二维平面或者三维空间内绘制图形。 1.3.2 设计要求 在使用固高科技公司GT系列运动控制器的前提下,使用Microsoft Visual C+6.0中的MFC appwizard编写界面并在界面中的相应位置插入相应的程序,使其能实现所想实现的功能。要求可以分为以下几个方面: 首先是初始化包括控制卡的初始化和各轴的初始化,在各初始化编辑程序处插入所编写的程序。 单轴的运动 对X、Y、Z、W各轴进行控制,记录下运动距离和运动速度并且回零,同时在各个编辑程序处插入所编写的程序。 多轴协调运动包括各轴的回零和坐标系的映射,然后在各个编辑程序处插入所编写的程序。 X、Y两轴联动包括直线运动和圆弧运动,在直线运动中记录X、Y终点的距离,在圆弧运动中记录下X、Y轴的圆心坐标和终点距离并且记录下圆弧半径和角度,同时在各个编辑程序处插入所编写的程序。 X、Y、Z三轴联动包括直线运动和弧线运动,在直线运动中记录X、Y、Z终点的距离,在弧线运动中记录下X、Y、Z轴的圆心坐标和终点距离并且记录下弧线半径和角度并且编写程序。 编定一个自定义轨迹的程序并且在相应的位置插入程序。 在各程序编辑完成后,编辑一个总的退出程序,并且插入相应的位置。 第二章 四关节机械手控制系统的原理及组成2.1运动控制系统简介 运动控制系统并不是一个单一的环节,它由很多个环节相互配合才能实现功能。运动控制顾名思义其实就是控制系统内的参数,并且这一参数是运动的,通过控制可以让它沿着之前设定好的参数去运行,并且要保证误差越小越好,同时让其可以沿着已经设定好的轨迹路线顺利到达终点。在整个周期中我们必须每时每刻都要把运动参数给控制好。 上面已经介绍了运动控制系统的环节不是单一的,同理它的组成也不单一,但是核心器件只有一个运动控制器。虽然说还有一些组成部件并没有运动控制器那么重要,但是它们也是整个系统中不可或缺的部分。类似的比如闭环伺服电机,当然要想驱动伺服电机那么驱动器就不能缺少,除了它们两个之外还有译码器和许多的传动的零件。译码器就是编译或者翻译功能的器件,在系统中主要是起反馈作用。 运动控制器是核心部件,它的作用类似于大脑在人体中的作用,它控制着所有部件的运行,并且对不同的部件发放不同的指令然后等待部件做出反馈。具有反馈功能的传感器就类似于它的信号元件,因为控制系统的最重要的部分是运动控制器,所以它的功能肯定与运动有关,所以它能决定动力装置的运行与否并且也能改变执行单元。 单纯的运用控制系统并不能实现我们想要实现的那个功能,除此之外还需要编辑一定的界面。那么PC机就要出现了,它可以用来编写界面。因为单纯要让运动卡运行并不现实,所以PC机的另一个功能就是能够安装运动控制卡,并使其实现自己的功能。 一个机器的运转并不是把几个设备放在一起就能实现的,它们之间还需要按照一定的要求来连接起来,所以分线板就必不可少了,它的功能就是连接各个部件。我们知道信号的传输都是通过接好的导线来实现的,并且接线并不是胡乱搭配,而是需要严格按照规定把不同的线接在不同的设备上,这就需要我们接线时要细心,按照功能要求去接线,否则会出现机器无法运行或者更严重的后果,接线时必须让每根线都能很轻易的辨别,这样的话,当遇到接线错误时,一下子就能知道哪里有问题。分线板的摆放也是有要求的,按照规定他是放在控制卡和驱动器间的,并且同时于两者相连接同时还要保证接线时线路清晰。 除了上述设备之外还有一个重要的部件就是传感器,它的功能就是反馈信息。它与电机和驱动器相连,然后把电机中的信息反馈到驱动器,并通过它处理所获得的内容,然后让电机再一次运行。我这一次的毕设用的是三个闭环伺服电机和一个开环步进电机。运动控制系统主要有两类,下面我就来分别介绍: 第一类是开环控制系统。图3.1.a即为整个开环系统的组成,图中很明显地能发现控制量与输出量之间并没有什么必然性,所以这时候就不用检测输出量,同理也就没必要向输入端反馈信息。 图 2.1.a 开环运动控制系统结构 第二类就是闭环控制系统。图3.1.b即为整个闭环系统的组成,与开环相比最明显的区别就是多了反馈。这就说明闭环中必须对比一下输出和输入的信号。并且可以发现误差主要产生于输出和开始输入间,然后我们要对比误差并且改变其中的一些东西,尽量让误差变小并最终在之前我们规定的误差范围内。闭环虽然多了反馈,但是它的稳定性也提高了很多。图 2.1.b典型的闭环运动控制系统结构2.1.1 GT系列运动控制器 GT系列运动控制器是我这次毕设使用的主要的控制器,它由固高科技生产。这款控制器与以往控制器相比最大的优势就是可以同时控制四个轴,并且可以实现两轴、三轴的协调运动,且具有比较精确的控制计算能力。 因为我们要在VC中使用控制器的函数库,所有就要分为ISA卡和PCI卡两种,本次毕设我选的是后者,它不仅具有曲线和点动规则而且能实现不止一个轴的直线或者圆弧的插补。 不仅如此GT系列控制器还具有前面我们介绍过的一种功能,那就是我们可以自己任意的编写所需要的比较特殊的界面,而且不用顾虑界面的格式等一些问题,并且它还可以减少我们自己编程时所产生的错误,而且程序的调用也很简单。 图2.1.c 运动控制器及控制系统的组成 图2.1.d GT系列运动控制器应用 图2.1.e GT-400-SV运动控制卡GT系列运动控制器的大体构造,如图2.1.f所示: 图2.1.f 运动控制器连接器与分线板置示意图如下面的图标2.1.g 是各个连接器和分线板之间的功能介绍:表2.1.g 连接器和分线板的功能介绍2.1.2 四关节机械手 在Microsoft Visual C+6.0中的MFC appwizard中编写界面,包括初始化、单轴运动、两轴联动、三轴联动,并在最后编写一个自定义轨迹,然后调用GTCard里面的程序并把它们插入在每个界面的适当位置。这时就可以让驱动器工作了,伺服驱动器被激活后就能够处理消息,此时电机就能顺利运转,电机运转带动丝杠转动,这时候XYZW平台就可以移动了。因为我们编定了一个自定义轨迹,为了让这个轨迹能够显示出来,我们还要找一个特殊的设备来让记录笔的轨迹路线显示。图2.1.h GT系列运动控制器图2.1.i四关节机械手2.2 GT系列运动控制器的原理 我们从几个方面来介绍GT运动控制卡,下面分别从位置、作用、和使用的前提条件包括导线间的连接等方面来具体分析。 如图3.2.a 我们在图的左下角可以看见三个选项,点击最左边的ClassView按钮,我们可以看到图上面出现了几个选项,在CAboutDlg的下面就是我们所需要的CGTCard,这个类是有固高科技生产的,如果在VC6.0这一编程软件中插入这个类,那么我们就可以通过调用这个类来完成许多我们想实现的功能,虽然表面上看不出来这个类有多强大,但是下面我们就会知道它有多强大了。 2.2.a CGTCard在类中所在的位置 如图2.2.b我们点击CGTCard旁边的加号会看见它突然生成许多个小项,这每一个小项其实都代表一个不同的操作指令,在VC6.0里插入了它之后我们就可以随心所欲地调用里面的任何一个功能,而且调用的时候不需要我们自己编写程序,非常方便、快捷。 2.2.b CGTCard中包含的各个项 如图2.2.c 双击CGTCard下的任意一个选项,我们会在右边的空白页上看到一连串的程序,分析每个程序里的内容我们就会发现,其实程序里所表达的意思就是为了完成我们所点击的那个选项,所以当我们想完成某一选项时,直接调用就好了,因为CGTCard这个高达上的产品已经替我们把程序给编好了。 图2.2.c 每个项所表达的意义2.3 安装步骤我们必须提前把条件设定好这样的话才可能让主机和控制卡的联接是良好的,比如卡的基地址要提前设定。因为设备在未使用之前有些东西的设置是本来就定好的,我们就不需要再重新设定,所以卡在安装时也是如此,并且卡上可以安放一个槽。卡和计算机按照规定连接起来,当出现问题时,可以参考说明书的要求循序渐进,不能急于求成,而且连接好线之后还要检查一下电源是否是断开的,因为卡的重要性,所以要轻轻的对它,在与计算机连接前要和金属放在一起,以免出现不必要因素使卡损毁,更严重的后果有可能同时损毁电脑,所以在安装前要做好准备,等一切齐全之后再重新检查设备,这样才能保证不会出现意外。控制器驱动通讯,安装之前要先观察设备,仔细审核说明书按要求把它放在正确的位置,以免出现程序无法运作这一错误,通常情况下我们可以通过学习网上的视频等条件顺利安装好它。把主机与上述第三个设备相连接,然后把程序打开,看他运作起来是不是有问题,没有问题那就说明连接正确,反之就要重新检测,找出问题的所在并且对症下药。把驱动器和电机通过导线相连接,当然连接他们必须在卡和驱动器的前面而且需确认电机不存在负载,且是没有危险的,然后按照规定逐一相连,连接完之后就是检测了,若运行正常则进行下一步。把电脑的电源闭合,然后再把卡和端子板相连,因为端口和接线比较多,连接时要认真、细心的逐一对应连接并且连接完毕后再次检查,以免发生意外。图2.3.a 卡和端子板连接图把驱动器、系统输入/输出和端子板连接起来连接端子板和电源图 2.3.b连接端子和电源示意图 特定的输入、输出相连的方法 图2.3.c 特定输入输出信号示意图 图2.3.d驱动器速度控制方式接线图2.3.e编码器与端子板连接示意图图2.3.f模拟输入连接法第三章 运动控制系统界面的制作及程序的编制3.1 V C+编程3.1.1 V C+介绍 Microsoft Visual C+6.0是本次我毕设用的主要的编程的软件,它的功能相比于其他的软件应该算是很强大的。当然这也是经过一步步的升级改造,不过在这里也必须要说它的这种改变也得益于科技在近段时间的飞速提高。软件的变化最大的一点应该就是MFC appwizard了吧,他的中文意思也可以称作可视化编程,可视化即能够看得见而不像以前的那些软件要靠自己去想。现在有了它我们就不需要绞尽脑汁似的去考虑这个那个了。既然要介绍它的功能与结构,那就从我毕设的第一步一直向下来看吧。首先打开VC6.0这个软件,我们看见的就是下面的这个界面,通过这个界面我们可以看见它的最上面一排有文件、编辑、查看、插入、工程、组建、工具、窗口、帮助等选项。图3.1.a VC6.0初始界面图 其实如果你们只是觉得这个界面上只有这几个选项那就大错特错了,在这每个选项的下面又会细分成很多个不同的选项,为了完成这次的毕设任务,我选择的是第一个即文件栏下的新建,此时我们可以看见与上面的图相比,下面的图已经发生了改变,在新弹出来的的页面上我们可以看见许多的选项,最上面有四个选项,然后它们的下面依次分为许多不同的选项,前面我们已经介绍了要用MFC appwizard(exe),所以我们点击第二个选项即工程然后从上向下数第十一个就是我们所需要的但是这时候如果直接点击右下方的确定是无法实现的,我们还需要添加一个工程名称,也就是给自己的界面取个名字,这时候我们再点击确定它才能起作用。图3.1.b新建栏下的界面图 然后就能看见下面的界面了,这时候我们有三个不同的选择,然后考虑到我们设计的是界面,所以就选择第三个选项即对话框,然后选择完成按钮。图3.1.c MFC选择界面 这时候就进入了我们所需要的界面,从上面的介绍可以看出在经过改进后VC6.0中的MFC appwizard不仅方便、简单而且比较人工智能。从下面的图中这时候我们可以看见一个方框旁边还有一个单独存在的叫做控件的栏。其实这就是我们编辑界面所需要的背景和一些按键,右边的那些按键,每一个都图3.1.d MFC appwizard工作界面代表一种指令,通过他们我们就可以很轻松的来选择所需要的按键,并且它们的大小还有名称我们都可以修改,有了它们真的可以减少许多不必要的操作。看过右边的控件,我们可以看见最左边还有三个不同的按键,每一个按键名称不同所以前面的图标也各不相同,从左到右依次是类、资源和文件。从名称就可以看出它们的意思不同所以作用也不相同。第一个主要是包含着一些函数和改变的量。第二个顾名思义当然是把很多的东西存放在里面比如我们写好的界面等。最后一个显然就是编辑时所产生的文件。如果你以为这个程序只是可以布置界面那么简单而已,那你就大错特错了,它不仅可以布置界面还有一个更重要的作用,从软件的名称我们就应该知道了,那当然就是编程啊,下面我们会逐一介绍编程这一块的。3.1.2 各轴回原点的原理和程序 X、Y、Z、W四个轴,每个轴都是独立的互相都影响不到对方,因为我的界面里面有单个的轴的回到起始点和所有的轴都回到起始点这两种。虽然同是都是回到起始点,不过这两者之间还是有一定差异的。但是X、Y、Z、W这四个轴的单个轴的回到起始点之间还是有联系的。当然既然讲到了这个程序,那么就顺便具体讲解一下它是怎么设计出来的吧。我们知道在做实验之前经常会有回原点或者说是回零点的操作,这也是我们为什么要进行这一步的原因。在实验前我们并不能保证它就正好在起时的位置,为了得到更为精确的数据,我们就必须在每一步都尽量让误差最小,在本次设计中我们可以选择W轴作为一个参考。一开始我们让它沿着左边一直运行,因为在旁边会有类似于挡板的东西,所以当他碰到挡板时就不会再继续向左走了,这时候我们就要动笔把它所行的长度记下来,然后再让它沿着右边一直运行,当碰到另一边的挡板的时候,它又不动了,然后再次动笔把长度写下来。最后把这两个长度的差除以二就是起始点的位置了,然后我们的这个操作就算圆满了。程序如下: 3.1.3 整个界面中控件的程序 经过这么长时间的奋战,总算把下面的界面给解决了,不过这只是开始,因为还需要添加程序在里面,在单个轴运动的页面里面的第一排都是单个轴的正负方向的运动,虽然有四个轴但是其实都差不多比如W轴来说,它的非负方向编写好的东西在下面,其它的三个轴的也是如此:3.2 控制系统程序的编制图3.2.a 所需编制界面图 该图显示的画面就是我这次所设计的界面,从中我们可以看见有三种不同模式的运动形式,并且在后两种形式中又可以细分成两种,并且每一个模式中都包含着运行和停止,并且最后还会有一个退出。每个轴不仅单独的运行是可以的,而且他们还可以经过组合形成新的运动模式,并且在不同的模式下运行所产生的形状或者说轨迹都是不一样的。不过我们也需要知道一点,虽然在三个模式中都有直线运动,但是它们的程序确各不相同,这也就是说,每个形式的运动都必须有特定的程序来让他们完成这个动作。3.2.1动态链接库的调用 本次设计在控制卡的基础上进行两轴控制系统的设计,而我们所选用的GT系列控制卡,给我们提供了一个动态链接库,也就是GT400.h文件,在这个库里面,有许多函数的头文件,我们所要做的就是调用这些函数,如下图3.2.b所示 图3.2.b GT400.h动态链接库 如何正确调用这些函数呢?我们接下来要做的就是把这个动态链接库和我们的工程联系起来,首先,我们要把GT400.h、GT400.dll、GT400.lib这三个程序复制到我们的工程中去;其次,在程序中加入:#include“GT400.h”在V C菜单中,选择 Project-Setting-Link,在 Object/Library modules 中输入 GT400.lib。这样,动态链接库就可以被正确使用。 在这个动态链接库的基础上,我借鉴了他人成果及自己努力下,创建了GTCard这个类,它就是把动态链接库的函数进行了打包,也就是所谓的集成,可以更方便的调用,写好后,只需在头文件上添加GTCard.h就可以调用了。如下图图3.2.c GTCard类3.2.2初始化 从界面中能看见有两个不同的初始化,那么可以猜测出它们的程序肯定也有差异,下面有几个函数的图:图3.2.d 初始化函数图 刚刚已经说过了界面完成后能看见两种不同类型的初始化,我们就来一一探讨一下它们俩的程序各是什么样的,首先是第一种类型的初始化:下面再来介绍一下另外一种类型的初始化: 控制器能同一时间内掌控着二或三或四个轴,而且每一个轴都能够自己定制自己的参数值。是改变此时此刻的参数值的一个函数表示。这之后的所有被用过的程序仅仅对现在正在备用的这个轴起效果,如果你不想让它成为这样,而想让其他轴成为这样的话,那就必须重新把你想用的那个轴变成当前的那个轴才行。3.2.3 S-曲线模式 我们知道运动可以分为直线和非直线即曲线两大种,在这两种中运动肯定会出现每一个过程时的速度(v)和加速度(a)当然还有一个所谓的加加速度,然后我们把它绘制在图上,这样就可以很轻松的分析出他们的运动时的各种情况,下面以非直线当中的S型为例:图3.2.e S型速度、加速度、加加速度示意图 从图表中可以很明显的看出来他把这三个量分成七个部分来分别研究它们。 从第一部分中,可以看出来,一开始只有第三个量是有数值的并且是恒定的,然后第二个量就开始从无到有慢慢的增加,并且达到它的最大值。 第二个部分的时候,第三个量突然变成了零,此时第二个量恒定不变并且以这样的状态一直保持到下一部分。 第三部分的时候,第三个量又再次出现,不过这次方向与第一次出现时相反,而且第二个量也慢慢由有到无。 第四部分的时候第一个量一直保持不变,而第二个和第三个量此刻都是零了。 仔细观察图标可以发现最后三个部分与前三个部分竟然很是相似,要说差距估计主要就是第一个量从原来的由无到有,然后在后三个部分中变成由有到无了。 在S型非直线的情况中,我们是不可以随心所欲的去变更任意一个参数的数值的,不过有一个例外那就是被选定的那个位置除外。当我们把数值赋值给三个变量时,我们要明白一点,不管输的值是正还是负都必须是它们的绝对值。还有一点就是这个线往往具有相互对称的特性,不过它们可以改变外形,只是变更后的图形与原来的图形会有一些差别,下面的图片就可以很明显的看出来。图3.2.f 变更参数后速度时间图 那么这些类型的线都是通过什么的函数命令编译出来的,下面的图片会给我们解释:3.2.g S曲线模式设置函数下面是具体的函数编辑过程:3.2.h函数编辑图3.2.4 T-曲线模式 除了上面介绍的S型,还有一种常见的非直线型线即T型,下面我们就来研究一下这种类型的曲线各阶段中几个量之间的变化。从图中很明显的发现一点与刚刚介绍的曲线相比,这一个看起来就相对比较容易分析,同样我们也是把它分成几部分来分析的。图3.2.i T型曲线速度时间图 第一部分中当a的量给定了之后,v就由无到有慢慢增加,当到最大值的时候就停止了。 第二部分,这个时候a突然由有到无,而这个时候v就不再变化了,一直保持这个状态到下一部分。 第三部分,这个时候a有数值,不过与第一次的值的方向相反,然后慢慢就能到我们之前预定的那个地方。当运行的时候我们会发现有很多的意外情况发生,比如我们让他加速但是他没有到我们之前预定的数值就停止加速了,这种情况有时候也会发生在减速的时候。图3.2.j 变更后速度时间图 图中展示的就是一个没有第二部分的情况,前面分析中我们也说了两种曲线相比较的话,后者看起来比较简单、灵活而且它的改变可以发生在任意时候任意位置。 上面这种曲线并不是我们直接手画的,而是通过程序然后自动实现的。下面看一下可以实现这种功能的函数类型: 图3.2.k 实现T曲线函数图然后看一下具体的程序是如何编译的:3.2.l函数编辑图3.2.5停止 界面中除了上面所介绍的按钮外,还有这个按钮,当然每一个按钮都有自己的任务,所以也都有自己特定的程序,停止按钮,其实就是当程序在运行的时候我们突然不想让他继续运行,这时候点击它就可以了。程序如下:3.2.6退出 当我们完成所想做的所有事情之后,我们就不需要再停留在原来的界面上,这时候只要点击一下退出按钮就可以了。它的程序是:3.3多轴协调运动 我这次的题目是四轴,所以只要是四轴以下的运动我设计的界面都可以完成,我在界面中也很详细地把两轴与三轴的协调运动展示了出来,我们知道如果是四轴的话,用它们来演示两轴的运动有七种可能,用它来展示三轴的话也有四种可能,这次只介绍两轴。其中现在我们先来看一下四轴是如何初始化的: 我们知道我这次的四轴不仅里面的每一个轴可以独立的运行,还可以实现两个或者三个轴的组合运行。但是组合类型太多,为此我上面也说了本次介绍主要以两个轴的组合运行为主。从界面上可以看出,两个轴的组合里面有两种不同的运动类型即直线和圆弧。直线就比较简单了,直接调用就好了,而且要记录的数据也不多,而与互相对而言就要麻烦一点,虽然都是直接调用不过圆弧要记录的数据比较多,而且它所涉及的内容也多一点。不过这两种运行都用到了一个知识即插补。直线很显然就是直线的插补,同理圆弧也是如此。3.3.1直线插补的两轴协调运动程序 首先第一步要想调用它必须要先有这个程序,所以我们必须提前把所要用的程序放在我们的编程软件里,然后才可以使用。当然这个程序需要我们之前先写好,然后按照手册里的要求一步步地把程序拷入软件里,而后检测一下看是否已安装好。当安装好后我们就可以使用它了,下面的图中程序就很好的体现了这一点:3.3.2圆弧插补的两轴协调运动程序 我们要学会计算出偏差,下面就以某一个想先来具体说明,让图中的直线的开始的那个店作为XY的原点,并且这个点不是定点所以可以算出:图3.3.a 偏差示意图我们可以把看作是判断偏差的方式,如果等于零意思就是m这个点在途中的直线上面,而把大于零看成是这个点在m,相反小于零就在下方。如果起始点在原点,而且我们就沿着X的正方向移动一大步,反之就向Y的正方向移动。当两个方向移动的距离和坐标的终点一样大时,就不再进行插补了。若,X方向的坐标改变了而Y坐标的值不变,这时候产生的偏差是:若,Y方向的坐标改变了,而X坐标的值不变,这时候产生的偏差是:上面我们把原理和一些问题都说了出来,现在再来看一下程序是如何编译的:3.3.3自定义轨迹曲线 由名称就应该能猜出来,自定义即自己来制定方案,这里我就自己定了一个程序,由于是四轴的,为了更好的体现三轴的配合运作是三维立体的,所以我就设计了一个类似于三维坐标一样的图形,并且在所谓的平面上画了一条弧线,这样就把几种知识都运用进去了。图3.3.b 自定义轨迹示意图void CJiemianDlg:OnOk2() / TODO: Add your control notification handler code here GT_StrtList(); GT_MvXY(0,0,0.01,0.00000001);GT_LnXY(0,0); /OnBtnPenOn(); /OpenPort(1,true);GT_LnXY(0,-10);GT_ArcXY(10,-10,90); GT_LnXY(0,0); GT_EndList(); GT_StrtMtn();GT_StrtList(); GT_MvXYZ(0,0,0,0.01,0.00000001); GT_LnXYZ(0,0,0); /OnBtnPenOn(); /OpenPort(1,true);GT_LnXYZ(0,0,10); GT_EndList(); GT_StrtMtn();3.3.4运动控制界面的制作 当界面编号后经过一系列的添加程序和调用程序我的界面渐渐的也有了大概的雏形,从最开始的初始化到单轴运动然后到多轴协调运动,里面又划分成两轴与三轴,最后来一个自定义轨迹和退出。图3.3.c编辑完成后的界面图 当一切准备都已经妥当之后,就要开始进行界面的检测和调试,当没有问题的时候我的桌面就会跳出这个运行成功的界面:图3.3.d 调试成功后的界面图第四章 设计结果与不足 经过这么长时间的奋战,我的毕设也即将接近尾声,在这次毕设中我虽然取得了一些成功,但是并不完美,中间还存在着一些瑕疵,在这里我就做一些简单的分析。成功之处:在几乎是零基础的情况下通过看书、看视频、问老师等我把这个编程软件给弄明白了,并且能独立的操作它。一开始对于编写程序和调用程序完全无从下手,在耐心的学习和努力下终于完成了程序编写的第一步初始化。整个界面包括程序都写好后,进行调试的时候,程序一切正常并没有出现之前担心的错误。在老师的建议下尝试了三轴联动并且自定义的轨迹中也运用了这一点并且取得了成功。有瑕疵的地方:界面的编辑比较普通,没有改变颜色,排版也很一般。由于专业水平的限制没能细致的把所有的想法展现在设计中。由于学校的设备等问题没有能够进行四轴的联动。第五章 总结 从一开始看到课题的一筹莫展到慢慢的摸索知道最后的顺利完成毕设,这一路上我学到了很多。 首先对于所使用的编程软件,以前只是听说过并没有使用过,在一开始的时候觉得特别难无从下手,后来慢慢的学习并且经常寻问老师初步的了解了这个软件。 不过说实话一开始我只知道这个软件可以编写程序,后来由于课题要求我有进一步的了解,突然发现他竟然还可以编辑界面。在编写的过程中我又慢慢学会如何去改变按钮、表格等的大小,如何使他们更加整齐、美观。后来通过观看视频学会了如何改变字体和颜色。 界面完成后就是程序的问题了。虽然大一的时候学过一点编程,可是经过四年,我能记得的是微乎其微。本来界面完成后还有点沾沾自喜,可是这时候完全没有了这种感觉。后来我通过老师的帮助学习如何调用和编写,在编写的时候我发现,其实很多的程序都很相似,但是就是因为一点点差别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国家用阁楼梯子行业运行态势与投资效益预测报告
- 2026年春浙科版(新教材)初中综合实践活动九年级下册(全册)同步练习及答案
- 光模块设备行业市场前景及投资研究报告:AI带动光模块需求封装测试设备商充分受益
- 沙尘暴防治技术
- 2025-2026学年鞍山市高三最后一模化学试题(含答案解析)
- 某陶瓷制品厂质量管理准则
- 某铝业厂熔铸操作管理制度
- 某家具厂木材加工流程办法
- 2026年制造业数字化转型战略部署:趋势、路径与实践
- 次氯酸钠发生器检修规程
- 智能住宅小区安防系统的设计及智能居家养老系统
- GB/T 37977.51-2023静电学第5-1部分:电子器件的静电防护通用要求
- LY/T 3296-2022木结构钉连接部耐腐性能测试方法
- 七人学生小品《如此课堂》剧本台词手稿
- YY 1650-2019X射线图像引导放射治疗设备性能和试验方法
- GB/T 12238-2008法兰和对夹连接弹性密封蝶阀
- 精品课程《人文地理学》完整版
- 机械制造质量分析与控制
- 广东省东莞市各县区乡镇行政村村庄村名明细及行政区划代码
- 创意综艺风脱口秀活动策划PPT模板
- Infiniti系列多参数生物反馈仪使用说明书(共73页)
评论
0/150
提交评论