怎么用单片机控制步进电机

浏览:567     发表时间:2018-07-31 09:06:40

步进电机在控制系统中具有广泛的应用。它可以把成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。

本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、。

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相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
  
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
  
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:


a. 单四拍  b. 双四拍  c八拍
图2.步进电机工作时序波形图

2.基于AT89C2051的系统

步进器系统电路原理如图3: 


图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,#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


分享
QQ好友
新浪微博
微信好友
更多
>>>
推荐给朋友
QQ好友
新浪微博
微信好友
QQ空间
腾讯朋友
人人网
豆瓣
百度贴吧
网易热
印象笔记
复制网址

公司地址:广东省深圳市宝安区新安街道大浪社区创业二路272号展鹏工业大厦A栋216

业务热线:0755-85258560      传真:0755-85258659    合作邮箱:sawano@126.comQQ:273682085 微信:13603068595

Copyright © 2018 深圳众立本科技有限公司(www.zlbmotor.com)    版权所有备案号:粤ICP备19134147号-2