MC33991型二相步进电机驱动器机器人天空1 MC33991的主要特点MC33991是单独封装、通过SPI(同步串行外设接口)进行通信、可同时控制二个步进电机的驱动电路。该电路由4个可驱动线圈的功率H桥和辅助逻辑控制器组成。每组H桥的驱动可用来控制步时电机的速度、旋转方向及每相线圈中电流的大小。MC33991有良好的抗干扰能力,可以十分灵活地驱动步进电机,因此是汽车电子设备特别是汽车仪表的理想驱动器。只要做一些外围设备的改进,该电路也可以仿照气隙磁通的运行,把普通电机转化为步进电机来控制。MC33991的特性如下:·最小的上层处理器(不需其他外设即可直接驱动电机);·仿效普通电机的运动进行控制,使电机有完美的动态和静态性能;·有4096个静态指示位置;·最大指针扫过范围为340°;·最大指针速度为400 deg/s;·最大指针加速度为4500deg/s2;·应用微步距控制技术(每步细分为12个微步);·指针回零校准;·有16位SPI;·内部时钟校准;·睡眠模式下的耗电量较小。
2 结构原理与引脚功能2.1 内部结构MC33991的内部结构框图如图1所示,它由PI、逻辑电路、电压/温度检测及功率H桥等模块组成。MC33991主控电路先将驱动命令通过SPI以串行数据的方式输出,再通过逻辑电路将命令转化成驱动信号以驱动功率H桥,H桥输出电流直接驱动步进电机,同时MC33991中的电压/温度等检测模块可以随时检测电机的动转状态,并将检测结果通过SPI以串行输出方式将数据反馈给主控电路。2.2 引脚功能COS+、COS-、SIN+与SIN-:H桥输出端。它们分别是H功率桥中各个半桥的输出端。H功率桥可以直接线性控制步进电机的二组线圈,使其在4象限中运动。GND:接地端,包括与晶闸管相连的输出地及逻辑地,同时具备散热作用。CS:片选输入端,与片选信号相连。SCLK:串行时钟,该引脚与主控电路的时钟相连,决定串行外围接口的时钟频率的大小。信号的占空比为50%,由CMOS电平驱动。SO:串行输出端,该引脚与主控电路外围串行接口的输入端或者与其他驱动电路的串行输入端相连。输出为CMOS电平,输出的数据为状态反馈信息或报错信息。SI:串行输入端,该引脚与主控电路外围串行接口的输入端相连,接收主控电路提供的控制信号,SI端在电路内部有上拉电阻器,要由CMOS电平驱动。RTX:多元输出。指针回零时要用此引脚。VDD:电源输入端,为逻辑电路及SPI供电,电压为4.5~5.5。RST:复位端,当主控电路要复位或者要使电路进入睡眠状态时,应将此引脚置0使电路回到默认状态。该引脚在电路内部接有上拉电阻器。VPWR:电池电压,电源输出端。电压范围为6.5V~26.0V,工作电流小于6.0mA。
图2
3 SPI的引脚及通信协议SPI为同步串行外部设备接口,可以进行16位数据的双向传输,MC33991中有4个引脚:SI、SO、SCLK、CS与之相关。其中SI与SO引脚遵循先入先出(FIFO)协议进行数据输入和输出。所有输入引脚都需要5.0V的CMOS驱动电平。下面具体加以介绍:片选端CS:是主控电路与MC33991进行通讯的使能端。当CS为0时,MC33991型步进电机驱动器与主控电路传输数据。MC33991在CS端输入信号的上升沿锁存输入数据,当CS为0时,输出端SO输出信号有效;当CS为1时,SI与SCLK引脚的输入信号被忽略,SO端为高阻状态。只有当SCLK为0时,CS端的信号才可以由1转换为0,CS端在电路内部接上拉电阻器,专门控制I/O端口。串行时钟输入端SCLK(同步时钟):SCLK端口为MC33991内部寄存器转换提供时钟信号。在其下降沿SI的信号被转换到寄存器内部,在其上升沿同时SO的信号将寄存器中的数据转换成输出信号,SCLK引脚在电路内部接下拉电阻器。串行输入端SI:SPI的输入端,串行输入信号在SCLK的下降沿被读取。输入的数据为16位,从最高位(MSB)开始传输。其他的多重数据信息(16位以后的数据)将被忽略,传输完16位数据后,在传输新数据之前CS必须置1。当CS为高电平时,输入数据被忽略。串行输出端SO:寄存器的输出端口,有3种状态(0、1、高阻)。数据在SCLK信号的上升沿被输出,当CS为高电平时,SO引脚为高阻状态。4 MC33991的寄存器MC33991型驱动器可以与微处理器直接相连,并通过16位SPI进行数据传输,微处理器向驱动器输入控制数据,驱动器向微处理器输出反馈信息。MC33991内部的寄存器及其功能如表1所列。
表1 MC33991内部寄存器