步进电机的开环定位控制系统设计
2015-06-27韩亮
韩亮
(山西机电职业技术学院电子电气工程系,山西长治046011)
步进电机的开环定位控制系统设计
韩亮
(山西机电职业技术学院电子电气工程系,山西长治046011)
运用PLC和步进电机控制技术,设计了步进电机的开环定位控制系统。选择PLC作为控制器,通过PLC的脉冲输出功能指令,发送一定数量的脉冲给步进驱动器,由步进驱动器驱动步进电机,实现步进电机的方向控制、速度控制与定位控制。重点考虑控制系统的硬件设计与软件设计以及脉冲输出功能指令的应用。
步进电机;PLC;脉冲输出;定位控制
Abstract:An open-loop positioning control system of stepper motor is designed by using PLC and stepper motor control technology.The pulse output function of PLC is used in this system.The stepper motor is driven by stepper actuator.PLC sends a certain number of pulses to the stepper actuator so that the control system can realize the direction control,speed control and positioning control of the stepper motor.In this control system,the emphasis is on hardware design,software design and application of pulse output function.
Key words:stepper motor;programmable logic controller;pulse output;positioning control
在开环定位控制领域,步进电机因其结构简单、易于控制等特点,广泛地应用于立体仓库、数控机床等控制场合[1]。步进电机是一种将电脉冲信号转换成角位移的执行机构,通常由步进驱动器驱动。当步进驱动器接收到1个脉冲信号,它就驱动步进电机按设定的方向旋转1个固定的角度(步距角),故可以通过控制脉冲的数量来控制步进电机的角位移,从而达到准确定位的目的[2]。
文献[3]提出了一种以单片机为控制器,以FPGA芯片来实现驱动,完成步进电机的定位控制功能。其中,FPGA模块是该系统的设计重点,通过VHDL编程,利用FPGA芯片接收来自单片机的控制数据,实现步进电机的定位。
本文提出以PLC为控制器,结合步进驱动器,实现步进电机定位控制的设计方案。通过PLC的脉冲输出功能,实现步进电机的方向控制、速度控制与定位控制。通过步进驱动器驱动步进电机,并且通过对步进驱动器细分精度的设定,提高步进电机的定位精度。本设计方案与文献[3]提出的方法相比,软硬件设计更加灵活方便且系统的稳定性更高。
1 控制系统的结构与功能
1.1 控制系统结构
步进电机控制系统由步进电机、步进驱动器、PLC、滚珠丝杠(以下简称丝杠)、工作台、定位铁片、接近开关等部件组成。控制系统结构图如图1所示。
图1 控制系统结构图
接近开关2的位置作为原点,接近开关1和5分别作为左、右极限。无论工作台处于何种工作状态,遇到左、右极限时都必须停止且不可向超限的方向运行。
1.2 控制系统功能
当工作台不在原点位置时,按下复位按钮使其回到原点。复位后,按下启动按钮,工作台装料,3 s后向原点左侧的工位1处运送,工位1距离原点50 mm。运送至工位1处开始卸料,5 s后返回原点。在原点处继续装料,3 s后向原点右侧的工位2处运送,工位2距离原点100 mm。运送至工位2处开始卸料,5 s后返回原点。至此,1个循环完成,并开始下1个循环。循环过程中如果按下停止按钮,工作台完成本次循环并回到原点位置后停止运行。
2 总体设计
为使工作台精确回原点,调用原点回归指令ZRN,使工作台精确定位到原点右侧。
系统启动后,给工作台装料,然后运送到2个不同的位置卸料。这就需要对工作台进行定位控制。按照图1所示,步进电机旋转1周,丝杠也旋转1周,工作台水平移动1个丝距(5 mm)。这样,步进电机的圆周运动就可以转化为工作台的直线运动,故对工作台的定位控制也就是对步进电机的定位控制。
为实现步进电机的定位,选择PLC控制器,利用PLC的脉冲输出指令,发送脉冲给步进驱动器,由步进驱动器驱动步进电机,来完成对步进电机的定位控制。步进电机的角位移与PLC发送的脉冲数、步进驱动器设置的细分精度有关。因此,设置好细分精度后,通过PLC发送的脉冲数量,就能控制步进电机的角位移,从而间接地控制工作台的直线位移。
由于工位1和工位2在原点的2个方向,所以采用脉冲加方向的控制模式,使工作台可以在原点的两侧做直线运动,以达到系统的控制要求。
3 硬件设计
硬件设计重点考虑PLC控制模块与步进驱动模块,系统硬件结构图如图2所示。图中PLC上的输入点X1、X2、X3分别接收启、停、复位信号;X4、X5、X7分别接收右、左限位和原点位置接近开关的信号;输出点Y0、Y1作为PLC的脉冲输出口与方向口;Y3、Y4分别控制工作台的装料、卸料;PUL-、DIR-作为步进驱动器脉冲与方向的控制端口。
图2 系统硬件结构图
3.1 PLC控制模块选型
PLC的控制模块选择其电气公司生产的XC3系列CPU,型号XC3-32RT-E。该型号PLC的输入、输出点数为32个(数字量输入点有18个,数字量输出点有14个),输入输出点数满足设计要求(详见《XC系列可编程序控制器用户手册(指令篇)》)。XC系列PLC具有多种脉冲输出指令,即单向定量脉冲输出、相对位置单段/多段脉冲控制、绝对位置单段/多段脉冲控制等,每种指令有16位和32位2种形式。
考虑到本设计PLC需发出的脉冲数量及软件设计要求,使用16位的相对位置单段脉冲控制功能指令(DRVI)。通过该指令指定脉冲输出端口为Y0,脉冲输出方向端口为Y1,并且指定输出的脉冲数和脉冲频率,其中脉冲频率决定了步进电机的转速,脉冲数量决定了步进电机的角位移。
3.2 步进驱动模块
步进驱动模块由步进驱动器和步进电机组成,该模块驱动工作台在丝杠上做直线运动。
选用DP-304步进驱动器,该型号驱动器供电电压可达40 V,输出电流有效值可达2.5 A,具有体积小、噪音低、高性能等特点,广泛地应用于各种中小型自动化设备(详见《DP-304、DP-304L细分驱动器用户手册》)。在使用步进驱动器之前,需要考虑其细分精度的设定。在不设定细分精度的情况下,每200个脉冲控制步进电机旋转1周,即步距角为1.8°。DP-304步进驱动器提供8种形式的细分设定(见表1),每种设定对应的步进电机的步距角均不相同。
表1 DP-304步进驱动器细分设定表
细分设定越高,步距角越小,定位精度也就越高。考虑到本设计的定位精度,选择细分设定为400。PLC每发送400个脉冲,驱动步进电机运行1周,对应步距角为0.9°。细分精度可通过步进驱动器的SW1、SW2、SW3 3位拨码开关控制。
步进驱动器的脉冲控制端口(PUL-)接收PLC发出的脉冲信号,脉冲信号的数量决定了步进电机的角位移;方向控制端口(DIR-)接收PLC发出的方向控制信号,方向控制信号决定了步进电机的运动方向。
步进电机选择某电机公司生产的57BYGH系列,型号57BYGH301。
4 软件设计
按照定位控制要求,本次设计共有1个主程序、1个子程序、4个流程。首先介绍I/O分配列表,然后详细介绍各部分程序的设计过程并给出程序流程图。
4.1 PLC的 I/O分配列表
PLC的I/O分配列表如表2所示。
表2 I/O分配列表
4.2 主程序设计
主程序设计不采用顺序控制方式,而是采用按流程编写的方式。按流程编的特点是流程不打开、不扫描,这样有利于脉冲输出指令的应用。
在主程序中,通过调用子程序1来完成工作台的复位,通过流程来实现工作台的定位。
首先调用子程序1使工作台复位,然后等待启动信号。系统启动后将完成2部分控制任务:第1部分,工作台在原点处装料,运行至工位1(距原点50 mm)卸料并返回原点;第2部分,工作台在原点处装料,运行至工位2(距原点100 mm)卸料并返回原点。
按下启动按钮,工作台装料,3 s后打开流程1。在流程1里控制工作台左移,当定位到工作台左移至工位1(原点左侧),关闭流程1。然后开始卸料,5 s后打开流程2。在流程2里控制工作台右移,当定位到工作台右移至原点位置,关闭流程2。这就完成了第1部分的控制任务。
第2部分的控制任务与第1部分一样,只是工位2(原点右侧)距离原点的距离为100 mm,因此流程3、4与流程1、2的程序结构完全相同,只需要设定不同的脉冲数量并且控制工作台的运行方向即可。主程序的流程图如图3所示。
图3 主程序流程图
4.3 子程序1设计
在子程序1中,完成工作台的复位任务。
由于卸料位置分布在原点的两侧,所以工作台的起始位置可能在原点的任意一侧。因此,首先通过调用PLSF指令,控制步进电机带动工作台向右运行。PLSF是可变频定量脉冲输出(加方向)指令,使用该指令可以通过更改脉冲频率值的正负来决定脉冲方向(详见《XC系列可编程序控制器用户手册(指令篇)》)。设定脉冲频率为-400(向右运动),指定Y0为脉冲输出端口,Y1为方向输出端口。
当工作台运行到右限位开关位置时,右限位开关发出接通信号,此时调用原点回归指令ZRN,使工作台精确定位到原点右侧。子程序1的流程图如图4所示。
图4 子程序1流程图
4.4 流程
在主程序中,需要调用4个流程,在流程中完成对工作台的定位控制。流程1完成工作台向左运行至工位1;流程2完成工作台向右运行至原点;流程3完成工作台向右运行至工位2;流程4完成工作台向左运行至原点。
步进电机旋转1周,工作台在丝杠上移动1个丝距5 mm。50 mm的位移,需要步进电机旋转10周。按照前面设定的步进驱动器的细分数400,流程1中PLC需要发送4 000(400×10)个脉冲,即可实现工作台在工位1的定位。
打开流程1,调用相对位置单段脉冲控制功能指令DRVI,控制步进电机带动工作台左移50 mm。设定PLC输出的脉冲数量为4 000,脉冲频率为200,指定脉冲输出端口为Y0,脉冲方向端口为Y1。当PLC发送完4 000个脉冲,M8170(正在发出脉冲标志)由ON置为OFF,即完成定位,关闭流程1。
通过打开流程2实现工作台右移返回原点。在流程2中,工作台的位移仍是50 mm,但运行方向向右,所以在调用DRVI指令时,脉冲数设置为-4 000,即可控制工作台返回原点。
流程3、4与流程1、2结构完全一样,只是工位2距离原点100 mm,通过更改脉冲数量为±8 000,就可实现工作台在工位2的定位与返回。由于4个流程的结构相同,故只给出流程1的程序流程图,如图5所示。
图5 流程1的程序框图
5 结语
运用PLC和步进电机控制技术,设计了步进电机的开环定位控制系统。选择PLC作为控制器,通过PLC的脉冲输出功能指令,发送一定数量的脉冲给步进驱动器,由步进驱动器驱动步进电机,实现步进电机的方向控制、速度控制与定位控制。实验表明,该系统运行稳定,效果良好。该设计方案可以应用于工程实践,解决某些工程实践中步进电机的定位控制问题。
[1]李庭贵.基于PLC和步进电机的立体仓库存储系统精确定位控制设计[J].制造业自动化,2011,33(10):149-153.
[2]范超毅,范巍.步进电机的选型与计算[J].机床与液压,2008,36(5):310-313.
[3]王雁平.步进电机定位控制系统的设计[J].现代电子技术,2010(18):205-207.
责任编辑:陈 亮
Design of Open-loop Positioning Control System for Stepper Motor
HAN Liang
(Department of Electronic and Electrical Engineering,Shanxi Institute of Mechanical and Electrical Engineering,Changzhi 046011)
10.3969/j.issn.1671- 0436.2015.06.007
2015-11- 30
韩亮(1981— ),男,硕士,讲师。
TM383.6
A
1671- 0436(2015)06- 0030- 05