基于PIC16C621A和A3955的步进电机驱动器设计

时间:2008-08-21
  引言
  
  步进电机广泛应用于对要求比较高的运动控制系统中,如机器人、打印机、软盘驱动器、绘图仪、机械阀门控制器等。目前,对步进电机的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。分散器件组成的环形脉冲分配器体积比较大,同时由于分散器件的延时,其可靠性大大降低;软件环形分配器要占用主机的运行时间,降低了速度;专用集成芯片环形脉冲分配器集成度高、可靠性好,但其适应性受到限制,同时开发周期长、需求费用较高。
 
  步进电机控制
 
  步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(VR)、永磁式步进电机(PM)和混合式步进电机(HB)。 步进电机区别于其他控制电机的特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本控制如下:
 
  *控制换相顺序—通电换相这一过程称为脉冲分配。例如:混合式步进电机的工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断,这就是所谓脉冲环形分配器。
 
  *控制步进电机的转向—如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
 
  *控制步进电机的速度—如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。
 
  PIC16C621A和A3955
 
  PIC16C621A是美国Microchip公司推出的一种性价比很高的8位单片机。它价格低、封装小、采用CMOS工艺,具有OTP型,开发起来很方便。它内含4路8位高速ADC,将它扩展到11位后,可以大大提高单片机应用系统的性价比。主要特性为:高性能的RISC结构CPU,精简的指定集。指令周期时间为200nS。八级硬件堆栈,直接,间接,相对三种寻址方式。双向可编程设置I/O,2路比较输出/PWM输出,16位定时器/计数器,内置上电复位电路,程序保密位,可防程序代码的非法拷贝。A3955是美国Allegro公司推出的一款性价比很高的脉宽调制电流输出的电机驱动芯片。主要特性为:1.5A的驱动电流,50V的供电电压,带有过热自动关断保护电路,欠电压锁定(UVLO)保护,输出抗浪涌的瞬间保护功能,自带PWM 电流控制,3位的线性DAC,带细分控制,不同组合不同的细分数,多8细分。
 
  硬件设计
 
  通常步进电机的脉冲控制是由逻辑电路或专用芯片实现的脉冲环形分配的,因A3955不自带环形分配功能,本设计采用两片A3955驱动步进电机的两个线圈,来实现脉冲环形分配的实现。
 
  本设计采用脉冲加方向的步进电机控制方式,应用于驱动二相或四相混合式步进电机。电机的出线方式不同,与驱动器的连接也不同,一般有以下几种方式:
 
  *对于二相四根线电机,可以直接和驱动器相连(见图1);
 
  *对于四相六根线电机,中间抽头的二根线悬空不接,其它四根线和驱动器相连(见图1)。

 
图1  二相四根线电机与驱动器连接
 
  具体硬件如图2,CLK 为外部脉冲输入端,DIR为外部方向输入端,步进脉冲信号CLK用于控制步进电机的位置和速度,本驱动器的设计为CLK信号为上升沿有效,要求CLK信号的驱动电流为8-15mA,对CLK的脉冲宽度也有一定的要求,一般不小于5mS。方向电平信号DIR用于控制步进电机的旋转方向。此端为高电平时,电机逆时针方向转,此端为低电平时,电机为顺时针方向转。CLK和DIR信号默认幅值为5V,如果不是5V则须外部另加限流电阻R,如信号幅度为12V时,加680W的电阻。MS0,MS1,MS2 为细分输入端,多为8细分(见表1)。

 
图2 具体硬件电路图
  软件设计
 
 为了防止程序进入到非程序区,在非程序区设置拦截措施,使程序进入陷阱,然后强迫程序回到初始状态,从而保护程序的正常运行。程序设计首先判断细分数,其次判断方向信号DIR,判断脉冲信号CLK,当没有脉冲信号时,程序进入休眠状态,随时准备接收中断来的信号,进入程序区,根据判断的细分数和方向信号进行电机的驱动。代码如下:
  MAIN        CLRF     PORTA
  BSF      STATUS,5
  MOVLW    0x07               ;整步
  MOVWF    ADCON1
  MOVLW    0X06               ;半步
  MOVWF    OPTIONREG
  MOVLW    0x04               ;四细分
  MOVWF    TRISA
  CLRF     PORTB
  BSF      STATUS,5
  MOVLW    0X00               ;八细分
  MOVWF    TRISB
  BCF      STATUS,5
  MOVWF    TMR0
  TEST        BTFSS    PORTA,0
  GOTO     CW          ;正转
  BTFSC    PORTA,0
  GOTO     CCW        ;反转
  INT         MOVLW    0XFF   ;中断接收脉冲
  MOVWF    TMR0
  BCF      INTCON,2
  RETFIE
 
  结语
 
  采用此设计的八细分步进电机驱动器,在驱动二相或四相混合式步进电机时运动平稳,速度快,噪音低,控制精高,而且专用芯片细分数可选。在外观采用铝镁合金,散热性好,价格低廉,可广泛应用于需要驱动电流小于1.5A的混合式两相或四相步进电机的系统中。
  欲知详情,请登录维库电子市场网(www.dzsc.com

  

参考文献:

[1]. PIC16C621A datasheet https://www.dzsc.com/datasheet/PIC16C621A_85710.html.
[2]. A3955 datasheet https://www.dzsc.com/datasheet/A3955_114241.html.
[3]. Microchip datasheet https://www.dzsc.com/datasheet/Microchip_1097736.html.
[4]. RISC datasheet https://www.dzsc.com/datasheet/RISC_1189725.html.


上一篇:高速电路印刷电路板的可靠性设计
下一篇:Linux串口上网的简单实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料