謝正剛
摘 要:本文主要研究步進電機的自動化控制,首先介紹了步進電機的工作原理,在此基礎(chǔ)上設(shè)計了對應(yīng)的硬件電路,通過ULN2003芯片驅(qū)動其運轉(zhuǎn),最后通過設(shè)計專門的軟件流程來實現(xiàn)對單片機運轉(zhuǎn)的自動控制。
關(guān)鍵詞:步進電機;自動化;單片機
一、步進電機的工作原理
步進電機有很多種,按照不同的實現(xiàn)原理可以分為反應(yīng)式、永磁式、永磁感應(yīng)式三類,不同類型的步進電機通過不同的工作原理,來實現(xiàn)相同的制動動力,最終實現(xiàn)了步進電機以固定的旋轉(zhuǎn)角為基本步長的動力類型。三類步進電機可以實現(xiàn)不同的旋轉(zhuǎn)角,以磁阻式步進電機為例,可以實現(xiàn)旋轉(zhuǎn)角為1°到
15°,甚至更小的步距角,有效地為其他提供了固定步距的動力。如圖1所示,為三相步進電機的工作原理圖。
如圖所示,三相步進電機是由定子和轉(zhuǎn)子構(gòu)成,二者之間通過磁場力來實現(xiàn)轉(zhuǎn)子按照固定步距的旋轉(zhuǎn)。如圖可知,三相步進電機定子分別為AABBCC,如果對其依次通電,那么A定子對應(yīng)的轉(zhuǎn)子為了使磁阻最小,就會帶動轉(zhuǎn)子使其與A對其,如果此時停止對A通電,對B開始通電,那么與B對應(yīng)的轉(zhuǎn)子為了減少磁阻而帶動轉(zhuǎn)子旋轉(zhuǎn)與B對其,以此類推即可知道,如果對轉(zhuǎn)子的通電順序和時間間隔都是固定的,那么轉(zhuǎn)子就會在固定的時間內(nèi),按照固定的旋轉(zhuǎn)角度帶動轉(zhuǎn)子進行旋轉(zhuǎn),進而提供固定旋轉(zhuǎn)角度的動力。
二、步進電機的自動化控制
由步進電機的工作原理可知,主要連續(xù)地對定子進行有序的固定時長的通電,那么步進電機就會按照一定的旋轉(zhuǎn)角度和選裝方向進行轉(zhuǎn)動。如果改變通電時間間隔,那么步進電機旋轉(zhuǎn)的每一步之間的時間間隔就會發(fā)生變化,如果對定子通電的順序發(fā)生變化,那么轉(zhuǎn)子的旋轉(zhuǎn)方向就會發(fā)生變化,對外界產(chǎn)生的動力也就隨之產(chǎn)生變化。單片機是常見的產(chǎn)生產(chǎn)生脈沖信號的有效控制器件,而51系列的單片機以其價格低、性能高、穩(wěn)定性好而在很多領(lǐng)域得到廣泛應(yīng)用。對于步進電機的自動化控制,主要思想就是通過單片機生成穩(wěn)定的脈沖信號,通過脈沖信號驅(qū)動步進電機的通電狀態(tài)來實現(xiàn)其自動化控制,而人為地通過編程,來控制脈沖信號的頻率、占空比以及其他特性,來實現(xiàn)對步進電機的旋轉(zhuǎn)方向、步長時間的有效控制。
(一)單片機控制步進電機的硬件設(shè)計圖。使用單片機對步進電機進行控制,主要是通過AT89C51數(shù)據(jù)輸入輸出端口連接到步進電機,為步進電機發(fā)送脈沖信號即可。如圖2所示,為基于AT89C51單片機實現(xiàn)步進電機自動化控制的硬件結(jié)構(gòu)設(shè)計圖。
由圖2.可知,步進電機的自動化控制主要由AT89C51完成,通過該單片機的數(shù)據(jù)輸入輸出端口,連接ULN2003芯片,進而連接到步進電機來驅(qū)動該電機運轉(zhuǎn)。由于AT89C51單片機屬于低電壓驅(qū)動的COMS控制器,數(shù)據(jù)輸出信號的功率較小,不能直接驅(qū)動步進電機運轉(zhuǎn),需要有ULN2003芯片最為步進電機的驅(qū)動芯片,將單片機的功率較小的脈沖信號進行放大,進而驅(qū)動步進電機運轉(zhuǎn)。
(二)單片機的軟件流程邏輯設(shè)計。步進電機的控制,最終是通過單片機生成數(shù)字脈沖信號來實現(xiàn),而單片機生成脈沖信號,則是通過人為的編程來實現(xiàn),按照步進電機控制系統(tǒng)的運轉(zhuǎn)邏輯,可以為單片機進行編程。
單片機的軟件流程設(shè)計,目標(biāo)是為了配合硬件電路,生成脈沖信號實現(xiàn)對步進電機的控制。首先,對單片機內(nèi)部的各個組件進行初始化設(shè)置,如對連接ULN2003芯片的端口設(shè)置成數(shù)據(jù)輸出端口,對開關(guān)控制連接的端口設(shè)置成數(shù)據(jù)接收端口,并且對定時器進行初始化操作,對單片機外的各種工作芯片發(fā)送控制字,使其處在工作狀態(tài),然后檢測步進電機的工作狀態(tài),如果處在停止?fàn)顟B(tài),則可開始發(fā)送控制脈沖,使其工作。
數(shù)字脈沖的生成原理,可以采用最近本的時間控制改變輸出端口電壓的原理,即在ULN2003芯片連接端口,首先使其處在高電壓,然后啟動定時器,當(dāng)定時器到達固定時間后,在為該端口發(fā)送電壓,在初始化定時器并且啟動計時,當(dāng)?shù)竭_固定時間后,再將其變成高電壓,周而復(fù)始,實現(xiàn)數(shù)字脈沖的信號的生產(chǎn),進而控制步進電機運轉(zhuǎn)。
總結(jié):步進電機的自動化控制,主要是通過單片機生成脈沖信號,通過ULN2003芯片驅(qū)動步進電機自動旋轉(zhuǎn),進而產(chǎn)生動力。所以在實現(xiàn)步進電機的自動化控制系統(tǒng)時,需要設(shè)計相應(yīng)的硬件電路,使ULN2003芯片連接步進電機,并且在單片機編程,通過定時器定時改變輸出端口電壓來實現(xiàn)脈沖信號生成,進而控制步進電機運轉(zhuǎn)。
參考文獻:
[1] 成新. 基于單片機的步進電機控制系統(tǒng)研究[J]. 電子技術(shù)與軟件工程. 2015(05)