步进电机的PWM控制

2017-06-10 13:39马天才鲍小春
速读·中旬 2017年4期
关键词:步进电机控制

马天才 鲍小春

摘 要:随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用,所以步进电机的控制就显得尤为重要。本文介绍了PWM向导控制的设定方法,并阐述利用PWM实现步进电机控制的系统设计。

关键词:步进电机;PWM;控制

步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用,所以步进电机的控制就显得尤为重要。步进电机的控制方法有很多种,比如PLS控制、运动向导控制等,在众多控制中,PWM控制具有它独特的优点。

一、控制要求

步进电机选用KINCO公司的2S86Q-03080两相双极微步型电机,驱动器选用KINCO-2M530。设置驱动器细分为10,输出相电流为3.0A。

按下正转启动按钮,步进电机顺时针旋转,转一圈用时5秒,按下反转启动按钮,步进电机逆时针旋转,转一圈用时10秒,并且步进电机在任何时刻都能够从正转变为反转或从反转变为正转,按下停止按钮,步进电机停止。

二、控制方案

步进电机是一种将电脉冲转化为角位移或線位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数来控制角位移量或线位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度,从而达到调速的目的。

驱动器细分为10,则设定DIP1=OFF、DIP2=OFF、DIP3=OFF、DIP4=ON,输出相电流为3.0A,则设定DIP6=OFF、DIP7=OFF、DIP8=ON。

2S86Q-03080型步进电机的步进角是1.8°,而驱动器细分为10,于是每来一个脉冲,步进电机旋转的角度为0.18°,旋转一圈就需要2000个脉冲。

旋转角=步进角/细分数=1.8°/10=0.18°

旋转一圈脉冲数=2∏/旋转角=360°/0.18°=2000

PWM输出周期=转一圈所需时间/转一圈所需脉冲数

所以本步进电机正转时的PWM输出周期=2500us/脉冲,反转时的PWM输出周期=5000us/脉冲。

使用PWM控制步进电机时必须使用晶体管输出型CPU,于是控制器选用S7-200 Smart,采用开关量控制,输入量有正转启动(I0.0)、反转启动(I0.3)和停止(I0.1),共3个输入点;输出量包括脉冲输出端(Q0.0)、方向控制端(Q0.4),共2个输出点。控制原理图如图1所示,图中2K电阻是限流电阻,S7-200 Smart PLC的工作电源是直流24V。

三、PWM向导控制的设定

S7-200 Smart每个向导均显示一个树结构,对于每个向导,都必须完成全部所需组态并生成代码,成功生成代码后,向导将程序块存储在项目树中“程序块”(Program blocks)文件夹内的“向导”(Wizards)文件夹下。同样,向导将数据块存储在项目树中“数据块”(Data Block)文件夹内的“向导”(Wizards)文件夹下,将符号存储在“符号表”(Symbol Table)文件夹内的“向导”(Wizards)文件夹下。成功生成程序块后,可以再主程序或另一个子例程或中断调用向导生成的子例程。

打开PWM向导有两种方法:①在“工具”(Tools)菜单功能区的“向导”(Wizards)区域单击“PWM”按钮;②在项目树中打开“向导”(Wizards)文件夹,然后双击“PWM”或选中“PWM”并按Enter键。

PWM向导根据输入生成一个指令,然后可将该指令放置到程序中以控制脉宽调制(PWM)输出的占空比,PWM向导的脉冲输出端是固定的也是可选的,脉冲输出端可以选用Q0.0、Q0.1和Q0.3,本控制选用Q0.0作为脉冲输出端,所以选择要组态的脉冲“PWM0”。为了计算相出的输出周期和占空比都为整数,输出时基选择“微秒”,设定完成后会自动生成PWMx_RUN子例程。

1.PWMx_RUN子例程介绍

PWMx_RUN子例程PWM提供了占空比可变的连续输出,允许用户通过改变脉冲宽度(从0到周期时间的脉冲宽度)来控制输出占空比。PWMx_RUN指令的梯形图如图2所示:

EN使能端,一般直接接SM0.0。

RUN运行端,使输出产生开和关的作用。若RUN的触发端接通,则PWMx_RUN指令有输出,注意关不等于不管就是关。

Cycle输入是一个字值,定义脉宽调制(PWM)输出的周期。如果时基为毫秒,则允许的范围为2~65535;如果时基为微秒,则允许的范围为10~65535。

Pulse输入是一个字值,用于定义PWM输出的脉宽(占空比)。允许的取值范围为0~65535个时基单元,时基是在向导中指定的,单位为微秒或毫秒。

Error是PWMx_RUN子例程返回的字节值,用于指示执行结果。“0”代表无错误,正常完成;“131”代表冲发生器已由另一个PWM或运动轴使用,或者时基变化非法。

2.使用PWMx_RUN子例程注意事项

(1)为了便于程序编写EN使能端最好接SM0.0,当PWMx_RUN正在输出的时候断开EN就没法停下来了,EN是产生控制的作用。

(2)Cycle、Pulse的数据类型是字,操作数只能使用IW、QW、VW、MW、SMW、SW、T、C、LW、AC、AIW、*VD、*AC、*LD、常数。

(3)PWM支持的最大脉冲速率为100k Hz。

(4)要改变步进电机的转速只需改变输出周期和占空比,占空比一般都设为50%,使发出的脉冲为方波。

(5)要使步进电机停止就需要断开RUN运行端。

(6)PWM控制步进电机按照预设要求自行停止比较空难和麻烦。比如步进电机以60个脉冲/s的速度旋转2圈自行停止,用定时器控制实现非常不精确,用高速计数器控制又比较麻烦。

四、结束语

PWM向导控制步进电机具有思路清晰、操作简单、初学者易学等特点。在实际运行过程中,步进电机具有良好的稳定性,可以满足一般工业控制要求。

作者简介:

马天才,男,长期从事于工业电气控制和电机控制的研究工作。

鲍小春,男,主要从事于机械检修与机电一体化设备控制的研究工作。

猜你喜欢
步进电机控制
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
社会转型期行政权控制的路径探索
会计预算控制现状及方法
工矿机车GK1F、GK1C柴油机调速控制
浅谈高层建筑沉降监测关键环节控制
保险公司财务风险管理及控制研究