摩托罗拉(现在的飞思卡尔 )的一款芯片SAA1027曾广泛的使用于步进电机驱动器中,但由于该款IC的逐步淘汰,于是有了新的设计理念。本文介绍了用一个CPLD(复杂可编程逻辑器件)来实现步进电机驱动器的方法,利用CPLD可以替代SAA1027或UCN5804B在步进电机控制板中的作用。
这个设计仅用了XC9536(赛灵思)这款CPLD的6个宏单元,并因此能够在一个小容量的CPLD上实现多个步进电机驱动器。CPLD的步进电机驱动器需要时钟,方向,步长,和复位输入。时钟输入接受逻辑电平脉冲,活跃于脉冲的正边沿。方向或CW / CCW(顺时针/逆时针),输入决定电机的旋转方向。根据电机的电气连接,在0V输入,通常会产生顺时针旋转,而逻辑1输入产生逆时针旋转。
步的大小,即全步或半步输入为每个时钟脉冲决定了电机的旋转角度。持有这种低输入命令电机在每个应用的时钟脉冲执行一个全步,高输入产生了半步。 一个****的复位输入将电机置于预先设定好的状态,并命令CPLD忽略任何进入的时钟脉冲。
CPLD的输出包括A和A_N和B B_N的阶段,每一个可控制电机两个线圈中的一个线圈,通过外部电源驱动器IC 2和IC 3,它们工作在电机的额定电压下。 对每个驱动器的输出有一对肖特基二**管,在感应到感应电压瞬变时,通过反向线圈电流可保护驱动器的输出,诱导扭转绕组的感应电压瞬变期间输出的电流驱动程序。使用内部二**管的MOSFET驱动器,如Microchip的 TC4424A双驱动器,可以免除使用外部二**管。
|