《计算机控制技术顺序控制与数字控制教学PPT》由会员分享,可在线阅读,更多相关《计算机控制技术顺序控制与数字控制教学PPT(197页珍藏版)》请在金锄头文库上搜索。
1、第三章 顺序控制与数字控制 第三章 顺序控制与数字控制 3.1 顺序控制顺序控制 3.2 数字程序控制数字程序控制习题习题 第三章 顺序控制与数字控制 3.1 顺序控制顺序控制 3.1.1 3.1.1 顺序控制系统的类型顺序控制系统的类型1. 1. 按被控对象的特性分类按被控对象的特性分类 顺序控制包括时间顺序控制系统、逻辑顺序控制系统和条件顺序控制系统等。 第三章 顺序控制与数字控制 时间顺序控制系统是固定时间程序的控制系统。它以执行时间为依据,每个设备的运行或停止与时间有关。例如,在物料的输送过程中, 为了防止各输送带电动机同时启动造成负荷的突然增大,并且为了防止物料的堵塞,通常先启动后级
2、的输送带电动机,经一定时间延时后,再启动前级的输送带电动机。 在停止输送时,先停止前级输送带的电动机,延时后再停止后级输送带的电动机,使在输送带上的物料能输送完毕。 又例如, 在交通控制系统中,东西南北方向各色信号灯的点亮和熄灭是在时间上已经确定的,所以,它将按照一定的时间来点亮或熄灭信号灯。这类顺序控制系统的特点是各设备运行时间是事先已确定的,一旦顺序执行, 将按预定的时间执行操作指令。 第三章 顺序控制与数字控制 逻辑顺序控制系统按照逻辑先后顺序执行操作指令,它与时间无严格的关系。例如,在批量控制的反应釜中,反应初期, 首先打开基料阀,基料流入反应釜中,达到一定液位时,启动搅拌机。在搅拌开
3、始后,液位因基料在继续流入而升高,当达到某一液位时,反应基料停止加入,其它物料开始加入,当液位达到另一设定液位时, 物料停止加入,开始加入蒸汽升温, 并开始反应。 图31为反应釜工作流程图。 第三章 顺序控制与数字控制 图3-1 反应釜工作流程图 第三章 顺序控制与数字控制 在实际中基料与物料分别存放在各自的储液罐内,在这个过程中,进料的流量大小受到进料储罐液位的影响, 液位高, 则进料压力大,流量也大,达到启动搅拌机的液位所需时间也短。同样,在加入其它物料时,因受物料流量的影响,液位达到所需液位的时间也不同。但是,在这类控制系统中, 执行操作指令的逻辑顺序关系不变,因此,称这类控制系统是逻辑
4、顺序控制系统。这类控制系统在工业生产过程的控制中应用较多。 第三章 顺序控制与数字控制 条件顺序控制系统是以执行操作指令的条件是否满足为依据,当条件满足时,相应的操作就被执行,不满足时,将执行另外的操作。 典型的例子是电梯控制系统。当某一层有乘客按了向上按钮后,如电梯空闲,则电梯自动向该层运行。 当乘客进入电梯轿厢,并按了所需去的楼层按钮后, 在一定的时间延时和关闭电梯门后,电梯将运行,一直等到电梯到达了所需的楼层, 自动打开轿厢门。这里,电梯的运行根据条件确定,可向上运行也可向下运行,所停的楼层也根据乘客所需确定。这类顺序控制系统在工业生产过程控制中也有较多的应用。 第三章 顺序控制与数字控
5、制 2. 2. 按控制技术手段分类按控制技术手段分类顺序控制系统在工业控制领域的应用很广,顺序控制系统实现的方案有采用继电器组成的逻辑控制系统、采用晶体管的无触点逻辑控制系统、采用可编程序控制器的逻辑控制系统和采用计算机的逻辑控制系统等。 继电器组成的顺序逻辑控制系统是历史最久的一种实现方法。它的控制功能全部由硬件完成,即采用继电器的常开常闭触点、延时断开延时闭合触点等可动触点和普通继电器、时间继电器、 接触器等执行装置完成所需的顺序逻辑功能。例如, 电动机的开停控制等。受继电器触点可靠性的影响和使用寿命的限制, 这类控制系统的使用故障较多,使用寿命较短, 加上因采用硬件完成顺序逻辑功能, 因
6、此更改不便, 维修困难。 第三章 顺序控制与数字控制 晶体管组成的无触点顺序逻辑控制因减少了连接点的可动部件,可靠性大大提高。晶体管、 晶闸管等半导体元器件的使用寿命也较继电器的触点使用寿命长,因此,在20世纪70年代得到了较大的发展。它也是用硬件组成顺序逻辑功能, 更改也不很方便,但因采用功能模块的结构,部件的更换和维修较继电器顺序逻辑控制系统要方便。 第三章 顺序控制与数字控制 可编程序控制器是在计算机技术的促进下得以发展起来的新一代顺序逻辑控制装置。与上述的组成方法不同,它用软件完成顺序逻辑功能, 用计算机来执行操作指令,实施操作,因此, 顺序逻辑功能的更改十分方便。加上得益于计算机的高
7、可靠性和高运算速度,使得可编程序控制器一出现就得到了广泛的应用。 第三章 顺序控制与数字控制 计算机组成的顺序逻辑控制系统指在集散控制系统或工控机中实现顺序逻辑控制功能的控制系统。在大型的顺序逻辑控制和连续控制相结合的工程应用中,这类控制系统大有用武之地。在这类控制系统中,有连续量的控制和开关量的控制。 采用计算机对它们进行操作和管理,必要时,把信息传送到上位机或下送到现场控制器和执行机构。 由于计算机技术、半导体技术、通信和网络技术、控制技术、软件技术等高新科学技术的发展,工业生产过程的控制也出现了飞速的发展,可编程序控制器将与其他计算机控制装置一起成为21世纪工业控制领域的主流控制装置。
8、第三章 顺序控制与数字控制 3.1.2 3.1.2 顺序控制系统的组成顺序控制系统的组成顺序控制系统的组成见图3-2, 它由五部分组成: (1) 输入接口:实现输入信号的电平转换。 (2) 控制器:接受控制输入信号,按一定的控制算法运算后,输出控制信号到执行机构,控制器具有记忆功能,能实现所需的控制运算功能。 (3) 输出接口:实现输出信号的功率转换。 (4) 检测机构:检测被控对象的状态信息。 (5) 显示报警装置:显示系统的输入、输出状态,报警等信息,便于了解过程运行状态和对过程的操作、调试、事故处理等。 第三章 顺序控制与数字控制 图3-2 顺序控制系统的组成 第三章 顺序控制与数字控制
9、 3.1.3 3.1.3 顺序控制系统的应用领域顺序控制系统的应用领域1. 1. 工业生产流水线工业生产流水线在机械、电子等制造工业中, 产品采用流水线的工作方式按先后次序进行。在这类工业生产过程中,部分控制操作是按时间的次序进行的,大部分控制操作是按逻辑顺序进行的。 这类顺序控制系统的应用十分广泛,例如数控机床、柔性制造系统、物料输送系统、生产流水线等。另外,在批量控制系统中,对不同批号的产品有不同的生产顺序、不同的配方和控制条件,这类控制系统对程序更改有较多的要求,在继电器顺序控制时期,这类控制系统实现较困难,采用可编程序控制器可较方便地实现,因此,这类控制系统的应用也得到了较大的发展。
10、第三章 顺序控制与数字控制 2. 2. 安全生产监控系统安全生产监控系统在石油化工、核电、冶金等工业领域,由于工作环境具有高温、高压、易燃、易爆、核辐射等特点,工作过程参数一旦偏离规定的范围, 就会发生事故, 造成设备损坏或人员伤亡,因此,必须对操作的过程参数进行控制。在这些工业生产过程中,要设置控制系统, 以防止事故的发生,这是顺序控制系统的另一个很重要的应用场合。 第三章 顺序控制与数字控制 3. 3. 家电产品家电产品在家电产品中,顺序控制系统也有较广泛的应用。 洗衣机的顺序控制、冰箱的温度控制、空调系统等顺序逻辑控制系统是较常见的应用例子。家用电器的一些模糊控制系统、 自动烹调系统等也
11、得到应用。总之,在家电领域,顺序控制系统还刚开始进入应用, 有很大的发展前途。 第三章 顺序控制与数字控制 3.1.4 3.1.4 顺序控制的应用实例顺序控制的应用实例 下面以冷加工自动线中钻孔动力头的自动控制顺序作为实际例子。 其加工过程分为以下几步: (1) 动力头在原位(原位行程开关x0受压)并按启动按钮A,电磁阀DT1通电,动力头快进。 (2) 碰上行程开关x1电磁阀DT2通电(DT1保持通电),由快进转工进。 (3) 碰上行程开关x2开始延时(继续工进)。 第三章 顺序控制与数字控制 (4) 延时时间到DT1、 DT2断电,DT3通电,动力头快退。 (5) 动力头退回到原位(x0又受
12、压)DT3断电,动力头停止。 完成一个周期的循环动作之后,又返回到第一步, 开始下一个循环的动作。钻孔动力头控制逻辑功能图如图3-3所示。 第三章 顺序控制与数字控制 图3-3 钻孔动力头控制逻辑功能图 第三章 顺序控制与数字控制 在加工过程中,钻孔动力头有快进、工进、工进延时、 快退、停止等五个工作状态,各工作状态的顺序转换是根据现场输入信号(由按钮、行程开关、延时继电器发出的)而定的。 显然, 钻孔动力头的自动控制就是顺序控制。 第三章 顺序控制与数字控制 前已述,钻孔动力头在一个工作循环中有快进、工进、工进延时、快退和停止等五个工作状态。 从前一个工作状态转入下一个工作状态,是根据来自现
13、场的输入信号的逻辑判断。 现场输入信号有启动按钮A、原位开关x0、行程开关x1和x2以及延时信号。 这些电器触点的通断,通过输入电路变成电位信号引到微型计算机的输入接口的输入端上,CPU按一定逻辑顺序读取这些信号,并逐一判断是否满足各工作状态转换条件。若满足,则发出相应的转换工作状态的控制信号。控制信号从微型计算机的输出接口引出,经过隔离放大电路驱动相应的电磁阀吸合或释放, 从而改变液压油路的状态,使动力头进入新的工作状态。 第三章 顺序控制与数字控制 若不满足,则等待(当CPU只控制一台动力头时)或跳过, 转向询问另一台动力头(当CPU控制多台动力头时)。 整个工作过程是以一定的硬件为基础,
14、 通过CPU执行一段控制程序来实现的。 下面介绍采用AT89C51单片微型计算机实现动力头的顺序控制。 1. 1. 输入输出接口设置输入输出接口设置采用AT89C51单片微型计算机通过接口电路直接与外部连接,控制各执行机构完成生产过程。输入输出信号安排如表3-1所示。 第三章 顺序控制与数字控制 表表3-1 输入输出信号安排输入输出信号安排 输入信号启动按钮A原位开关X0行程开关X1行程开关X2P1.0P1.1P1.2P1.3输出信号快进DT1工进DT2快退DT3P3.0P3.1P3.2第三章 顺序控制与数字控制 单片机AT89C51的P1口设置为输入,P3口设置为输出。表3-1中所标现场输入
15、信号A、x0、x1、x2是经过输入电路处理后送来的电位信号。当开关受压时, 送来“1”信号,不受压时,送来“0”信号。计算机送出的控制信号使DT1、DT2或DT3吸合或释放,完成相应执行机构的控制动作(实际上应经过驱动电路)。 第三章 顺序控制与数字控制 2. 2. 控制程序流程图控制程序流程图控制程序流程图如图3-4所示。 第三章 顺序控制与数字控制 图3-4 控制程序流程图 第三章 顺序控制与数字控制 3. 3. 控制程序控制程序 从图3-4程序流程图可以看到,控制程序所要完成的任务是, 按一定的逻辑顺序读取现场工作状态信号;按预先规定的逻辑算式进行与、或、非等逻辑运算;按运算结果判断是否
16、发出某种控制信号。根据图3-4所给出的流程图及表3-1所示输入输出信号排列,按程序实现数字逻辑功能的方法, 可编出控制程序如下: 第三章 顺序控制与数字控制 STAGE1: MOV A,P1 ;读P1口输入信号ANL A,03H ; 取出A信号和原位信号CJNEA,03HSTAGE1 ; 没有A信号和原位信号, 继续等待STAGE2: MOV P3,01H ; 发快进命令STAGE20: MOV A,P1 ; 读P1口输入信号 ANL A,04H ; 取出x1信号CJNE A,04H STAGE20 ; 没有x1信号, 继续快进STAGE3: MOV P3,02H ; 发工进命令STAGE30
17、: MOV A,P1 ; 读P1口输入信号 ANL A,08H ; 取出x2信号CJNE A,08H STAGE30 ; 没有x2信号,继续工进 第三章 顺序控制与数字控制 STAGE4: LCALL DELAY ; 调延时子程序 MOV P3,04H ; 发快退命令STAGE40: MOV A,P1 ; 读P1口输入信号 ANL A,02H ; 取出原位信号CJNE A,02H STAGE40 ; 没有回到原位, 继续快退STAGE5: LJMP STAGE1 ; 返回,转下次循环 延时子程序DELAY此处从略。 第三章 顺序控制与数字控制 3.2 数字程序控制数字程序控制 3.2.1 3.
18、2.1 数值插补计算方法数值插补计算方法 能根据输入的指令和数据,控制生产机械按规定的工作顺序、运动轨迹、运动距离和运动速度等规律而自动完成工作的自动控制称为数字程序控制。 数字程序控制主要应用于机床自动控制,如用于铣床、 车床、加工中心、线切割机以及焊接机、气割机等的自动控制系统中。采用数字程序控制系统的机床叫做数字程序控制机床。 数字程序控制机床具有能加工形状复杂的零件,加工精度高, 生产效率高,便于改变加工零件品种等许多特点,它是实现机床自动化的一个重要发展方向。 第三章 顺序控制与数字控制 数字程序控制系统一般由输入装置、输出装置、控制器和插补器等四大部分组成。目前硬件数控系统已很少采
19、用,多数采用计算机数控系统,控制器和插补器功能以及部分输入输出功能都由计算机承担。 数字程序控制系统的插补器用于完成插补计算。插补计算就是按给定的基本数据(如直线的终点坐标,圆弧的起、终点坐标等),插补(插值)中间坐标数据,从而把曲线形状描述出来的一种计算。插补器实际上是一个函数发生器,能按给定的基本数据,产生一定的函数曲线,并以增量形式(例如为脉冲)向各坐标连续输出, 以控制机床刀具按给定的图形运动。 第三章 顺序控制与数字控制 多年来,在数字程序控制机床中最常采用的插补计算方法是逐点比较插补计算法(简称逐点比较法)和数字积分器插补计算法(简称数字积分法)。近几年又采用了一些新的插补计算法,
20、 如时间分割插补计算法(简称时间分割法)和样条插补计算法等。 按插补器的功能可以分为平面的直线插补器、圆弧插补器和非圆二次曲线插补器及空间直线和圆弧插补器。因为大部分加工零件图形都可由直线和圆弧两种插补器得到,所以,在数字程序控制系统中直线插补器和圆弧插补器应用最多。 第三章 顺序控制与数字控制 所谓逐点比较插补法,就是它每走一步都要和给定轨迹上的坐标值进行一次比较,看这点在给定轨迹的上方或下方, 或是在给定轨迹的里面或外面,从而决定下一步的进给方向。如果原来在给定轨迹的下方,下一步就向给定轨迹的上方走,如果原来在给定轨迹的里面,下一步就向给定轨迹的外面走, 如此,走一步,看一看,比较一次,决
21、定下一步走向,以便逼近给定轨迹, 即形成“逐点比较法”插补。 第三章 顺序控制与数字控制 逐点比较法是以阶梯折线来逼近直线或圆弧等曲线的, 它与规定的加工直线或圆弧之间的最大误差为一个脉冲当量, 因此只要把脉冲当量(每走一步的距离)取得足够小, 就可达到加工精度的要求。 下面分别介绍逐点比较法直线和圆弧插补原理及其插补计算的程序实现方法。 第三章 顺序控制与数字控制 图3-5 第一象限直线 第三章 顺序控制与数字控制 3.2.2 3.2.2 逐点比较法直线插补逐点比较法直线插补1 1 直线插补计算原理直线插补计算原理(1) 偏差计算公式: 按逐点比较法的原理,必须把每一插值点(动点)的实际位置
22、与给定轨迹的理想位置间的误差, 即“偏差”计算出来,根据偏差的正、负决定下一步的定向, 逼近给定轨迹。因此,偏差计算是逐点比较法关键的一步。 下面以第一象限平面直线为例来推导其偏差计算公式。 第三章 顺序控制与数字控制 假定加工如图3-5所示的直线OA。取直线起点O为坐标原点, (xe、ye)是已知的直线终点坐标。m(xm、ym)为加工点(动点),若m在OA直线上,则根据相似三角形的关系可得 即 取直线插补的偏差判别式Fm为 (3-1) 第三章 顺序控制与数字控制 若Fm=0,表明m点在OA直线上;若Fm 0,说明xe=Xm时, ymye, 表明m点在OA直线上方;若Fm 0,说明xe= Xm
23、时, ymye, 表明m点在OA直线下方。 逐点比较法直线插补的原理是:从第一象限直线的起点(即坐标原点)出发,当Fm0时,沿+x轴方向走一步,当Fm 0时, 沿+y方向走一步,当两方向所走的步数与终点坐标(xe、ye)相等时, 发出终点到信号,停止插补。 如果直线按式(3-1)计算偏差,要做两次乘法,一次减法, 比较麻烦, 因此需要进一步简化。 第三章 顺序控制与数字控制 对于第一象限而言,设加工点正处于m点,当Fm0时,表明m点在OA上或在OA的上方,应沿+x方向进给一步,走一步后新的坐标值为 xm+1=xm+1 ym+1=ym 该点的偏差为 Fm+1=ym+1xe-xm+1ye=ymxe
24、-(xm+1)ye=ymxe-xmye-ye=Fm-ye (3-2) 第三章 顺序控制与数字控制 若Fm0时,表明m点在OA的下方,应向+y方向进给一步,走一步后新的坐标值为 xm+1=xmym+1=ym+1 该点的偏差为 第三章 顺序控制与数字控制 式(3-2)和式(3-3)是简化后的偏差计算公式, 在公式中只有加、减运算,只要将前一点的偏差值与等于常数的终点坐标值xe、ye相加或相减,即可得到新的坐标点的偏差值。加工的起点是坐标原点,起点的偏差是已知的,即F0=0,这样,随着加工点前进,新加工点的偏差Fm+1都可以由前一点偏差Fm和终点坐标相加或相减得到。这样就省去了乘法运算。 第三章 顺
25、序控制与数字控制 (2) 终点判断方法: 逐点比较法的终点判断有多种方法, 下面介绍两种: 第一种方法是,设置x、y两个减法计数器,在加工开始前, 在x、y计数器中分别存入终点坐标值xe、ye,在x坐标(或y坐标)进给一步时,就在x计数器(或y计数器)中减去1,直到这两个计数器中的数都减到零时,到达终点。 第二种方法是,用一个终点计数器,寄存x和y两个坐标进给的总步数,x或y坐标进给一步-1,若-1=0就到达终点。 第三章 顺序控制与数字控制 (3) 插补计算过程: 插补计算时,每走一步,都要进行以下四个步骤(又称四个节拍)的逻辑运算和算术运算: 偏差判别即判别偏差F0或F0,表明加工点m在圆
26、弧外;Fm 0,表明加工点m在圆弧内。 若Fm0,为了逼近圆弧,下一步向-x轴向进给一步并算出新的偏差。 若Fm0,为了逼近圆弧,下一步向+y轴向进给一步并算出新的偏差。 那么,如此一步步计算和一步步进给, 并在到达终点后停止运算,就可插补出如图39所示的第一象限逆圆弧AB。 第三章 顺序控制与数字控制 图39 第一象限逆圆弧第三章 顺序控制与数字控制 为避免计算平方值而简化计算,下面推导偏差计算的递推公式。设加工点正处于m(xm、ym)点,其判别式为 若Fm0,应沿-x轴向进给一步,到m+1点,其坐标值为xm+1=xm-1,ym+1=ym。 新加工点的偏差为 (3-4) 若Fm0, 应 沿
27、+y轴 向 进 给 一 步 , 到m+1点 , 其 坐 标 值 为xm+1=xm,ym+1=ym+1。 第三章 顺序控制与数字控制 新加工点的偏差为 (3-5) 由式(3-4)和式(3-5)可知, 只要知道前一点的偏差,就可求出新的一点的偏差。公式中只有乘2运算, 避免了平方计算,计算大大简化了。 因为加工是从圆弧的起点开始,起点的偏差F0=0,所以新加工点的偏差总可以根据前一点的数据计算出来。 第三章 顺序控制与数字控制 (2) 终点判断方法:圆弧插补的终点判断方法和直线插补相同。可将x、y轴走步步数的总和存入一个计数器,每走一步,从中减1,当-1=0时发出终点到信号。 (3) 插补计算过程
28、: 圆弧插补计算过程和直线插补计算过程相同,也是分偏差判别、坐标进给、偏差计算和终点判断四个节拍。但是偏差计算公式不同, 而且在偏差计算的同时还要进行加工点瞬时坐标(动点坐标)值的计算,以便为下一点的偏差计算作好准备。如对于第一象限逆圆来说,坐标值计算公式为 xm+1=xm-1; ym+1=ym+1 第三章 顺序控制与数字控制 2 圆弧插补计算举例圆弧插补计算举例设加工第一象限逆圆弧AB,已知起点A的坐标为x0=4、y0=0,终点B的坐标为xe=0、ye=4。试进行插补计算并作出走步轨迹图。计算过程如表3-4所示。根据表3-4可作出走步轨迹如图3-10所示。 第三章 顺序控制与数字控制 表表3
29、-4 圆弧插补过程圆弧插补过程第三章 顺序控制与数字控制 图3-10 圆弧插补走步轨迹图 第三章 顺序控制与数字控制 3 四个象限圆弧插补计算公式四个象限圆弧插补计算公式前面以第一象限逆圆为例推导出偏差计算公式, 并指出了根据偏差符号来确定进给方向。 其它三个象限的逆、顺圆的偏差计算公式可通过与第一象限的逆圆、顺圆相比较而得到。下面先推导第一象限顺圆的偏差计算公式。设加工点现处于m(xm,ym)点。若偏差Fm0,则沿-y轴向进给一步,到m+1点, 新加工点坐标将是(xm,ym-1),可求出新的偏差为 (3-6) 第三章 顺序控制与数字控制 若偏差Fm0,则沿+x轴向进给一步,到m+1点,新加工
30、点的坐标将是(xm+1,ym),同样可求出新的偏差为 (3-7) 这样便可以第一象限的逆圆、顺圆为基准来推导其它三个象限的逆、顺圆插补计算公式。在下面叙述过程中,分别以符号SR1、SR2、 SR3、SR4表示第一至第四象限的顺圆,以符号NR1、NR2、NR3、 NR4表示第一至第四象限的逆圆。 第三章 顺序控制与数字控制 图3-11 四个象限圆弧 第三章 顺序控制与数字控制 以第二象限顺圆为例,与SR2相对应的是第一象限逆圆NR1。这两个圆弧对y轴对称,起点坐标相对应,见图3-11。从图中可知,从各自起点插补出来的轨迹对于x坐标对称,即y方向的进给相同,x方向进给反向。机器完全按第一象限逆圆偏
31、差计算公式进行运算,所不同的是将x轴的进给方向变为正向, 则走出SR2。这时圆弧的起点坐标要取其数字的绝对值。在现在情况下,图3-11中起点坐标(-x0、y0)送入机器时,起点坐标应取为(x0、y0),而-x0的“-”号则应去控制x轴的正向进给。 第三章 顺序控制与数字控制 从图3-11还可以看出, 当我们按第一象限逆圆NR1插补时,若将y坐标反向,则走出的就是第四象限顺圆SR4,若将x坐标和y坐标的进给方向同时反向, 走出的就是第三象限逆圆NR3。 由上述分析可知:NR1、SR2、NR3和SR4的偏差计算公式相同, 而只要改变进给方向便可归结到NR1的插补计算。按上述方法可知,NR2、SR3
32、、NR4的偏差计算公式与SR1相同,所不同的也只是改变进给方向。 第三章 顺序控制与数字控制 所有四个象限,8种圆弧插补时的偏差计算公式和坐标进给方向列于表3-5。 表3-5 圆弧插补计算公式和进给方向 第三章 顺序控制与数字控制 4圆弧插补计算的程序实现圆弧插补计算的程序实现以插补第一象限顺圆(SR1)为例来设计软件插补器。按逐点比较法圆弧插补的偏差计算公式及终点判断公式,应知道圆弧的起点坐标和终点坐标,根据起、终点坐标计算出两坐标走步的总步数=|xe-x0|+|ye-y0|。先输入起点坐标值x0、y0、总步数, 并应保存偏差值Fm。因此,与直线插补一样,应开辟四个内存单元来存放。设定XX为
33、x轴坐标值存放单元(初始存x0); YY为y轴坐标值存放单元(初始存y0); JJ为总步数存放单元; MM为加工点瞬时偏差值存放单元XX、YY单元初始存放x0、y0 ,加工过程中依据坐标计算结果而变化。JJ单元的内容在加工过程中作减1修改,直至(JJ)=0表示加工结束。MM的内容初始清除为零,在加工过程中依据偏差计算结果而变化。 第三章 顺序控制与数字控制 第一象限顺圆插补计算程序流程图如图3-12所示。 图3-12 第一象限顺圆插补计算程序流程图 第三章 顺序控制与数字控制 第一象限顺圆插补计算程序如下: MM EQU 30H XX EQU 31H YY EQU 32H JJ EQU 33H
34、 ORG 0000H JMP MAIN ORG 0080H MAIN: MOV A,00H ; 置偏差初值为零 MOV MM,A 第三章 顺序控制与数字控制 L1: MOV A,MM ; 取原偏差值到A CLR C SUBB A,80H JNC L11 ; 偏差0; 不, 转算L11 MOV A,YY ; 取Y到A DEC A MOV YY,ARL A MOV R1,A ; 2(Y-1)存在R1 MOV A,MM ; 取原偏差值到A DEC A CLR C SUBB A,R1 ; F-2Y+1 MOV MM,A ; 保存新偏差值 CALL STEP1 ; +X走步 JMP L12 ; 至终点判
35、断 第三章 顺序控制与数字控制 L11: MOV A,XX ; 是, X=X+1 INC A MOV XX,A RL A MOV R1,A ; 2(X+1)保存在R1 MOV A,MM ; 取原偏差值到A DEC A CLR C ADD A,R1 ; F+2X+1 MOV MM,A ; 保存新偏差值 CALL STEP4 ; -Y走步 第三章 顺序控制与数字控制 L12: MOV A,JJ ;取总步数JJ到A DEC A ; JJ-1 MOV JJ,A ; JJ=JJ-1 JNZ L1 ; 终点? 不, 继续 RET ; 是, 结束STEP1: RETSTEP4: RET 第三章 顺序控制与数
36、字控制 补充 线性化处理 根据数学方程式计算处理 线性插值法 二次抛物线插值法第三章 顺序控制与数字控制 计算法 计算法就是在已测参数的基础上,利用各种运算程序计算出需要的参数。用计算法处理数据一般可按以下步骤进行:(1)根据物理和工程实际求出被测参数的数学表达式;(2)根据要求的精度,确定A/D转换器的位数,并设计出相应的硬件电路;(3)根据被测参数的数学表达式,进行相应的数据处理。返回本章首页第三章 顺序控制与数字控制 控制系统主程序和中断服务程序流程框图如图5-1和图5-2所示。 图5-1 主程序流程图图5-2 中断服务程序流程图 第三章 顺序控制与数字控制 流量计算程序流程图如图5-3
37、所示。第三章 顺序控制与数字控制 程序清单如下: .MOV MUL1_L,DATA; 差 压 信 号 P送MULT1INCDATAMOV MUL1_H,DATAINCDATAMOV MUL2_L,DATA; 绝 对 压 力 P送MULT2INCDATAMOV MUL2_H,DATA第三章 顺序控制与数字控制 ACALLMULTD;计算PPMOV DIV1_H,PR_H MOV DIV1_L,PR_LINCDATAMOVDIV2_L,DATA; 绝 对 温 度 T送DIV2INCDATA MOV DIV2_H,DATAACALLDUBDIV;计算PP/TMOV S_H,DIV1_HMOV S_L
38、,DIV1_L ACALLSORTMOV MUL1_L,SR 第三章 顺序控制与数字控制 MOVMUL1_H,#00HINC DATAMOVMUL2_L,DATAINC DATAMOV MUL2_H,DATAACALL MULTDMOVRESULT,PR_LINC RESULT,MOVRESULT,PR_H第三章 顺序控制与数字控制 程序中用到的双字节的乘法、除法子程序可参考第三章中的相关内容。开方子程序:程序入口:被开方数N存放地址S_H(高8位),S_L(低8位);程序出口:平方根的整数部分存放在SR单元中。SORT:MOV SR,#00H;开放结果I置零CLR C;清进位标志位LOOP:
39、MOV A,SR ;求2I+1ADD A,SR第三章 顺序控制与数字控制 MOVR7,#00HXCH A,R7ADDCA,#00HXCH A,R7ADDCA,#00HXCH A,R7MOV R6,ACLR C; 求N-(2I+1)第三章 顺序控制与数字控制 MOVA,S_LSUBBA,R6MOV S_L,AMOV A,S_HSUBBA,R7MOV S_H,AJCRETUINCSR;开方结果加1SJMPLOOP RETU:RET 返回本节第三章 顺序控制与数字控制 查表法 顺序查表法 计算查表法 对分查表法 返回本章首页第三章 顺序控制与数字控制 顺序查表法 顺序查表法的步骤如下:(1)设定表格
40、的起始地址。(2)设定表格的长度。(3)设定要搜索的关键字。(4)从表格的第一项开始,比较表格数据和关键字,进行数据搜索。图5-4 顺序查表法程序流程图第三章 顺序控制与数字控制 图图5-4 顺序查表法程序流程图顺序查表法程序流程图第三章 顺序控制与数字控制 顺序查表法程序清单: SEARCH: MOV R0,TABLE;设定表格起始地址MOV R1,LENGTH ;设定表格长度 CLRFLAG ;查找成功标志位清零LOOP:MOV A,KEY;读关键字XRLA,R0;比较JNZNEXT ;未查找到关键字,继续 SETB FLAG ;查找到关键字,置位查找成功标志位MOV A,R0;读出关键字
41、在表中的地址AJMP RETU ;退出查找NEXT:INCR0;指向表格的下一个数据DJNZ R1,LOOP;未检索完全部数据,继续RETU:RET;退出查找程序,子程序返回 返回本节第三章 顺序控制与数字控制 计算查表法 计算查表法适用于数据按一定的规律排列,并且搜索内容和表格数据地址之间的关系能用公式表示的有序表格。下面以实例介绍计算查表法的程序设计。设计一巡回检测报警装置,要求能对16个通道输入值进行比较,当某一通道输入值超过该路的报警值时,发出报警信号。通道值和报警值的存放地址之间的关系可用下面的公式表示:报警值存放地址=数据表格起始地址+通道值2第三章 顺序控制与数字控制 设通道值(
42、以16进制表示)存放在CIRC单元中,查表后的上限报警值存放在UPPER单元中,下限报警值存放在LOWER单元中。查表程序清单如下:CLRC;进位标志位清零 MOV DPTR,#TAB ;设置数据表首址 MOV A,CIRC;读检测通道值 RLCA;检测通道值乘2MOVCA,A+DPTR ;读上限值MOV UPPER,A;保存上限值INCDPTR MOVCA,A+DPTR ;读下限值MOV LOWER,A;保存下限值RETTAB:UPPER0,LOWER0,UPPER1,LOWER1,.,UPPER15,LOWER15 ;报警数据表返回本节第三章 顺序控制与数字控制 对分查表法 对分查表法的最
43、高搜索次数Log2N-1。 和顺序查表法相比,对分法可以大大减少查表次数,提高检索效率。 对分查表法的程序流程图如图5-5所示 第三章 顺序控制与数字控制 对分查表法程序清单: MOVBEGIN,#00H;设置检索范围起点MOV END,#DVL ;设置检索范围终点MOV KEY,#KEY ; 设置关键字MOV TIME,#01H ;置检索次数初值LOOP:MOV R0,#ADD;置数据区起始地址 MOV A,BEGIN;取检索范围起点ADD A,END;起点+终点CLR CRRC A;除2MOV FLAG,A;存放对分检索取数序号CLR C 第三章 顺序控制与数字控制 XORA,2AH;判断
44、是否到检索范围边缘JZLOOP3;是,跳转至LOOP3MOV A,FLAGADDA,R0;形成对分检索取数地址 MOV R0,A MOV A,R0;读数MOV DATA,A;保存检索到的数据CLRCSUBB A,KEY;和关键字比较JZLOOP5;相等,则检索成功JNCLOOP2;取的数据大,跳转至LOOP2MOV 2AH,FLAG;取的数据小,修改检索范围的起点第三章 顺序控制与数字控制 INC TIME;检索次数加1SJMPLOOP1 ;继续检索 LOOP2:MOVA,FLAG;取的数据大,修改检索范围的终点 MOVEND,AINCTIME SJMPLOOP1 ;继续检索LOOP3:MOV
45、R0,#DATA;到达检索边缘,比较是否为关键字MOVA,R0CJNEA,KEY,LOOP4;不是关键字,跳转至LOOP4 MOVDATA,A;是关键字,保存 SJMPLOOP5 ;退出检索程序LOOP4:MOVA,#0FFH;不是关键字,置检索不成功标志MOVFLAG,ALOOP5:RET;检索程序结束 返回本节第三章 顺序控制与数字控制 线性插值法 1. 线性插值原理 2. 线性插值的计算机实现 3. 线性插值法非线性补偿实例 第三章 顺序控制与数字控制 1.线性插值原理 1.线性插值原理设某传感器输入信号X和输出信号Y之间的关系如图5-6所示。图图5-6 传感器的输出特性曲线传感器的输出
46、特性曲线第三章 顺序控制与数字控制 从图5-6可以看出: (1)曲线斜率变化越小,替代直线越逼近特性曲线,则线性插值法带来的误差就越小。因此,线性插值法适用于斜率变化不大的特性曲线的线性化。(2)插值基点取得越多,替代直线越逼近实际的曲线,插值计算的误差就越小。因此,只要插值基点足够多,就可以获得足够的精度。第三章 顺序控制与数字控制 2. 线性插值的计算机实现 利用计算机实现线性插值的步骤如下:(1)用实验法测出传感器输出特性曲线,应尽可能保证该曲线的精确性;(2)选取插值点,将绘制好的曲线分段。 (3)计算并存储各相邻插值点间逼近曲线的斜率Ki;(4)计算X-Xi;(5)读出X所在区间的斜
47、率Ki,计算Ki(X-Xi);(6)计算。第三章 顺序控制与数字控制 根据以上步骤可以画出计算机实现的线性插值计算流程图如图5-7所示。 第三章 顺序控制与数字控制 3. 线性插值法非线性补偿实例 根据热电偶的技术数据可以绘制出输出电压信号V和温度T之间的特性曲线,假设热电偶的输出特性曲线如图5-8所示。第三章 顺序控制与数字控制 由图5-8可以看出,该热电偶的输出特性曲线斜率的变化不大,可以采用线性插值法进行非线性补偿。选择4个插值基点(V1,T1)、(V2,T2)、(V3,T3)、(V4,T4),然后写出每段曲线的插值函数表达式,表达式如式(5-5)所示。第三章 顺序控制与数字控制 表5-
48、1 参数存储单元分配表第三章 顺序控制与数字控制 线性插值法非线性补偿程序清单: MOVFIR_L,54H ;取热电偶输出电压信号ViMOV FIR_H,55HMOV SEC_L,44H ;取V4MOV SEC_H,45HACALLCOMPARE ;求Vi-V4JBFLAG,T5;ViV4,转T5MOV SEC_L,42H ;取V3 MOV SEC_H,43H ACALLCOMPARE ;求Vi-V3 JBFLAG,T4;ViV3,转T4 MOV SEC_L,40H ;取V2 第三章 顺序控制与数字控制 MOVSEC_H,41H ACALL COMPARE;求Vi-V2 JBFLAG,T3;V
49、iV2,转T3 MOVSEC_L,38H;取V1 MOVSEC_H,39H ACALL COMPARE;求Vi-V1 JBFLAG,T2;ViV1,转T2 T1:MOVMUL1_L,30H;取K1MOVMUL1_H,31HMOVMUL2_L,54H;取ViMOVMUL2_H,55H ACALL MULTD;求K1 ViMOVRESU_L,PR_L;T RESUMOVRESU_H,PR_HRETU:RET第三章 顺序控制与数字控制 T2: MOV MUL1_L,32H;取K2 MOV MUL1_H,33H MOV MUL2_L,DIFF_L;取Vi-V1 MOV MUL2_H,DIFF_H AC
50、ALLMULTD;求K2(Vi-V1)CLRC MOV A,46H ;求T1+ K2(Vi-V1)ADDCA,PR_L MOV RESU_L,A;T RESUMOV A,47H ADDCA,PR_H MOV RESU_H,A AJMP RETU 第三章 顺序控制与数字控制 T3: MOV MUL1_L,34H;取K3 MOV MUL1_H,35H MOV MUL2_L,DIFF_L;取Vi-V2 MOV MUL2_H,DIFF_H ACALLMULTD;求K3(Vi-V2)CLRC MOV A,48H ;求T2+ K3(Vi-V2)ADDCA,PR_LMOV RESU_L,A;TRESU MO
51、V A,49H ADDCA,PR_H MOV RESU_H,A AJMP RETU T4: MOV MUL1_L,36H;取K4第三章 顺序控制与数字控制 MOVMUL1_H,37H MOVMUL2_L,DIFF_L;取Vi-V3 MOVMUL2_H,DIFF_HACALL MULTD;求K4(Vi-V3) CLRCMOVA,50H;求T3+ K4(Vi-V3) ADDC A,PR_L MOVRESU_L,A;T RESU MOVA,51H ADDC A,PR_H MOVRESU_H,A AJMPRETU T5:MOVRESU_L,52H;TRESU MOVRESU_H,53H AJMPRET
52、U 第三章 顺序控制与数字控制 比较程序清单: 程序入口:第一数(FIR_L、FIR_H),第二数(SEC_L、SEC_H)程序出口:比较标志位FLAG=0,则第一数第二数;FLAG=1,则第一数第二数,且第一数与第二数的差存放在 DIFF_H、DIFF_L单元中。COMPARE:CLR C;清进位标志位MOV A,FIR_H;取第一数的高8位 SUBBA,SEC_H;高8位相减JNC NEXT;无借位,继续CLR FLAG;FIRSEC,FLAG=0 AJMPRETU_C 第三章 顺序控制与数字控制 NEXT:CLRCMOV DIFF_H,A;保存差值高8位MOVA,FIR_L;取第一数的低
53、8位SUBBA,SEC_L;低8位比较JNC BIG;FIRSEC,转BIGCLR FLAG;FIRSEC,FLAG=0AJMPRETU_CBIG:SETBFLAG;FIRSEC,FLAG=1 MOV DIFF_L,A;保存差值低8位RETU_C:RET 返回本节第三章 顺序控制与数字控制 二次抛物线插值法 二次抛物线插值法就是通过特性曲线上三点做一条抛物线,用此抛物线替代特性曲线进行参数计算。由于抛物线比直线能更好地逼近特性曲线,所以抛物线插值法能够提高非线性补偿的精度。线性插值法和抛物线插值法补偿精度比较如图5-9所示。 第三章 顺序控制与数字控制 假设系数M0、M1和M2已经求出并存储到
54、到相应的内存单元中,根据上面的讨论可以画出用抛物线插值法进行线性化的程序流程框图,如图5-10所示。 返回本节第三章 顺序控制与数字控制 判断程序设计 算术判断程序 逻辑判断程序 标志判断程序 返回本章首页第三章 顺序控制与数字控制 判断程序就是分支执行程序。程序在执行时,首先判定给定的条件是否满足,根据判定的结果(真或假)再执行相应的操作。例如:在转速控制系统中,电机的恒速运转一般是通过控制输入电压来实现的,首先检测出电机的实际转速,再比较电机的实际转速和给定转速,如果电机的转速低于给定转速,就需要增加输入电压;如果电机的转速高于给定转速,就需要降低输入电压。上述功能的执行过程如图3-1所示
55、。第三章 顺序控制与数字控制 图图 判断程序框图判断程序框图检测电机转速是否大于给定转速降低输入电压提高输入电压是否第三章 顺序控制与数字控制 MCS-51系列的程序状态字(PSW)是一个用于存储程序运行状态信息的8位寄存器,其位定义如表3-1所示。其中有些位状态是根据程序运算结果由硬件自动设置;而有些位状态则是通过软件设定的。PSW的位状态可通过指令读出,以实现程序的转移。返回本节第三章 顺序控制与数字控制 算术判断程序1. 两个8位无符号数比较 2. 两个16位无符号数比较 3. 两个8位有符号数的比较 第三章 顺序控制与数字控制 1.两个8位无符号数比较 图图 8位无符号数的比较流程框图
56、位无符号数的比较流程框图第三章 顺序控制与数字控制 CLRCY;进位标志清零 MOV A,M;AMSUBB A,N;求MNJZEQU;累加器A=0,则M=N,转EQUJCLESS ;CY=1,有借位,则MN处理程序;无借位,则MN,执行BIG处理程序EQU: M=N处理程序LESS:MN处理程序8位无符号数的比较程序清单:位无符号数的比较程序清单:第三章 顺序控制与数字控制 2. 两个16位无符号数比较 图图 16位无符号数的比较流程框图位无符号数的比较流程框图第三章 顺序控制与数字控制 16位无符号数的比较程序清单:CLR CY;标志位清零 MOV A,MH;AMHMOV R2,NH;R2N
57、HSUBBA,R2 ;高8位比较JZHEQU;高8位相等,转低8位比较 JCLESS ;有借位,转MN 理程序第三章 顺序控制与数字控制 HEQU:CLR CY;标志位清零 MOV A,ML;AMLMOV R2,NL;R2NLSUBBA,R2 ;低8位比较JZEQU ;A=0,则M=N,转EQUJCLESS ;有借位,则MN处理程序;无借位,执行MN 理程序EUQ:M=N 处理程序 LESS:M0,N0, 即两数均为正数。(2)M0,N0, 即M为正数,N为负数。(3)M0, 即M为负数,N为正数。(4)M0,N0, 即两数均为负数。第三章 顺序控制与数字控制 图图 8位有符号数的比较流程框图
58、位有符号数的比较流程框图第三章 顺序控制与数字控制 8位有符号数比较程序清单: MOVA,M;AMMOVR2,N;R2NSUBBA,R2;M和N 比较JZEQU;M和N相等,转相等处理程序JBPSW.2,FLOW;判断是否溢出JBACC.7,LESS;无溢出,且A的最高位为1,则MNFLOW:JBACC.7,BIG;有溢出,且A的最高位为1,则MNLESS:MN处理程序;否则,MN处理程序 EUQ:M=N处理程序 返回本节第三章 顺序控制与数字控制 逻辑判断程序 逻辑判断程序的设计步骤:(1)读入数据(开关状态或阀门的位置);(2)屏蔽不需要的状态位;(3)与所要求的状态比较;(4)判断比较结
59、果,选择程序入口。第三章 顺序控制与数字控制 例图3-5中A、B、C、D表示4个开关,当四个开关均闭合时,顺序执行相应的程序,否则,继续检测。逻辑判断程序流程框图如图示。 图图 开关位置检测图开关位置检测图 第三章 顺序控制与数字控制 图图 开开关关状状态态检检测测流流程程图图第三章 顺序控制与数字控制 逻辑判断程序清单: CHECK:MOV A,P1;读入开关状态 ANL A,#55H;屏蔽无用位XRL A,#00H;判断A、B、C、D是否全部闭合JNZCHECK;A、B、C、D没全部闭合,继续检测;否则顺序执行相应程序 返回本节第三章 顺序控制与数字控制 标志判断程序 标志判断的设计思想是
60、:根据某一设定的标志单元(或标志位)的状态,决定程序的执行方向。电机旋转方向控制程序流程图如图所示。图电机旋转方向控制程序流程图图电机旋转方向控制程序流程图第三章 顺序控制与数字控制 电机旋转方向控制程序清单: FLAGBIT 00H;设定00H为电机旋转方向控制位 JBFLAGRIGHT;FLAG=1,转RIGHTLEFT:;FLAG=0,顺时针旋转控制程序 RIGHT:;逆时针旋转控制程序 返回本节第三章 顺序控制与数字控制 上下限报警处理程序设计 报警程序主要有以下几个步骤组成:(1)采样被测参数。(2)比较采样值和给定的上下限。(3)根据比较结果执行相应的处理程序。返回本章首页第三章
61、顺序控制与数字控制 例设计一简单的单字节上下限报警程序,当采样值超出上、下限时,分别执行相应的报警处理程序。设上限报警值存放在Amax单元,下限报警值存放在Amin单元,采样值存放在SAMP单元。简单上下限报警程序程序清单如下:第三章 顺序控制与数字控制 .CLR C;清进位标志位MOV A,Amax;读上限报警值SUBBA,SAMP;判断是否超过上限报警值 JCUPPER;超过上限,转报警处理程序MOV A,Amin;读下限报警值SUBBA,SAMP;判断是否超过下限报警值JNC LOWER;超过下限,转报警处理程序UPPER:超上限处理程序。LOWER:超下限处理程序。 第三章 顺序控制与
62、数字控制 例设计一报警处理程序。只有采样值连续3次异常时,系统才进行报警处理。报警程序流程框图如图所示。第三章 顺序控制与数字控制 图图 报警程序流程框图报警程序流程框图第三章 顺序控制与数字控制 报警程序清单:MOV NUM,#03HCHECK:CLRC;清进位标志位MOV A,Amax;读上限报警值SUBB A,SAMP;判断是否超过上限报警值 JCABNORMAL ;超过上限,转ABNORMALMOV A,Amin;读下限报警值SUBB A,SAMP;判断是否超过下限报警值JNCABNORMAL ;超过下限,转ABNORMAL 第三章 顺序控制与数字控制 CLRFLAG;采样正常,清采样
63、异常标志位AJMPRETUABNORMAL:JBFLAG,ABNOR_L;上次采样异常,转ABNOR_L MOVNUM,#03H;上次采样正常,重置允许连续异常次数SETBFLAG;置位采样异常标志位AJMPRETU ABNOR_L:MOVA,NUM ;读允许连续采样异常次数JZALARM;允许采样异常次数=0,执行报警处理程序DECNUM;允许采样异常次数0,允许采样异常次数减1SETBFLAG;置位采样异常标志位AJMPRETUALARM1:.;报警处理程序返回本节第三章 顺序控制与数字控制 3.2.4 3.2.4 步进电机工作原理步进电机工作原理步进电机是工业过程控制及仪表中的主要控制元
64、件之一。 例如, 在机械结构中,可以用丝杠把角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。 在数字控制系统中,由于它可以直接接收计算机输出的数字信号,而不需要进行数模转换,因此用起来非常方便。步进电机角位移与控制脉冲间精确同步,若将角位移的改变转变为线性位移、位置、体积、流量等物理量的变化, 便可实现对它们的控制。 第三章 顺序控制与数字控制 步进电机作为执行元件的一个显著特点就是具有快速启停能力。如果负荷不超过步进电机所提供的动态转矩值, 就能够在“一刹那”间使步进电机启动或停转。一般步进电机的步进速率为每秒2001000步,如果步进电机是以逐渐加速到
65、最高转速,然后再逐渐减速到零的方式工作,那么其步进速率增加12倍, 也仍然不会失掉一步。 第三章 顺序控制与数字控制 步进电机的另一显著特点是精度高。在没有齿轮传动的情况下,步距角(即每步所转过的角度)可以由每步90到每步0.36。另一方面, 无论是变磁阻式步进电机还是永磁式步进电机,它们都能精确地返回到原来的位置。如一个24步(每步为15)的步进电机,当其向正方向步进48步时,刚好转两转。如果再反方向转48步,电动机将精确地回到原始的位置。 第三章 顺序控制与数字控制 正因为步进电机具有快速启停、精确步进以及能直接接收数字量的特点,所以使其在定位场合中得到了广泛的应用。 如在绘图机、打印机及
66、光学仪器中,都采用步进电机来定位绘图笔、 印字头或光学镜头。特别是在工业过程控制的位置控制系统中,由于步进电机精度高以及不用位移传感器即可达到精确的定位,应用越来越广泛。 步进电机实际上是一个数字角度转换器,也是一个串行的数模转换器。其结构原理如图3-13所示。 第三章 顺序控制与数字控制 图3-13 步进电机原理图 第三章 顺序控制与数字控制 从图3-13可以看出,电动机的定子上有6个等份的磁极, A、A,B、 B, C、C,相邻两个磁极间的夹角为60。 相对的两个磁极组成一相,如图3-13所示的结构为三相步进电机(A-A相,B-B相,C-C相)。当某一绕组有电流通过时, 该绕组相应的两个磁
67、极立即形成N极和S极, 每个磁极上各有5个均匀分布的矩形小齿。 步进电机的转子上没有绕组,而是由40个矩形小齿均匀分布在圆周上,相邻两齿之间的夹角为9。 第三章 顺序控制与数字控制 当某相绕组通电时,对应的磁极就会产生磁场,并与转子形成磁路。若此时定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子转动一定的角度,使转子齿和定子齿对齐。 由此可见,错齿是促使步进电机旋转的根本原因。 第三章 顺序控制与数字控制 例如,在单三拍控制方式中,假如A相通电,B、C两相都不通电,在磁场的作用下,使转子齿和A相的定子齿对齐。若以此作为初始状态,设与A相磁极中心对齐的转子齿为0号齿,因为B相磁极与A相磁极
68、相差120,且不为整数,所以,此时转子齿不能与B相定子齿对齐,只是13号小齿靠近B相磁极的中心线,与中心线相差3,见表3-6。如果此时突然变为B相通电,而A、C两相都不通电,则B相磁极迫使13号转子齿与之对齐,整个转子就转动3,此时,称电机走了一步。 如果按照ABCA顺序通电一周,则转子转动9。 同理,如果按照ACBA顺序通电则转子反方向转动9。 第三章 顺序控制与数字控制 表3-6 A相通电时转子上各齿的位置 第三章 顺序控制与数字控制 磁阻式步进电动机的步距角可由下边的公式求得: 式中:N=MC为运行拍数,其中M为控制绕组相数;C为状态系数,采用单三拍或双三拍时C=1,采用单六拍或双六拍时
69、C=2。Zr为转子齿数。 第三章 顺序控制与数字控制 3.2.5 3.2.5 步进电机控制系统原理步进电机控制系统原理典型的步进电机控制系统如图3-14所示。 图3-14 步进电机控制系统的组成 第三章 顺序控制与数字控制 步进电机控制系统主要是由步进控制器、功率放大器及步进电机组成。步进控制器是由缓冲寄存器、环形分配器、控制逻辑及正、反转控制门等组成。 它的作用就是能把输入的脉冲转换成环型脉冲,以便控制步进电机,并能进行正、反向控制。功率放大器的作用是把控制器输出的环型脉冲加以放大, 以驱动步进电机转动。在这种控制方式中,由于步进控制器线路复杂、成本高,因而限制了它的应用。但是,如果采用计算
70、机控制系统, 由软件代替上述步进控制器,则问题将大大简化。这不仅简化了线路,降低了成本,而且可靠性也大为提高。特别是采用微型机控制,更可以根据系统的需要灵活改变步进电机的控制方案,使用起来很方便。典型的微型机控制步进电机系统原理图如图3-15所示。 第三章 顺序控制与数字控制 图3-15 用单片微型机控制步进电机原理系统图 第三章 顺序控制与数字控制 图3-15与图3-14相比,主要区别在于用微型机代替了步进控制器。因此,微型机的主要作用就是把并行二进制码转换成串行脉冲序列,并实现方向控制。 每当步进电机脉冲输入线上得到一个脉冲,它便沿着转向控制线信号所确定的方向走一步。只要负载是在步进电机允
71、许的范围之内,那么,每个脉冲将使电动机转动一个固定的步距角度,根据步距角的大小及实际走的步数,只要知道初始位置,便可预知步进电机的最终位置。 第三章 顺序控制与数字控制 由于步进电机的原理在自动装置及电动机方面的书籍中均有详细介绍,这里就不再赘述。 本书主要解决如下几个问题: (1) 用软件的方法产生脉冲序列; (2) 步进电机的方向控制; (3) 步进电机控制程序的设计。 第三章 顺序控制与数字控制 1 1 脉冲序列的生成脉冲序列的生成在步进电机控制软件中必须解决的一个重要问题就是产生一个如图3-16所示的周期性脉冲序列。 图3-16 脉冲序列 第三章 顺序控制与数字控制 从图3-16中可以
72、看出,脉冲是用周期、脉冲高度、接通与断开电源的时间来表示的。脉冲高度是由使用的数字元件电平来决定的,如一般TTL电平为05 V,CMOS电平为010 V等。在常用的接口电路中,多为05 V。接通和断开时间可用延时的办法来控制。例如,当向步进电机相应的数字线送高电平(表示接通)时,步进电机便开始步进。但由于步进电机的“步进”是需要一定的时间的,因此在送一高脉冲后需延长一段时间,以使步进电机达到指定的位置。由此可见, 用计算机控制步进电机实际上是由计算机产生一系列脉冲波。 第三章 顺序控制与数字控制 用软件实现脉冲波的方法是先输出一高电平,然后再利用软件延时一段时间,而后输出低电平, 再延时。延时
73、时间的长短由步进电机的工作频率和我们希望达到的电机转速共同来决定。 第三章 顺序控制与数字控制 2 2 方向控制方向控制常用的步进电机有三相、四相、五相、六相四种,其旋转方向与内部绕组的通电顺序有关。 下边以三相步进电机为例进行讲述。 三相步进电机有三种工作方式: (1) 单三拍, 通电顺序为ABCA; (2) 双三拍, 通电顺序为ABBCCAAB; (3) 三相六拍, 通电顺序为AABBBCCCAA。第三章 顺序控制与数字控制 如果按上述三种通电方式和通电顺序进行通电, 则步进电机正向转动。反之,如果通电方向与上述顺序相反, 则步进电机反向转动。 例如在单三拍中反相的通电顺序为ACBA,其他
74、两种方式可以此类推。 关于四相、五相、六相的步进电机,其通电方式和通电顺序与三相步进电机相似,读者可自行分析。本书主要以三相步进电机为例进行讲述。 第三章 顺序控制与数字控制 步进电机的方向控制方法是: (1) 用微型机输出接口的每一位控制一相绕组。 例如, 用8255控制三相步进电机时,可用PC0、PC1、 PC2分别接至步进电机的A、B、C三相绕组。 (2) 根据所选定的步进电机及控制方式,写出相应控制方式的控制模型, 如上面讲的三种控制方式的控制模型分别如表3-7、 3-8、 3-9所示。 第三章 顺序控制与数字控制 表表3-7 三相单三拍控制模型三相单三拍控制模型 第三章 顺序控制与数
75、字控制 表3-8 三相双三拍控制模型 第三章 顺序控制与数字控制 表3-9 三相六拍控制模型 第三章 顺序控制与数字控制 以上为步进电机正转时的控制顺序及控制模型,如果按上述逆顺序进行控制, 则步进电机将向相反方向转动。由此可知, 所谓步进电机的方向控制,实际上就是按照某一控制方式(根据需要进行选定)所规定的顺序发送脉冲序列, 即可达到控制步进电机方向的目的。 第三章 顺序控制与数字控制 3.2.6 3.2.6 步进电机与微型机的接口及程序设计步进电机与微型机的接口及程序设计1 1 步进电机与微型机的接口电路步进电机与微型机的接口电路由于步进电机的驱动电流比较大,因此微型机与步进电机的连接需要
76、专门的接口电路及驱动电路。接口电路可以是锁存器,也可以是可编程接口芯片,如8255、8155等。驱动器可用大功率复合管,也可以是专门的驱动器。有时为了抗干扰, 或避免一旦驱动电路发生故障,造成功率放大器中的高电平信号进入微型机而烧毁器件, 通常在驱动器与微型机之间加一级光电隔离器, 其原理接口电路如图3-17和3-18所示。 第三章 顺序控制与数字控制 图3-17 步进电机与微型机接口电路之一 第三章 顺序控制与数字控制 图3-18 步进电机与微型机接口电路之二 第三章 顺序控制与数字控制 在图3-17中,当P1口的某一位(如P1.0)输出为0时,经反向驱动器变为高电平,使达林顿管导通,A相绕
77、组通电。反之,当P1.0=1时,A相不通电。由P1.1和P1.2控制的B相和C相亦然。 总之,只要按一定的顺序改变P1.0P1.2三位通电的顺序, 则可控制步进电机按一定的方向步进。 第三章 顺序控制与数字控制 图3-18与图3-17的区别是在微型机与驱动器之间增加一级光电隔离。当P1.0输出为1,发光二极管不发光,因此光敏三极管截止, 从而使达林顿管导通,A相绕组通电。反之,当P1.0=0时,经反相后,使发光二极管发光, 光敏三极管导通, 从而使达林顿管截止,A相绕组不通电。 现在,已经生产出许多专门用于步进电机或交流电动机的接口器件(或接口板),用户可根据需要选用。 第三章 顺序控制与数字
78、控制 2 2 步进电机程序设计步进电机程序设计步进电机程序设计的主要任务是: (1) 判断旋转方向; (2) 按顺序传送控制脉冲; (3) 判断所要求的控制步数是否传送完毕。 第三章 顺序控制与数字控制 因此,步进电机控制程序就是完成环型分配器的任务,从而控制步进电机转动,以达到控制转动角度和位移之目的。首先要进行旋转方向的判别,然后转到相应的控制程序。正反向控制程序分别按要求的控制顺序输出相应的控制模型, 再加上脉宽延时程序即可。脉冲序列的个数可以用寄存器CL进行计数。 控制模型可以以立即数的形式一一给出。下面以三相双三拍为例说明这类程序的设计,设所要求的步数放在NUM单元。控制标志单元FL
79、AG为00H时,表示正转;为01H时,表示反转。各项控制模型放在以POINT为首地址的内存单元中。其程序流程图如图3-19所示。 第三章 顺序控制与数字控制 图3-19 三相双三拍步进电机控制程序流程图 第三章 顺序控制与数字控制 根据图3-19, 可写出如下三相双三拍步进电机控制程序。 ORG 0100H ROUTN1: MOV A,N ; 步进电机的步数A JNB 00H,LOOP2 ; 如果00H位为0, 则为反向, 转LOOP2LOOP1: MOV P1,03H ; 正向, 输出第一拍 ACAI1 DELAY ; 延时 DEC A ; A=0, 转DONE JZ DONE MOV P1
80、, 05H ; 输出第二拍 ACALL DELAY ; 延时 DEC A ; A=0, 转DONE JZ DONE 第三章 顺序控制与数字控制 MOV P1, 06H ; 输出第三拍 ACALL DELAY ; 延时 DEC A ; A0, 转LOOP1 JNZ LOOP1 AJMP DONE ; A0, 转DONE LOOP2: MOV P1, 03H ; 反向, 输出第一拍 ACALL DELAY ; 延时 DEC A JZ DONE MOV P1, 06H ; 输出第二拍 ACALL DELAY ; 延时 第三章 顺序控制与数字控制 DEC A JZ DONE MOV P1, 06H ;
81、 输出第三拍 ACALL DELAY ; 延时 JNZ LOOP2DONE: RET ; 返回DELAY: 延时程序(略) 第三章 顺序控制与数字控制 以上程序设计方法对于节拍比较少的程序是可行的, 但是,当步进电机的节拍数比较多(如三相六拍、六相十二拍等)时,用这种立即数传送法将会使程序很长,因而占用很多个存储器单元。所以,对于节拍比较多的控制程序,通常采用循环程序进行设计。 所谓循环程序,就是把环型节拍的控制模型按顺序存放在内存单元中,然后逐一从单元中取出控制模型并输出。如此可大大简化程序,节拍越多,优越性越显著。下面以三相六拍为例进行设计, 其流程图如图3-20所示。 第三章 顺序控制与
82、数字控制 图3-20 三相六拍步进电机控制程序框图 第三章 顺序控制与数字控制 图3-20所示三相六拍步进电机控制程序如下: ORG 0400H ROUTN2: MOV R2, COUNT ; 步数送R2寄存器LOOP0: MOV R3, 00H MOV DPTR, POINT ; 送控制模型指针 JNB 00H,LOOP2 ; 00H位=0为反转LOOP1: MOV A, R3 ; 取控制模型 MOVC A, A+DPTR JZ LOOP0 ; 判控制模型是否为00H MOV P1, A ; 输出控制模型 ACALL DELAY ; 延时 INC R3 ; 控制步数加1 DJNZ R2, L
83、OOP1 ; 判步数是否走完 RET 第三章 顺序控制与数字控制 LOOP2: MOV A, R3 ; 求反向控制模型的偏移量 ADD A, 07H MOV R3, A AJMP LOOP1DELAY: 延时程序(略)POINT: DB 01H DB 03H DB 02H DB 06H DB 04H DB 05H DB 00H 第三章 顺序控制与数字控制 DB 01H DB 05H DB 04H DB 06H DB 02H DB 03H DB 00HCOUNT EQU 30HPOINT EQU 0150H 第三章 顺序控制与数字控制 3.2.7 3.2.7 步进电机步数及速度的计算方法步进电机
84、步数及速度的计算方法 要想使步进电机按一定的速率精确地到达指定的位置(角度或线位移),在前边讲的子程序ROUTN1和ROUTN2中,步进电机的步数N和延时时间DELAY是两个重要的参数。前者用来控制步进电机的精度,后者则控制其步进的速率。那么,如何确定这两个参数,将是步进电机控制程序设计中十分重要的问题。 第三章 顺序控制与数字控制 1 1 步进电机步数的确定步进电机步数的确定 步进电机常被用来控制角度和位移,例如,用步进电机控制旋转变压器或多圈电位器的转角。此外,穿孔机的进给机构、 软盘驱动系统、光电阅读机、打印机、数控机床等也都用步进电机精确定位。 例如,用步进电机带动一个10圈的多圈电位
85、器来调整电压。 假定其调节范围为010 V,现在需要把电压从2 V升到2.1 V, 设步进电机的行程角度为x,则: 第三章 顺序控制与数字控制 如果用三相三拍控制方式,由公式可定出步距角为3, 由此可计算出步进电机的步数N=363=12(步)。如果用三相六拍的控制方式, 则步距角为1.5,其步数为N=361.5=24(步)。由此可见,改变步进电机的控制方式, 可以提高精度,但在同样的脉冲周期下,步进电机的速率将减慢。 同理,也可以求出位移量与步数之间的关系。 第三章 顺序控制与数字控制 2 2 步进电机控制速度的确定步进电机控制速度的确定步进电机的步数是精确定位的重要参数之一。在某些场合, 不
86、但要求能精确定位,而且还要求在一定的时间内到达预定的位置, 这就要求控制步进电机的速率。 步进电机速率控制的方法就是改变每个脉冲的时间间隔, 亦即改变程序ROUTN1和ROUTN2中的延时时间。例如,在ROUTN2程序中,步进电机转动10圈需要2秒钟,则每进一步需要的时间为 所以,只要在输出一个脉冲后, 延时833 s,即可达到上述之目的。 第三章 顺序控制与数字控制 3.2.8 3.2.8 步进电机的变速控制步进电机的变速控制在前面讲的两种步进电机程序设计中,步进电机是以恒定的转速进行工作的,即在整个控制过程中步进电机的速度不变。 然而,对于大多数任务而言,总是希望能尽快地达到控制终点, 因
87、此,要求步进电机的速率尽可能快一些, 但如果速度太快, 则可能产生失步。此外,一般步进电机对空载最高启动频率都有所限制。所谓空载最高启动频率是指电动机空载时,转子从静止状态不失步地步入同步(即电动机每秒钟转过的角度和控制脉冲频率相对应的工作状态)的最大控制脉冲频率。 第三章 顺序控制与数字控制 当步进电机带有负载时,它的启动频率要低于最高空载启动频率。根据步进电机的频率特性可知,启动频率越高,启动转矩越小,带负载的能力越差;当步进电机启动后,进入稳态时的工作频率又远大于启动频率。 由此可见,一个静止的步进电机不可能一下子稳定到较高的工作频率,必须在启动的瞬间采取加速的措施。一般来说,升频的时间
88、约为0.11 s之间。 反之,从高速运行到停止也应该有减速的措施。减速时的加速度绝对值常比加速时的加速度大。 第三章 顺序控制与数字控制 为此,引进一种变速控制程序,该程序的基本思想是, 在启动时,以低于响应频率的速度运行;然后慢慢加速,加速到一定速率后,就以此速率恒速运行。当快要到达终点时,又使其慢慢减速, 在低于响应频率的速率下运行,直到走完规定的步数后停机。这样, 步进电机便可以最快的速度走完所规定的步数,而又不出现失步。上述变速控制的过程,如图321所示。 第三章 顺序控制与数字控制 图3-21 变速控制中频率与步长之间的关系 第三章 顺序控制与数字控制 1. 1. 改变控制方式的变速
89、控制改变控制方式的变速控制最简单的变速控制可利用改变步进电机的控制方式实现。 例如,在三相步进电机中,启动或停止时, 用三相六拍, 大约在0.1 s以后,改用三相三拍,在快达到终点时,再度采用三相六拍控制, 以达到减速控制的目的。 第三章 顺序控制与数字控制 2 2 均匀地改变脉冲时间间隔的变速控制均匀地改变脉冲时间间隔的变速控制步进电机的加速(或减速)控制,可以用均匀地改变脉冲时间间隔来实现。例如,在加速控制中, 可以均匀地减少延时时间间隔;在减速控制时,则可均匀地增加延时时间间隔。 具体地说,就是均匀地减少(或增加)延时程序中的延时时间常数。 由此可见,所谓步进电机控制程序,实际上就是按一
90、定的时间间隔输出不同的控制字。所以,改变传送控制字的时间间隔(亦即改变延时时间),即可改变步进电机的控制频率。这种控制方法的优点是,由于延时的长短不受限制,因此,使步进电机的工作频率变化范围较宽。 第三章 顺序控制与数字控制 3 3 采用定时器的变速控制采用定时器的变速控制在单片机控制系统中,也可以用单片机内部的定时器来提供延时时间,其方法是将定时器初始化后, 每隔一定的时间, 由定时器向CPU申请一次中断,CPU响应中断后,便发出一次控制脉冲。此时,只要均匀地改变定时器时间常数,即可达到均匀加速(或减速)的目的。这种方法可以提高控制系统的效率。 第三章 顺序控制与数字控制 习习 题题 1 何
91、谓顺序控制?2 顺序控制分为哪三类控制系统?分别列举各类控制系统的实例。 3 数字控制的基本原理是什么?4 试述步进电机工作原理?5 根据三相步进电机的控制原理, 试编写四相单四拍、 四相八拍步进电机控制程序。 第三章 顺序控制与数字控制 6 逐点比较直线插补计算过程分几个步骤?并说明每个步骤要完成的工作及作用。7 某控制系统开关的接线如图3-22所示。 试编写程序实现以下功能: (1) 开关A、 B打开, C、 D闭合时, 电机1启动; (2) 开关C、 D打开, A、 B闭合时, 电机2启动: (3) 开关全部闭合时, 两台电机均启动; (4) 其他情况, 两台电机均停止。 (启动信号为“1”, 停止信号为“0”) 第三章 顺序控制与数字控制 图3-22 控制系统接线图 第三章 顺序控制与数字控制 8 试用微型机汇编语言编写下列程序, 并画走步轨迹图: (1) 四方向逐点比较法第1象限中的直线插补程序,(0, 0)至(7, 5); (2) 四方向逐点比较法第1象限中的顺圆插补程序: (1, 7)至(7, 1)。