ZHCT930 May 2025 ULN2003A
低壓小功率的步進(jìn)電機(jī)被廣泛用于家電領(lǐng)域,為了控制此類電機(jī),我們通常使用達(dá)林頓晶體管來實現(xiàn)對其的驅(qū)動。TI的ULN2003A達(dá)林頓晶體管不僅成本低而且設(shè)計簡單,在家電行業(yè)里廣受好評。
ULN2003A達(dá)林頓晶體管是一個 "開關(guān)陣列",控制邏輯由 MCU 產(chǎn)生,它本身不產(chǎn)生控制信號,作用是:放大 MCU 的控制信號、電流驅(qū)動電機(jī)線圈,從而將低電平信號驅(qū)動較高電壓/電流的負(fù)載。ULN2003A內(nèi)部有7個通道,單個通道輸出額定為500mA的集電極電流,以下為單個通道達(dá)林頓晶體管的內(nèi)部框圖。
每個達(dá)林頓晶體管對都串聯(lián)了一個2.7kΩ的基極電阻,這種設(shè)計使得ULN2003A能夠在5V的工作電壓下直接與TTL和CMOS電路連接,無需額外的邏輯緩沖器。MCU發(fā)送控制信號給ULN2003A的輸入端口,當(dāng)輸入信號為高電平時,相應(yīng)的輸出通道會導(dǎo)通,允許電流流過,輸出端口上的電壓接近電源電壓,從而驅(qū)動負(fù)載工作。四相八拍步進(jìn)電機(jī)常用來作為負(fù)載。
四相八拍(Half-Step)是步進(jìn)電機(jī)的一種驅(qū)動方式,特點如下所示:
由此,ULN2003A連接四相八拍步進(jìn)電機(jī)的示意圖如下所示:
四相八拍步進(jìn)電機(jī)采用單相勵磁(1相通電)和雙相勵磁(2相通電)交替進(jìn)行的控制策略,來實現(xiàn)更精細(xì)的步距角控制,控制邏輯如以下表格(1 表示通電,0 表示不通):
拍數(shù) | 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相通電 |
這個激勵順序不斷循環(huán),電機(jī)會按設(shè)定的方向、速度進(jìn)行旋轉(zhuǎn),如下圖電機(jī)轉(zhuǎn)動方向,反轉(zhuǎn)時,控制時序倒過來控制即可。
同時,四相八拍步進(jìn)電機(jī)的A、B、C、D相的輸入波形如下圖所示,單相雙相交替導(dǎo)通,有序運行。
然而,在實際驅(qū)動步進(jìn)電機(jī)時,可能因為電機(jī)功率較大需要更高的電流,單顆ULN2003A可能無法可靠驅(qū)動,就需要用到兩顆ULN2003A芯片一起并聯(lián)驅(qū)動。常見的方法是把A、B兩相接其中一個ULN2003A,C、D兩相接另一個ULN2003A,但是這樣會造成一些隱患。我們從圖三和圖四可以看到,以A相和B相為例,當(dāng)這兩相同時通電時,轉(zhuǎn)子轉(zhuǎn)向45°,AB相存在交疊導(dǎo)通的狀態(tài)如下圖。
如果A相和B相由同一個ULN2003A驅(qū)動,在雙相勵磁(如A+B)時,芯片需要同時提供兩倍的電流(如500mA×2=1A),可能超出芯片的總電流承受能力,導(dǎo)致過熱損壞或者驅(qū)動能力下降(輸出電壓降低,步進(jìn)電機(jī)轉(zhuǎn)矩不足)。同時,如果A相和B相同時導(dǎo)通時,可能會因為芯片內(nèi)部電路限制導(dǎo)致電流分配不均,影響電機(jī)運行平滑性。從下圖6驅(qū)動電流和占空比的關(guān)系可以看出,當(dāng)環(huán)境溫度為70°C的時候,N=1和N=2在相同的占空比的情況下,ULN2003A支持的最大驅(qū)動電流不一樣,所以在僅A相導(dǎo)通和A相與B相同時導(dǎo)通的時候驅(qū)動電流有可能會分配不均,進(jìn)而導(dǎo)致芯片發(fā)熱甚至影響電機(jī)運行。所以,A相和B相不適合同時由一個ULN2003A驅(qū)動。
進(jìn)而從圖三來看,步進(jìn)電機(jī)的A相和C相是錯相的(相位差180°),它們是同一繞組的互補(bǔ)端,磁場方向相反,并且不能同時導(dǎo)通,同時導(dǎo)通會導(dǎo)致磁場抵消或短路。因此,倘若將步進(jìn)電機(jī)的A相和C相同時連到同一ULN2003A上,那么工作時A相和C相分開導(dǎo)通,就不會超過ULN2003A的電流承受能力,并且不會存在A相斷電,C相導(dǎo)通或者A相導(dǎo)通,C相斷電的瞬間,可以減少相互干擾。當(dāng)然,B相和D相也同理。
綜上所述,正確方式應(yīng)該如下圖所示:
圖示中兩顆ULN2003A分別接電機(jī)A、C相和B、D相,這樣兩相不會同時由同一ULN2003A驅(qū)動, 這種分組方式可以分擔(dān)功率損耗,改善散熱,可確保電機(jī)運行穩(wěn)定、高效,同時保護(hù)驅(qū)動芯片。
以上總結(jié)了ULN2003A的特點,以及使用TI的ULN2O03A如何控7制步進(jìn)電機(jī)的方法。當(dāng)然,鑒于ULN2003A自身的特點,它不僅可以用在步進(jìn)電機(jī)的驅(qū)動上還可以驅(qū)動繼電器,燈和顯示屏以及用作邏輯緩沖器,更多的使用場景值得我們發(fā)現(xiàn)和探索。