1、第四章 程序控制和数值控制第四章程序控制和数值控制4.1微型计算机顺序控制器微型计算机顺序控制器4.2数字程序控制数字程序控制4.3步进电机的控制步进电机的控制本章小节本章小节习题习题第四章 程序控制和数值控制4.1 微型计算机顺序控制器微型计算机顺序控制器微型计算机作为顺序控制器已得到广泛的应用,它比传统的用分立元件或者中小规模集成电路组成的顺序控制器具有体积小、重量轻、耗电省和稳定可靠等优点。顺序控制器首先根据应用的场合和工艺的要求,划分各种不同的工步,然后按再预先规定好的“时间”或“条件”,依次完成各种工步的动作,并保持各工步动作所需要的持续时间。持续时间随产品类型和材料性能的不同而异,
2、通常可通过操作员来设定或调整。第四章 程序控制和数值控制例如,“条件”是指被控制装置中运动部件移动到了某个预定位置或者管道;“时间”是指容器中液体或气体的压力达到某个预定值,或者加热部件的温度到达某个预定点。顺序控制器把这些条件是否满足作为本工步动作的持续或结束信号。这些条件一般通过行程开关(或限位开关)、压力开关或温度开关等传感器所提供的开关量被测信号而获取,然后微处理器通过程序进行检测,等待条件满足为止。为了便于分析和了解顺序控制器的一般结构及其工作原理,下面首先介绍一个简易顺序控制器程序的编制,接着以发泡成型机为例介绍顺序控制器的设计方法。第四章 程序控制和数值控制4.1.1 顺序控制顺
3、序控制微机顺序控制方式是指以预先规定好的时间或条件为依据,按预先规定好的动作次序顺序地进行工作。一般地,把按时序或事序规定工作的自动控制称为顺序控制。顺序控制的特点如下:(1)控制系统的输入和输出信号都是开关量信号。(2)顺序控制系统控制生产机械依次顺序动作,动作的转换是根据现场输入信号的逻辑判断或时序的判断来决定的。第四章 程序控制和数值控制(3)为了保证系统可靠地工作,有的系统中,需对执行机构或控制对象的实际状态进行检测或测量,将结果及时地反馈给系统控制器,这就需要增加检测机构;为了调整方便,并实现工作时的监视以及故障时的报警,一般要有显示和报警电路。因此,一个典型的顺序控制系统的组成结构
4、框图如图4.1所示。第四章 程序控制和数值控制图4.1 顺序控制系统组成结构框图第四章 程序控制和数值控制4.1.2 顺序控制器顺序控制器1 发泡成型机工艺流程发泡成型机的加工过程可以综合为合模填料返排料模子预热加热预冷冷却启模退出产品等多道工序的顺序动作。其中,合模、启模等由行程开关来决定动作是否完成;加热是使已填入模中的原料发泡、澎胀、成型,因此在模中要产生一定的压力,还要有一定的持续时间;退出产品工序可利用气压或液压方法顶出模中的成品;其它工序均可用时间来控制。第四章 程序控制和数值控制对以上各道工序的持续时间可通过面板上的拨盘或乒乓开关的状态由操作员根据工艺要求当场设置或调整。发泡机顺
5、序控制器的生产工序和工艺参数如表4.1所示。表中LS-1和LS-2为行程开关,PSR和PSL1为压力传感器,T1Tm为拨盘决定时间。第四章 程序控制和数值控制第四章 程序控制和数值控制2 微处理器顺序控制器的逻辑框图顺序控制器依次完成按设定要求的各种动作,并用显示器指出当前正在执行的工序及其执行进程。控制器安有操作员启动、停止工作的按钮等。发泡成型机顺序控制器的硬件逻辑框图如图4.2所示。第四章 程序控制和数值控制图4.2 发泡成型机顺序控制器的硬件框图第四章 程序控制和数值控制(1)顺序控制器中所用的微处理器可选用4位或8位微处理器。(2)顺序控制器一般只要几千字节的存储器就够用了。如图所示
6、的存储器只有3 KB的容量,其中2 KB为EPROM(或者ROM),用来存放程序和表格等,还有1 KB为RAM,用来存放数据和作为堆栈。(3)本顺序控制器带有16工步显示器,3位BCD码实时显示器,18个BCD码定时拨盘,14个控制继电器或接触器和7个位置、压力传感器。它们均通过相应的接口电路和微处理器相连。第四章 程序控制和数值控制本顺序控制器选用成本较低的8D锁存器74LS273和8位缓冲器74LS244作为接口电路,它们的作用如下:用一片74LS273和一片4-16译码器T333组成16工步显示器接口,分别控制面板上的16个LED指示灯。用三片74LS273和一片74LS244组成16行
7、8列的矩阵拨盘接口,由软件来选择所需的定时时间设定值。若采用BCD码拨盘,则用一片拨盘可设定09 s的定时范围,用两片拨盘可设定099 s的定时范围,用三片拨盘可设定0999 s的定时范围。第四章 程序控制和数值控制用两片74LS273可以组成16个控制器或接触器的接口电路,其每一位输出驱动带有控制继电器的复合晶体管,控制相应的继电器动作,从而控制电磁阀或电动机。用一片74LS244作为条件输入的接口电路,对7个传感器的开关状态提供检测手段。以上各接口电路均由I/O译码器提供端口地址,通过I/O指令完成对各接口电路的输入和输出操作。第四章 程序控制和数值控制(4)顺序控制器的启动和停止操作是通
8、过安装在面板上的启动按钮和停止按钮来实现的。停止按钮接到CPU的RESET端,按下停止按钮可使CPU进入复位等待状态。此时,顺序控制器不工作,进入顺序工作之前的初始化状态,等待中断请求。启动按钮接到CPU的INT端,当按下启动按钮时,就向CPU提出中断请求,使CPU脱离“暂停”状态,进入中断服务程序,开始发泡成型机的顺序控制过程。第四章 程序控制和数值控制3 顺序控制器的软件顺序控制器的软件顺序控制器的软件随着它在整个系统中所处的地位不同和顺序控制器本身的结构特点及软件的设计思想的差别而多种多样。发泡成型机顺序控制器具有单机控制和专用性强的特点,因此该顺序控制器的软件结构比较简单。它由等待程序
9、和中断服务程序两个部分组成。第四章 程序控制和数值控制(1)复位等待程序:当操作员按“停止”按钮后,CPU中的程序计数器PC的清零CPU从0000H单元开始执行复位等待程序。“停止”按钮使命令顺序控制器停止正常工作,使CPU处于等待中断请求状态,该状态还应关掉工序指示灯和实时时间显示器,断开所有的控制继电器,使发泡成型机处于停车状态。复位等待程序的流程图如图4.3所示。(2)控制程序:当操作员按动“启动”按钮后,就向CPU发出中断请求,于是CPU就按中断方式1响应中断,使顺序控制器进入顺序控制的生产、加工过程。第四章 程序控制和数值控制图4.3 复位等待程序流程图第四章 程序控制和数值控制按以
10、上设计原则绘出发泡成型机顺序控制器控制程序流程图如图4.4所示。其中第1个框实现数据区的初始化,第2个框预置显示时间缓冲区,第3个框输出继电器动作信号,第4个框显示当前工序号,第5个框采用比较工序号的办法完成条件控制判断,第6个框为条件控制程序,第7个框为时间性控制程序,第8和第9个框为顺序控制器的步进控制及顺序控制程序周期的结束判断。第四章 程序控制和数值控制图4.4 顺序控制器控制程序流程图第四章 程序控制和数值控制实际的控制程序常把1、2、3、6、7框编制成子程序,依次称为初始化子程序(INIT)、实时时间显示子程序(DISTIM)、继电器动作输出子程序(RLYACT)、条件控制子程序(
11、CNDCNL)和时间控制子程序(TIMCNL)。初始化子程序的流程图如图4.5所示。第四章 程序控制和数值控制图4.5 初始化子程序流程图第四章 程序控制和数值控制时间显示子程序的主要功能是显示出实时时间计数器的内容。如果个、十、百4位BCD码实时时间计数器采用两个字节存储单元组成,百位为一个字节,个、十位合用一个字节,则应对个、十位实行高4位和低4位分解,并送入数据区中显示时间缓冲区的相应存储单元。然后再由本子程序逐个取出3位BCD码并变换成7段显示码的表地址,读取显示码,再将它送入相应的显示器接口中。此子程序的流程图如图4.6所示。第四章 程序控制和数值控制图4.6 时间显示子程序流程图第
12、四章 程序控制和数值控制继电器动作输出子程序的功能是先到数据区读取继电器动作控制字的表地址,然后再到控制表中读取控制字并送到相应的接口电路,驱动继电器动作,最后求取下一工序控制字的表地址并回送到数据区中存放继电器控制字表地址的存储单元中,为下一工序的继电器动作准备好数据。该子程序的流程图如图4.7所示。第四章 程序控制和数值控制图4.7 继电器动作输出子程序流程图第四章 程序控制和数值控制时间控制子程序首先应把本工序的拨盘定时设定值读入数据区的拨盘给定值存储单元中,然后取出百位拨盘设定值,若不为“0”,则使十、个位计时单元从0开始计数,每隔1 s计时单元加1。若不满100,则显示此计时单元内容
13、;若计满100,则使百位计时单元加1,并清除十、个位计时单元和显示计时单元内容。第四章 程序控制和数值控制这个计时过程反复进行直到百位计时单元的计时数等于百位拨盘值为止。如果百位拨盘设定值为“0”,则跳过上述百位计时过程,而直接进入个、十位计时过程,此时取出十、个位定时拨盘值;如果不为“0”,则给十、个位拨盘设定值,则显示计时单元内容,直到十、个位计时单元内容等于拨盘设定值为止。如果原十、个位拨盘值为“0”,则跳过上述十、个位计时过程。最后把百、十、个位计时单元清“0”并显示之,标志本道工序的时间控制结束。时间子程序的流程图如图4.8所示。第四章 程序控制和数值控制图4.8 时间控制子程序流程
14、图第四章 程序控制和数值控制条件控制子程序是利用位置开关和压力开关的状态作为本工序结束的条件的,因此,为便于条件检测,常常根据顺序控制器的工艺要求形成条件字,其格式如表4.2所示。第四章 程序控制和数值控制由图4.9可见,不同条件对应不同的二进位,而这些条件可出现在不同的工序中,也可能在同一工序中出现两个或三个条件,因此条件控制子程序的主要任务是测试某工序的条件是否已经达到。一般条件测试的方法总是先输入条件字,然后用逻辑判断法判断本工序中的对应条件,如果条件不满足就等待条件产生,直到条件满足为止。第四章 程序控制和数值控制图4.9 条件控制子程序流程图第四章 程序控制和数值控制逻辑判别可采用串
15、行判断法和并行判断法。所谓串行判断法就是根据条件字进行逐位测试和判断。对于图4.9所示条件字,设屏蔽字存储单元的初值为01H,当LS-1的条件满足(LS-1=1)时,屏蔽字左移1位变为02H。如果本工序只有LS-1的条件,则把屏蔽字02H保存到数据区原屏蔽字存储单元中。如果本工序中还有条件LS-2,则在屏蔽字左移1位后继续测试LS-2的条件是否满足,如果不满足则等待,如果满足了,则屏蔽字左移1位变成04H,并送屏蔽字到存储单元,为下一次测试PSR的条件做好准备。串行判断法如图4.9(a)所示。第四章 程序控制和数值控制并行判断法则不管一道工序中同时有几个条件控制,而是通过相应的屏蔽字同时对几位
16、进行检测。此时的程序流程图如图4.9(b)所示。显然,对于多条件且工序较多的情况采用并行判断法较适宜,此时的判断速度较快。如果绝大部分是单条件控制工序,只有少量的双条件控制工序,则采用串行判断法也可以。第四章 程序控制和数值控制4.2 数字程序控制数字程序控制数字程序控制装置随着微型计算机的大量涌现而得到了广泛的应用,目前主要应用于车床、铣床、线切割机、气割机以及低速小型数字绘图仪等的自动控制系统中。采用数字程序控制的机床叫数控机床,它能对形状复杂的零件进行精密加工。对于不同的设备,其控制系统有所不同,但其基本的数值控制原理是相同的。本节首先介绍微机数控系统的组成和分类,然后介绍数值控制的原理
17、。第四章 程序控制和数值控制4.2.1 微机数控系统的组成与分类微机数控系统的组成与分类1.微机数控系统的组成微机数控系统的组成计算机数控系统(Computer Numerical Control),简称CNC系统。它是通过软件实现控制的,要想改变控制功能,只需改变相应的控制程序,硬件电路不做或只做极少改动,所以通用性和灵活性都很好。当CNC系统中的计算机采用微机时,就成为微机数控(MNC)系统了,其组成如图4.10所示。第四章 程序控制和数值控制图4.10 微机数控系统组成框图第四章 程序控制和数值控制1)输入装置一般指微机的输入设备,如键盘。其作用是输入数控系统对生产机械进行自动控制时所必
18、需的各种外部控制信息和加工数据信息。2)微机微机是MNC系统运算和控制的核心。在系统软件指挥下,微机根据输入信息完成数控插补器和控制器运算,并输出相应的控制和进给信号。若为闭环数控系统,则由位置检测装置输出的反馈信息也送入微机进行处理。第四章 程序控制和数值控制3)输出装置输出装置一般包括输出缓冲电路、隔离电路、输出信号功率放大器、各种显示设备等。在微机控制下,输出装置一方面显示加工过程中的各有关信息,另一方面向被控生产机械输出各种有关的开关量控制信号(冷却、启、停等控制信号),还向伺服机构发出进给脉冲信号等。4)伺服机构伺服机构一般包括各种伺服元件和功率驱动元件。其功能是将输出装置发出的进给
19、脉冲转换成生产机械相应部件的机械位移(线位移、角位移)运动。第四章 程序控制和数值控制5)加工机械加工机械即数控系统的控制对象,各种机床、织机等。目前已有专门为数控装置配套设计的各种机械,如各种数控机床,它们的机械结构与普通机床有较大的区别。2.微机数控系统的分类按用途分类,分为普通数控系统和多坐标数控系统;按控制对象的运动轨迹分类,包括点位控制系统、直线控制系统和轮廓控制系统等;按对伺服机构的控制方式分类可分为开环控制系统和闭环控制系统两种类型。第四章 程序控制和数值控制4.2.2 数值控制的基本原理数值控制的基本原理让我们先看图4.11所示的平面图形,如何用计算机在绘图仪或加工装置上重现该
20、图形呢?第一步:将该图分割成三段,即ab、bc和cd,其中ab、bc为直线段(顶上画直线),cd为曲线段(顶上用弧线),然后把a、b、c、d四点坐标记下来并送给计算机。图形分割的原则应保证线段所连成的曲线(或折线)与原图形的误差在允许范围之内。由图显然可见,用ab、bc、cd比ab、bc、cd要精确得多。(第四章 程序控制和数值控制第二步:当给定a、b、c、d各点坐标x和y值之后,还要确定各坐标值之间的中间值。求得这些中间值的数值计算方法称为插值或插补。插补计算的宗旨是通过给定的基点坐标,以一定的速度定出一系列中间点,而这些中间点的坐标是以一定的精度逼近给定的线段。从理论上说,插补的形式可以用
21、任意函数形式,但为了简化插补运算过程和加快插补速度,常用的是直线插补和二次曲线插补两种形式。常用的二次曲线有圆弧、抛物线和双曲线等。对图4.11所示的图形来说,显然ab和bc的线段用直线插补,cd线段用圆弧插补是合理的。第四章 程序控制和数值控制图4.11 曲线分段第四章 程序控制和数值控制第三步:把插补运算过程中定出的各中间点,以脉冲信号形式去控制,x、y方向上的步进马达带动画笔、刀具或线电极运动,从而绘出图形或加工出符合要求的轮廓来。这里每一个脉冲信号代表步进马达走一步,即画笔或刀具在x方向或y方向移动一个位置。我们把对应于每个脉冲移动的相对位置称为脉冲当量,又称为步长,常用x和y来表示,
22、并且总是取x=y。图4.12是一段用折线逼近直线的直线插补线段,其中(x0,y0)代表该线段的起点坐标值,(xe,ye)代表终点坐标值,那么x方向和y方向应移动的总步数Nx和Ny为第四章 程序控制和数值控制0exxxNx0eyyyNy如果把x和y定义为坐标增量值,即x0、y0、xe、ye均是以脉冲当量定义的坐标值,则第四章 程序控制和数值控制Nx=xex0 (4.3)Ny=yey0 (4.4)所以,插补运算就是如何分配这两个方向上的脉冲数,使实际的中间点轨迹尽可能地逼近理想轨迹。由图4.12可见,实际的中间点连线是一条折线,而由于x和y的值很小,眼睛分辨不出来,看起来似乎和直线一样。显然,x和
23、y的增量值越小,就越逼近于理想的直线段,图中均以“”代表x或y,图4.12(a)插补精度要高于图4.12(b)。第四章 程序控制和数值控制图4.12 用折线逼近直线段第四章 程序控制和数值控制实现直线插补和二次曲线插补的方法有多种,常见的有数字脉冲乘法器(因由麻省理工学院首先使用,又称MIT法)、数字积分法(又称数字微分分析器DDA法)和逐点比较法(又称富士通法或醉步法)等,其中以逐点比较法使用最广。因此下面将专门阐述逐点比较法的插补原理,而其它插补原理因受篇幅限制就不再一一阐述。第四章 程序控制和数值控制4.2.3 逐点比较法插补原理逐点比较法插补原理“逐点比较法”的插补原理是:每当画笔或刀
24、尖向某一方向移动一步,就进行一次偏差计算和偏差判别,也就是要比较一次到达的新位置坐标和理想线型上对应点的位置坐标之间的偏差程度,然后根据偏差的大小确定下一步的移动方向,使画笔或刀尖始终紧靠理想线型运动,起到步步逼近的效果。由于是“一点一比较,步步来逼近”的方法,所以得名为逐点比较法。第四章 程序控制和数值控制在笛卡尔坐标系中,x、y轴把一个平面划分成四个象限,故对整个平面来说,插补得到的中间点的位置可以向4个坐标轴方向(即+x,x,+y,y)移动。也就是说,插补运算始终是按这4个方向中的任一个方向来逼近理想线型的。当然,除上述4个方向外,也可能再加4个合成方向(即+x,+y;x,+y;x,y;
25、+x,y)作为中间插点的移动方向,这样,插补运算就可以按8个方向中的任意一个来逼近理想线型了。这8个方向轴把整个平面划分为8个象限。我们称前者为四方向插补,后者为八方向插补。第四章 程序控制和数值控制1 四方向逐点比较法直线插补原理四方向逐点比较法直线插补原理对于四方向直线插补来说,如果把直线段的起点坐标系放在坐标系原点,则任何一条直线段总是落在4个象限中的某一象限内,除非这条直线段与坐标轴重合。下面为叙述方便起见,均以绘图仪为例来说明。对于加工机械来说,只要用刀尖或线电极去代替画笔即可。1)在第一象限内的直线插补在第一象限中想绘制出直线段oP,如图4.13所示。第四章 程序控制和数值控制图4
26、.13 两个区域三个点集第四章 程序控制和数值控制若取oP起点为坐标原点,则oP线段把第一象限平面划分成两个区域,并形成三个点集;第一个点集是重合于直线段oP上的所有点;第二个点集是位于A+区域内的所有点;第三个点集是位于A_区域内的所有点。在oP直线上任取一点M(xi,yi),在与M点等高位置上,在A_区内取一点M(xi,yi),在A+区内取一点M(xi,yi),连接oM与oM,则得oM、oM、oM三条直线。它们与x轴正方向的夹角分别为、,且第四章 程序控制和数值控制 (4.5)因此,它们的斜率也不一样,即tantantan,即 ,所以由于tan0时,表示M点在A+区域内;当Fi0时,画笔在
27、A+区,在oP上方,为了逼近理想直线oP,必须沿+x方向走一步,若穿过oP,则进入A区域;若沿+x方向走一步,未穿过oP,则此时画笔仍在A+区内,因此经判别式判断,仍有F0,故继续沿+x方向走一步,直到穿过oP走入A区为止。同理可得,当F0时,画笔向+y方向走一步,再判断。若仍有F0来处理。由于偏差判别式(4.11)的计算是求两组乘积之差,而且对每一点都进行如此复杂的运算,因此,这种偏差计算方法将直接影响插补速度。为了简化偏差计算方法。我们现在把上述乘法运算过程变为加、减运算过程,因此对原始判别式作如下变换。第四章 程序控制和数值控制参看图4.14(a),当画笔落在A+区M(xi,yi)点上时
28、,显然F0,画笔应沿着+x方向进给一步而到达M(xi+1,yi)点,令M点的新偏差为F,由式(4.11)可得F=xeyiye(xi+1)=(xeyiyexi)ye=Fye (4.12)式中,F代表进给一步前的老偏差,ye为已知的终点坐标的y值。所以,当F0时,画笔应向+x方向进给一步到达新的一点,而该点的新偏差F等于前一点的老偏差减去终点坐标值ye。第四章 程序控制和数值控制同理,若M点落在A区内,即F0时,画笔沿+x方向进给一步;当F0时,画笔沿+y方向进给一步。当进给完成以后,F就是下一步的F值。第四章 程序控制和数值控制图4.14 第一象限直线插补的进给方向第四章 程序控制和数值控制2)
29、其它象限中的偏差差别及进给方向如果需要在其它三个象限内画直线,只要将它们化作第一象限的插补处理即可。因为这样处理,偏差运算公式没有变化,仅仅是进给方向对于不同的象限作某些改变即可。由图4.15可见,第一象限直线oP与第四象限内的oP是对称于x轴的,oP的终点为P(xe,ye),而oP的终点为P(xe,ye)。注意,为了把其它象限的直线插补作为第一象限的直线插补来处理,我们总是取终点坐标的绝对值来进行插补运算,求得偏差,根据求得的偏差大小决定进给,所不同的是某些进给方向与第一象限的直线插补进给方向相反。第四章 程序控制和数值控制我们以轴对称法则看图4.15,显然,一、二象限和三、四象限的图形对称
30、于y轴,而二、三象限和一、四象限的图形对称于x轴。每组对称图形之间,平行于对称轴的两个象限中的进给方向相同,而垂直于对称轴的两个象限中的进给方向相反。根据以上分析,可将四个象限中的直线插补公式及进给方向列于表4.3,而偏差值F与进给方向的关系则可以形象地由图4.16来表示。图中的“箭头”表示进给方向,F为偏差值,写在箭头附近的F0或F0代表八个区域中每个区内点的偏差值是大于零、等于零还是小于零。第四章 程序控制和数值控制图4.15 不同象限中进给方向的对称性第四章 程序控制和数值控制图4.16 F值与进给方向的关系第四章 程序控制和数值控制第四章 程序控制和数值控制3)终点判断画笔到达终点(x
31、e,ye)时必须自动停止进给。因此,在插补过程中,每走一步就要和终点坐标比较一下,如果没有到达终点,就继续插补运算,如果已经达到终点就必须自动停止插补运算。如何判断笔画是否到达终点呢?一般可以有以下两种方法:利用画笔所走过的总步数是否等于终点坐标的x与y之和进行判断。为此,可比较每一个插值点的坐标z和y两值之和(xi+yi)是否等于终点坐标相应两值之和(xe+ye),若相等则终点已到,否则终点未到,继续插补。第四章 程序控制和数值控制 取终点坐标xe和ye中较大者作为终判计数器的初值。我们称比较大者为长轴,另一为短轴。在插补过程中,只要沿长轴方向有进给脉冲,终判计数器减1,而沿短轴方向的进给脉
32、冲不影响终判计数器。由于插补过程中长轴的进给脉冲数一定多于短轴的进给脉冲数,长轴总是最后到达终点值,所以,这种终点判断方法是正确的。4)直线插补程序的流程图综上所述,逐点比较法直线插补工作过程可归纳为以下四步:第一步为偏差判别,即判断上一步进给后的偏差值是F0还是F0时,代表这一点在A+区内,即在圆弧外;当F0时,画笔必须从A+区穿过理想圆弧走入A_区,因此应沿x轴方向进给一步;当F0来处理。偏差判别式(4.18)的缺点是先要逐点进行平方计算然后做加减运算,既麻烦又费时。为此人们希望找到和直线插补同样简便的偏差计算方法。第四章 程序控制和数值控制如图4.19所示,由于M1点在A+区内,故F=x
33、2i+y2iR20,因此进给x一步,到达新的一点M,其坐标值为(xi1,yi),所以在M点处的新偏差值F为222222(1)2121iiiiiiFxyRxyRxFx (4.19)如图4.19所示,同样有:222222(1)2121iiiiiiFxyRxyRyFy (4.20)第四章 程序控制和数值控制综上可得,要画出NR1圆弧,对于在A+区内的点应沿x轴方向进给一步,到达新的一点的偏差值为F=F2xi+1;对于在A_区内的点应沿+y轴方向进给一步,到达新点的偏差值为F=F+2xi+1。其中F为进给前的老偏差,xi和yi为进给前那点的坐标值,因此新偏差可以通过老偏差求得。注意,此时还应及时修正中
34、间点的坐标值(即xi=xi1和yi=yi+1),供计算下一步偏差使用,即F、xi、yi依次作为F、xi、yi。第四章 程序控制和数值控制同理,可以推导出SR1圆弧的插补规律。由图4.20可得,对于在A+区内M1(xi,yi)点,其偏差F=xi2+yi2R20应沿y方向进给一步,到达新点M1(xi,yi1),新偏差值F=F2yi+1。对于在A_区内的M2(xi,yi)点,其偏差F0,应沿+x轴方向进给一步,到达新点M2(xi+1,yi),新偏差值F=F+2xi+1。同样,在完成偏差值运算时,还应完成坐标修正运算即xi=xi+1和yi=yi1。第四章 程序控制和数值控制图4.19 NR1逆圆插补的
35、进给第四章 程序控制和数值控制图4.20 SR1顺圆插补的进给第四章 程序控制和数值控制2)其它象限中逐点比较法圆弧插补的偏差公式和进给方向其它各象限中顺、逆圆弧都可以同第一象限比较而得出各自的偏差计算公式及其进给脉冲方向,因为其它象限的所有圆弧总是与第一象限中的NR1和SR1对称,如图4.21所示。对于图4.21(a),SR4与NR1对称于x轴,SR2和NR1对称于y轴,NR3与SR2对称于x轴,NR3与SR4对称于y轴。第四章 程序控制和数值控制图4.21 四个象限中圆弧的对称性第四章 程序控制和数值控制对于图4.21(b),SR1与NR2对称于y轴,SR1与NR4对称于x轴,SR3与NR
36、4对称于y轴,SR3与NR2对称于x轴。显然,对称于x轴的一对圆弧沿x轴的进给方向相同,而沿y轴的进给方向相反;对称于y轴的一对圆弧沿y轴的进给方向相同,而沿x轴的进给方向相反。所以在圆弧插补中,沿对称轴的进给方向相同,沿非对称轴的进给方向相反。其次,所有对称圆弧的偏差计算公式,只要取起点坐标的绝对值,均与第一象限中NR1或SR1的偏差计算公式相同。八种圆弧的插补计算公式及进给方向列于表4.4中。第四章 程序控制和数值控制第四章 程序控制和数值控制因此,当按NR1进行插补计算时,若改变其x轴方向的进给,则可画出对称于y轴的圆弧SR2;若改变其y轴的进给,则可画出对称于x轴的圆弧SR4;若将x、
37、y方向的进给同时反向,就可画出圆弧NR3。同理,当按SR1进行插补计算时,若沿x轴方向的进给方向反向,就画出对称于y轴的圆弧NR2;若沿y轴方向的进给方向反向,就可画出对称于x轴的圆弧NR4;若同时改变x、y轴上的进给方向,就画出圆弧SR3。第四章 程序控制和数值控制3)终点判断圆弧插补的终点判断方法和直线插补的终判原理一样,常取x方向的总步数和y方向总步数中的最大步数作为终点判断的依据。这里,x方向或y方向的总步数是圆弧终点坐标值(对圆心的坐标值)与圆弧起点坐标值之差的绝对值。例如,起点P(50,10)和终点Q(30,40),即x0=50,y0=10,xe=30,ye=40,则x方向的总步数
38、为|xex0|=|30-50|=20,而y方向的总步数为|yey0|=|4010|=30,故应取y方向的总步数作为终判计数器的初值。第四章 程序控制和数值控制在插补过程中,只要沿长轴方向有进给脉冲,终判计数器就减1,只要终判计数器不为零,就重复插补过程,直到终判计数器为零,终点到,圆弧插补过程才停止。4)圆弧插补程序流程图根据逐点比较法和圆弧插补的规律,可概括出圆弧插补程序流程图如图4.22所示。当然,实际处理方法会有所不同。第四章 程序控制和数值控制图4.22 圆弧插补程序流程图第四章 程序控制和数值控制(1)由于起点坐标值和终点坐标值在以圆心为原点的坐标系中可以有正有负,因此,可利用正、负
39、号来确定所在象限,利用起点坐标值和终点坐标值相对大小来确定是顺圆插补还是逆圆插补。然后可用如图4.23所示的标志字来表示将要进行的是什么类型的圆弧插补。标志字的各标志位可按表4.5来设置。当标志位为1时,代表将进行对应该位的圆弧插补,在实际的插补过程中标志字只有一位为1,其它各位均为0。圆弧插补标志字的形式可以有多种,图4.23仅举两例。圆弧插补的类型识别法也有几种,表4.5仅是其中的一种。第四章 程序控制和数值控制图4.23 圆弧插补标志字第四章 程序控制和数值控制第四章 程序控制和数值控制表中“(yey0)符号”一栏是带符号的ye与y0坐标分量之差的符号,可用它来识别是顺圆插补还是逆圆插补
40、,当然也可以用(xex0)的符号识别,或者用它们的绝对值之差的符号来识别。象限判断可通过如表4.5所示的圆弧起点坐标值来判别,也可通过终点坐标值来区分。根据圆弧插补标志字就很容易确定现在将进行的是SR1插补还是NR2插补,以及进给脉冲应是什么方向的。第四章 程序控制和数值控制(2)实际的进给信号是根据偏差值是F0还是F|xex0|,取|yey0|作为终判计数器初值;01 表示|xex0|yey0|,取|xex0|作为终判计数器初值。第四章 程序控制和数值控制又设进给脉冲标志字为00 表示刚才进给脉冲是y;01 表示刚才进给脉冲是x。那么,终判时只需比较这两个字的大小即可。若相等则终判计数器减1
41、;若不等则终判计数器内容保持不变。在这种处理方法中,终判计数器标志字可在初始化时设置,而进给脉冲标志字应在插补过程中根据实际的进给脉冲去设定。当然,也可把这两个标志反映在一个字节的某两位中,从而通过判断这两位的状态来确定是否产生终判计数器的减1操作。第四章 程序控制和数值控制4.3 步进电机的控制步进电机的控制步进电机是微特电机的一种,其作为执行元件,是机电一体化的关键产品之一,广泛应用在工业过程控制及仪表的各种自动化控制系统中。步进电机又称脉冲电动机,是利用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或者线位移的电动机。例如在机械结构中,可利用丝杠把角位移变成直线位移;也可以用它带动螺
42、旋电位器,调节电压和电流,从而实现对执行机构的控制。在数字控制系统中,由于它可以直接接受计算机来的数字信号,而不需要进行数/模转换,所以用起来非常方便。第四章 程序控制和数值控制步进电机作为执行元件的一个显著特点就是快速启停能力。如果负荷不超过步进电机所能提供的动态转矩值,就能够在“刹那”间使它启动和停转。一般步进电机的步进速率为2001000步/s,如果步进电机是以逐渐加速到最大值,然后再逐渐减速到零的方式工作,则步进电机速率可增加24倍,而且仍然不会失掉一步。第四章 程序控制和数值控制步进电机另一显著特点是精度高。在没有齿轮传动的情况下,步值(即每步所转动的角度)可以由90每步低到只有0.
43、36每步。另一方面,无论是变磁阻式步进电机还是永磁式步进电机,它们都能精确地返回到原来的位置。如一个24步(每步为15)的步进电机,当它向正方向步进48步时,刚好转两转。如果再向反方向步进48步,它将精确地回到原始的位置。第四章 程序控制和数值控制正因为步进电机具有快速启停、精确步进以及直接接受数字量的特点,因而使得步进电机在定位场合得到了广泛的应用。如在绘图仪、打印机及光学仪器中,都采用步进电机来定位绘图笔、打印头或光学镜头。特别是在工业过程的位置控制系统中,由于它的精度高以及不用位移传感器即可达到精确的定位,因而应用更为广泛。利用上一节介绍的插补原理和步进电机控制可以将传统车床改造成数控车
44、床,进一步可组成“自动化弧岛”。因而随着计算控制技术的不断发展,步进电机的应用会越来越广泛。第四章 程序控制和数值控制4.3.1 步进电机的工作原理步进电机的工作原理1.步进电机的工作过程步进电机实际上是一个数字/角度转换器,也是一个串行的数/模转换器,其结构原理如图4.25所示。从图4.25可以看出,电机的定子上有6个等分的磁极,A,A,B,B,C,C,相邻的两个磁极间的夹角为60,相对的两个磁极组成一相。如图4.25所示的结构为三相步进电机(AA,BB,CC)。当某一绕组有电流通过时,该绕组相应的两个磁极立即形成N极和S极,每个磁极上各有5个均匀分布的矩形小齿。第四章 程序控制和数值控制图
45、4.25 步进电机剖面示意图第四章 程序控制和数值控制电机的转子上没有绕组,而是由40个矩形小齿均匀分布在圆周上,相邻两个齿之间的夹角为9。当某相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路。如果这时定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子转动一定的角度,使转子齿和定子齿对齐。由此可见,错齿是促进步进电机旋转的根本原因。第四章 程序控制和数值控制例如,在单三拍控制方式中,例如A相通电,B、C两相都不通电,在磁场的作用下使转子齿和A相的定子齿对齐。我们以此作为初始状态。设与A相磁极中心对齐的转子齿为0号齿,由于B相磁极与A相磁极相差120,且1209=13(3/9)不为整数,
46、所以,此时转子齿不可能与B相定子齿对齐,只是靠近B相磁极的中心线,与中心线相差3。如果此时突然变为B相通电,而A,C两相都不通电,则使整个转子转动3,此时,称电机走了一步。同理,我们按照ABC为顺序轮流通电一周,则转子才转动90。第四章 程序控制和数值控制2.步进电机的分类与参数常见的步进电机分三种:永磁式(PM)、反应式(VR)和混合式(HB)。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5或15;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5,但噪声和振动都很大;混合式步进电机混合了永磁式和反应式的优点,它又分为两相和五相,两相步进角一般为1.8,而五相步进角
47、一般为 0.72。这种步进电机的应用最为广泛。以永磁式步进电机为例,图4.26是35BY型永磁式步进电机的外形图,图4.27是该电机的接线图。第四章 程序控制和数值控制图4.26 35BY型步进电机外形图第四章 程序控制和数值控制图4.27 35BY型步进电机的接线图第四章 程序控制和数值控制从图4.27中可以看出,电机共有四组线圈,四组线圈的公共端点连在一起引出,这样一共有5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将COM端标识为COM,只要A、A、B、B轮流加电就能驱动步进电机运转。结合控制系统的要求,按照步进电机的铭牌参数以及厂家的说明书,表4.7是35BY48S03步
48、进电机的具体参数,我们可以选择合适的步进电机。第四章 程序控制和数值控制根据该电机的典型参数如其工作电压、最大电流等,就可以设计出其控制电路。第四章 程序控制和数值控制4.3.2 步进电机控制系统原理步进电机控制系统原理典型的步进电机控制系统如图4.28所示。图4.28 步进电机控制系统的组成第四章 程序控制和数值控制步进电机控制系统主要是由步进控制器、功率放大器及步进电机组成的。步进控制器是由缓冲寄存器、环形分配器、控制逻辑及正、反转控制门等组成。它的作用就是能把输入的脉冲转换成环形脉冲,以便控制步进电机,并能进行正反向控制。功率放大器的作用就是把控制器输出的环形脉冲加以放大,以驱动步进电机
49、转动。在这种控制方案中,由于步进控制器线路复杂,成本高,因而限制了它的应用。但是,如果用计算控制系统,由软件代替上述步进控制器,则问题将大大简化,成本也将下降,而且还使可靠性大大加强。特别是用微型机控制,可根据系统的需要,灵活改变步进电机的控制方案,因而用起来更加灵活。典型的微型机控制的步进电机系统,其原理图如图4.29所示。第四章 程序控制和数值控制图4.29 典型的微型机控制的步进电机系统原理图第四章 程序控制和数值控制将图4.28与图4.29相比,主要区别在于用微型机代替了步进控制器。因此计算机的主要作用就是把并行二进制码转换成串行脉冲序列,并实现方向控制。每当步进电机脉冲输入线上得到一
50、个脉冲,它便沿着转向控制线信号所确定的方向走一步。只要负载是在步进的允许范围内,每个脉冲将使电机转动一个固定的步距角度,根据步距角的大小及实际走的步数,只要知道最初位置,便可知道步进电机的最终位置。第四章 程序控制和数值控制由于步进电机的原理在自动装置及电机方面的书籍中均有详细介绍,所以,这里不再赘述,读者可以参考有关方面的书籍,这里主要解决如下几个问题:(1)用软件的方法实现脉冲序列。(2)步进电机的方向控制。(3)步进电机控制程序的设计。1.脉冲序列的生成在步进电机控制系统中,最主要的问题之一就是产生一个如图4.30所示具有一定周期的脉冲序列。第四章 程序控制和数值控制图4.30 脉冲序列