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