步进电机程序控制

2011年10月9日15:30:06 评论

步进电机是自动控制系统中常用的执行部件。步进电机的输入信号为脉冲电流,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移,因而步进电机可看作是一个串行的数/模转换器。由于步进电机能够直接接受数字信号,而不需数/模转换,所以使用微机控制步进电机显得非常方便。

步进电机有以下优点:

A、通常不需要反馈就能对位置和速度进行控制

B、位置误差不会积累

C、与数组设备兼容,能够直接接收数字信号

D、可以快速启停

步进电机的品种规格很多,按照它们的结构和工作原理可以划分为磁阻式(也称反应式或变磁阻式)电机、混合式电机、永磁式电机和特种电机等四种主要型式。

步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。目前打字机、计算机外部设备、数控机床、传真机等设备中都使用了步进电机。随着电子计算机技术的发展,步进电机必将发挥它的控制方便、控制准确的特点,在工业控制等领域取得更为广泛的应用。

1、步进电机的工作原理

以磁阻式步进电机为例,介绍一下步进电机的工作原理,图1是磁阻式步进电机工作原理的示意图。

步进电机程序控制

图1 磁阻式步进电机的工作原理

它的定子上有六个极,转子有四个极。定子磁极上绕有三组绕组,每组绕组由相互串联的两个线圈构成。一组绕组叫做一相。因此,图1. 1所示的电机为三相步进电机。直流电源通过开关I、Ⅱ和Ⅲ,驱动电流流过绕在定子上的绕组。

状态(1) ,开关I闭合,A相通电。由于A相绕组受到激磁,空气隙里出现如箭头所示的磁场。A相上的两个定子磁极和两个转子齿对准,转子处于平衡状态。若再闭合开关R激励B相,如状态(2)所示, B相的定子磁极以同样的方式产生磁场。在磁力线的张力作用下,产生逆时针方向的转矩。于是,转子沿逆时针方向转过一个固定的角度,到达状态(3) 。图中,转过的角度为15°。如果现在打开开关I,去掉A相的激磁,转子将再转15°,到达状态(4) 。因此,转子的角位置可以用这种开关方式进行控制。若开关以某种时序转换,则转子就能以步进运动的方式连续旋转;若进一步使时序转换的速度可调,则平均速度也能用这种开关方式进行控制。

实际上,驱动步进电机的开关是晶体管,开关信号由数字集成电路或微机产生。通过前面的介绍可以看到,步进电机是一种把开关激励的变化变换成精确的转子位置增量运动的执行机构。

2、步进电机程序控制的设计

2.1 步进电机的传动方式

2.1.1三相单三拍工作方式

在这种工作方式下,A、B、C三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做三相单三拍工作方式。这时步距角θb(度)为:

θb = 360 /mz  ( °) (2-1)

式中:m──定子相数; z ──转子齿数

2.1.2 三相六拍工作方式

在这种工作方式下,首先A相通电,转子齿与A相定子齿对齐。第二拍,A相继续通电,同时接通B相,A、B各自建立的磁场形成一个合成磁场,这时转子齿既不对准A相也不对准B相,而是对准A、B两极轴线的角等分线,使转子齿相对于A相定子齿转过1 /6齿距,即1. 5°。第三拍,A相切断,仅B相保持接通。这时,由B相建立的磁场与单三拍时B相通电的情况一样。依次类推,绕组以A—AB—B—BC—C—CA—A时序(或反时序)转换6次,磁场旋转一周,转子前进一个齿距,每次切换均使转子转动1. 5°,故这种通电方式称为三相六柏工作方式。其步距角θb为:

θb=360/2mz=180/mz  ( °) (2-2)

2.1.3双三拍工作方式

这种工作方式每次都是有两相导通,两相绕组处在相同电压之下,以AB─BC─CA─AB (或反之)方式通电,故称为双三拍工作方式。以这种方式通电,转子齿所处的位置相当于六拍控制方式中去掉单三拍后的三个位置。它的步距角计算公式与单三拍时的公式相同。

由上述分析可知,要使磁阻式步进电机具有工作能力,最起码的条件是定子极分度角不能被齿距角整除,且应满足下列方程:

极分度角/齿距角= R + k·1/m

进一步化简得齿数z:

z = q (mR + k)          (2-3)

式中:m──相数;q──每相的极数;k──≤ (m - 1)的正整数;R──正整数,为0、1、2、3……。

按选定的相数和不同的极数,由上式就可推算出转子齿数。

因为三相双三拍步进电机不易失步,控制精度比较高,所以本文对三相双三拍步进电机进行控制,定子有三对磁极,运行时两相同时通电,循环带动转子转动。

2.2硬件接口电路

传统的步进电机控制系统采用硬件进行控制,用一个脉冲发生器产生频率变化的脉冲信号,再经一个脉冲分配器把方向控制信号和脉冲信号转换成有一定逻辑关系的环形脉冲;经驱动电路放大后就可以来驱动步进电机了。在这种控制中,步进电机的脉冲由硬件电路产生,如果系统发生变化或使用不同类型的步进电机,需重新设计硬件电路,系统的可移植性不好。

用微机控制系统代替脉冲发生器和脉冲分配器,就可以根据系统需要通过软件编程的方法任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态。这样可简化控制电路,降低生产成本,提高系统的运行效率和灵活性。图2为单片机控制步进电机接口原理图。

步进电机程序控制

图2 单片机控制步进电机接口电路原理图

2.3 脉冲的形成

实现对步进电机的控制,微机应能输出有一定周期的控制脉冲。

步进电机程序控制

图3 软件法形成脉冲序列的程序流程

步骤是:先输出一个高电平,延时一段时间后,再输入一个低电平,然后再延时。改变延时时间的长短,即可改变脉冲的周期,脉冲的周期由步进电机的工作频率确定。用软件形成环形脉冲的程序流程图如图3所示。

程序如下:

PULSE:MOV R3 , # NUM
PUSH A
PUSH PSW
LOOP: SETB P1.0
ACALL DELAY1
CLR P1.0
ACALL DELAY2
DJNZ R3,LOOP
POP PSW
POP A
RET

2. 4 旋转方向控制

步进电机的旋转方向和内部绕组的通电顺序及通电方式有密切关系。

对于三相双三拍工作方式:

正相旋转:AB→BC→CA→AB

反相旋转:AB→CA→BC→AB

三相双三拍控制模型如图4所示。

步进电机程序控制

图4 三相双拍步进电机控制模型

2. 5转速控制

控制步进电机的运行速度,实际上是控制系统发出时钟脉冲的频率或换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。脉冲信号的频率可以用软件延时和硬件中断两种方法来确定。

采用软件延时,一般是根据所需的时间常数来设计一个子程序,该程序包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延时时间是否符合要求。每当延时子程序结束后,可以执行下面的操作,也可用输出指令输出一个信号作为定时输出。采用软件定时, CPU一直被占用,因此CPU利用率低。

可编程的硬件定时器直接对系统时钟脉冲或某一固定频率的时钟脉冲进行计数,计数值则由编程决定。当计数到预定的脉冲数时,产生中断信号,得到所需的延时时间或定时间隔。由于计数的初始值由编程决定,因而在不改动硬件的情况下,只通过程序变化即可满足不同的定时和计数要求,因此使用很方便。

2.6控制程序设计

控制程序的设计方法是:通过标志位FLAG来判断电机的旋转方向,然后输出相应的控制脉冲序列;判断要求的脉冲信号是否输出完毕。

三相双三拍控制模型完成的步进电机控制程序设计如下:

三相双三拍控制程序流程图如图5所示。正转控制模型03H、06H、05H存放在以RM为起始地址的内存单元中,反转控制模型03H、05H、06H存放在以LM为起始地址的内存单元中。

步进电机程序控制

图5 主程序及定时器中断服务程序流程图

主程序如下:
CON: MOV R3, # N
MOV TMOD , # 10H
MOV TL1 , # LOW
MOV TH1 , # H IGH
JNB FLAG ,LEFT
MOV R0 , RM
AJMP TIME - S
LEFT: MOV R0 , LM
TIME: SETB EA
SETB ET1
SETB TR1
WA IT: SJMP WA IT
中断服务程序如下:
INTTO: PUSH  A
PUSH PSW
MOV A , @R0
MOV P1 ,A
INC R0
MOV A , # 00H
XRL A , @R0
JNZ NEXT
MOV A , R0
CLR C
SUBB A , # 03H
MOV R0 , A
NEXT: DJNZ R3 , RETU
CLR ET1
CLR EA
RETU: POP PSW
POP A
RETI

3、总结与展望

步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字化执行元件。随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需要量越来越大。有资料说明,世界上步进电机的年产量以10%以上的速度增长。国内对步进电机的需求同样也与日俱增。实际工作中,很多工程技术人员和技术工人都希望比较全面地了解步进电机及其控制技术。

本文对步进电机的控制方法进行了详细的论述,包括硬件接口的设计、软件方案的设计和汇编控制程序的编写。此种方法高效、方便、成本低廉,在实际应用中有着很高的利用价值。