步进电机在操控体系中具有广泛的使用。它能够把脉冲信号转化成角位移,而且可用作电磁制动轮、电磁差分器、或角位移发生器等。
有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己规划驱动器。本文介绍的便是为从一日本产老式打印机上拆下的步进电机而规划的驱动器。本文先介绍该步进电机的作业原理,然后介绍了其驱动器的软、硬件规划。
1. 步进电机的作业原理
该步进电机为一四相步进电机,选用单极性直流电源供电。只要对步进电机的各相绕组按适宜的时序通电,就能使步进电机步进滚动。图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相绕组磁极
四相步进电机依照通电次序的不同,可分为单四拍、双四拍、八拍三种作业方法。单四拍与双四拍的步距角持平,但单四拍的滚动力矩小。八拍作业方法的步距角是单四拍与双四拍的一半,因而,八拍作业方法既能够坚持较高的滚动力矩又能够进步操控精度。
单四拍、双四拍与八拍作业方法的电源通电时序与波形别离如图2.a、b、c所示:
图2.步进电机作业时序波形图
图3 步进电机驱动器体系电路原理图
AT89C2051将操控脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014扩大后操控光电开关,光电阻隔后,由功率管TIP122将脉冲信号进行电压和电流扩大,驱动步进电机的各相绕组。使步进电机跟着不同的脉冲信号别离作正转、回转、加快、减速和中止等动作。图中L1为步进电机的一相绕组。AT89C2051选用频率22MHz的晶振,选用较高晶振的意图是为了在方法2下尽量减小AT89C2051对上位机脉冲信号周期的影响。
图3中的RL1~RL4为绕组内阻,50Ω电阻是一外接电阻,起限流效果,也是一个改进回路时间常数的元件。D1~D4为续流二极管,使电机绕组发生的反电动势经过续流二极管(D1~D4)而衰减掉,然后维护了功率管TIP122不受损坏。
在50Ω外接电阻上并联一个200μF电容,能够改进注入步进电机绕组的电流脉冲前沿,进步了步进电机的高频功能。与续流二极管串联的200Ω电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到进步高频作业功能的效果。
3.软件规划
该驱动器依据拨码开关KX、KY的不同组合有三种作业方法供挑选:
方法1为中止方法:P3.5(INT1)为步进脉冲输入端,P3.7为正回转脉冲输入端。上位机(PC机或单片机)与驱动器仅以2条线相连。
方法2为串行通讯方法:上位机(PC机或单片机)将操控指令发送给驱动器,驱动器依据操控指令自行完结有关操控进程。
方法3为拨码开关操控方法:经过K1~K5的不同组合,直接操控步进电机。
当上电或按下复位键KR后,AT89C2051先检测拨码开关KX、KY的状况,依据KX、KY 的不同组合,进入不同的作业方法。以下给出方法1的程序流程框图与源程序。
在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向时能滑润过渡,不至于发生错步,应在每一步中设置标志位。其间20H单元的各位为步进电机正转标志位;21H单元各位为回转标志位。在正转时,不只给正转标志位赋值,也一起给回转标志位赋值;在回转时也如此。这样,当步进电机换向时,就能够上一次的方位作为起点反向运动,避免了电机换向时发生错步。
图4 方法1程序框图
方法1源程序:
MOV 20H,#00H ;20H单元置初值,电机正转方位指针
MOV 21H,#00H ;21H单元置初值,电机回转方位指针
MOV P1,#0C0H ;P1口置初值,避免电机上电短路
MOV TMOD,#60H ;T1计数器置初值,开中止
MOV TL1,#0FFH
MOV TH1,#0FFH
SETB ET1
SETB EA
SETB TR1
SJMP $
;***********计数器1中止程序************
IT1P: JB P3.7,FAN ;电机正、回转指针
;*************电机正转*****************
JB 00H,LOOP0
JB 01H,LOOP1
JB 02H,LOOP2
JB 03H,LOOP3
JB 04H,LOOP4
JB 05H,LOOP5
JB 06H,LOOP6
JB 07H,LOOP7
LOOP0: MOV P1,#0D0H
MOV 20H,#02H
MOV 21H,#40H
AJMP QUIT
LOOP1: MOV P1,#090H
MOV 20H,#04H
MOV 21H,#20H
AJMP QUIT
LOOP2: MOV P1,#0B0H
MOV 20H,#08H
MOV 21H,#10H
AJMP QUIT
LOOP3: MOV P1,#030H
MOV 20H,#10H
MOV 21H,#08H
AJMP QUIT
LOOP4: MOV P1
MOV 20H,#20H
MOV 21H,#04H
AJMP QUIT
LOOP5: MOV P1,#060H
MOV 20H,#40H
MOV 21H,#02H
AJMP QUIT
LOOP6: MOV P1,#0E0H
MOV 20H,#80H
MOV 21H,#01H
AJMP QUIT
LOOP7: MOV P1,#0C0H
MOV 20H,#01H
MOV 21H,#80H
AJMP QUIT
;***************电机回转*****************
FAN: JB 08H,LOOQ0
JB 09H,LOOQ1
JB 0AH,LOOQ2
JB 0BH,LOOQ3
JB 0CH,LOOQ4
JB 0DH,LOOQ5
JB 0EH,LOOQ6
JB 0FH,LOOQ7
LOOQ0: MOV P1,#0A0H
MOV 21H,#02H
MOV 20H,#40H
AJMP QUIT
LOOQ1: MOV P1,#0E0H
MOV 21H,#04H
MOV 20H,#20H
AJMP QUIT
LOOQ2: MOV P1,#0C0H
MOV 21H,#08H
MOV 20H,#10H
AJMP QUIT
LOOQ3: MOV P1,#0D0H
MOV 21H,#10H
MOV 20H,#08H
AJMP QUIT
LOOQ4: MOV P1,#050H
MOV 21H,#20H
MOV 20H,#04H
AJMP QUIT
LOOQ5: MOV P1,#070H
MOV 21H,#40H
MOV 20H,#02H
AJMP QUIT
LOOQ6: MOV P1,#030H
MOV 21H,#80H
MOV 20H,#01H
AJMP QUIT
LOOQ7: MOV P1,#0B0H
MOV 21H,#01H
MOV 20H,#80H
QUIT: RETI
END
4.序幕
该驱动器经试验验证能驱动0.5N.m的步进电机。将驱动部分的电阻、%&&&&&%及续流二极管的有关参数加以调整,可驱动1.2N.m的步进电机。该驱动器电路简略牢靠,结构紧凑,关于I/O口线与单片机资源严重的体系来说特别适用。