孫碩 夏妍
(中國電子科技集團(tuán)公司第五十三研究所,天津 300000)
現(xiàn)階段在過程控制當(dāng)中,步進(jìn)電機作為一項重要的控制元件,因其結(jié)構(gòu)并不復(fù)雜卻具有眾多強大功能,并且成本極低,性能穩(wěn)定性較高,因此也在包括醫(yī)療設(shè)備、數(shù)控機床等各個領(lǐng)域當(dāng)中得到了大范圍地運用。為了能夠更好地完成對步進(jìn)電機的驅(qū)動控制,本文將通過結(jié)合單片機的優(yōu)越性,嘗試設(shè)計一種基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng),希望能夠為相關(guān)研究人員提供必要參考。
工作原理。田聰、蘇暢(2017)在其研究著述當(dāng)中提出,步進(jìn)電機就是通過在對數(shù)字脈沖信號進(jìn)行直接接收之后轉(zhuǎn)化成應(yīng)角位移、線位移的一種脈沖電機。脈沖信號頻率以及脈沖數(shù)直接決定的電動機轉(zhuǎn)速控制及具體的停止位置,因此在步進(jìn)電機當(dāng)中并不存在累積誤差,但在個別情況下會出現(xiàn)周期性誤差[1]。將某一脈沖信號施加給電機之后,其在完成信號接收后將會從與之相對應(yīng)的步距角轉(zhuǎn)過。因此在對步進(jìn)電機進(jìn)行控制的過程中,關(guān)鍵在于對脈沖信號的有效控制。學(xué)者付家翰(2017)經(jīng)過研究發(fā)現(xiàn),利用單片機將控制信號直接發(fā)送至步進(jìn)電機驅(qū)動電路當(dāng)中,便能夠高效、精準(zhǔn)地控制步進(jìn)電機,因此本文將采用其研究觀點,嘗試使用單片機設(shè)計一種步進(jìn)電機驅(qū)動控制系統(tǒng)[2]。
考慮到基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)當(dāng)中,最為關(guān)鍵與重要的部件便是單片機。其性能直接影響著整體驅(qū)動控制系統(tǒng)的控制成效,因此本文在對基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)進(jìn)行設(shè)計的過程中,選擇使用當(dāng)前市面上一款功耗相對較低但性能較高,且具有8KFlash存儲器以及CMOS8位控制器的AT89C51單片機。這一單片機支持在線編程,能夠與相關(guān)驅(qū)動控制系統(tǒng)設(shè)計要求相吻合。而在步進(jìn)電機中,本文通過選用常見的直徑為28mm的四相五線減速步進(jìn)電機,其步進(jìn)和減速比分別為5.625×1/64以及1/64。前文提及,基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)中從單片機當(dāng)中輸出的信號因其功率極小,因此無法直接完成對步進(jìn)電機的成功驅(qū)動,需要額外增加一個驅(qū)動電路[3]。
為了能夠盡可能減少成本,本文選擇使用步進(jìn)電機專用驅(qū)動芯片即ULN2003功放芯片作為單片機下的步進(jìn)電機驅(qū)動控制系統(tǒng)的驅(qū)動模塊,其提供電流的最高值能夠達(dá)到0.5A。將其輸入端和輸出端分別與單片機P1口以及步進(jìn)電機進(jìn)行相互連接,同時在按鍵電路上設(shè)有三個按鍵,用對分別對步進(jìn)電機的啟停、正反轉(zhuǎn)進(jìn)行有效控制,在脈沖信號下能夠有效完成對步進(jìn)電機的驅(qū)動。
在本文設(shè)計的單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)的驅(qū)動電路當(dāng)中,驅(qū)動芯片ULN2003引腳7到引腳9均為步進(jìn)電機細(xì)分設(shè)置管腳,在與上拉電阻相互連接之后再與撥碼開關(guān)進(jìn)行相互連接,進(jìn)而能夠?qū)崿F(xiàn)包括1/1、1/2等在內(nèi)的細(xì)分模式,共計五種。監(jiān)視管腳則為引腳1和25,在與上拉電阻以及發(fā)光二極管進(jìn)行相互連接后,再與VCC進(jìn)行連接。管腳18則是步進(jìn)電機的使能管腳,管腳21為該步進(jìn)電機的速度控制管腳,而管腳22則為該步進(jìn)電機的方向控制管腳。在與單片機芯片相應(yīng)管腳進(jìn)行相互連接下,利用接收脈沖,對步進(jìn)電機的速度以及方向進(jìn)行相應(yīng)改變[4]。而管腳19和管腳5則分別為該步進(jìn)電機中的復(fù)位管腳以及調(diào)節(jié)驅(qū)動電流的管腳,與變位進(jìn)行相互連接。管腳23在與電容進(jìn)行相互連接后,直接同管腳2、管腳13以及管腳17進(jìn)行并聯(lián)接地。A相的電流調(diào)節(jié)段為管腳15,B相的電流調(diào)節(jié)端則為管腳11,在與電阻值為0.2Ω的電阻進(jìn)行相互連接后再進(jìn)行接地。其余管腳如管腳10、管腳12等則均直接與該步進(jìn)電機進(jìn)行相互連接。
除此之外,為了能夠使得本文設(shè)計的基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)具有較高的穩(wěn)定性以及可靠程度,盡可能防止出現(xiàn)負(fù)載變化所導(dǎo)致的過電流,最終使得控制芯片、驅(qū)動芯片被燒損的情況。因此在設(shè)計過程中,本文額外使用了光電耦合器,用于對信號轉(zhuǎn)換電平進(jìn)行有效控制,同時將各個器件相互隔離,并對控制信號進(jìn)行相應(yīng)整形,使得系統(tǒng)的控制精準(zhǔn)性得到了極大提升。而這一模塊在發(fā)揮自身效用的過程中,需要確保位于光耦兩側(cè)電路的電源電路彼此相互獨立,因此本文在設(shè)計基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)的過程中,還在供電模塊設(shè)計當(dāng)中分別使用了具有良好獨立性的供電電路,確??梢垣@得預(yù)期的隔離成效。在隔離模塊的作用下,控制與驅(qū)動相互分離,即便負(fù)載出現(xiàn)變化導(dǎo)致產(chǎn)生電流沖擊,也并不會直接損傷主控制芯片。同時本文還將隔離保護(hù)模塊分別設(shè)置在點擊以及驅(qū)動信號輸出端,對控制信號進(jìn)行相應(yīng)保護(hù),避免其出現(xiàn)滯后、畸變等問題。
圖1 步進(jìn)電機正轉(zhuǎn)
圖2 步進(jìn)電機反轉(zhuǎn)
圖3 系統(tǒng)初始化運行界面示意圖
在對基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)的軟件進(jìn)行設(shè)計的過程中,首先對上電系統(tǒng)進(jìn)行初始化設(shè)置,將I/O口進(jìn)行初始化后,立即進(jìn)入到上位機輸入預(yù)訂信息的讀取程序中。而后對定時中斷進(jìn)行查詢,對編碼器反饋數(shù)據(jù)進(jìn)行讀取,如果返回值與定值相一致,則直接返回。此時在液晶顯示模塊當(dāng)中將自動顯示速度值,而如果經(jīng)過判定之后發(fā)現(xiàn)返回值同定值直接不相等,則需要對I/O口電平進(jìn)行相應(yīng)調(diào)整,使得電機旋轉(zhuǎn)走向發(fā)生改變,在精準(zhǔn)計算出具體的脈沖個數(shù)之后,由使能計數(shù)寄存器對計算的脈沖個數(shù)進(jìn)行判定,如果脈沖個數(shù)為零,則到達(dá)最終目標(biāo),此時在液晶顯示模塊當(dāng)中將直接顯示出最終結(jié)果。而如果判定的計算脈沖個數(shù)不為零,則需要重新對脈沖個數(shù)進(jìn)行計算,直至使能計數(shù)寄存器將其判斷為零。
系統(tǒng)中將按鍵作為輸入,單片機的P0.0以及P0.1口分別為控制方向,通過對兩個口的狀態(tài)進(jìn)行嚴(yán)格查詢,即可有效完成對步進(jìn)電機的運行方向的驅(qū)動控制。而電機繞組的通電順序?qū)Σ竭M(jìn)電機正轉(zhuǎn)、反轉(zhuǎn)起著局定性的作用。當(dāng)通電順序為順時鐘旋轉(zhuǎn)的情況下,步進(jìn)電機將進(jìn)行正轉(zhuǎn)。反之如果通電順序為逆時針選裝,則此時步進(jìn)電機將實現(xiàn)反轉(zhuǎn)。所產(chǎn)生的所有狀態(tài)字統(tǒng)一放置在程序存儲器ROM當(dāng)中,依托查表形式完成狀態(tài)字的讀取。系統(tǒng)一方面控制轉(zhuǎn)向,另一方面需要及時精準(zhǔn)地判斷出速度,尤其是需要對加速鍵按下與否進(jìn)行科學(xué)判斷,一旦判斷加速鍵被按下,則需要立即作出相應(yīng)反映。如圖1、2所示。
為有效保障本身設(shè)計的單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)具有較高的使用性能,需要對其進(jìn)行仿真測試。為此,本文通過專門使用Proteus ISIS這一專業(yè)的單片機仿真設(shè)計軟件,對系統(tǒng)開機界面顯示、運行LCD顯示以及其他各個方面進(jìn)行綜合測試。該仿真平臺帶有嵌入式系統(tǒng)交互仿真性能,具有包括鍵盤、顯示系統(tǒng)仿真以及數(shù)字、模擬電路等在內(nèi)的眾多功能,同時在其軟件內(nèi)部還集成了示波器、動態(tài)指針等電路檢測儀器。根據(jù)最終的仿真結(jié)果顯示,單擊仿真按鍵,系統(tǒng)可以進(jìn)行初始化函數(shù)的自動調(diào)用,隨后順利進(jìn)入到開機界面中。當(dāng)系統(tǒng)正式啟動運行后,通過單擊按鍵正轉(zhuǎn)和反轉(zhuǎn)系統(tǒng),并對系統(tǒng)的啟動與停止、加速和減速運轉(zhuǎn)進(jìn)行調(diào)試,仿真測試結(jié)果均與相關(guān)標(biāo)準(zhǔn)要求相符。利用時鐘脈沖,所有按鍵均可以嚴(yán)格遵循相應(yīng)規(guī)則進(jìn)行有效驅(qū)動控制,順利將LCD從初始化界面向控制界面進(jìn)行切換,因此證明了本文所設(shè)計的基于單片機的步進(jìn)電機驅(qū)動控制系統(tǒng)基本成功[5]。如圖3、4所示。
而由于本文為了能夠增加系統(tǒng)的可靠程度和穩(wěn)定性能,因此在設(shè)計過程中增加了光電耦合器以及去抖延遲程序,使得在系統(tǒng)實際運行的過程中,即便鍵盤出現(xiàn)抖動使得引腳電平出現(xiàn)瞬間下降或是突然提高等情況,系統(tǒng)并不會將其作為一次按鍵操作,并對相應(yīng)命令進(jìn)行執(zhí)行,因此使得系統(tǒng)的穩(wěn)定與可靠程度得到明顯大幅提升。相比于以往使用觸發(fā)器構(gòu)成的控制系統(tǒng),本文所設(shè)計的基于單片機下的步進(jìn)電機驅(qū)動控制系統(tǒng)只通過將外圍電路以及驅(qū)動電路進(jìn)行相互結(jié)合,便可以有效完成對步進(jìn)電機轉(zhuǎn)向、啟停以及速度等控制工作,其成本更加低廉、操作方便易行并且具有較高的可靠性與通用性。依照具體情況,對端口控制以及編程進(jìn)行相應(yīng)變化,便可以對各個相數(shù)步進(jìn)電機進(jìn)行有效控制。
圖4 單片機引腳產(chǎn)生的控制脈沖
本文在對基于單片機下的步進(jìn)電機驅(qū)動控制系統(tǒng)進(jìn)行簡要分析研究的過程中,對其工作原理以及總體結(jié)構(gòu)進(jìn)行明確,立足單片機對步進(jìn)電機驅(qū)動控制系統(tǒng)的驅(qū)動模塊、驅(qū)動電路以及復(fù)位電路進(jìn)行設(shè)計。利用相關(guān)專業(yè)編程程序?qū)趩纹瑱C的步進(jìn)電機驅(qū)動控制系統(tǒng)軟件進(jìn)行設(shè)計之后,采用仿真測試的方式驗證了系統(tǒng)的有效性與可行性,證明該系統(tǒng)具有較高的通用性和交互性,可以精準(zhǔn)高效地完成步進(jìn)電機的驅(qū)動控制。
[1]田聰,蘇暢.基于51單片機的步進(jìn)電機控制系統(tǒng)設(shè)計與實現(xiàn)[J].電子測試,2017,(22):5-6+19.
[2]付家翰.基于單片機的高精度步進(jìn)電機控制研究[J].中國新通信,2017,19(05):150.
[3]陳麗穎.基于TA8435H的煤礦步進(jìn)電機驅(qū)動控制系統(tǒng)的研究[J].煤礦機械,2017,38(01):59-60.
[4]魏印龍,張向陽,孔令揚.基于AT89C51單片機的步進(jìn)電機控制系統(tǒng)設(shè)計[J].科技廣場,2016,(08):184-189.
[5]高琴,劉淑聰,彭宏偉.步進(jìn)電機控制系統(tǒng)的設(shè)計及應(yīng)用[J].制造業(yè)自動化,2012,34(O1):150-152.