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