步进电动机的微机控制
钟守炎(江汉石油学院)
【摘 要】介绍采用微机控制实现五相 步进电机脉冲分配的方法,为充分发挥步进电动机的工作性能,程序采用升降速处理方法,选择了一条比较理想的升降速运行曲线,使步进电动机在各种频率下运行和停止不产生失步、过冲。
【叙 词】步进电动机微机控制驱动程序
1引 言
近年来,微机得到了广泛的应用,从自动控制、数值计算到信号处理各个领域,微机都发挥了积极的作用。对于老设备的改装控制、智能仪表和过程控制,都采用微机作为智能部件,用步进电动机作转换媒介,将微机的电信号转换为机械动作,从而控制执行机构的移动方向、移动速度和移动距离。本文以五相步进电动机(150BF5)为例,介绍用软件来代替以往的硬件逻辑,设计一实用的步进电动机驱动程序。该程序已用于C620-1B普通车床的改造中。
2步进电动机的控制特点
步进电动机是一种将脉冲电信号转换成角位移或直线位移的精密执行和驱动元件。在仪表等自动化装置和工业自动控制系统中,步进电动机要工作在不同的速度场合。对于低速工作场合,则可以直接启动,采用恒速工作方式设计软件;当步进电动机在高速场合下工作时,就不能采用恒速工作方式,因为由步进电动机的短频特性(图1为150BF5步进电动机的实测曲线)可知,转矩M是频率的函数。1989年《微电机》第3期,张仲荣等载文“数控机床用步进电动机的合理升降频特性,介绍五相步进电动机在低频共振时的特点是其运行矩频特性均因存在低频共振而出现下凹现象,所以,步进电动机直接启动的****频率是一有限值。如果实际运行的频率大于这一有限值,步进电动机直接启动就会出现失步现象。因此,要使步进电动机在高速下运行,必须以低速启动,然后再慢慢加速到高速;同样,步进电动机不能在高速运行状态下突然停止,否则,由于惯性作用而可能出现过冲现象,所以要以高速慢慢降到低速,最后才能可靠地停止。要满足这两种工作过程的要求,步进电动机就必须采用变速方式工作,即升降速处理方式,这也是提高步进电动机启停频率的关键。可见,步进电动机驱动程序应解决脉冲分配、运转方向和步数(频率)控制以及升降速处理等。
3驱动程序设计
3.1硬件接口设计
对于一台五相步进电动机(或多台),有五个通电绕组,需要微机的五个控制信号,可采用微机(由北京工业大学电子厂生产的TPSTD系列模板:TP STD880IB280A多功能CPU板、TP STD 8601多功能I/O控制板及键盘、显示板等组成)的并行PIO接口,它具有16条可编程的I/O线。通过编程可使PIO口接收或发送多种信息,将PIO口的A口(其口地址为78H)。设置为输出工作方式,并用PAo~PA。五位来控制五相步进电动机的五个通电绕组。当某一位为l时,发出正脉冲使步进电动机的对应相通电;当某一位为0时,使步进电动机的对应相断电,从而控制步进电动机转动。
3.2脉冲分配的实现
要使步进电动机连续转动,就要通过软件控制脉冲输出的顺序,即脉冲分配。
对于五相(A、B、C、D、E)步进电动机,其工作方式有多种,本文采用2- 3- 2-3工作方式,即五相十拍工作方式,其通过顺序为
正转:AB- ABC-BC—BCD—CD-CDE—DE—DEA- EA-EAB—AB
反转:BA--BAE-AE—AED--ED—EDC—DC -DCB-CB一CBA-BA
采用工作状态字来实现这一通电顺序。如表1所示,并采用查表方法实现步进电动
机的脉冲分配,以提高运行速度。其方法是:在微机存贮器内开辟一组单元(TA-BLE+O,TABLE+1,……),依次存放步进电动机的工作状态字,用寄存器HL作为状态字的地址指针。当程序执行时,根据地址指针依次从内存单元中取出状态字送到输出口(PIO A口),正转时,使指针HL逐次加1,反转时使指针HL逐次减l,从而控制步进电动机正、反转。
3.3步进电动机的速度控制
在实际应用中,需要步进电动机能在名种频率下工作,即对步进电动机进行调速.可以将步进电动机的工作频率分成不同的逼度档,并用代码为速度代码表示,单位以步/s表示,本程序将速度另为30个挡,各挡的运行频率见表2(按一等比级数分布)。
3.4程序设计
要使步进电动机正常运转,提高其快速启停频率,应使步进电动机在恒速与变速两种方式相结合的情况下工作,这就要选择一条比较合适的运行规律曲线作为程序设计的基础。
从步进电动机的矩频特性出发,根据转矩随频率变化的情况来选择一条运行曲线。从图1的矩频特性分析,符合这种特性的升降曲线是采用变加速度,即指数型(f=foet/T运行曲线(如图2所示),在编程时将其离散化为一台阶曲线,近似于指数型。这种曲线比较符合步进电动机加减速过程的运行规律,能充分地利用步进电动机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。它表明步进电动机以比较低的频率fo缓慢地加速到稳定运行频率f1(即实际工作所要达到的频率)。步进电动机以f1稳定运行所需要的大部分时间(以步数多少来衡量)后。再从办频率缓慢地降到fo,以f0运行一小段时间走完所需的总行程后再停止。
3.4.1恒速运行
对于低速工作情况下(f1o)可直接启动,一般fo=1000步/s左右,对不同的步进电动机,fo可进行调整(进行实测求出)。这样对于前面21挡(01—21)速度就不必采用升降速处理,丽是直接以五启动恒速运行所需要的总行程;对于后9挡(22~30)如不考虑升降速部分,则是以fo恒速运行。在这两种情况下,要达到每挡所规定的恒速运行频率,就要采用延时方式,可采用Z80 CTC中断方式和非中断软件方式。本文采用后者,并利用查表技术达到各挡的速度。首先根据实际运行频率f1计算出所要的延时时间(即在该挡下每走一步所需的时间),本程序采用调用延时子程序的方法达到这一目的,这时将延时时间折算为时间常数TD(共对应关系如表3所示,工作主频为4MHz时)。
再将各挡的时间常数TD存放于以TIME为首地址的表中,每挡时间常数占两个存贮单元(低字节在前,高字节在后),具体存放顺序见图3a所示。程序执行时,根据首地址和速度代码值通过变址寄存器IX: IX-TIME-2+速度代码值×2去查找相应的时间常数TD,并送寄存器HL,经延时就可获得所需要的速度。
3.4.2变速运行(加/减速过程)
变速运行(对后9挡的速度)过程就是图2中tl—t2加速过程和t3—t 4减速过程。为实现这一过程,根据指数型公式采用时间离散的办法,使步进电动机每走一步按一等级加速、减速。其原理是通过改变延时时间实现速度的改变。即在加速阶段(tl—t2),步进电动机从f0开始每走一步,延时时间T0递减一常量,实现加速上升,当延时时间递减到T1(即增减s次)时就加速到了频率,这通过数列公式可证明;而减速时,步进电动机以f1开始每走一步,延时时间丁,递增一常量,实现减速下降,当延时时间递增到丁。时就降到了fo频率。按这一原理进行程序设计,对一些常数进行调整,通过回归分析,可证明其升降曲线为前面所选的指数型运行曲线。下面升算几个编程时用的几个参数。
基本延时时间TB=0.05 (ms)
启动频率为f0时T0=1/f0
实际运行频率为f1时T1=1/f1
启动(加速时)延时倍数N1=T0/TB
终止(减速时)延时倍数N2=T1/TB
递增(或递减)次数S=N1-N2+1
根据上述定义可计算出升降速参数如表4所示。
注:Nl、Nz.S均为十六进制
按上述原理,将表珥的参数制成表格存放于以SJCSB为首地址的内存中,并按图3b的顺序存放。当要进行升降速处理时,程序将根据速度代码及首地址SJCSI自动去查找各挡的有关参数,从而实现升降速处理。获得升降速处理参数的方法是,在调用步进电动机驱动程序的各功能程序中,通过计算公式:SJCSB - 04H十偏移量偏移量=(速度代码- 15H)×4),得到对应速度挡的升降速处理参数的首地址,并送IX寄存器作为地址指针,再将其参数(N1、N2、S)取出暂存于(N1DY)、(N2DY)、(S1DY)、(S2DY)四个存贮单元中(图4为某一功能程序的相步进电动机的微机控制图),以便在步进电动机驱动程序中进行调用。
根据所述的原理和方法,整个驱动程序(INTP)分成恒速运行与升降速处理两大部分(图略)。在升降速处理部分又分为五个运行阶段,用存放在(YXDM)单元中的控制字来划分,01H表示以f0启动恒速运行阶段;02H表示加速阶段;03H表示以f1恒速稳定运行阶段;04H表示降速阶段;05H表示下降后以厂。恒速运行阶段。驱动程序INTP通过很多存贮单元记忆着各种标志,为运行提供判断条件。
FLV系列微电机
“日本伺服”公司开发的FLV系列电机,可实现高精度数控,使用方便,加减速时速度平稳,具有缓冲功能;变速范围25~3 175r/min,利用机内微电脑可记忆7种速度,全速范围内的速度一转矩特性稳定。 (刘利编译自日刊《机械设计》V01.35,NO1,1991)
FICS系列控制器
日本达伊那克斯开发的FICS-98/2,98/3型控制单元,采用NEC PC9800,控制直流伺服电机、交流伺服电机、脉冲电机等实现超精密、超高速定位,可进行2轴、3轴控制;既可进行2轴、3轴同步控制,亦可各轴独立控制。
(刘利编译自日刊《机械设计》V01.35,No.4,1991)
|