基于A3972的步进电机驱动模块设计
扫描二维码
随时随地手机看文章
引言
步进电机作为执行器件,广泛用于各种类型的自动控制系统。它是一种将离散的电脉冲信号转化成相应的角位移或线位移的电磁机械装置。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比,是一种输出与输入脉冲对应的增量驱动元件。然而由于其步距角较大,往往满足不了某些高精密定位、精密加工等方面的要求,因此实现细分驱动是减小步距角、提高步进分辨率、增加电机运行平稳性的一种行之有效的方法。
在实际应用中,往往要求电机运转过程中在转速满足要求的同时,力矩要足够大,而电机的转速与力矩恰是一对矛盾体,转速相同时电机的起动力矩要小于运行力矩,所以实际应用中要根据电机负载力矩来确定启动频率与运行频率。
本文将给出一种基于A3972驱动芯片的驱动模块设计,以满足实际生产中精密定位的需求,并给出一个合理的加速曲线,以解决电机的启动力矩与转速的矛盾。
A3972控制芯片
A3972是Allegro公司的64细分双DMOS全桥微步距PWM步进电机驱动集成电路,CPU可通过时钟、数据、选通3线串口对其进行控制,包括步进电机的方向、速度、步进法(细分)的设置。控制指令以串行数据形式通过两个字的格式写入,一个为桥电流数据字,一个为控制时间数据字。它的工作电压可达50V,驱动电流达1.5A,一个A3972即可驱动一台二相步进电机。
A3972具有优良的特性,芯片内部的SPWM电流控制电路可通过串口设置其工作在整步、半步、1/4步等,最多可至1/64步,每一步的负载电流可以按最大值的1.56%增量进行设置。其特有的电流慢、快、混合等3种电流衰减模式可以使步进电机工作在不同的负载和转速下,而且都能获得较理想的电流波形。另外,它易于与单片机接口,控制方式灵活。
A3972的功率驱动采用DMOS结构及高速SPWM开关模式,因此功耗极小,基本可不用散热器,可降低成本(去除散热器)和体积。
A3972还能提供完善的保护措施,其中包括抑制瞬态电压、过热保护、防止电流直通、欠电压自锁等功能。因此,A3972不失为一种高性能的串行控制步进电机微步距驱动器。
系统硬件设计
本步进电机驱动模块的设计是应用于本研究所研发的自动收发卡机的收发卡机构。根据使用需求,整体系统的硬件设计,大致可以分为控制部分、驱动部分、切换部分及电源部分。[!--empirenews.page--]
如图1所示,系统主要由控制、驱动、切换及电源四部分组成。
控制电路
控制接口由三种控制信号组成,分别是方向控制信号、使能控制信号及切换控制信号。实际应用中按需要给出这三种控制信号的高低电平(5V)即可方便、有效地控制电机的运转。
控制部分的核心是单片机及其控制软件,通过光隔电路接收由自动收发卡机主控器给出的各种控制命令,结合细分选择开关的设置,按需求通过3线串行接口控制着步进电机的细分倍数、运行脉冲频率、正反转、运行速度、单次运行线位移、启停以及切换不同工位电机等。
该部分电路主要由单片机及其外围电路组成(见图2)。单片机选择8051 单片机STC12C4052,具有速度高、可靠性高、在系统可编程等优点。S1拨码开关为细分选择开关,根据S1的值可通过串口(STR、CLK、DATA)设置电机工作在整步、半步、1/4步、1/8步、1/16步、1/32、1/64等多种方式下。
驱动电路
驱动部分是电机可靠运行的关键,本部分除可按命令完成驱动电机的正反转、加速启动、停止等功能外,还需考虑降低功耗和体积。印制电路板布线应采用粗地线,A3972直接焊接在印制板上,可以提高电路的电气性能和散热性能。
A3972的外围电路简单,只需要少量的外部元器件和几根控制线就可构成一个完整的微步距驱动二相步进电机电路(见图3)。拨码开关S2用来设置桥输出的最大负载工作电流ITRIPMAX = VREF/(Range × Rs),不同的设置VREF的值不同。如拨码开关的第一位导通,则VREF=1.25(1+R10/R11)。其中Range由控制字0决定,本文中Range值为8,Rs值为0.22Ω。
切换电路
由于自动收发卡机的设计是基于双工位(工作通道)的,所以本驱动模块内部自带电机切换电路,可以驱动分时工作的两路电机。切换部分由低功耗的MOS对管集成芯片及外围电路组成(见图4)。
[!--empirenews.page--]
电源(DC/DC变换)电路
为了使模块的控制部分有一稳定的工作环境(包括电压稳定、抗干扰等),电源部分采用小功率DC/DC变换芯片做成24V—5V的开关稳压电源(非隔离型),供模块内控制部分使用。另加入过压保护、电源方向保护电路,以提高可靠性,如图5所示。V1为特快速整流二极管,这里可以起到电源方向保护的作用。D1的输出电压为VOUT=1.25(1+R2/R1),给D2提供一个相对稳定、安全的输入电压,再经过D2电压转换为VOUT=1.25(1+R4/R5)即5V。
系统软件设计
系统软件设计是设计的关键部分,电机每转动一步都是由单片机软件向驱动芯片写入控制字0、控制字1来实现的,所以控制字值的设定是设计的关键,本文还给出一个合理的加速曲线,以解决电机的启动力矩与转速的矛盾。
如图7电机正反转流程所示,电机每转动一微步,需要向控制字0写入两路桥电流,而桥电流由6位线性DAC值决定,结合细分值、电流方向和电流衰减模式将DAC值按一定规律写入驱动芯片即可。
电机启动的加速过程分为5个速度等级,电机启动时设定速度等级SpeedNo为0,以最小恒速位移为单位,逐渐提高速度等级,并通过设置定时器T0的值来作为两个微步之间的时间延时,从而改变步速。图8速度延时流程中Flag为延时结束标志位,定时器T0溢出时置位。
结语
该驱动模块已用于本研究所研发的自动收发卡机项目,驱动42系列两相步进电机,步距角为1.8°,为了进一步提高步进电机定位精度和系统的运行平稳性,采用细分级数为16。从运行的实际情况看,该步进电机驱动器实现了较高的稳速精度,运行可靠,取得了满意的效果。