图6:步进电机驱动器的接口电路图
它的主要功能是:
? 整步、二细分、八细分、十六细分可调 ? 输出电流 4档可调 ? 过热自动保护 ? 自动半流锁定 ? 衰减4档可调
? 支持脱机、使能、锁定等功能 它的特点是:
? 高集成度高可靠性
? 接口采用超高速光耦隔离 ? 抗高频干扰能力强
? 最高输入电压:DC 40V(峰值) ? 电源反接保护
它与控制器的连接电路如图7所示:
图7:驱动器与控制器的连接电路
它的控制方式
在共阳极接法中,它的控制方式为:对于脉冲-,有脉冲时工作,高电平有效,无脉冲时锁定电机并自动半流;对于方向-,高电平输入或悬空时正转,低电平输入时反转;对于脱机-,高电平输入或者悬空时正常工作,低电平时脱机。
在共阴极接法中,它的控制方式为:对于脉冲+,有脉冲时工作,低电平有效,无脉冲时锁定电机并自动半流;对于方向+,低电平输入或悬空时正转,高电平输入时反转;对于脱机+,低电平输入或者悬空时正常工作,高电平时脱机。
步进电机驱动器的各种设置,见表1所示:
表1:步进电机的设置表 细分 1 2 16 8 细分设置 SW4 OFF OFF ON ON SW3 OFF ON OFF ON 电流 3 2.2 1.5 0.6 电流设置 SW6 OFF OFF ON ON SW5 OFF ON OFF ON 模式 低 慢 中 快 衰减设置 SW2 OFF OFF ON ON SW1 OFF ON OFF ON 3.1.2 PLC的选择 根据本课题需要,并结合课堂所学,选择西门子公司生产的S7-200PLC,图8是它的外形结构图。
16
图8:S7-200的外形结构图
S7-200系列PLC是一种小型PLC系统,其功能非常强大,许多功能可以达到大、中型PLC的水平,而价格却和小型PLC一样,因此在西门子公司刚推出后,马上就受到了广泛关注。S7-200系列中的CPU22*系列,具有了多种功能模块和人机界面可供选择,使得系统的集成非常方便,并且其在网络中的强大功能,很容易地可以组成PLC网络。同时它具有功能齐全的编程和工业控制组态软件,使得在控制系统的设计时更加简单,几乎可以完成任何功能的控制任务。S7-200系列PLC适用于各行各业,各种场合中的自动检测、监测和控制等。S7-200系列PLC的强大功能使其无论是单机或连接在网络上,都能实现复杂的控制功能,其出色的表现体现在以下几个方面:
? 极高的可靠性 ? 极丰富的指令集 ? 易于掌握本项目 ? 便捷的操作
? 丰富的内置集成功能 ? 实时特性
? 强劲的通信能力 ? 丰富的扩展模块
S7-200 PLC CPU224具有14个输入点和10个输出点,共计24个I/O点。2个模拟量电位器,最多可扩展35AI/AO点。8KB用户程序区和5KB数据存储区。有6路高速计数器(30KHZ),2路高速脉冲输出,1个RS485通信/编程接口,具有与CPU221/222相同的功能。同前两种CPU相比,它的存储容量和扩展能力有了很大的提高,它的存储容量扩大了一倍,可以有7个扩展模块。它具有更强的模拟量处理能力,是S7-200系列产品中使用最多的。
3.1.3 高速输出指令简介 高速输出指令主要是指高速脉冲指令输出指令,该指令的功能是产生高速脉冲用来实现精确控制,若要使用高速脉冲输出指令,PLC应选用晶体管输出型。
高速脉冲输出有两种方式:一种是高速脉冲传输出PTO;另一种是宽度可调脉冲输出PWM。PTO可以输出一串脉冲,用户可以设置其脉冲周期和脉冲个数;PWM可以输出一串占空比可以改变的脉冲,用户可以设置其周期和脉宽。和高速计数器一样,高速脉冲输出端也由系统指定的Q0.0和Q0.1。同样,在高速脉冲输出时,Q0.0和Q0.1只能被高速脉冲数出指令专用,其通用功能被禁止。
每个高速脉冲发生器对应一定数量的特殊寄存器,这些寄存器包括状态字节寄存器和参数数值寄存器。它们用来控制高速脉冲控制方式等功能,各寄存器功能如表2所示:
17
表2:各寄存器功能 Q0.0的寄存器 SMB66 SMB67 SMW68 SMW70 SMD72 SMB166 SMW168 Q0.1的寄存器 SMB76 SMB77 SMW78 SMW80 SMD82 SMB176 SMW178 名称和功能描述 状态字节,在PTO方式下,跟踪脉冲串的输出状态 控制字节,控制PTO/PWM脉冲输出的基本功能 周期值,字型,PTO/PWM的周期值,范围为:2~65535 脉宽值,字型,PWM的脉宽值,范围为:0~65535 脉冲数,双字型,PTO的脉冲数,范围为1~4294967295 段号,多段管线PTO在处理中的段号 多段管线PTO包络表起始字节的地址 (1)状态字节 用于PTO方式,每个高速脉冲输出都对应一个状态字节,程序运行时自动对其进行置位和复位操作,也可以通过程序读取相关位的状态,完成系统的控制要求。
(2)每个高速脉冲输出都对应一个控制字节,用户根据控制要求通过程序对控制字节进行设置,控制字节中,各位的功能如表3所示:
表3:控制字各位的功能 Q0.0控制位 SM67.0 SM67.1 SM67.2 SM67.3 SM67.4 SM67.5 SM67.6 SM67.7 Q0.1控制位 SM77.0 SM77.1 SM77.2 SM77.3 SM77.4 SM77.5 SM77.6 SM77.7 功能描述 PTO/PWM更新周期值:0,不更新;1,允许更新 PWM更新脉冲宽度值:0,不更新;1,允许更新 PTO更新输出脉冲数:0,不更新;1,允许更新 PTO/PWM时间基准选择:0,us单位时基;1,ms单位时基 PWM更新方式:0,异步更新;1,同步更新 PTO单/多段方式:0,单段管线;1,多段管线 PTO/PWM模式选择:0,PTO模式;1,PWM模式 PTO/PWM脉冲数出:0,禁止;1,允许 对于多段管线,在编程时需要建立包络表。包络表格式由包络数和各段构成。整个包络表的段数(1~255)放在包络表首字节中(8位),接下来的每段设定占用8个字节,包括:脉冲初始周期(16位)、周期增量值(16位)和脉冲计数值(32位)。多段管线变成非常简单,而且具有按照周期增量区的数值自动增减周期的功能,这在步进电机的加速和减速控制时非常方便。 3.2 硬件电路的连接
3.2.1 系统的任务 在本课题的设计中,需要通过PLC输出高速脉冲和方向控制信号,控制步进电机驱动器最后完成对步进电机的控制,系统的控制原理图,如图9所示。在图9中可以清楚地看出本系统的构成以及各器件的功能。系统主要通过对步进电机位置、方向和转速控制实现下述功能:在PLC处于运行阶段时,通过控制电机正传按钮,使电机匀速正转,如果按下电机反转按钮,电机反转。在电机停止时,按下另一个按钮电机完成加速-匀速-减速的过程。对于步进电机,只要完成对电机的精确控制,就可以将它应用在很多工业生产领域,具有很大的实用价值。
图9:控制系统的控制原理图
3.2.2 系统流程图 在此我们先给出系统输入输出点地址分配表,如表4所示:
18
表4:输入输出点地址分配表 输入点 电机正转 电机反转 加速-匀速-减速 I0.0 I0.1 I0.3 输出点 高速脉冲输出点 方向控制信号 Q0.0 Q0.1 根据上述提到的本课题的任务以及表2中的地址分配表,我们可以得到基于S7-200的步进电机调速系统的系统流程图,如图10所示:
图10 步进电机调速系统的流程图
4 设计实现及结果展示
4.1 硬件电路连接图的实现
由于时间和材料的限制,我们把实验地点选在实验楼PLC实验室,借助PLC实验平台搭建实验模型。实验台上提供有西门子S7-200PLC、24V和5V电源、电脑以及相应的按钮和逻辑线圈。这时我们先将步进电机和驱动器按说明书上的要求正确连接,在保证连接无误和实验台断电的前提下,将对应的输入输出接口接入,最后接入电源,得到如下图11所示的系统硬件连接图。
19
图11 系统硬件电路连接图
4.2 软件编程的实现
对于像这样的一个系统,涉及到实验台和电机,都和电相关,所以在操作时得注意用电安全。对于软件调试,我则喜欢在将硬件连接完成后,先编一个小程序(只能驱动电机旋转即可)下载至PLC上,运行看硬件电路是否连接正确,测试电机性能是否正常。对于这个电机,在同学的帮助下,我测出它的最大不失步转速的周期为7ms。
在程序设计时,我们设置三个输入,即I0.0、I0.1和I0.3,分别控制电机实现正转、反转和加速-匀速-减速运动,同时设置两个输出点,即Q0.0和Q0.1,分别用来输出高速脉冲和进行电机方向控制。
下面是对上述系统流程图的软件编程,我将软件分为两部分,即主程序部分和中断程序部分。本文将主程序实现的主要功能分为三段:第一段(网络2和网络3)通过I0.0置位方向信号,通过对高速脉冲控制字的写控制Q0.0输出单段脉冲,在程序中给出步进电机的脉冲周期,最后完成使步进电机匀速正转运动的控制;第二段(网络4和网络5)通过I0.1复位方向信号Q0.1,通过对步进电机控制字的写程序控制Q0.0输出单段脉冲,达到控制步进电机匀速反转控制的目的;第三段(网络6)通过I0.3控制执行对高速脉冲控制字写入16#A8,给出多段脉冲的包络表,控制步进电机完成加速-匀速-减速的过程。 主程序
20