ZHCT930 May 2025 ULN2003A
低压小功率的步进电机被广泛用于家电领域,为了控制此类电机,我们通常使用达林顿晶体管来实现对其的驱动。TI的ULN2003A达林顿晶体管不仅成本低而且设计简单,在家电行业里广受好评。
ULN2003A达林顿晶体管是一个 "开关阵列",控制逻辑由 MCU 产生,它本身不产生控制信号,作用是:放大 MCU 的控制信号、电流驱动电机线圈,从而将低电平信号驱动较高电压/电流的负载。ULN2003A内部有7个通道,单个通道输出额定为500mA的集电极电流,以下为单个通道达林顿晶体管的内部框图。
图 1 单个通道达林顿晶体管的内部原理框图每个达林顿晶体管对都串联了一个2.7kΩ的基极电阻,这种设计使得ULN2003A能够在5V的工作电压下直接与TTL和CMOS电路连接,无需额外的逻辑缓冲器。MCU发送控制信号给ULN2003A的输入端口,当输入信号为高电平时,相应的输出通道会导通,允许电流流过,输出端口上的电压接近电源电压,从而驱动负载工作。四相八拍步进电机常用来作为负载。
四相八拍(Half-Step)是步进电机的一种驱动方式,特点如下所示:
由此,ULN2003A连接四相八拍步进电机的示意图如下所示:
图 2 ULN2003A连接四相八拍步进电机的示意图四相八拍步进电机采用单相励磁(1相通电)和双相励磁(2相通电)交替进行的控制策略,来实现更精细的步距角控制,控制逻辑如以下表格(1 表示通电,0 表示不通):
| 拍数 | 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相存在交叠导通的状态如下图。
图 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驱动。
图 6 最大集电极电流与占空比之间的关系(TA = 70°C)进而从图三来看,步进电机的A相和C相是错相的(相位差180°),它们是同一绕组的互补端,磁场方向相反,并且不能同时导通,同时导通会导致磁场抵消或短路。因此,倘若将步进电机的A相和C相同时连到同一ULN2003A上,那么工作时A相和C相分开导通,就不会超过ULN2003A的电流承受能力,并且不会存在A相断电,C相导通或者A相导通,C相断电的瞬间,可以减少相互干扰。当然,B相和D相也同理。
综上所述,正确方式应该如下图所示:
图 7 两颗ULN2003A控制四相八拍步进电机示意图图示中两颗ULN2003A分别接电机A、C相和B、D相,这样两相不会同时由同一ULN2003A驱动, 这种分组方式可以分担功率损耗,改善散热,可确保电机运行稳定、高效,同时保护驱动芯片。
以上总结了ULN2003A的特点,以及使用TI的ULN2O03A如何控7制步进电机的方法。当然,鉴于ULN2003A自身的特点,它不仅可以用在步进电机的驱动上还可以驱动继电器,灯和显示屏以及用作逻辑缓冲器,更多的使用场景值得我们发现和探索。