(中国电子科技集团公司第十一研究所100015)
摘要:步进电机是一种常用的机电元件,它以精确的开环控制在工业各领域都得到了广泛应用。本文介绍了PWM向导控制的设定方法,并阐述利用PWM实现步进电机控制的系统设计。
关键词:步进电机;PWM;控制
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用,所以步进电机的控制就显得尤为重要。步进电机的控制方法有很多种,比如PLS控制、运动向导控制等,在众多控制中,PWM控制具有它独特的优点。
一、步进电机的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-200Smart,采用开关量控制,输入量有正转启动(I0.0)、反转启动(I0.3)和停止(I0.1),共3个输入点;输出量包括脉冲输出端(Q0.0)、方向控制端(Q0.4),共2个输出点。控制原理图如图1所示,图中2K电阻是限流电阻,S7-200SmartPLC的工作电源是直流24V。
三、PWM向导控制的设定
S7-200Smart每个向导均显示一个树结构,对于每个向导,都必须完成全部所需组态并生成代码,成功生成代码后,向导将程序块存储在项目树中“程序块”(Programblocks)文件夹内的“向导”(Wizards)文件夹下。同样,向导将数据块存储在项目树中“数据块”(DataBlock)文件夹内的“向导”(Wizards)文件夹下,将符号存储在“符号表”(SymbolTable)文件夹内的“向导”(Wizards)文件夹下。成功生成程序块后,可以再主程序或另一个子例程或中断调用向导生成的子例程。
打开PWM向导有两种方法:①在“工具”(Tools)菜单功能区的“向导”(Wizards)区域单击“PWM”按钮;②在项目树中打开“向导”(Wizards)文件夹,然后双击“PWM”或选中“PWM”并按Enter键。
PWM向导根据输入生成一个指令,然后可将该指令放置到程序中以控制脉宽调制(PWM)输出的占空比,PWM向导的脉冲输出端是固定的也是可选的,脉冲输出端可以选用Q0.0、Q0.1和Q0.3,本控制选用Q0.0作为脉冲输出端,所以选择要组态的脉冲“PWM0”。为了计算相出的输出周期和占空比都为整数,输出时基选择“微秒”,设定完成后会自动生成PWMx_RUN子例程。
3.1PWMx_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或运动轴使用,或者时基变化非法。
3.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支持的最大脉冲速率为100kHz。(4)要改变步进电机的转速只需改变输出周期和占空比,占空比一般都设为50%,使发出的脉冲为方波。(5)要使步进电机停止就需要断开RUN运行端。(6)PWM控制步进电机按照预设要求自行停止比较空难和麻烦。比如步进电机以60个脉冲/s的速度旋转2圈自行停止,用定时器控制实现非常不精确,用高速计数器控制又比较麻烦。
结语
PWM向导控制步进电机具有思路清晰、操作简单、初学者易学等特点。在实际运行过程中,步进电机具有良好的稳定性,可以满足一般工业控制要求。
参考文献
[1]时念科,吴美莲.脉宽调制(PWM)实现步进电机的细分驱动技术[J].硅谷,2011(17):39-39.
[2]徐洪香,杨韶锋,侯涛.基于混合PWM模式的步进电机的研究[J].山东煤炭科技,2010(2):116-116.