呂穎利 , 趙會(huì)娟
(濟(jì)源職業(yè)技術(shù)學(xué)院,河南 濟(jì)源 459000)
步進(jìn)電機(jī)能夠?qū)㈦娒}沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰疲蛘呖梢赞D(zhuǎn)變?yōu)榫€位移[1]。通過有效控制電機(jī)線圈上已有的電脈沖,主要是電脈沖的順序、數(shù)量、頻率,能夠?qū)崿F(xiàn)步進(jìn)電機(jī)轉(zhuǎn)向與速度的控制。更為有利的是,當(dāng)前所使用的步進(jìn)電機(jī)配備了越來越先進(jìn)的齒輪箱裝置或直線運(yùn)動(dòng)執(zhí)行機(jī)構(gòu),對(duì)于一些較為復(fù)雜和充滿難度的線形運(yùn)動(dòng)要求均可以實(shí)現(xiàn)。也正是基于步進(jìn)電機(jī)這些特點(diǎn)與優(yōu)勢(shì),各種類型的開環(huán)控制均廣泛應(yīng)用著步進(jìn)電機(jī),這對(duì)于步進(jìn)電機(jī)的蓬勃發(fā)展有十分大的裨益。單片機(jī)在步進(jìn)電機(jī)的應(yīng)用中發(fā)揮著重要作用,多是作為核心處理器加以使用,直接影響著步進(jìn)電機(jī)的功能發(fā)揮,所以步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)必須始終基于單片機(jī)。本文較系統(tǒng)地談了基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)要點(diǎn)與策略,現(xiàn)作如下的論述。
步進(jìn)電機(jī)的基本結(jié)構(gòu)較為復(fù)雜和多樣,且組成部分之間有著緊密的聯(lián)系。如圖1所示,步進(jìn)電機(jī)的基本結(jié)構(gòu)包括前端蓋、軸承、中心軸、轉(zhuǎn)子鐵芯、磁鋼、繞組絕緣、定子鐵芯、波紋墊圈、后端蓋、螺釘?shù)?。繞成圈狀的金屬絲可稱之為螺線管,定子齒槽上的金屬絲可以稱之為相,也可以稱之為線圈。
圖1 步進(jìn)電機(jī)的基本結(jié)構(gòu)
在步進(jìn)電機(jī)的工作過程中,步進(jìn)電機(jī)驅(qū)動(dòng)器發(fā)揮著重要的作用,依托所接收到的控制脈沖與方向信號(hào),同時(shí)借助自身的邏輯電路,可以控制繞組的時(shí)序方向,以此確保步進(jìn)電機(jī)的繞組順利通電,當(dāng)以一定的時(shí)序正向或反向通電后,步進(jìn)電機(jī)可以正向旋轉(zhuǎn)或反向旋轉(zhuǎn),也可以實(shí)現(xiàn)鎖定。以常用的1.8°兩相步進(jìn)電機(jī)為例,兩相繞組均有通電勵(lì)磁時(shí),步進(jìn)電機(jī)的輸出軸會(huì)處于靜止?fàn)顟B(tài)或鎖定狀態(tài),并且在額定電流下步進(jìn)電機(jī)會(huì)保持著最大力矩,即保持力矩。若是步進(jìn)電機(jī)的某一根繞組電流發(fā)生方向變化,此時(shí)步進(jìn)電機(jī)會(huì)沿著當(dāng)前的方向旋轉(zhuǎn)一步[2]。另外,當(dāng)通過線圈繞組的電流按照順序發(fā)生變化,轉(zhuǎn)變?yōu)樽兿騽?lì)磁時(shí),步進(jìn)電機(jī)會(huì)順著當(dāng)前方向連續(xù)性地旋轉(zhuǎn)步進(jìn),運(yùn)行精度非常高。
步進(jìn)電機(jī)的工作原理中,準(zhǔn)確位置控制、脈沖信號(hào)控制這兩點(diǎn)均非常關(guān)鍵,直接影響著步進(jìn)電機(jī)的運(yùn)行質(zhì)量。在位置控制方面,步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)依靠一個(gè)固定的步距角,稱之為基本步距角,主要有兩種基本步距角作為標(biāo)準(zhǔn)電機(jī),即1.2°的三相步進(jìn)電機(jī)、1.8°的兩相步進(jìn)電機(jī)。在脈沖信號(hào)控制方面,脈沖信號(hào)是一種重要的電信號(hào),即電壓反復(fù)在OFF與ON之間改變的一種電信號(hào)。對(duì)于步進(jìn)電機(jī)來說,運(yùn)行過程中必須有著高精度的定位系統(tǒng),由控制器所發(fā)出的脈沖信號(hào)可以實(shí)現(xiàn)步進(jìn)電機(jī)的準(zhǔn)確控制,包括速度與轉(zhuǎn)動(dòng)角度[3]。除此之外,在步進(jìn)電機(jī)的工作原理中,步進(jìn)電機(jī)的停止位置保持與閉環(huán)伺服控制步進(jìn)電機(jī)這兩點(diǎn)是非常值得一提的。在停止位置保持中,當(dāng)繞組通電后,步進(jìn)電機(jī)會(huì)具備全部的保持力矩,也就表明在沒有機(jī)械剎車的情況下步進(jìn)電機(jī)依然可以保持在停止位置狀態(tài)。在閉環(huán)伺服控制步進(jìn)電機(jī)中,通過將伺服控制技術(shù)融入到步進(jìn)電機(jī)之中,可以大大提升運(yùn)行效果,比如結(jié)構(gòu)會(huì)更加地緊湊、運(yùn)行會(huì)更加地高效、控制方式會(huì)更加地智能。
在基于單片機(jī)開展步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)時(shí),必須確定出一個(gè)合理科學(xué)的設(shè)計(jì)方案,明確其中的設(shè)計(jì)原理。結(jié)合當(dāng)前的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)可以發(fā)現(xiàn),設(shè)計(jì)原理已經(jīng)越來越明確和完善,所確立出的系統(tǒng)框架圖具有足夠的科學(xué)性。具體來說,步進(jìn)電機(jī)的控制系統(tǒng)主要由四個(gè)模塊組成,一是單片機(jī),二是鍵盤LED,三是PC上位機(jī),四是驅(qū)動(dòng)/放大模塊,其中,PC上位機(jī)模塊是整個(gè)步進(jìn)電機(jī)控制系統(tǒng)的主控部分[4]。目前來看,為了更好地提升單片機(jī)控制系統(tǒng)硬件電路的保護(hù)水平,實(shí)際設(shè)計(jì)過程中多會(huì)選擇將過流保護(hù)電路設(shè)置在單片機(jī)和步進(jìn)電機(jī)之間,實(shí)際的保護(hù)效果良好。
在步進(jìn)電機(jī)控制系統(tǒng)的硬件電路設(shè)計(jì)中,需要重點(diǎn)開展單片機(jī)模塊、鍵盤LED模塊、驅(qū)動(dòng)/放大模塊這三個(gè)方面的設(shè)計(jì)工作。考慮到步進(jìn)電機(jī)控制系統(tǒng)運(yùn)行時(shí)的復(fù)雜性,必須在早期的設(shè)計(jì)過程中考慮多個(gè)方面要素,開展綜合性分析,以此確定出最佳的步進(jìn)電機(jī)控制系統(tǒng)硬件電路設(shè)計(jì)方案。
1)單片機(jī)模塊:在單片機(jī)模塊設(shè)計(jì)中,需要按照需求選擇出最佳的單片機(jī)、外圍濾波、電源管理、晶振。以MSP430FG4618單片機(jī)為例,可以很好地滿足步進(jìn)電機(jī)的存儲(chǔ)要求,這主要是因?yàn)檫@一單片機(jī)內(nèi)部配置了116 kB Flash和8 kB RAM。在晶振使用方面,主要可以選用32 kHz晶振和8 MHz晶振,均有著較好的應(yīng)用優(yōu)勢(shì)。為了便于快速且準(zhǔn)確改變步進(jìn)電機(jī)的工作狀態(tài),設(shè)計(jì)時(shí)要設(shè)置P1和P2端口,以按鍵狀態(tài)判斷作為依據(jù),通過跳入中斷服務(wù)程序來有效改變步進(jìn)電機(jī)的工作狀態(tài)。除此之外,應(yīng)結(jié)合實(shí)際情況設(shè)計(jì)一個(gè)具備控制能力的模塊,以此控制PC上位機(jī)與單片機(jī)之間的通信,這樣可以確保PC上位機(jī)更有效地控制步進(jìn)電機(jī)[5]。
2)鍵盤LED模塊:在當(dāng)前的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)中,人機(jī)對(duì)話是必須實(shí)現(xiàn)的一大功能,可考慮在系統(tǒng)中設(shè)計(jì)按鈕矩陣鍵盤和LED數(shù)碼管,并具備工作人員直接動(dòng)手操作這一系統(tǒng)的功能。待步進(jìn)電機(jī)控制系統(tǒng)通電后,鍵盤可以自主輸入相關(guān)的信息,比如步進(jìn)電機(jī)的轉(zhuǎn)向信息、啟停信息、轉(zhuǎn)速信息,而LED數(shù)碼管可以動(dòng)態(tài)顯示步進(jìn)電機(jī)的轉(zhuǎn)向與轉(zhuǎn)速。在實(shí)際設(shè)計(jì)時(shí)有一點(diǎn)需要有所考慮,即要努力減輕單片機(jī)的工作壓力,鍵盤輸入與LED數(shù)碼管的輸出應(yīng)考慮實(shí)施集中性控制[6]。若是有設(shè)計(jì)需求,則在鍵盤掃描輸入方式的設(shè)計(jì)上可以加入去抖動(dòng)功能,這樣可以有效避免誤觸發(fā)問題。
3)驅(qū)動(dòng)/放大模塊:驅(qū)動(dòng)/放大模塊的設(shè)計(jì)是一大難點(diǎn),需要考慮多個(gè)方面的要素,所要實(shí)現(xiàn)的功能也較多,必須認(rèn)真開展設(shè)計(jì)工作。具體來說,步進(jìn)電機(jī)的控制系統(tǒng)要選擇合適的脈沖分配器,也稱之為邏輯轉(zhuǎn)換器,以脈沖分配器PMM8713為例,搭載著較強(qiáng)的集成電路,相輸出驅(qū)動(dòng)能力為20 mA,可以滿足三相步進(jìn)電機(jī)和四相步進(jìn)電機(jī)的運(yùn)行要求。在選定脈沖分配器后,要重點(diǎn)確定激勵(lì)方式,當(dāng)前所使用的激勵(lì)方式較多,應(yīng)結(jié)合實(shí)際情況進(jìn)行綜合性的考慮。在三相與四相步進(jìn)電機(jī)的激勵(lì)方式中,均可以選擇1相、2相、1~2相的激勵(lì)方式,輸入方式可以選單時(shí)鐘和雙時(shí)鐘。在長(zhǎng)期的研究與應(yīng)用中發(fā)現(xiàn),無論是單時(shí)鐘還是雙時(shí)鐘,均具有多項(xiàng)顯著功能,包括正反轉(zhuǎn)控制、激勵(lì)方式監(jiān)視、原點(diǎn)監(jiān)視、輸入脈沖監(jiān)視。
在步進(jìn)電機(jī)控制系統(tǒng)的軟件設(shè)計(jì)中,要進(jìn)行的設(shè)計(jì)工作主要有單片機(jī)程序、PC上位機(jī)模塊這兩個(gè)方面,其中,單片機(jī)程序設(shè)計(jì)會(huì)有較大的難度,務(wù)必高度重視。
1)在單片機(jī)程序的設(shè)計(jì)方面,脈沖信號(hào)的產(chǎn)生與處理較為重要,需要使用定時(shí)器進(jìn)行中斷反應(yīng),在中斷反應(yīng)與程序中可以準(zhǔn)確計(jì)算出步進(jìn)電機(jī)的步數(shù)與圈數(shù),繼而實(shí)現(xiàn)快速控制[7]。就單片機(jī)的程序流程來說,主要是按照這樣的程序流程運(yùn)行:開始→初始化→按鍵中斷→顯示/取鍵值→數(shù)學(xué)鍵處理/方向鍵處理。若是按鍵未中斷,則要繼續(xù)初始化,單片機(jī)將控制信號(hào)傳遞至控制器,并由LED數(shù)碼管實(shí)時(shí)顯示步進(jìn)機(jī)的轉(zhuǎn)向與轉(zhuǎn)速。在當(dāng)前的步進(jìn)電機(jī)的單片機(jī)程序設(shè)計(jì)中,P1和P2端口的功能各異,發(fā)揮著針對(duì)性的功能優(yōu)勢(shì),比如P1端口具有中斷與關(guān)閉程序的功能,并通過推入堆線實(shí)現(xiàn)電機(jī)的停止操作,而P2端口多設(shè)計(jì)中斷設(shè)置,起調(diào)速、啟停和轉(zhuǎn)向的作用。
2)在PC上位機(jī)模塊的設(shè)計(jì)方面,必須確保PC上位機(jī)模塊可以控制步進(jìn)電機(jī)的運(yùn)行狀態(tài)。以MSP430單片機(jī)為例,主要是依靠?jī)?nèi)部配置的USART模塊與PC上位機(jī)進(jìn)行通信,同時(shí)PC機(jī)需要借助串口將控制命令傳遞至單片機(jī),確保始終有效控制步進(jìn)電機(jī)的運(yùn)行。當(dāng)單片機(jī)接收到相應(yīng)的控制命令后,可以將這一控制命令暫時(shí)存儲(chǔ)在預(yù)設(shè)模塊,而后與單片機(jī)內(nèi)部Flash的中斷程序入口地址進(jìn)行比較,若是相同則可以進(jìn)入中斷,此時(shí)便可以完成步進(jìn)電機(jī)的控制[8]。有一點(diǎn)需要注意,在啟動(dòng)和運(yùn)行PC上位機(jī)模塊時(shí),需要使用8 MHz晶振,設(shè)置合適的波特率。待完成PC上位機(jī)模塊的設(shè)計(jì)任務(wù)后,需要檢測(cè)步進(jìn)電機(jī)整個(gè)控制系統(tǒng)的運(yùn)行能力,比如需要測(cè)試步進(jìn)電機(jī)輸出的最大靜轉(zhuǎn)矩,得到最大靜轉(zhuǎn)矩與電流之間的曲線圖,以此綜合評(píng)估步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)的合理性。
在基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)中,一些設(shè)計(jì)過程中的要點(diǎn)需要格外注意,因?yàn)閱纹瑱C(jī)型號(hào)的不同,要考慮的方向與內(nèi)容也有所不同。因此,應(yīng)將單片機(jī)性能的分析與考究作為一大重點(diǎn),緊緊圍繞著單片機(jī)性能展開步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)。以STC89C52單片機(jī)為例,實(shí)際設(shè)計(jì)步進(jìn)電機(jī)的控制系統(tǒng)時(shí)要考慮三個(gè)方面的內(nèi)容:一是硬件設(shè)計(jì),二是程序設(shè)計(jì),三是仿真調(diào)試。
1)在硬件設(shè)計(jì)方面,要將STC89C52單片機(jī)作為核心處理器,以按鍵為輸入模塊,必須實(shí)時(shí)控制步進(jìn)電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)。在步進(jìn)電機(jī)的硬件設(shè)計(jì)中,可以使用28BYJ-48型四相八拍式步進(jìn)電機(jī),包括電機(jī)驅(qū)動(dòng)模塊、矩陣鍵盤、指示燈、單片機(jī)控制系統(tǒng)、電源模塊??紤]到當(dāng)前所使用的一些單片機(jī)所輸出的脈沖信號(hào)并不大,易影響到步進(jìn)電機(jī)的工作質(zhì)量,所以不能直接將單片機(jī)連接到步進(jìn)電機(jī)上,而是應(yīng)該在兩者之間設(shè)計(jì)一個(gè)驅(qū)動(dòng)電路。再以矩陣鍵盤為例,當(dāng)前的矩陣鍵盤設(shè)計(jì)較為簡(jiǎn)單,是由若干鍵所組成的一種按鍵矩陣,通過輸入數(shù)據(jù)和指令便可以實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制[9]。
2)在程序設(shè)計(jì)方面,首先需要確??刂葡到y(tǒng)上電復(fù)位,參數(shù)執(zhí)行初始化處理。而后即需要確定是否發(fā)送數(shù)據(jù),若需要將數(shù)據(jù)發(fā)送至程序,則調(diào)動(dòng)相應(yīng)的子程序,而沒有數(shù)據(jù)發(fā)送時(shí),應(yīng)確保程序處于初始化狀態(tài)。在步進(jìn)電機(jī)的主程序流程中,要按照“開始→程序初始化→串口是否發(fā)送數(shù)據(jù)?→調(diào)用子程序→結(jié)束”這樣的流程加以操作。在按鍵程序流程中,要按照“開始→初始化→是否有按鍵按下?→調(diào)用按鍵子程序”這樣的流程加以操作。
3)在仿真調(diào)試方面,應(yīng)使用好編程軟件和仿真圖繪制軟件。結(jié)合STC89C52單片機(jī)的功能特性,步進(jìn)電機(jī)接收到脈沖信號(hào)后,可以持續(xù)運(yùn)轉(zhuǎn),繞組通電狀態(tài)每發(fā)生一次改變,便會(huì)產(chǎn)生一個(gè)脈沖信號(hào),步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)更為快速與有效。在實(shí)際開展仿真調(diào)試工作時(shí),應(yīng)重點(diǎn)評(píng)估步進(jìn)電機(jī)的通電順序、周期性通電性質(zhì),也應(yīng)該重點(diǎn)分析轉(zhuǎn)動(dòng)過程中所形成的步進(jìn)電機(jī)工作波形圖[10]。
綜上所述,步進(jìn)電機(jī)對(duì)工作原理與控制系統(tǒng)設(shè)計(jì)要求較高,實(shí)際設(shè)計(jì)過程中要考慮多個(gè)方面的因素,確保步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)的質(zhì)量。當(dāng)前,在基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)與研究中積累了較多成果,值得推廣應(yīng)用,但在研究與設(shè)計(jì)方面也存在著一些困難,亟須突破。后續(xù)要進(jìn)一步加大研究力度,重點(diǎn)分析步進(jìn)電機(jī)控制系統(tǒng)的硬件電路與程序設(shè)計(jì),以掌握更多的設(shè)計(jì)要點(diǎn),更加精準(zhǔn)地控制步進(jìn)電機(jī)的速度與轉(zhuǎn)動(dòng),推動(dòng)步進(jìn)電機(jī)在多個(gè)領(lǐng)域中的應(yīng)用。