如何用軟件實(shí)現(xiàn)步進(jìn)電機(jī)細(xì)分驅(qū)動
一、引言
由于步進(jìn)電機(jī)成本低,控制線路簡單,調(diào)試方便,所以在許多開環(huán)控制系統(tǒng)中得到了廣泛的應(yīng)用。但是當(dāng)步進(jìn)電機(jī)轉(zhuǎn)子運(yùn)動頻率達(dá)到其機(jī)械諧振點(diǎn)時,就會產(chǎn)生諧振和噪聲。
為了克服機(jī)械噪聲可以改變驅(qū)動方式,步進(jìn)電機(jī)的驅(qū)動方式一般分為單相激勵、兩相激勵和半步激勵等。單相激勵時雖然具有輸入功率小,溫度不會升的太高的優(yōu)點(diǎn),但是由于振蕩厲害,控制不穩(wěn),所以很少采用。兩相激勵、半步激勵都可以提高平穩(wěn)度,減小機(jī)械振蕩。據(jù)此,采用細(xì)分驅(qū)動控制減小噪聲是一種比較完善和理想的解決手段。
二、步進(jìn)電機(jī)細(xì)分驅(qū)動原理
所謂細(xì)分驅(qū)動就是把機(jī)械步距角細(xì)分成若干個電的步距角,當(dāng)轉(zhuǎn)子從一個位置轉(zhuǎn)到下一個位置的時候,會出現(xiàn)一些“暫態(tài)停留點(diǎn)”。這樣使得電機(jī)啟動時的過調(diào)量或者停止時的過調(diào)量就會減小,電機(jī)軸的振動也會減小,使電機(jī)轉(zhuǎn)子旋轉(zhuǎn)過程變得更加平滑,更加細(xì)膩,從而減小了噪聲。
圖1 電機(jī)驅(qū)動示意圖
首先介紹步進(jìn)電機(jī)整步驅(qū)動,我們以兩相混合式步進(jìn)電機(jī)57BYB406為例,它的步距角為1.8°。該電機(jī)有A,B兩相繞組,其中我們用C表示A通反向電流時的磁場-A,用D表示B通反向電流時的磁場-B。
當(dāng)分別給各相繞組通電時,各相繞組產(chǎn)生的旋轉(zhuǎn)磁場如下:僅有A相導(dǎo)通時,旋轉(zhuǎn)磁場指向A;僅有B相導(dǎo)通時,旋轉(zhuǎn)磁場指向B;僅有C相導(dǎo)通時,旋轉(zhuǎn)磁場指向C;僅有D相導(dǎo)通時,旋轉(zhuǎn)磁場指向D。依次為各相繞組通電,每切換一次,旋轉(zhuǎn)磁場矢量轉(zhuǎn)過90°,電機(jī)轉(zhuǎn)過一個步距角1.8°。當(dāng)旋轉(zhuǎn)磁場矢量轉(zhuǎn)過360°時,電機(jī)轉(zhuǎn)過一個齒距,這種工作方式稱為整步工作。
如果改變上述加電過程,采用四相八拍工作,即通電順序依次為:
此工作方式稱半步工作,旋轉(zhuǎn)磁場的矢量變化如圖2所示。每改變一次通電狀態(tài),旋轉(zhuǎn)磁場的矢量轉(zhuǎn)過45°。
圖2 四細(xì)分驅(qū)動磁場矢量圖
同理,旋轉(zhuǎn)磁場轉(zhuǎn)過360°,電機(jī)轉(zhuǎn)過一個齒距。
由半步原理給予啟發(fā),如果讓旋轉(zhuǎn)磁場矢量每次轉(zhuǎn)過22.5°,這樣就實(shí)現(xiàn)了四細(xì)分驅(qū)動。其旋轉(zhuǎn)磁場矢量變化如圖3所示。
圖3 步進(jìn)電機(jī)四細(xì)分驅(qū)動磁場矢量圖
為了使電機(jī)輸出轉(zhuǎn)距大小一致,也就是使電機(jī)勻速轉(zhuǎn)動,我們控制流入A,B,C,D各相電流的大小,具體按公式sin2α+cos2α=1來計算。圖4給出了四細(xì)分驅(qū)動時各相電機(jī)輸入電流值的變換曲線。
圖4 四細(xì)分驅(qū)動轉(zhuǎn)距均勻輸出原理圖
三、細(xì)分驅(qū)動在噴膜機(jī)的應(yīng)用
1、噴膜機(jī)總體設(shè)計
噴膜機(jī)中X方向細(xì)分驅(qū)動控制如圖5所示。這里我們采用8052微處理機(jī),它是增強(qiáng)的MCS-51系列單片機(jī),具有8K字節(jié)的ROM,256字節(jié)的RAM。8位DA轉(zhuǎn)換器AD7524通過鎖存器與單片機(jī)的數(shù)據(jù)線相連,構(gòu)成步進(jìn)電機(jī)的脈沖信號發(fā)生器。如果該脈沖信號驅(qū)動能力不夠大,可以在DA轉(zhuǎn)換器之后加一級放大器。產(chǎn)生的脈沖信號加在驅(qū)動器NJM3770的VR引腳,用來驅(qū)動步進(jìn)電機(jī)。
圖5 噴膜機(jī)X方向控制圖
2、脈沖分配器的設(shè)計
在噴膜機(jī)的設(shè)計中,我們采用軟件的方法實(shí)現(xiàn)脈沖分配器。將電機(jī)四細(xì)分驅(qū)動脈沖數(shù)據(jù)存儲在內(nèi)存中,如表1所示。當(dāng)電機(jī)逆時針方向運(yùn)轉(zhuǎn)時,自上而下走表索取控制量;當(dāng)電機(jī)順時針方向運(yùn)轉(zhuǎn)時,自下而上走表索取控制量,這樣就可以控制電機(jī)上的電流的大小。其中控制量的最高位是方向控制信號,低7位存儲電機(jī)脈沖信號的大小。
如何實(shí)現(xiàn)7位數(shù)據(jù)的數(shù)模轉(zhuǎn)換呢?這里介紹兩種方法實(shí)現(xiàn)DA轉(zhuǎn)換。第一種方法的思想是:脈沖信號的大小用8位表示,但要求存儲的任何數(shù)據(jù)的最高位都為零,這樣就可以將DA轉(zhuǎn)換器的最高位直接接地,用最高位存儲方向控制信號。為了使存儲數(shù)據(jù)的最高位始終為零,就必須使數(shù)字信號的最大值不超過01111111,即模擬信號的大小最大為-VREF(127/256)。為了得到所需要的電壓值須將參考電壓VREF增大一倍。這樣鎖存器的最高位Q7表示方向位,接NJM3770的Phase引腳,鎖存器的Q0~Q6順次接DA轉(zhuǎn)換器的D0~D6,DA轉(zhuǎn)換器的最高位接地。
表1 電機(jī)四細(xì)分驅(qū)動脈沖數(shù)據(jù)
第二種方法的思想是:數(shù)據(jù)僅用7位表示,留下一位表示方向位。在設(shè)計中使鎖存器的Q0~Q6分別接AD7524的D1~D7,AD7524的D0位接地,鎖存器的Q7接NJM3770的Phase引腳。這種方法使得實(shí)際輸出的數(shù)據(jù)與理論所需數(shù)據(jù)之間會產(chǎn)生誤差,誤差率為1/256。在噴膜機(jī)的設(shè)計Vr=5V,V誤差=0.0195V,由于誤差很小,不會產(chǎn)生很大的影響,所以采用第二種方法。查看電機(jī)的參數(shù)表得知電流值Im=0.7A,所以我們在設(shè)計當(dāng)中,應(yīng)該使電機(jī)中的電流不能大于0.7A。當(dāng)RS=0.68Ω,VR=5V時,通過公式Im=(VR×0.080)/RS計算得到Im=0.588A,滿足設(shè)計要求。通過微調(diào)AD7524的參考電阻RREF,可以微調(diào)電機(jī)脈沖信號的大小,從而控制電機(jī)繞組上的電流值。按表1計算出四細(xì)分驅(qū)動所需要的脈沖信號的大小,A,B兩項繞組上的脈沖變化如圖6所示。由于方向控制信號由AD7524的Q7位控制,所以繞組上的電流值只表現(xiàn)大小。
圖6 A,B兩相電機(jī)脈沖時序圖
3、保護(hù)電路的設(shè)計
步進(jìn)電機(jī)驅(qū)動器采用NJM3770,它由一個與LS-TTL兼容的邏輯輸入端,一個電流感應(yīng)器,一個單穩(wěn)態(tài)多頻振蕩器,一個高壓H橋輸出端組成。具有以下特點(diǎn):只能驅(qū)動步進(jìn)電機(jī)的一相,半步或者全步控制,開關(guān)模式的雙極性直流驅(qū)動,電流控制范圍5~1800mA,電壓范圍10~45V,過熱保護(hù),Phase為方向控制信號,高電平時電流自MA→MB;低電平時,電流自MB→MA。I0,I1控制電機(jī)上的電流輸出,變化情況如表2。
表2 I0,I1控制電機(jī)上的電流輸出,變化情況
在驅(qū)動器的設(shè)計中,如果電機(jī)上的電流太大,電機(jī)會發(fā)熱,而且繞組上電流變化過程中會產(chǎn)生很大的感應(yīng)電動勢,這樣就會損壞電機(jī),所以應(yīng)該具有相應(yīng)的保護(hù)措施。這里可以通過控制I0,I1來控制電機(jī)上的電流大小,我們可以采用60%的電流輸出,即I0=1,I1=0。并且要設(shè)計反向電流回路,來對感應(yīng)電動勢進(jìn)行抑制。一般方法是采用浪涌吸收電路,最簡單的辦法就是將一個二極管與各繞組并聯(lián),二極管的正向電壓較低,吸收效果較好,但二極管的通電時間長,不適用于高速開關(guān)電路。另外,二極管把繞組上的感應(yīng)電壓直接短路,阻尼效果很強(qiáng),電機(jī)的高頻特性變壞,因此這種結(jié)構(gòu)限于低速運(yùn)行的電路,在噴膜機(jī)的設(shè)計中,對電機(jī)的速度要求不高,因此采用這種方法。
4、細(xì)分驅(qū)動軟件設(shè)計
步進(jìn)電機(jī)有啟動頻率和最高頻率兩個參數(shù),為了使電機(jī)轉(zhuǎn)動更加平穩(wěn),應(yīng)該有電機(jī)加速和減速程序,從而使得電機(jī)很快的到達(dá)運(yùn)行頻率而且不會出現(xiàn)失步。四細(xì)分驅(qū)動流程圖見圖7。首先將表1放入內(nèi)存中,STEPNUML,和STEPNUMH分別存放步數(shù)的低8位和高8位,PHASE是方向控制信號,R0存放表的項數(shù)。按照電機(jī)轉(zhuǎn)動方向決定R0的初始值,依次從表中讀取數(shù)值,每發(fā)送一個數(shù)據(jù),電機(jī)走一步(0.45°),然后延時一段時間。根據(jù)延時的長短,可以控制電機(jī)的速度,連續(xù)讀取數(shù)據(jù),電機(jī)就轉(zhuǎn)動起來了。
圖7 流程圖
四、小結(jié)
以上詳細(xì)的介紹了步進(jìn)電機(jī)四細(xì)分驅(qū)動在噴膜機(jī)中的應(yīng)用,這一技術(shù)也可以推廣到其他數(shù)控裝置中,讀者也可以根據(jù)實(shí)際需要進(jìn)行細(xì)分,當(dāng)然分得越細(xì),控制越復(fù)雜,硬件電路要求也<
提交
step7 v5.4 中文版.part28
step7 v5.4 中文版.part16
S7-300教學(xué)
SEE Electrical 2005B130 cn
step7 v5.4 中文版.part05