步进电机在控制系统中具有广泛的应用,它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等。有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。
一、步进电机的工作原理
该步进电机为一四相步进电机,采用单极性直流电源供电;只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图 1 是该四相反应式步进电机工作原理示意。

图 1 四相步进电机步进示意
开始时,开关 SB 接通电源,SA、SC、SD 断开,B 相磁极和转子 0、3 号齿对齐;同时,转子的 1、4 号齿就和 C、D 相绕组磁极产生错齿,2、5 号齿就和 D、A 相绕组磁极产生错齿。当开关 SC 接通电源、SB、SA、SD 断开时,由于 C 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动,1、4 号齿和 C 相绕组的磁极对齐,而 0、3 号齿和 A、B 相绕组产生错齿,2、5 号齿就和 A、D 相绕组磁极产生错齿。依次类推,A、B、C、D 四相绕组轮流供电,则转子会沿着 A、B、C、D 方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式:单四拍与双四拍的步距角相等,但单四拍的转动力矩小;八拍工作方式的步距角是单四拍与双四拍的一半,因此八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图 2(a)、(b)、(c)所示。

图 2 步进电机工作时序波形

图 3 步进电机驱动器系统电路原理
AT89C2051 将控制脉冲从 P1 口的 P1.4~P1.7 输出,经 74LS14 反相后进入 9014,经 9014 放大后控制光电开关,光电隔离后由功率管 TIP122 将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组,使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中 L1 为步进电机的一相绕组;AT89C2051 选用频率 22 MHz 的晶振,选用较高晶振的目的是为了在方式 2 下尽量减小 AT89C2051 对上位机脉冲信号周期的影响。
图 3 中的 RL1~RL4 为绕组内阻,50 Ω 电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件;D1~D4 为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1~D4)而衰减掉,从而保护了功率管 TIP122 不受损坏。在 50 Ω 外接电阻上并联一个 200 μF 电容,可以改善注入步进电机绕组的电流脉冲前沿,提高步进电机的高频性能;与续流二极管串联的 200 Ω 电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡、电流下降时间变小,也起到提高高频工作性能的作用。
二、软件设计
该驱动器根据拨码开关 KX、KY 的不同组合有三种工作方式供选择:
方式 1 为中断方式:P3.5(INT1)为步进脉冲输入端,P3.7 为正反转脉冲输入端,上位机(PC 机或单片机)与驱动器仅以 2 条线相连;
方式 2 为串行通信方式:上位机(PC 机或单片机)将控制命令发送给驱动器,驱动器根据控制命令自行完成有关控制过程;
方式 3 为拨码开关控制方式:通过 K1~K5 的不同组合,直接控制步进电机。
当上电或按下复位键 KR 后,AT89C2051 先检测拨码开关 KX、KY 的状态,根据 KX、KY 的不同组合进入不同的工作方式。在程序的编制中要特别注意步进电机在换向时的处理:为使步进电机在换向时能平滑过渡、不至于产生错步,应在每一步中设置标志位——其中 20H 单元的各位为步进电机正转标志位,21H 单元各位为反转标志位;在正转时不仅给正转标志位赋值,也同时给反转标志位赋值,在反转时也如此。这样当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。方式 1 的程序流程如图 4 所示。

图 4 方式 1 程序流程
三、步进电机细分驱动电路
为了对步进电机的相电流进行控制,从而达到细分步进电机步距角的目的,人们曾设计了很多种步进电机的细分驱动电路。随着微型计算机的发展,特别是单片计算机的出现,为步进电机的细分驱动带来了便利,目前步进电机细分驱动电路大多数都采用单片微机控制:单片机根据要求的步距角计算出各相绕组中通过的电流值,并输出到数模转换器(DAC)中,由 DAC 把数字量转换为相应的模拟电压,经过环形分配器加到各相的功放电路上,控制功放电路给各相绕组通以相应的电流,来实现步进电机的细分。单片机控制的步进电机细分驱动电路根据末级功放管的工作状态可分为放大型和开关型两种,如图 5 所示。

图 5 步进电机细分驱动电路

图 6 步进电机驱动电路
本文介绍的是为从一台旧式打印机上拆下的步进电机而设计的驱动器:先介绍该步进电机的工作原理,然后介绍其驱动器的软、硬件设计。