工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->微机单片机电路图->单片机制作电路图->AT89C2051步进电机驱动器系统

AT89C2051步进电机驱动器系统

作者:dolphin时间:2011-04-21

  AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中L1为步进电机的一相绕组。AT89C2051选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。


步进电机驱动器系统电路原理如图1
  图1中的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单元各位为反转标志位。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。


  图2 方式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,#070H

  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



评论

技术专区