花同
(武警工程學院 研究生37隊,陜西 西安710086)
步進電機是一種將電脈沖信號轉(zhuǎn)換成相應的角位移(或線位移)的電磁機械裝置[1]?,F(xiàn)在比較常用的步進電機包括反應式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)等。永磁式步進電機一般為兩相,轉(zhuǎn)矩和體積較小,步進角一般為7.5°或15°;反應式步進電機一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5°,但噪聲和振動都很大;混合式步進電機混合了永磁式和反應式的優(yōu)點,分為兩相和五相,兩相步進角一般為 1.8°而五相步進角一般為 0.72°,這種步進電機的應用最為廣泛。步進電機具有以下優(yōu)點:轉(zhuǎn)矩大,慣性小,響應頻率高;停止時有一定的自鎖功能;定位精度高、可重復性好、無積累誤差、控制簡單、可用于開環(huán)控制?;谝陨蟽?yōu)點,步進電機作為自動控制系統(tǒng)中的重要執(zhí)行部件,已在許多工業(yè)控制系統(tǒng)中得到了應用。
步進電機的工作原理本質(zhì)上靠勵磁繞組產(chǎn)生的旋轉(zhuǎn)的合磁場帶動轉(zhuǎn)子做同步運動[2]。不細分時步進電機的合磁場將以一個固定的角度旋轉(zhuǎn),如果對這個角度進行細分,那么就可以實現(xiàn)對步距角的細分。由于勵磁繞組通電之后產(chǎn)生磁通量正比于電流的大小,因而只要控制各個繞組的電流的大小和方向就可以控制步進電機各個繞組產(chǎn)生的合磁場的大小和方向。當步進電機工作在整步或半步時,只需對繞組進行正、反向通斷電控制,工作在細分狀態(tài)下就需要精確控制流過繞組電流的大小。細分驅(qū)動技術主要是通過對步進電機的相電流進行階梯化控制,使電機以足夠小的單位步距角運行,從而減小步長和低頻振動,提高電機的運行分辨率。通過對相電流的均勻細分就能使步距角均勻n細分,這是在相電流與步距角之間為線性關系的前提下才能成立的。而實際上,由于步進電機磁化曲線本身的非線性和磁滯現(xiàn)象等因素的影響,等分相電流并不能等分步距角,而必須根據(jù)步距角和相電流的關系曲線,對各相電流加以控制和修正,才能實現(xiàn)步進電機步距角的均勻細分。另一方面合成磁場的幅值決定了步進電機旋轉(zhuǎn)力矩的大小,相鄰兩合成磁場矢量之間的夾角大小決定了步距角的大小。因此提出了一種恒流均勻細分控制的方法,它的基本思想是:維持步進電機內(nèi)部合成磁場的幅值恒定,合成磁場的方向均勻變化。對于那種完全用硬件來實現(xiàn)步進電機細分的驅(qū)動電路,要進行恒力矩均勻細分控制是相當困難的,但是對于單片機控制的步進電機細分驅(qū)動電路,實現(xiàn)這種控制就容易多了,它通過軟件可以相應的數(shù)字量存儲于EPROM的不同區(qū)域,采用軟件查表法輸出細分電流的控制信號。
步進電機的速度特性,可以通過其基本運動方程(二階微分方程)來描述,方程式表示如下:
J為系統(tǒng)總轉(zhuǎn)動慣量,包括步進電機空載情況下轉(zhuǎn)子的轉(zhuǎn)動慣量以及帶負載時,負載的折算轉(zhuǎn)動慣量;θ轉(zhuǎn)子轉(zhuǎn)角;β阻尼系數(shù);k與θ成某種函數(shù)關系的比例因子;Tz為摩擦阻尼矩及其他與θ無關的阻尼矩之和;Td為步進電機產(chǎn)生的電磁轉(zhuǎn)矩。
由上式可知系統(tǒng)的慣性扭矩為:
步進電機的理想加減速曲線為非線性曲線[3]。目前國內(nèi)外使用較多的加減速控制方法主要有3種:直線型加減速速度曲線、指數(shù)型加減速速度曲線、S型加減速速度曲線3種,其加減速速度曲線如圖1所示。直線型加減速速度曲線,這種升降速控制方法的主要優(yōu)點是數(shù)學表達簡單,計算簡單,節(jié)省資源,其主要缺點是在加速過程開始和結束時速度是突跳變的,加速度的突跳變意味著驅(qū)動力的突變,由此帶來的沖擊較大,步進電機驅(qū)動系統(tǒng)中可能造成失步現(xiàn)象;指數(shù)型加減速曲線,比較符合電機的轉(zhuǎn)矩特性,數(shù)學表達相對簡單,可以實時計算,加減速終了時加速度突變小,沖擊較小。其不足是啟動過程仍然存在較大沖擊,加減速過程結束時速度變化是漸進線的,變化過程太大,需要進行一些修正處理,適用于控制系統(tǒng)處理速度快且對升降速過程要求較高的場合;S型加減速曲線,其特點是轉(zhuǎn)矩性能最好,啟動和結束都是連續(xù)可導的,因此具有平穩(wěn)精確的加減速性能。其主要不足是數(shù)學表達復雜,主要適用于加減速的平穩(wěn)性要求最高的場合。
圖1 3種加減速速度曲線比較Fig.1 Comparision among three speed curves of acceleration and deceleration
比較以上幾種加減速控制方法,考慮到編程實現(xiàn)的難易程度等因素,選用指數(shù)型加減速速度曲線來實現(xiàn)對步進電機的加減速控制。將指數(shù)型加減速曲線離散化處理[4]。離散化過程如圖2所示。
圖2 指數(shù)型加速過程離散化Fig.2 Discretization of exponential acceleration process
步進電機控制系統(tǒng)主要是由STC12C5624AD單片機、SH2034M型號步進電機驅(qū)動器、步進電機、霍爾位置傳感器組成。系統(tǒng)總體硬件設計如圖3所示。單片機可以工作的最小系統(tǒng)一般由電源、復位電路、系統(tǒng)時鐘、串口通信電路等構成。本設計使用STC12C5624AD單片機。STC12C5624AD系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍,內(nèi)部集成MAX810專用復位電路,4路PWM,8路高速10位A/D轉(zhuǎn)換,針對電機控制,強干擾場合。步進電機易于與數(shù)字電路接口,但一般數(shù)字信號的能量遠遠不足以驅(qū)動電機。因此,必須有一個與之匹配的驅(qū)動器來驅(qū)動電機[5]。驅(qū)動器使用的是由金壇市四海電機電器廠生產(chǎn)的SH2034M型號步進電機驅(qū)動器。
圖3 步進電機控制系統(tǒng)硬件設計Fig.3 Hardware design of stepping motor control system
用單片機實現(xiàn)步進電機的變加速度控制,實際上就是控制脈沖的頻率,升速時使脈沖頻率增高,減速時使脈沖頻率降低[6]。一般采用軟件延時法和定時器法來確定脈沖的周期:軟件延時法指的是依靠延時程序來改變脈沖輸出的頻率,其中延時的長短是動態(tài)的,軟件法在電機控制中,要不停地產(chǎn)生控制脈沖,占用了大量的CPU時間,使單片機無法同時進行其他工作;定時器法是利用單片機內(nèi)部的定時器來實現(xiàn)的,在每次進入定時中斷后,改變定時常數(shù),在升速時使脈沖頻率逐漸增大,減速時使脈沖頻率逐漸減小,這種方法不占用CPU運行時間,比較適用。
為了減少每級計算裝載定時器值的時間,將電機在每一級速度下運行的時間轉(zhuǎn)換為相應的步數(shù),存儲在一個數(shù)組中,固化在系統(tǒng)的EPROM中,在需要時直接查表即可。以步數(shù)代替時間,使得對電機的控制更加方便,易于編程實現(xiàn),也大大減少占用CPU運算的時間,提高系統(tǒng)響應速度。設計升速、減速過程的總步數(shù)25步,電動機升速過程中,一直對這個總步數(shù)進行遞減操作,當減至零時表示升速過程完畢,轉(zhuǎn)入恒速運行;電動機恒速運行過程中,一直對這個總步數(shù)進行遞減操作,當減至零時表示恒速過程完畢,開始轉(zhuǎn)入減速運行。減速運行步數(shù)與升速總步數(shù)[7]相同,只是按相反的順序進行即可。步進電機加減速速度控制算法流程圖如圖4所示。
采用提出的步進電機控制系統(tǒng),步進電機在工作頻率內(nèi)運行平穩(wěn),定位精度高。該系統(tǒng)有效,實用,已在無人機器人系統(tǒng)中得到驗證,結果有效可行。
圖4 步進電機加減速速度控制算法流程圖Fig.4 Control algorithm flow chart of step motor speedand deceleration
[1]劉曉山.單片機在步進電機控制系統(tǒng)中的應用[J].機電工程技術,2004,33(1):69-70.
LIU Xiao-shan.Application of SCM on the step motor control system[J].Mechanical and Electrical Engineering Technology,2004,33(1):69-70
[2]陳志聰.步進電機驅(qū)動控制技術及其應用設計研究[D].廈門:廈門大學,2008:1-90.
[3]劉寶志.步進電機的精確控制方法研究[D].濟南:山東大學,2010:1-52.
[4]吳紅星.電機驅(qū)動與控制專用集成電路及應用[M].北京:中國電力出版社,2006:40-42
[5]李海波,何雪濤.步進電機升降速的離散控制[J].北京化工大學學報:自然科學版,2003,30(1):92-94.
LI Hai-bo,HE Xue-tao.Discrete control of raising and reducing speeds of a stepping motor[J].Journel of Beijing University of Chemical Technology (Natural Science Edition),2003,30(1):92-94.
[6]陳毅.武裝機器人控制系統(tǒng)的研究與設計[D].西安:武警工程學院,2010.
[7]應芳琴.基于FPGA的步進電機控制器研究和實現(xiàn)[J].現(xiàn)代電子技術,2011(02):198-201.
YING Fang-qin.research and implementation of stepping motor controller based on FPGA[J].Modern Electronics Technique,2011(02):198-201.