ZHCT930 May   2025 ULN2003A

 

  1.   1
  2.   2
    1.     3

——South China FAE Skylar Li

低压小功率的步进电机被广泛用于家电领域,为了控制此类电机,我们通常使用达林顿晶体管来实现对其的驱动。TI的ULN2003A达林顿晶体管不仅成本低而且设计简单,在家电行业里广受好评。

ULN2003A达林顿晶体管是一个 "开关阵列",控制逻辑由 MCU 产生,它本身不产生控制信号,作用是:放大 MCU 的控制信号、电流驱动电机线圈,从而将低电平信号驱动较高电压/电流的负载。ULN2003A内部有7个通道,单个通道输出额定为500mA的集电极电流,以下为单个通道达林顿晶体管的内部框图。

ULN2003A-ULN2003A Block Diagram 图 1 单个通道达林顿晶体管的内部原理框图

每个达林顿晶体管对都串联了一个2.7kΩ的基极电阻,这种设计使得ULN2003A能够在5V的工作电压下直接与TTL和CMOS电路连接,无需额外的逻辑缓冲器。MCU发送控制信号给ULN2003A的输入端口,当输入信号为高电平时,相应的输出通道会导通,允许电流流过,输出端口上的电压接近电源电压,从而驱动负载工作。四相八拍步进电机常用来作为负载。

四相八拍(Half-Step)是步进电机的一种驱动方式,特点如下所示:

  • 电机有4个相位(A、B、C、D);
  • 控制时通过特定的 8 步激励序列,逐步切换线圈导通;
  • 每走8步,电机转动一个完整的"电气周期";

由此,ULN2003A连接四相八拍步进电机的示意图如下所示:

 ULN2003A连接四相八拍步进电机的示意图 图 2 ULN2003A连接四相八拍步进电机的示意图

四相八拍步进电机采用单相励磁(1相通电)和双相励磁(2相通电)交替进行的控制策略,来实现更精细的步距角控制,控制逻辑如以下表格(1 表示通电,0 表示不通):

表 1 四相八拍步进电机的控制逻辑
拍数 IN1 IN2 IN3 IN4 说明
1 1 0 0 0 A相通电
2 1 1 0 0 A+B相通电
3 0 1 0 0 B相通电
4 0 1 1 0 B+C相通电
5 0 0 1 0 C相通电
6 0 0 1 1 C+D相通电
7 0 0 0 1 D相通电
8 1 0 0 1 D+A相通电

这个激励顺序不断循环,电机会按设定的方向、速度进行旋转,如下图电机转动方向,反转时,控制时序倒过来控制即可。

 四相八拍步进电机转动示意图 图 3 四相八拍步进电机转动示意图

同时,四相八拍步进电机的A、B、C、D相的输入波形如下图所示,单相双相交替导通,有序运行。

 四相八拍步进电机四相输入波形图 图 4 四相八拍步进电机四相输入波形图

然而,在实际驱动步进电机时,可能因为电机功率较大需要更高的电流,单颗ULN2003A可能无法可靠驱动,就需要用到两颗ULN2003A芯片一起并联驱动。常见的方法是把A、B两相接其中一个ULN2003A,C、D两相接另一个ULN2003A,但是这样会造成一些隐患。我们从图三和图四可以看到,以A相和B相为例,当这两相同时通电时,转子转向45°,AB相存在交叠导通的状态如下图。

 四相八拍步进电机AB两相输入交叠 图 5 四相八拍步进电机AB两相输入交叠

如果A相和B相由同一个ULN2003A驱动,在双相励磁(如A+B)时,芯片需要同时提供两倍的电流(如500mA×2=1A),可能超出芯片的总电流承受能力,导致过热损坏或者驱动能力下降(输出电压降低,步进电机转矩不足)。同时,如果A相和B相同时导通时,可能会因为芯片内部电路限制导致电流分配不均,影响电机运行平滑性。从下图6驱动电流和占空比的关系可以看出,当环境温度为70°C的时候,N=1和N=2在相同的占空比的情况下,ULN2003A支持的最大驱动电流不一样,所以在仅A相导通和A相与B相同时导通的时候驱动电流有可能会分配不均,进而导致芯片发热甚至影响电机运行。所以,A相和B相不适合同时由一个ULN2003A驱动。

 最大集电极电流与占空比之间的关系(TA = 70°C) 图 6 最大集电极电流与占空比之间的关系(TA = 70°C)

进而从图三来看,步进电机的A相和C相是错相的(相位差180°),它们是同一绕组的互补端,磁场方向相反,并且不能同时导通,同时导通会导致磁场抵消或短路。因此,倘若将步进电机的A相和C相同时连到同一ULN2003A上,那么工作时A相和C相分开导通,就不会超过ULN2003A的电流承受能力,并且不会存在A相断电,C相导通或者A相导通,C相断电的瞬间,可以减少相互干扰。当然,B相和D相也同理。

综上所述,正确方式应该如下图所示:

 两颗ULN2003A控制四相八拍步进电机示意图 图 7 两颗ULN2003A控制四相八拍步进电机示意图

图示中两颗ULN2003A分别接电机A、C相和B、D相,这样两相不会同时由同一ULN2003A驱动, 这种分组方式可以分担功率损耗,改善散热,可确保电机运行稳定、高效,同时保护驱动芯片。

以上总结了ULN2003A的特点,以及使用TI的ULN2O03A如何控7制步进电机的方法。当然,鉴于ULN2003A自身的特点,它不仅可以用在步进电机的驱动上还可以驱动继电器,灯和显示屏以及用作逻辑缓冲器,更多的使用场景值得我们发现和探索。