步進(jìn)電機(jī)需要提供具有一定驅(qū)動(dòng)能力的脈沖信號(hào)才能正常工作,脈沖信號(hào)由單片機(jī)輸出的激勵(lì)信號(hào)經(jīng)過(guò)脈沖分配產(chǎn)生。脈沖分配可以通過(guò)硬件模擬分配電路實(shí)現(xiàn),也可以利用軟件方便地實(shí)現(xiàn)。一個(gè)完整的驅(qū)動(dòng)電路不僅需要激勵(lì)信號(hào),還需有足夠的功率。在一般的電路驅(qū)動(dòng)中,需將由CPU產(chǎn)生的脈沖信號(hào)經(jīng)過(guò)功率放大后,再接到步進(jìn)電機(jī)輸入端。隨著大規(guī)模集成電路技術(shù)的發(fā)展,逐漸出現(xiàn)了很多專(zhuān)門(mén)用于步進(jìn)電機(jī)控制的脈沖分配芯片,它們配合功率放大的驅(qū)動(dòng)電路可以實(shí)現(xiàn)步進(jìn)電機(jī)的驅(qū)動(dòng)。
12.3.1 一般步進(jìn)電機(jī)驅(qū)動(dòng)電路
在專(zhuān)門(mén)的步進(jìn)電機(jī)驅(qū)動(dòng)集成芯片出現(xiàn)以前,一般都是采用電路來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)工作。在電路設(shè)計(jì)中,必須要考慮的是驅(qū)動(dòng)信號(hào)的分配和放大。在信號(hào)分配方面,采用的均是單片機(jī)統(tǒng)一分配的形式;在信號(hào)放大方面,則是由各種放大電路來(lái)完成的。下面介紹一種利用硬件電路連接而成的脈沖分配驅(qū)動(dòng)電路。
1.電路驅(qū)動(dòng)的工作原理
圖12-5所示是一個(gè)四相步進(jìn)電機(jī)的驅(qū)動(dòng)電路。A、B、C、D分別接到P1口的P1.4~P1.7。通過(guò)軟件控制一組脈沖序列,控制步進(jìn)電機(jī)的轉(zhuǎn)速、方向和步距。
在步進(jìn)電機(jī)的驅(qū)動(dòng)線路中,主CPU發(fā)出的控制信號(hào)經(jīng)U1放大,傳到復(fù)合三極管前一級(jí)的基極。若CPU送出的數(shù)據(jù)為0,則前級(jí)三極管BG5作為開(kāi)關(guān)三極管不導(dǎo)通,BG1也處于截止?fàn)顟B(tài),電機(jī)內(nèi)的線圈不得電;若CPU送出的數(shù)據(jù)為1,則前級(jí)三極管BG5的基極有了驅(qū)動(dòng)電流,12V電壓經(jīng)電機(jī)的線圈、限流電阻和三極管形成通路。在電路圖中的A、B、C、D分別代表電機(jī)內(nèi)部的4個(gè)線圈,在驅(qū)動(dòng)線中的R5~R8作為限流電阻來(lái)限制線圈中的電流值。在電阻和線圈兩側(cè)有并聯(lián)的單向二極管,當(dāng)CPU信號(hào)由1跳變?yōu)?時(shí),三極管截止,電機(jī)的線圈會(huì)產(chǎn)生很大的感應(yīng)電動(dòng)勢(shì),這時(shí)線圈、限流電阻和單向二極管形成回路,保護(hù)三極管不被線圈的瞬時(shí)感應(yīng)電動(dòng)勢(shì)燒壞。二極管D1~D4也稱(chēng)回流二極管,在選擇時(shí)要考慮到電源電壓及線圈電流。R1~R4和D1~D4組成一條支路,在對(duì)應(yīng)的線圈突然不通電時(shí)能夠和線圈構(gòu)成一組循環(huán)回路。該電阻的作用是分擔(dān)支路中的電壓,保護(hù)二極管。在每個(gè)集成放大器的輸出端接有一個(gè)LED,作為脈沖信號(hào)輸入的顯示器件。CPU送入的數(shù)據(jù)為0時(shí),LED下端的電位也為低,LED被導(dǎo)通發(fā)光;CPU送入的數(shù)據(jù)為1時(shí),LED的下端電位為高,LED無(wú)法導(dǎo)通,不發(fā)光。R9~R12為限流電阻,使三極管基極的流入電流不至于過(guò)大而燒毀。

圖12-5 基于復(fù)合三極管的四相步進(jìn)電機(jī)驅(qū)動(dòng)電路
在步進(jìn)電機(jī)工作時(shí),對(duì)P1口依次寫(xiě)入1FH、3FH、5FH、7FH,電機(jī)正轉(zhuǎn)4步;對(duì)P1口依次寫(xiě)入7FH、5FH、3FH、1FH,電機(jī)反轉(zhuǎn)4步。
2.控制程序
為方便初學(xué)者了解步進(jìn)電機(jī)驅(qū)動(dòng)電路的控制方式,對(duì)于每一種驅(qū)動(dòng)電路都給出對(duì)應(yīng)的控制參考程序。
電機(jī)正轉(zhuǎn)控制參考程序如下:
電機(jī)反轉(zhuǎn)控制參考程序如下:
該程序?qū)崿F(xiàn)的是在工作時(shí)四相線圈中的每一相分別通電,即為四相四拍工作方式?赏ㄟ^(guò)改變脈沖輸入方式來(lái)改變電機(jī)的工作狀態(tài)(如四相八拍工作方式)。
12.3.2 基于UCN5804芯片的步進(jìn)電機(jī)驅(qū)動(dòng)電路
隨著大規(guī)模集成電路技術(shù)的發(fā)展,越來(lái)越多的廠家生產(chǎn)出專(zhuān)門(mén)用于驅(qū)動(dòng)步進(jìn)電機(jī)的脈沖分配芯片,配合用于功率放大的驅(qū)動(dòng)電路就可以實(shí)現(xiàn)步進(jìn)電機(jī)的驅(qū)動(dòng)。下面以UCN5804驅(qū)動(dòng)芯片為例,介紹集成芯片驅(qū)動(dòng)步進(jìn)電機(jī)的工作原理。圖12-6所示為UCN5804芯片引腳圖。
1.UCN5804芯片引腳介紹
引腳1:對(duì)應(yīng)四相脈沖輸出的B相。主CPU給UCN5804輸送脈沖,芯片按順序輸出A、B、C、D脈沖信號(hào),該信號(hào)接到步進(jìn)電機(jī)的脈沖輸入端。
引腳2:接+12V電源。
引腳3:對(duì)應(yīng)四相脈沖輸出的D相。
引腳4:接地。
引腳5:接地。
引腳6:對(duì)應(yīng)四相脈沖輸出的C相。
引腳7:接+12V電源。
引腳8:對(duì)應(yīng)四相脈沖輸出的A相。
引腳9:控制電機(jī)脈沖輸出方式,若9腳為低電平,則脈沖每次輸出兩相脈沖信號(hào)
圖12-6 UCN5804芯片引腳圖
(AB-BC-CD-DA-AB),即主CPU每送入一個(gè)脈沖,芯片向電機(jī)輸出兩相電脈沖;若9腳為高電平,則芯片每次輸出兩相脈沖信號(hào)(A-B-C-D-A),即主CPU每送入一個(gè)脈沖,芯片向電機(jī)輸出兩相電脈沖。
引腳10:控制電機(jī)接收脈沖后的步長(zhǎng),若10腳為低電平,則芯片控制電機(jī)每步運(yùn)行一整個(gè)步長(zhǎng),即芯片送出的脈沖順序?yàn)锳-B-C-D-A或AB-BC-CD-DA-AB;若10腳為高電平,則芯片控制電機(jī)每步運(yùn)行半個(gè)步長(zhǎng),即芯片送出的脈沖順序?yàn)锳-AB-B-BC-C-CD-D-DA-A。
引腳11:5804芯片的脈沖輸入端,信號(hào)由主CPU送入。每送入一個(gè)信號(hào),芯片送出一個(gè)控制信號(hào)。CPU不產(chǎn)生輸入信號(hào)時(shí),芯片不產(chǎn)生輸出脈沖。
引腳12:接地。
引腳13:接地。
引腳14:控制電機(jī)的正反轉(zhuǎn),若14腳為低電平,則電機(jī)正轉(zhuǎn);若該腳為高電平,則電機(jī)反轉(zhuǎn)。
引腳15:5804芯片的片選信號(hào),該腳為低時(shí)芯片可以工作,為高時(shí)芯片不工作。
引腳16:接+5V電源。
2.UCN5804芯片概述與工作特點(diǎn)
UCN5804芯片是一塊集成步進(jìn)電機(jī)驅(qū)動(dòng)芯片,它的輸出引腳可以接到步進(jìn)電機(jī)的輸入端,直接驅(qū)動(dòng)步進(jìn)電機(jī)工作。其工作電路如圖12-7所示。在信號(hào)輸出端接一反向二極管后連接到步進(jìn)電機(jī)上,芯片可以承受最大1.5A的反向電流以及最大35V的電壓。

圖12-7 基于UCN5804芯片的驅(qū)動(dòng)電路圖
在實(shí)際應(yīng)用中,UCN5804芯片有多種驅(qū)動(dòng)工作方式,利用9腳和10腳的高低電平組合(見(jiàn)表12-1),可將四相步進(jìn)電機(jī)的運(yùn)行分為以下幾種方式。
表12-1 UCN5804芯片驅(qū)動(dòng)方式真值表 (1)在單脈沖輸出狀態(tài)下,9腳為低電平,10腳為高電平,電機(jī)按四相四拍的工作方式(見(jiàn)表12-2)運(yùn)行(A-B-C-D-A或A-D-C-B-A)。
表12-2 單相驅(qū)動(dòng)脈沖順序(9腳=L,10腳=H) (2)在雙脈沖輸出狀態(tài)下,若9腳和10腳均為低電平,則電機(jī)按四相四拍的工作方式(見(jiàn)表12-3)運(yùn)行(AB-BC-CD-DA-AB或AD-DC-CB-BA);若9腳為高電平,10腳為低電平,則步進(jìn)電機(jī)將按四相八拍的工作方式(見(jiàn)表12-4)運(yùn)行(A-AB-B-BC-C-CD-D-DA-A或A-DA-D-CD-C-BC-B-AB-A)。
表12-3 雙相驅(qū)動(dòng)脈沖順序(9腳=L,10腳=L) 表12-4 單雙相半步驅(qū)動(dòng)脈沖順序(9腳=H,10腳=L) UCN5804芯片驅(qū)動(dòng)脈沖時(shí)序分配如圖12-8所示。

圖12-8 驅(qū)動(dòng)脈沖時(shí)序
UCN5804芯片的連接電路以圖12-7為例:芯片的脈沖輸入端、方向控制、片選分別接到P1口的P1.0、P1.2、P1.3。根據(jù)電機(jī)運(yùn)轉(zhuǎn)的實(shí)際需要,由主CPU送不同的控制字。在該電路中,電容C1和C2為去耦電容,濾除高頻干擾。R1和R2為大功率小阻值電阻,作用是保證步進(jìn)電機(jī)足夠的驅(qū)動(dòng)電流,同時(shí)電阻可以承受因其阻值過(guò)小而產(chǎn)生的大功率。V1~V4為4個(gè)二極管,分別與UCN5804芯片的脈沖輸出端反接,來(lái)傳導(dǎo)電機(jī)工作某一相工作時(shí)的反向電流。
3.控制程序
電機(jī)正轉(zhuǎn)控制程序如下:
電機(jī)反轉(zhuǎn)控制程序如下:
該程序可實(shí)現(xiàn)兩相脈沖驅(qū)動(dòng)的四相四拍電機(jī)運(yùn)轉(zhuǎn)方式?梢酝ㄟ^(guò)改變引腳的高低電位狀態(tài)來(lái)改變電機(jī)的工作方式,方便靈活,適合初學(xué)者學(xué)習(xí)。
12.3.3 基于ULN2003芯片的步進(jìn)電機(jī)驅(qū)動(dòng)電路
ULN2003是另一款電機(jī)脈沖分配芯片,由于其結(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉,而且無(wú)需外接功率放大電路,因此也常用來(lái)作為步進(jìn)電機(jī)的驅(qū)動(dòng)芯片。
1.ULN2003芯片引腳介紹
ULN2003芯片引腳如圖12-9所示。

圖12-9 ULN2003芯片引腳圖
引腳1:CPU脈沖輸入端,端口對(duì)應(yīng)一個(gè)信號(hào)輸出端。
引腳2:CPU脈沖輸入端。
引腳3:CPU脈沖輸入端。
引腳4:CPU脈沖輸入端。
引腳5:CPU脈沖輸入端。
引腳6:CPU脈沖輸入端。
引腳7:CPU脈沖輸入端。
引腳8:接地。
引腳9:該腳是內(nèi)部7個(gè)續(xù)流二極管負(fù)極的公共端,各二極管的正極分別接各達(dá)林頓管的集電極。用于感性負(fù)載時(shí),該腳接負(fù)載電源正極,實(shí)現(xiàn)續(xù)流作用。如果該腳接地,實(shí)際上就是達(dá)林頓管的集電極對(duì)地接通。
引腳10:脈沖信號(hào)輸出端,對(duì)應(yīng)7腳信號(hào)輸入端。
引腳11:脈沖信號(hào)輸出端,對(duì)應(yīng)6腳信號(hào)輸入端。
引腳12:脈沖信號(hào)輸出端,對(duì)應(yīng)5腳信號(hào)輸入端。
引腳13:脈沖信號(hào)輸出端,對(duì)應(yīng)4腳信號(hào)輸入端。
引腳14:脈沖信號(hào)輸出端,對(duì)應(yīng)3腳信號(hào)輸入端。
引腳15:脈沖信號(hào)輸出端,對(duì)應(yīng)2腳信號(hào)輸入端。
引腳16:脈沖信號(hào)輸出端,對(duì)應(yīng)1腳信號(hào)輸入端。
ULN2003的內(nèi)部結(jié)構(gòu)可參見(jiàn)圖12-10。在ULN2003芯片內(nèi)部為達(dá)林頓管陣列,其工作原理與上一節(jié)電路驅(qū)動(dòng)相似。由于該電路為芯片的內(nèi)部結(jié)構(gòu),僅供初學(xué)者理解芯片的工作方式用,在芯片使用時(shí)可以忽略。

圖12-10 ULN2003芯片內(nèi)部結(jié)構(gòu) 2.ULN2003芯片概述與特點(diǎn)
ULN2003芯片是高耐壓、大電流達(dá)林頓陣列,由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時(shí)驅(qū)動(dòng)7組負(fù)載的能力,為單片雙極型大功率高速集成電路。功率電子電路大多要求具有大電流輸出能力,以便于驅(qū)動(dòng)各種類(lèi)型的負(fù)載。功率驅(qū)動(dòng)電路是功率電子設(shè)備輸出電路的一個(gè)重要組成部分。ULN2003芯片高壓大電流達(dá)林頓晶體管陣列產(chǎn)品屬于可控大功率器件。
ULN2003芯片是可以專(zhuān)門(mén)用來(lái)驅(qū)動(dòng)繼電器的芯片,甚至在芯片內(nèi)部做了一個(gè)消線圈反電動(dòng)勢(shì)的二極管。ULN2003芯片的輸出端允許通過(guò)電流200mA,飽和壓降約1V。輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開(kāi)路輸出,輸出電流大,故可以直接驅(qū)動(dòng)繼電器或固體繼電器(SSR)等外接控制器件,也可直接驅(qū)動(dòng)低壓燈泡。硬件接線圖見(jiàn)圖12-11。

圖12-11 ULN2003芯片驅(qū)動(dòng)電路(驅(qū)動(dòng)口改P1口)
ULN2003芯片的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7k.的基極電阻,也可以不用限流電阻而直接由51的P口驅(qū)動(dòng)。在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。ULN2003芯片工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)(有低電平輸入時(shí),輸出為高電平)時(shí)承受50V的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。
信號(hào)脈沖通過(guò)P1口送出,可經(jīng)4.7k.上拉電阻接到ULN2003芯片的輸入端口。P1.4~P1.7分別對(duì)應(yīng)ULN2003的1C、2C、3C、4C輸出端。在使用步進(jìn)電機(jī)時(shí),對(duì)P1口賦予不同的值來(lái)送出電機(jī)正轉(zhuǎn)或反轉(zhuǎn)的脈沖信號(hào)。
3.控制程序
電機(jī)正轉(zhuǎn)控制程序?yàn)椋?/font>

電機(jī)反轉(zhuǎn)控制程序?yàn)椋?/font>
該程序?qū)崿F(xiàn)的也是分別驅(qū)動(dòng)四相電機(jī)中的相鄰兩相線圈,使電機(jī)在雙脈沖驅(qū)動(dòng)四相四拍方式下工作。通過(guò)改變CPU脈沖來(lái)控制電機(jī)的工作方式。
12.3.4 步進(jìn)電機(jī)應(yīng)用實(shí)例
在步進(jìn)電機(jī)的實(shí)際應(yīng)用中,總是通過(guò)CPU接收處理一些信號(hào)來(lái)控制電機(jī)的運(yùn)動(dòng)狀態(tài)。常見(jiàn)的如光線、溫濕度、水位等。這里以光作為CPU控制步進(jìn)電機(jī)的信號(hào)為例。
采用對(duì)射光電開(kāi)關(guān)作為光信號(hào)發(fā)射接收裝置。對(duì)射光電開(kāi)關(guān)FS048W能夠發(fā)射出一束細(xì)小的光線,當(dāng)光線碰到障礙物時(shí)反射回來(lái),由光電開(kāi)關(guān)的接收管接收。光電開(kāi)關(guān)電路圖如圖12-12所示。
圖12-12 光電開(kāi)關(guān)檢測(cè)電路圖
當(dāng)接收管沒(méi)有接收到發(fā)射回來(lái)的光信號(hào)時(shí),光電開(kāi)關(guān)內(nèi)部的感光三極管不導(dǎo)通,比較器的輸入端為高電位,比較器輸出點(diǎn)的電位為高(CPU接收信號(hào)為1);當(dāng)接收管接收到發(fā)射回來(lái)的光信號(hào)時(shí),光電開(kāi)關(guān)內(nèi)部的感光三極管導(dǎo)通,比較器的輸入端為低電位,比較器輸出點(diǎn)的電位為低(CPU接收信號(hào)為0)。由于光線照射到不同顏色上時(shí)會(huì)有不同的反射率,通過(guò)比較器反相輸入端電阻的調(diào)節(jié),可以使光電開(kāi)關(guān)在一定的距離上判斷出不同的顏色。如光線照射在白色物體上時(shí),由于白色物體對(duì)光線的反射率高,反射回的光線強(qiáng),接收管可以容易地接收到反射光線信號(hào);相反的,光線照射到黑色物體上時(shí),由于黑色物體的反射率較低,即有吸收光線的特性,反射光線很弱,在相同的距離上接收管無(wú)法接收到反射回來(lái)的微弱光信號(hào)。 將電機(jī)和對(duì)射光電開(kāi)關(guān)組合使用,可以用于檢測(cè)執(zhí)行機(jī)構(gòu)及各種伺服機(jī)構(gòu)。下面將以步進(jìn)電機(jī)小汽車(chē)的循跡為例,介紹在實(shí)際應(yīng)用中的電機(jī)工作特性。具體應(yīng)用流程圖及程序見(jiàn)12.4節(jié)。
|