盧 貺
(武漢軟件工程職業學院,湖北武漢 430205)
步進電機廣泛應用在生產實踐的各個領域。比較大的應用是在數控機床的制造中,因為步進電機不需要A/D轉換,能夠直接將數字脈沖信號轉化成為角位移,所以被認為是理想的數控機床的執行元件。步進電機也能應用在其它機械上,比如通用軟盤驅動器的馬達,也可應用在打印機和繪圖儀中。
步進電機將電脈沖轉化為角位移,即當步進功率驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(步進角)。通過控制脈沖個數即可以控制角位移量,從而達到準確定位的目的,同時可通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
在步進電機的單片機控制系統中,要求能實現以下三個基本控制任務:(1)控制換相順序。步進電機的通電換相順序要嚴格按照步進電機的工作方式進行,也稱為脈沖分配,本文通過軟件法實現脈沖分配。(2)控制步進電機的轉向。通過改變通電的相序來實現。(3)控制步進電機的轉速。通過調節脈沖頻率來實現。步進電機整個控制系統邏輯框圖如圖1所示[1]。

圖1 步進電機控制系統邏輯框圖
單片機系統采用型號為STC89C52的微處理器,該單片機具有8K的內部Flash,512字節的RAM,是得到廣泛使用的價格低,性能高的單片機之一。單片機的作用是產生步進電機控制脈沖、檢測矩陣鍵盤、顯示四位7段數碼管指示電機速度、通過UART與上位機通信等功能,其邏輯方框圖如圖2所示。電路中監控模塊電路以IMP706芯片為核心;UART接口部分采用MAX232芯片。單片機系統中使用獨立的5V供電電源,保證單片機系統穩定、可靠工作。

圖2 單片機系統框圖
由于系統中有電機類感性器件存在,為了提高控制系統抗干擾能力,應用處理器監控芯片是首選措施之一。監控芯片IMP706可為系統提供上電、掉電復位功能,也可提供其它功能,如低電壓報警、看門狗等。該芯片在上電、掉電期間或手動情況下會產生復位信號,芯片內部有一個1.6s的看門狗定時器和4.40V電源電壓檢測電路。另外,還具有1.25V門限的電源故障報警電路,可用于檢測供電電源電壓和非5V的電源異常情況。其內部結構框圖如圖3所示。

圖3 IMP706內部結構圖
兩相步進電機的兩相繞組相互獨立,步進功率驅動電路可采用L9110芯片。L9110是為控制和驅動電機設計的兩通道推挽式功率放大專用集成電路器件。該芯片有兩個TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;寬電源電壓范圍:2.5V~12V;兩個輸出端能直接驅動電機的正反向運動,其具有較大的電流驅動能力,每通道能通過750~800mA的持續電流,峰值電流能力可達1.5~2.0A;同時其具有較低的輸出飽和壓降;內置鉗位二極管能釋放感性負載的反向沖擊電流。使用中,可貼上小型散熱片,減少溫升。L9110芯片引腳定義如表1所示,其控制時序圖如圖4所示。

表1 L9110引腳定義
步進功率驅動電路如圖5所示。功率驅動電路中同樣需要設計防干擾的措施,U3為四路隔離光耦,將從J5接口引入的單片機系統控制信號與步進電機完全隔離,注意IOVCC網絡也從單片機系統中接入,本系統中使用的是5V電源,因此接入5V電壓即可,如果使用其他電壓值的單片機系統,可靈活改變該網絡接入電壓。C9、C10電容可直接焊接在步進電機引線端口處,為瓷片電容,減小電機對系統的干擾[2]。
控制器軟件主程序包括初始化和主循環,以及串口0、定時器0和定時器1中斷服務程序模塊。定時器0中斷每隔10ms產生一次,用來查詢是否有按鍵按下。定時器1中斷時間間隔根據電機轉速設定。控制器軟件整體框圖如圖6所示[3]。
步進電機功率驅動電路根據控制信號運行,控制信號由單片機系統產生。這些控制信號包括:控制換相脈沖輸出、控制步進電機轉向和控制步進電機速度。
2.2.1 換相控制
步進電機的通電換相順序嚴格按照步進電機的工作方式進行。在圖2電機控制框中,采用了P0.0-P0.3四個I/O端口控制步進電機的兩相線圈,對應的相位和步進電機勵磁方式如表2所示。表2中A與/A表示電機A相繞組的兩端、B與/B表示電機B相繞組的兩端。
兩相步進電機驅動器邏輯通電方式一般有兩相4拍、兩相8拍和雙4拍3種。兩相4拍相序為:A—/B—/A—B,其特點是在任一時間僅有一相繞組通電;雙4拍的相序為:A/B—/A/B—/AB—AB,其特點是能輸出最大的轉矩;兩相8拍相序為:A—A/B—/B—/A/B—/A—/AB—B—AB,其特點是電機的步進角減半,但產生較小的正常轉矩。

圖5 步進功率驅動電路圖

表2 CO2濃度分布的S-W檢驗

圖6 控制器軟件整體框圖
根據表2,可以繪制出相應的三種勵磁方式情況下,時鐘脈沖、A、/A、B、/B等信號的波形關系,如圖7所示。
三種勵磁方式區別較大,比較數據如表3所示。一般來說,兩相8拍方式性能最好,兩相4拍方式性能較差,因此在步進電機控制中,選擇合適的勵磁方式非常重要。本系統在程序設計中,將上述三種勵磁方式都編寫成函數,根據不同的參數來調用希望的方式。

圖7 三種勵磁方式的波形圖

表3 三種勵磁方式比較
實測一種兩相步進電機,型號為:VEXTA C8513-9012K,步進角1.8°,工作電壓3.1V,最大相電流1.55A。編寫三種不同勵磁方式的控制程序:電機轉速約150rpm,電機運行多圈后停止運行,測量電機軸轉動一圈的拍數,電流值和步進角等數據,實測的數據如表4所示。

表4 實測數據
2.2.2 轉向控制
電機的轉向與步進功率驅動電路(圖5)中J5(單片機系統接口)和J6(步進電機接口)的電氣接線有關,本系統中電氣接線關系如表5所示。

表5 電機方向相關的電氣接線
同時步進電機轉向還與勵磁方式有關,按表一中的勵磁相順序驅動電機時,就是順時針轉動,即兩相4拍順時針相序為:A—/B—/A—B;雙4拍順時針相序為:A/B—/A/B—/AB—AB;兩相8 拍 順 時 針 相 序 為:A—A/B—/B—/A/B—/A—/AB—B—AB。當需要電機軸逆時針轉動時,相應的相序為,兩相4拍逆時針相序為:A—B—/A—/B;雙4拍逆時針相序為:A/B—AB—/AB—/A/B;兩相8拍逆時針相序為:A—AB—B—/AB—/A—/A/B—/B—A/B。電機順時針和逆時針方向轉動可編寫在一個函數中,通過參數來選擇轉動的方向。下面是用來控制電機順時針和逆時針轉動的C語言程序[4](勵磁方式為兩相8拍):


2.2.3 速度控制
步進電機的轉速可以用頻率來控制,步進電機的運行頻率跟轉速成正比,可以通過計算公式,計算出步進電機的轉速。兩相步進電機轉速計算公式為:
步進電機轉速=脈沖頻率*60/(200*X)(式一)——兩相4拍或雙4拍工作方式
步進電機轉速=脈沖頻率*60/(400*X)(式二)——兩相8拍工作方式
上兩式中:步進電機的轉速單位是rpm;脈沖頻率單位是Hz;X是指細分倍數。比如:步進電機采用整步,即1細分;脈沖頻率1KHz,即1000 Hz;工作方式為兩相8拍;套用公式,電機轉速為:1000*60/400=150rpm。
電機速度調節是通過軟件實現。將電機控制MotorRun函數放到單片機定時器中斷程序中調用,定時器的定時時長根據按鍵輸入的數值設定。假設按鍵輸入轉速為22.8rpm,勵磁方式為兩相8拍,由式二計算脈沖頻率為152Hz,即6579μs,那么需要設置定時器定時時長為6579μs。選用STC89C52單片機的定時器一,工作方式一(16位定時器模式),晶振頻率為11.0592MHz,計算定時器一的初值為59473(式中TCY為的單片機機器周期;運算結果四舍五入),初值折算成十六進制為E851H。在程序中定義一個全局變量,用于保持定時器一的初值:“static unsigned int T1Value;”。當賦值T1Value變量為E851H時,步進電機的轉速即為22.8rpm[5]。下面是單片機定時器一C語言中斷程序:

通過上述軟件算法,可計算能夠控制電機的最快和最慢速度。最快速度對應定時器最短的定時時長,即一個機器周期,該周期對應頻率為921600Hz,通過式二可得轉速為138240rpm,這個轉速是理論值,步進電機轉速不可能有這高,此時步進電機處于失步狀態。實測型號C8513-9012K的步進電機,當定時器初值為FA9AH十六進制數值時,能達到最快的速度,即100rpm。當定時器初值為0時得到最慢速度2.1rpm。如果再增加調用MotorRun函數的時長,還可進一步降低轉速。
步進電動機以其顯著的特點,在數字化制造時代發揮著重大的用途。伴隨著不同的數字化技術的發展和步進電機本身技術的提高,以及性價比高的步進電機控制系統的大規模應用,步進電機將會在更多的領域得到應用。本方案以其高的性價比,配合一款42步進電機,組裝成多運動角度的機械關節,已用在一款智能機器人系統中,整機系統可靠性和穩定性能夠滿足使用要求。
1 劉國永.單片機控制步進電機系統設計[J].安徽:安徽技術師范學院學報,2002:16(4):61-63.
2 楊克俊.電磁兼容原理與設計技術[M].北京:人民郵電出版社,2004:111-117.
3 唐繼賢.51單片機工程應用實例[M].北京:北京航空航天大學出版社,2009:74-76
4 王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002:181-197.
5 孫笑輝.減少感應電動機直接轉矩系統轉矩脈動的方法[J].電氣傳動,2001(1):8-11.