已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- 49 -多轴步进电机数控装置设计1 绪论近年来,随着计算机技术的发展,数字控制技术已经广泛应用于工业控制的各个领域,尤其是机械制造业中,普通机械正逐渐被高效率、高精度、高自动化的数控机械所代替。目前国外机械设备的数控化率已达到85%以上,而我国的机械设备的数控化率不足20%,数控技术综合运用了微电子、计算机、自动控制、精密检测、机械设计与制造等技术的最新成果,具有动作顺序的程序自动控制,位移和相对位置坐标的自动控制,速度、转速及各种辅助功能。20世纪人类社会最伟大的科技成果是计算机的发明与应用,计算机及控制技术在机械制造设备中的应用是世纪内制造业发展的最重大的技术进步。自从1952年美国第1台数控铣床问世至今已经历了50多个年头。数控设备包括:车、铣、加工中心、镗、磨、冲压、电加工以及各类专用机床,形成庞大的数控制造设备家族,每年全世界的产量有10-20万台,产值上百亿美元。世界制造业在20世纪末的十几年中经历了几次反复,曾一度几乎快成为夕阳工业,所以美国人首先提出了要振兴现代制造业。90年代的全世界数控机床制造业都经过重大改组。如美国、德国等几大制造商都经过较大变动,从90年代初开始已出现明显的回升,在全世界制造业形成新的技术更新浪潮。当今世界工业国家数控机床的拥有量反映了这个国家的经济能力和国防实力。目前我国是全世界机床拥有量最多的国家,但我们的机床数控化率仅达到1.9左右,这与西方工业国家一般能达到20的差距太大。日本不到80万台的机床却有近10倍于我国的制造能力。数控化率低,已有数控机床利用率、开动率低,这是发展我国21世纪制造业必须首先解决的最主要问题。1.1 国内外数控技术发展现状20世纪人类社会最伟大的科技成果是计算机的发明与应用,计算机及控制技术在机械制造设备中的应用是世纪内制造业发展的最重大的技术进步。自从1952年美国第1台数控铣床问世至今已经历了50个年头。数控设备包括:车、铣、加工中心、镗、磨、冲压、电加工以及各类专机,形成庞大的数控制造设备家族,每年全世界的产量有1020万台,产值上百亿美元。 世界制造业在20世纪末的十几年中经历了几次反复,曾一度几乎快成为夕阳工业,所以美国人首先提出了要振兴现代制造业。90年代的全世界数控机床制造业都经过重大改组。如美国、德国等几大制造商都经过较大变动,从90年代初开始已出现明显的回升,在全世界制造业形成新的技术更新浪潮。如德国机床行业从2000年至今已接受3个月以后的订货合同,生产任务饱满。 国内数控机床制造业在80年代曾有过高速发展的阶段,许多机床厂从传统产品实现向数控化产品的转型。但总的来说,技术水平不高,质量不佳,所以在90年代初期面临国家经济由计划性经济向市场经济转移调整,经历了几年最困难的萧条时期,那时生产能力降到50%,库存超过4个月。从1995年“九五”以后国家从扩大内需启动机床市场,加强限制进口数控设备的审批,投资重点支持关键数控系统、设备、技术攻关,对数控设备生产起到了很大的促进作用,尤其是在1999年以后,国家向国防工业及关键民用工业部门投入大量技改资金,使数控设备制造市场一派繁荣。从2000年8月份的上海数控机床展览会和2001年4月北京国际机床展览会上,也可以看到多品种产品的繁荣景象。但也反映了下列问题:当今世界工业国家数控机床的拥有量反映了这个国家的经济能力和国防实力。目前我国是全世界机床拥有量最多的国家(近300万台),但我们的机床数控化率仅达到1.9%左右,这与西方工业国家一般能达到20%的差距太大。日本不到80万台的机床却有近10倍于我国的制造能力。数控化率低,已有数控机床利用率、开动率低,这是发展我国21世纪制造业必须首先解决的最主要问题。1.2 数控系统的分类按控制方式分为开环控制系统、闭环控制系统、“死挡铁”定位控制系统、混合控制系统。开环控制不对控制的结果进行任何测量和检验,只是根据输入信号进行的作用下,执行部件的误差,控制系统不能反映出来,从而造成控制误差。在开环系统中,系统发出的信号是单向地去控制执行元件,没有对工件的检测装置和反馈元件。因而线路简单,调整方便,但精度较差。闭环控制系统是从输出端取出一定的变化量与输入量进行比较,产生一个偏差信号对系统进行控制。这类机床的特点是有较高的精度但容易造成机床的爬行、共振造成不稳现象。“死挡铁”定位控制系统是最常用的。由于工作台本身刚度不好或是刀具本身的磨损等造成加工误差。混合控制系统用于很多复杂的机床控制。控制系统需考虑的因素有:机床的先进性、被加工零件精度和节怕要求、加工零件的毛坯尺寸和安装位置、测量方法是否简单。2 课题意义、目的和任务2.1 课题意义和目的轮廓插补技术是数控系统的关键技术,也是数控技术教学的重要内容。为此,针对数控技术教学的需要提出了以多轴步进电机为控制对象的轮廓插补及数字控制装置的设计课题。要求该装置不仅能完成一个多轴步进电机插补(直线和圆弧)控制,还要实现对步进电机的微机直接控制,并能执行用G代码编写的多段连续运动轨迹的控制。该题目设计内容系统全面,涵盖了数控系统主要控制功能的实现问题。这为进一步学习实际数控系统的开发技术奠定了必要基础,同时对培养我们学生分析和解决问题的能力,也具有重要的意义。2.2 课题的主要任务采用“微机+通用数字量I/O卡”来控制步进电机,完成对X Y工作台的控制,系统具有译码、预处理等功能,利用数字量I/O卡的定时中断来进行插补,通过脉冲进行控制。具体任务如下:(1)采用微机+通用数字量I/O卡+步进电机构建数控实验平台。完成数字量I/O卡与两个步进电机驱动器的接口电路设计。(2)分析和基于Windows操作系统的步进电机微机直接控制,完成步进电机的速度控制,加减控制模块的设计。(3)完成数控装置的NC程序预处理模块设计,可执行直线,圆弧插补功能,坐标设定等基本功能。(4)完成数控系统软件总体设计,可实现NC程序输入,系统参数设置,二轴控制状态的显示,包括插补轨迹的图形显示等功能。(5)完成数控装置的接口电路,系统软件的流程图的绘制,2-3万字的设计说明书。3 总体方案3.1 总体方案的论证步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度 (称为“步距角”),可以通过控制脉冲个数来控制角位移量,通过控制脉冲频率来控制电机转动的速度和加速度。基于其位置误差无积累,便于开环控制等优点,在数字控制系统中应用广泛。步进电机的控制方式有:单片机系统控制、工控PLC制、专用控制系统控制。步进电机的控制过去主要采用单片机系统,因为它的价格相对来说比较便宜,技术也相对成熟。但是单片机的硬件系统的专用性较强,灵活性较差,软件编制的难度也很大,不易编制复杂的控制系统;而且一般只能控制少量的几个电机,对于复杂系统的控制难以满足要求。单片机系统成本低,但开发难度大,周期长,适用于大批量产品。PLC控制适用于运动过程简单,运动轨迹固定的设备。专用控制系统用于专业行业或专用设备,如数控车床,数控铣床。近年来,随着现代制造技术的快速发展,各种新工艺新设备层出不穷。传统的数控系统由于专一、封闭的结构体系,已很难适应纷繁变化的应用需求。新一代数控系统开放式数控系统的出现,顺应了现代制造技术的快速发展,为建立统一的可重构的系统平台,增强数控系统的柔性和适应性奠定了坚实的基础。开放式数控系统一般有三种结构类型:“NCPC”型、“PCNC”型和以PC为硬件平台的全软件型数控系统。全软件型数控以软件实现数控核心功能,具有最高的开放性,代表了开放性数控系统的发展方向。由于Windows2K不是实时操作系统,尽管其提供了一系列定时方法,但仍无法实现小于1ms的定时精度。为满足多轴步进电机的控制要求,选择有硬件定时功能的I/O卡,以便获得步进电机控制所需的高精度定时,实现其想要的功能。采用“通用I/O卡专用计算机软件”来实现步进电机的 控制,不仅经济实惠,而且具有非常好的灵活性和稳定性。必要时,还可以实现一台电脑同时对几十个步进电机的直接控制。所以说,“通用I/O卡专用计算机软件”是一种理想的步进电机控制系统,具有很好的研究和推广价值。3.2 系统结构本系统以硬件为平台,配以适合的软件来实现控制功能,系统性能的好坏不仅在很大程度上取决于组成系统各个环节的硬件,而且与所编控制软件的好坏密切相关。采用“通用I/O卡专用计算机软件”来实现步进电机的数量可以很多,具体数量取决I/O卡的位数和驱动器所需的控制信号数:一般驱动器,大约需要3个信号,即脉冲信号.正反转信号和细分控制信号。所以,可以控制电机数应为I/O卡的输出位数除以3,对于PCL-1751来说,即48/3=16,也就是说,可以同时控制16台步进电机。由于现在PC机的 速度很快,所以只有合理编制软件、同时控制的同步误差小于1UM完全能够满足普通工程的需要。图3-1 系统原理结构图3.3 本系统的功能模块本系统的功能模块包括文件模块、NC程序处理模块、插补模块、电机控制模块、手动模块、参数设置模块。文件模块包括编程模块、编译模块、执行模块等。NC程序处理模块编译模块、系统初始化、坐标系设定等。插补模块包括直线插补、圆弧插补模块等。电机控制模块包括加速模块、减速模块等。手动模块包括MDI功能模块、点动功能模块等。参数设置模块包括定时器设置、计数器设置、I/O卡选择等。更详细的功能模块(见附图11-1:系统功能模块图)。图3-2 总体功能模块图4 控制系统方案设计4.1 控制方案的确定目前,PC的性能已今非昔比,许多以往要以软件实现的功能,采用软件方式也可以有效的实现。软件实现的灵活性和硬件平台的无关性,对于提高系统的开放性和性能的可扩展性,相对于硬件实现更优越。鉴于此,本次设计采用基于PC 单处理器的系统模式。这里采用如下图所示的控制方式:数字量I/O卡输出的驱动信号和方向信号由PC产生,通过I/O卡输出到脉冲分配器。脉冲分配器产生步进电机的运行脉冲,运行脉冲经功率放大电路放大后,驱动电机。对于三相步进电机,脉冲分配器可以采用CMOS集成电路CH250。根据不同的需要,功率放大器可以采用不同类型的电路,本次设计采用双电源型高低压驱动电源。图4-1 系统控制原理图用PC机实现对步进电机的控制根据驱动信号的来源,通常可以分为两种方式,一种是PC 机通过软件的编制来产生驱动信号;另一种是用方波脉冲发生器产生驱动信号。本次设计中我们使用了C+Builder6.0软件编制的控制方法,硬件电路简单,只要通过软件改变参数的设置,就可以改变步进电机的速度。因此本系统采用软件方式产生驱动信号。我们使用PCI1751数字量I/O卡来实现驱动信号的读写,I/O卡提供了完善的驱动函数库,方便我们编制控制程序,其中包括数字量输出函数。那么,在PC机中每调用一次输出函数,I/O卡就产生一个驱动信号,步进电机就转过一定的角度,这样PC机可以精确地控制步进电机旋转的度数。根据设计的具体要求,需要实现以下实时功能:进给脉冲输出,外部超程报警等。进给脉冲必须根据设定的进给速度以一定的频率输出,特点是定时向端口写入数据。要精确进给脉冲的频率,直接利用Windows2k提供的定时器是不太理想的。这是因为Windows2k是一个多任务操作系统,在多任务抢占式工作方式下,应用程序不能独占CPU,因此在Windows2k环境下软件定时不精确。本系统采用外部硬件定时中断的方式,用通用数字量I/O卡来作为系统外部定时中断源。这种方式既可以精确定时,又可以根据要求的不同而通过编程的方式将它们的定时周期进行更改。4.1.1 系统硬件组成本系统以硬件为基础平台,配以适当的软件来实现控制功能。硬件系统包括:(1)PC机硬件配置486以上,内存4M以上的计算机,操作系统为Windows 2k。(2)数字I/O卡:通用输入输出卡。采用研华PCI-1751数字卡。它具有48位,分为6个端口,可以选择的实现输入输出。(3)驱动单元:步进电机驱动电路。(4)电源:可以采用稳压电源。PC 机上的程序通过数字I/O卡某位上输出电平的高低变化,来达到产生脉冲信号的目的。另一方面,可以通过I/O卡某位输出电平的高低控制步进电机驱动器中环形分配的方向,从而实现电机转动的方向控制。脉冲信号进入步进电机驱动器之后,驱动器将参照正反转信号,并根据环形分配原则,控制驱动器输出端的通电方式和顺序,因而也就达到了控制步进电机转动的目的。4.2 PC机部分随着科技的发展,个人计算机的价格已经降到了人们可以普遍接受的程度,又因为它强大的功能和友好的人机界面,得以在全球范围内广泛应用。本次设计用普通的个人计算机代替了以往的单片机,避免了单片机专用性较强的缺陷,增大了灵活性,并且拥有了友好的软件用户界面,同时个人计算机用高级语言编程的特点,又使得软件编制的难度降低。4.2.1 Windows环境下硬件中断中断是微机系统的重要功能之一,当系统出现紧急情况,需要暂停正常程序运行并插入临时处理程序时,计算机能正确打断主程序,然后转入相应的中断处理程序。对于计算机接口管理来说,由于有了中断功能。CPU可以不经常查询外围接口,空出的时间可去处理其他事,直到接口提出需要服务的中断请求为止。PC机系统的中断分3类,即硬中断、异常中断和软中断。我们数控系统就是利用硬中断来实现紧急停止、限位控制和原点回零等功能的,而且在测量-反馈-控制的闭环系统中使用硬件中断进行定时,就对定时的准确性和均匀性有着严格要求。然而中断不是立即执行的,是有一定过程的。(1)保护现场。为了使中断不影响处理程序运行,必须先把断点处的有关寄存器的内容和标志位状态压入堆栈底,从断点开始执行。(2)开中断。以便执行中断时相应更高的中断请求。(3)完成输入输出服务程序或异常事件处理的服务程序。这是中断处理程序的核心。(4)关中断。保证在恢复现场时不被新的中断打扰。(5)恢复现场。多数CPU用POP指令把保存的断点信息从堆栈中弹出,达到恢复现场的目的。(6)开中断。保证能相应新的中断。(7)中断返回。接着执行被中断的程序。4.2.2 定时中断利用定时中断控制输出脉冲:中断触发方式的计数器使得用户无需查询就可以监视当前计数状态。当计数值达到了预设值,会有一个硬件中断产生。目前只支持PCI-1750/1751。 研究采用两个中断触发分别控制粗插补和精插补,并使得完成粗插补的时间与完成一个粗插补微小线段的精插补时间相等,精插补的控制周期由定时中断触发决定,其插补周期根据需要完成的进给脉冲数决定,一个精插补周期应保证输出一个脉冲(有溢出)。两个插补模块分别置于一个独立的线程,并通过全局变量实现通信(注意:这里两个线程不会同时修改一个单元,一个线程设置的数据只被另一个线程读取。加减速处理可通过控制精插补定时中断频率来实现。每两次精插补中断间隔,就是完成精插补、加减速调整和数字量输出,以及保留时段等时间之和。将粗插补确定的直线段进行精插补,存储在动态数组中。然后采用中断触发方式启动计数器(预置计数器的初值),进行计数,并实现脉冲输出,当计数器达到目标值,则以中断方式停止脉冲输出(或停止写操作)。如用写操作实现脉冲输出,则应保证完成一次写操作的周期是可控制的。考虑采用定时(中断)方式启动每次写操作。4.2.3 C+Builder6.0设计软件本次设计中我使用了C+Builder6.0设计软件,它是一个快速的开发工具,用它来设计界面和编写控制程序不VC要快德多,而且编程界面也是相当友好。它还具有编程平台使用的方便性、模块化的设计思想、模块之间的衔接与协调等优点,选用C+Builder6.0来完成此次设计,对于缺乏丰富编程实践的我来说,可以省去不少时间,把主要精力放在运动控制程序上。本次设计采用自顶向下的设计模式,先将数控系统的各个功能模块分离出来。然后,针对每一各模块进行独立编程。最后,又将各个独立的功能模块在控制界面上进行整合统一。使用C+Builder6.0设计软件完成了一个多轴步进电机插补(直线和圆弧)控制,还实现了对步进电机的微机直接控制,并能执行用G代码编写的多段连续运动轨迹的控制。(见附图11-2:总流程图)4.3 数控插补程序设计4.3.1 概述在机床的实际加工中,被加工工件的轮廓形状千差万别,各式各样。严格说来,为了满足尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成。然而对于简单的曲线,数控装置易于实现,但对于较复杂的形状,若直接生成,势必会使算法变得复杂,计算机的工作量也大大增加。因此,在实际应用中,常常采用一段直线或圆弧去逼近,有些场合也可以用抛物线、椭圆、双曲线和其他高次曲线去逼近(或拟合)。所谓插补:数控系统根据输入的基本数据,应用插补算法自动再有限坐标点之间形成一系列的坐标数据,从而完成各坐标轴进给脉冲分配,控制各坐标轴协调一致的完成轮廓轨迹控制,以满足加工精度的要求。机床数控系统的轮廓控制主要问题就是怎样控制刀具或工件的运动轨迹。无论是硬件数控(NC),还是计算机数控(CNC)或微机数控(MNC)系统,都必须完成插补功能的部分,只是采取的方式不同而已。不管是怎样插补,它的运算原理基本相同,器作用都是根据给定的信息进行数字计算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路径移动。有关插补算法问题,除了要保证插补计算的精度之外,还要求算法简单。插补功能是轮廓控制数控系统的核心功能。从插补计算输出的数值形式来分类:1) 基准脉冲插补法:又称脉冲增量插补,以脉冲的方式产生输出,按基本原理分:逐点比较插补;数字脉冲乘法器插补;数字积分插补;矢量判别插补等;2) 数据采样插补法:又称为时间分割法,其特点是计算出轮廓线段再每一插补周期内的进给量,边计算边控制加工。本控制系统采用的插补算法为逐点比较法。这是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆弧二次曲线的插补,插补精度较高。逐点比较法:就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲。逐点比较法的原理:以区域判别为特征。(见附图11-3:插补程序流程图)4.3.2 直线插补程序设计4.3.2.1 逐点比较法直线插补原理偏差计算是关键的一步。设直线OA的起点为坐标原点,终点为A(xe,ye),P(xi,yj)为加工点,若P点在OA上,则: 加工点的坐标为P(xi,yi)时的偏差为:当Fij=0, 新加工点 P(xi+1,yi)的偏差为: (4-1)当Fij=0, 新加工点 P(xi+1,yi)的偏差为: (4-3)当Fij0, 新加工点 P(xi,yi+1)的偏差为 : (4-4)4.3.3.2采用逐点比较法进行圆弧插补程序设计关于圆弧的插补,和直线插补的思想时一样的。分成加速,匀速,减速三阶段。圆弧插补数控程序见附录II。5 步进电机的控制原理与设计本系统中,步进电机控制是通过PC系统实现的。在PC系统中,利用扩展的PCL-1751数字量输入输出卡实现步进电机控制信号的输出、外部信号的输入。特别是利用了PCL-1751的硬件定时中断,实现系统实时控制要求。利用PCL-1751卡的数字驱动和事件响应机制来控制步进电机。利用PCL-1751卡的外部中断口实现限位,回零等功能。5.1 PCI-17515.1.1 数字量I/O卡的资源与功能PCI-1751是一个基于PCI总线的48位数字量输入/输出卡。它提供了48位的并行数字量输入/输出,还包括3个定时器/计数器。1751提供2个工作方式为模式0的8255,但比标准8255芯片具有更强的功能。每个8255芯片有24个可编程的输入/输出结点,被分为三个8位的端口。1751全部48个数字输入/输出结点被分为了6个端口,分别为PA0,PB0,PC0,PA1,PB1,PC1。每一个端口都可以作为输入或输出端口编程。端口A0的输入/输出结点被命名为PA00,PA01PA07;端口B0的结点被命名为PB00,PB01PB07等。PCI-1751的主要功能有:(1)48位TTL数字量I/O;(2)仿真8255PPI模式0;(3)提供更强大的驱动能力缓冲电路;(4)中断处理;(5)输出中断结点同步引起外部设备的中断;(6)输出状态回读;(7)两个16位的定时器可以合为一个32位的定时器,而且可以产生看门狗定时器中断;(8)一个16位的事件计数器可以引起事件中断;(9)在系统热启后保持I/O端口设置以数字量输出状态。图5-1 PCL-1751硬件原理图 5.1.2 端口分配5.1.2.1 步进电机控制信号的输出端口1751提供的6个端口,可通过软件设置为输入或输出。在本系统中,PC机需要控制2个步进电机。由于采用了外部硬件环分,所以每个电机分别需要1个脉冲信号和1个方向信号。因此,电机控制信号共需占用4个输出位。为了便于编程,这里采用如下方法分配脉冲输出信号:在程序中,无论是方向信号,或者脉冲信号与方向信号,均用一个控制字输出。显然,1个电机的控制字仅仅为2位二进制数据。为此,可用1个字端口即1个字节数据表示2个电机的控制信号。例如,PA00、PA01为电机1的控制信号,PA02、PA03为电机2的 控制信号。5.1.2.2 外部信号的输入 中断功能: 每个I/O端口的两根线(C0和C4)以及三个计数器中的两个(定时器1和计数器2)被连接在中断电路系统上。为了防止工作台越界,可分别在极限位置安装限位开关。利用数字I/O的中断输出。只要有一个开关闭合,即工作台越界,便能产生中断信号。我们这次设计利用了此卡的中断功能来实现越程报警和定时中断。计数器中断方式无需查询就能监视计数器的背景状态。当计数器记数到指定值,可向驱动程序发出硬件中断申请。此功能方便我们控制脉冲信号和方向信号的个数,当记数值达到设定值时,便产生硬件中断,则一段轨迹插补结束后,就停止发送信号。只有PCI-1750/1751支持该函数,因以我们选用了此卡。超程信号作为外部事件(中断)输出系统。如果是两坐标联动的数控系统,则有四个方向可能越界,即+X,-X,+Y,-Y。一旦某一方向越界,系统应能及时停止工作台的运动。由于超程的发生是不确定的,所以应通过中断方式予以处理。除了超程信号,数控机床断电后系统对坐标轴的位置记忆会自动遗失,因此:使机床各坐标轴回到某个固定此机床开机首先进行回零操作位置点(机床坐标系零点)。回零是数控机床操作中最重要的功能,直接影响数控机床的各种刀具补偿、间隙补偿、轴能环节之一向补偿以及其他精度补偿和零件加工质量。 图5-2 PCL-1751端口光栅尺是数控机床回零的主要方式回零。根据检测元件计量方式的不同又分为绝对栅格法回零和增量栅格法回零。本次设计采用绝对栅格法。机床只在首次开机调试时进行回零操作,同时系统后备存储器记录零点位置信息,此后开机不必再回零操作。所以,系统的中断输入信号包括X、Y向工作台的超程报警信号和回零信号。本设计采用PCL-1751的中断源有外部直接输入和定时器/计数器。外部直接输入是指通过1751的PC00、PC04、PC10、PC14可输入中断信号。这四个位数据分别被引入1751的中断控制器。根据外部输入的要求,这里确定采用PC00、PC04输入工作台X、Y向超程报警信号,采用PC10、PC14输入X、Y向工作台回零信号。5.1.3 步进电机速度的控制5.1.3.1 定时器/计数器时钟源PCI-1751可以外接时钟源,也可以利用PC机提供的时钟。使用时,可通过设置JP1,JP2或JP3跳线,选择定时器0,定时器1和计数器2的时钟源。一般外接时钟比较灵活,可允许外部时钟频率到10MHz。经过内部分频可得到0 - 5MHz的中断频率。本系统设计采用1751板上振晶。(见附图11-3:加减速控制流程图)利用定时中断频率来实现步进电机速度的控制:PCI-1751具有一个8254兼容可编程定时器/计数器芯片。它提供三个16位的计数器,分别是定时器器0,定时器1和计数器2。定时器0和1可以构成一个32位的定时器。采用PCI-1751定时器1的定时中断完成定时插补和脉冲输出。改变定时器的定时常数,就能方便地实现速度及加减速控制。计数器2可以是一个16位的定时器或事件计数器。当计数器的时钟源为内部振晶时,计数器2是一个16位定时器;当其时钟源为外部振晶时,计数器2是一个事件计数器。利用PCL-1751的定时器可以产生最低0Hz,最高5 MHz的定时中断申请。利用该中断,可以实现端口读写的速度控制。8254定时器的定时中断频率f: (5-1):定时器输入频率;N:定时常数。在本设计中,步进电机的速度控制,即利用了1751的定时中断来控制I/O卡从计算机中读取脉冲信号的频率,控制输出脉冲信号的速度,脉冲输出的速度不同。步进电机的控制原理及系统硬件步进电机又叫脉冲电机 ,它接受脉冲数字信号 ,每来一个脉冲 ,步进电机驱动器就驱动步进电机转动一个步距角 ,即走一步。而步进电机的转速由脉冲的频率控制 ,脉冲频率高时 ,步进电机的转速就高;脉冲频率低时 ,步进电机的转速就低。只要施加合适的脉冲序列 ,步进电机就可以按照人们预定的速度或方向进行连续的转动。步进电机控制电路主要由脉冲分配器和功率驱动电路组成。采用微型计算机控制时 ,给步进电机绕组提供驱动电源的驱动电路是不可取代的 ,微型计算机主要实现脉冲分配器的功能 ,同时实现对步进电机走的步数以及转向、转速等控制。系统软件编制采用定时器定时中断产生周期性脉冲序列 ,不使用软件延时 ,不占用 CPU。CPU在非中断时间内可以处理其它事件。唯有到了中断时间才驱动步进电机转动一步。在此 ,定时器 T。用来作为时钟信号和电机的脉冲频率 ,定时周期为 lms,即每秒产生 1 000次中断 ,这就使步进电机的工作频率为每秒 1 000步。另外设置两个乒乓键 keyl、key2。每按一次 keyl,电机由原来的转动状态变为停止状态 ,或由原来的停止状态变为转动状态;按一次key2,电机则改变转动方向。对应于 keyl、key2,设置了两个标志位:电机转或停、正转或反转;每按键 keyl、key2一次 ,相应标志位取反一次。当 lms时间到 ,由软件记忆电机两相绕组的当前通电状态 ,即电机拍数,然后根据标志位,由电机当前状态和运转方向查表便可获得下一步的电机状态信息 ,并将电机状态信息的控制模型由 8254口输出 ,从而控制电机按预定方向运转一步;若要求电机停止运转 ,则不向 8254口输出任何信息 ,直接由中断返回到主程序。5.1.3.2 计数器设定利用函数库中的定时器/计数器功能来设定计数器的记数值,并可以用DRV_TimerCountSetting来动态改变计数器/定时器的值,在工作台进给过程中随时控制速度。图5-3 PCL-1751中断源图5.2 PCI-1751驱动程序及其应用5.2.1 PCI-1751驱动程序简介研华I/O设备DLL库是在VC、VB, BC+ and Delphi平台上发Windows95/98应用程序的32位DLL驱动函数库。本次设计用到以下函数:(1)设备函数(Device function):硬件和软件的初始化和设置;(2)数字量输入/输出函数(Digital I/O function):指定通道的数字I/O控制;(3)端口I/O函数(Port I/O function):端口I/O控制;(4)计数器函数(Counter function):事件记数、频率测试和脉冲输出; (5)0高速函数(High Speed function):利用DMA和中断实现数据传输。5.2.2 驱动函数设备驱动程序规定了外围设备与计算机间的通信协议.驱动函数的应用如右图所示:图5-4 驱动函数的调用5.2.3 标准驱动函数库标准驱动函数库提供多组可调用的函数。表5-1 支持PCI-1751的驱动函数设备函数数字量I/O函数I/O端口函数DRV_DeviceOpenDRV_DeviceCloseDRV_DeviceGetFeaturesDRV_DioGetConfigDRV_DioSetPortModeDRV_DioReadPortByteDRV_DioWritePortByte DRV_DioReadBitDRV_DioWriteBit DRV_DioGetCurrentDOByte DRV_DioGetCurrentDOBitDRV_WritePortByteDRV_WritePortWordDRV_ReadPortByteDRV_ReadPortWord计数器函数高速函数DRV_CounterEventStartDRV_CounterEventReadDRV_CounterFreqStartDRV_CounterFreqReadDRV_CounterPulseStartDRV_CounterResetDRV_EnableEventDRV_CheckEventDRV_TimerCountSetting驱动函数的调用机制如下图所示:图5-5 驱动函数的调用机制图5.2.4 与设计有关的函数库应用在PC机上二维数组中存储的脉冲信号和方向信号要通过数字I/O卡输出到环行分配器上,因此要对这两种信号进行读写操作,驱动函数库为我们提供了多种功能,可以直接调用,大大减少了工作量,降低了编制程序的难度。5.2.4.1 数字量输入/输出函数的调用(1)数字量输入函数数字量输入函数完成数字量数据的输入。DLL驱动程序支持软件触发和中断方式的数字量输入。中断方式:具有中断方式的数字量输入函数,允许对数字量输入位状态进行监视。当位的状态由低到高或由高到低变化时,将发出硬件中断给驱动程序。所以,不需对输入/ 端口进行查询。中断触发调用流程图: 图5-6 数字量输入流程 图5-7 数字量输出流程(2)数字量输出函数数字量输出函数执行数字量输出操作。数字量输出调用流程。 数字量输出函数用于把I/O卡输出的脉冲信号和方向信号输出到外部硬件电路上,即先经过硬件环形分配器,环形分配器把驱动信号按一定的分配方式和顺序产生步进电机的运行脉冲,运行脉冲经功率放大电路放大后,输送给步进电机的各相绕组,实现电机的正转和反转。数字量I/O函数参数及功能介绍1)DRV_DioWritePortBytestatus = DRV_DioWritePortByte(DriverHandle,lpDioWritePortByte)功能:向指定的数字量端口写数据。2)DRV_WritePortBytestatus = DRV_WritePortByte(DriverHandle,lpWritePortByte)功能:向指定的I/O端口写一个字节数据。端口地址是PC的一个I/O端口3)DRV_ReadPortBytestatus = DRV_ReadPortByte(DriverHandle,lpReadPortByte)功能:从指定的I/O端口读取一个8位数据。端口地址是PC上的一个I/O端口的地址。5.2.4.2 事件记数函数DRV_CounterEventStart启动计数器。当计数器运行时,可以使用函数DRV_CounterEventRead 反复读取记数值。可以在计数器操作结束时,调用函数 DRV_CounterReset 停止计数器的运行。本设计中我们利用外部硬件定时中断,采用计数器记时,根据速度要求设定计数器的记数值,当记数值到达指定值时,就向驱动程序发出硬件中断申请,驱动程序响应中断,则向外写一个脉冲信号。5.2.4.3 中断方式计数器中断方式无需查询就能监视计数器的背景状态。当计数器记数到指定值,可向驱动程序发出硬件中断申请。只有PCI-1750/1751支持该函数。(1) 计数器函数 图5-8 定时器函数调用流程图1) DRV_CounterEventStartstatus = DRV_CounterEventStart(DriverHandle,lpCounterEventStart)功能:为事件记数配置指定的计数器并启动该计数器。2)DRV_CounterEventReadstatus = DRV_CounterEventRead(DriverHandle,lpCounterEventRead)功能:读取计数器当前记数总合而不干扰记数过程,并返回记数值和溢出标志。3)DRV_CounterPulseStartstatus = DRV_CounterPulseStart(DriverHandle,lpCounterPulseStart)功能:配置指定的计数器进行脉冲输出并启动计数器。4)DRV_CounterResetstatus = DRV_CounterReset(DriverHandle,counter)功能:将指定计数器复位。(2)事件函数利用计数器/定时器的事件中断函数,我们可以精确控制并动态改变工作台的进给速度,设置了计数器的记数值后,利用函数DRV_EnableEvent激活事件中断,每个中断产生一个事件记数,在记数循环期间,用函数DRV_CheckEvent检查事件,即检查每一个脉冲信号,循环结束后,用函数DRV_EnableEvent来停止事件中断,即停发脉冲。1)EnableEvent 首先必须使用函数EnableEvent配置并激活事件类型。DRV_EnableEventstatus = DRV_EnableEvent(DriverHandle,lpEnableEvent)功能:事件有效和无效。2)CheckEvent利用函数CheckEvent可以监视事件状态。DRV_CheckEventstatus = CheckEvent(DriverHandle,lpCheckEvent)功能:清除事件并读取当前状态3) DRV_TimerCountSettingstatus = DRV_TimerCountSetting(DriverHandle, lpTimerCountSetting)功能:对于PCI数据采集和控制设备,定时器资料在设备安装时定义了。这里提供一个函数,可动态改变计数器/定时器的值。(3)设备函数DRV_DeviceOpenstatus = DRV_DeviceOpen(DeviceNum,DriverHandle)功能:从注册或配置文件获得特定设备的参数并分配内存存储以便为其它函数快速查询。对具有数字量输出通道的设备,该函数同时设定其输出位为开状态并保存该状态。该函数必须在其它函数被调用前调用。我们在使用驱动库中的函数时,必须首先调用设备函数,对设备进行设置。6 硬件设备电路设计部分要实现其功能,必须把硬件都有序的连接起来,各个端口对应连接,实现其硬件平台。PC机+I/O卡与驱动器和步进电机的接口电路。(附图11-5:硬件设备电路接口图)6.1 I/O卡与驱动器的接口电路因为I/O卡是直接连接到PC机的主机上的,所以它们之间不用专门设计。I/O卡的输出低电平是:0.4V,24MA;高电平是:2.4V,15MA.而驱动器的低电平是:0V2.4V;高电平是:3.6V5V,10MA21MA.所以I/O卡与驱动器之间必须设计转换电路使之电压相匹配,我设计的转化电路图下如图所示:图6-1 加法电路图当输出低电平电压,驱动器低电平电压范围是0V2.4V,因此我选择驱动器低电平电压为,则,由加法电路公式可得,当输出高电平电压时,令,得,满足驱动器高电平所需要的电压,因此,此加法电路图满足本次设计的需求,根据需要,我选择电阻, ,而运放器根据有关参数选择。本设计需要4个这样的电路,其中每两个一组连接一个驱动器,分别接脉冲端口和方向端口。6.2 电源设计驱动器的电源需要50V,所以要设计一个桥式整流、电容滤波电路来满足要求。已知:220V交流电源频率f=50HZ. Vl=50V ,负载电流I=2.5A.选择整流二极管机滤波电容器。 图6-2 桥式整流、电容滤波电路 (1)变压器副边电压有效值: (6-1)则(2)选择整流二极管,流进二极管的平均电流: 二极管承受的最大反向电压:因此可选用整流二极管型号:SLB01-02(3)选择滤波电容器:负载电阻 由式 (6-2)得 因此得滤波电容器 而考虑电网电压滤波,则电容器承受的最高电压为: 因此可选用标准值电解电容器。6.3 开关设计为了更好的控制电机,我利用一些主令电器来发布命令改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁支座更换施工技术
- 麦冬的药理活性研究
- 小区安全隐患协议书
- 建筑代理商合同范本
- 工作分工协议书范本
- 小区公共收益协议书
- 废渣土处理合同范本
- 小学门卫聘任协议书
- 工程推迟顺延协议书
- 工程延期申请协议书
- 近八年宁夏中考数学试卷真题及答案2024
- 建筑物区分所有权一郑晓俐课件
- 园区安全管理培训
- 2025年江西江铜华东铜箔有限公司招聘笔试参考题库含答案解析
- 2024年人教版四年级数学上册 第5单元《平行四边形和梯形》能力提升卷(含解析)
- 安踏集团零售管理培训手册
- 薄膜物理与技术-5薄膜的形成与生长
- 民居建筑-福建土楼课件
- 公司无贷户营销(兰云)
- 小学数学骨干教师专题讲座《如何有效培养小学生的数学阅读能力》
- DL∕T 2601-2023 火力发电厂尿素水解制氨系统调试导则
评论
0/150
提交评论