孔照興
(云南省普洱市職業(yè)教育中心 云南省普洱市 665000)
步進(jìn)電機(jī)是一種控制設(shè)備,它將控制脈沖的數(shù)量轉(zhuǎn)變?yōu)椴綌?shù),一個電脈沖信號對應(yīng)一步,一步的位移量(線位移或角位移)是一定的,稱為“步距角θ”?;蛘邔⒖刂菩盘柕牡念l率變化轉(zhuǎn)換為電機(jī)轉(zhuǎn)動的速度和加速度,實現(xiàn)電機(jī)調(diào)速。步進(jìn)電機(jī)響應(yīng)頻率高、轉(zhuǎn)矩大、慣性小等特點,在各行各業(yè)得到廣泛應(yīng)用。步進(jìn)電機(jī)的驅(qū)動控制主要有硬件控制電路“環(huán)形脈沖分配器”和軟件控制環(huán)形脈沖分配器及驅(qū)動放大電路兩種模式。其中軟件控制模式又有單片機(jī)控制電路、PLC 控制電路和微型機(jī)控制電路三種,其基本原理是一樣的。本文選用微機(jī)軟件控制這種方案,探討以圓弧細(xì)分原理實現(xiàn)步進(jìn)電機(jī)超精度控制的實體電路實現(xiàn)結(jié)構(gòu)和程序設(shè)計方法。
如圖1 所示,以四相五線直流電源供電的步進(jìn)電機(jī)為例,定子線圈相鄰相間的的角距為360÷8=45 度,轉(zhuǎn)子相鄰磁極的角距為360÷6=60 度。對步進(jìn)電機(jī)的Sa、Sb、Sc、Sd 四相繞組按順序加脈沖電流,電機(jī)就會一步一步地進(jìn)轉(zhuǎn)動,一個節(jié)拍轉(zhuǎn)子轉(zhuǎn)過60-45=15度,即為步距角。
四相步進(jìn)電機(jī)按照通電方式的不同,可分為單四拍、八拍和雙四拍3 種工作方式。通電時序與波形分別如圖2a、b、c 所示:
步進(jìn)電機(jī)的電子驅(qū)動裝置就是步進(jìn)電機(jī)驅(qū)動器。驅(qū)動器的功能要滿電機(jī)的驅(qū)動要求,它把脈沖信號發(fā)生器發(fā)出的控制信號加以放大,達(dá)到電機(jī)的驅(qū)動要求。脈沖的個數(shù)定位電機(jī)的位置,脈沖的頻率實現(xiàn)電機(jī)調(diào)速。步進(jìn)電機(jī)驅(qū)動控制系統(tǒng)主要由三部分組成:脈沖控制信號發(fā)生器、驅(qū)動放大器和步進(jìn)電機(jī)。如圖3 所示。
單片機(jī)的I/O 接口P1 為控制脈沖信號輸出端。P1.0 控制A 相繞組,P1.1 控制B 相繞組,P1.2 控制C 相繞組,P1.3 控制D 相繞組。基于圖5 電路的四相八拍控制方式的數(shù)學(xué)模型如表1 所示。
我們依據(jù)圖3 所示的硬件電路,只要在P1 口依順序發(fā)送表1所示的數(shù)據(jù),步進(jìn)電機(jī)的繞組上就能獲得圖3(b)所示的電壓波形。表1 中的控制模型為控制位(P1.0—P1.7)的十六進(jìn)制數(shù)。
根據(jù)以上分析,程序的核心是如何順序發(fā)送表1 中的控制模型:01Н—03Н—02Н—06Н—04Н—0CН—0AН—08Н 到 達(dá)P1 口,并且能夠控制發(fā)送速率?;陔姍C(jī)的控制需要,程序主要應(yīng)當(dāng)完成如下任務(wù):①起??刂疲虎谛D(zhuǎn)方向控制;③速率控制;④定位(步數(shù))。這些需要實際就是程序的輸入量。程序中應(yīng)重點處理好兩個重要的參數(shù):①步數(shù)N,控制步進(jìn)電機(jī)的定位精度;②延時時間DELAY,控制其步進(jìn)的速率(頻率)。四相8 拍同步轉(zhuǎn)換輸出正轉(zhuǎn)控制程序范例如下:
ZZTAB:DB01Н,03Н,02Н,06Н,04Н,0CН,0AН,08Н; 建立正轉(zhuǎn)控制模型表
圖1:四相步進(jìn)電機(jī)原理圖
圖2:步進(jìn)電機(jī)工作時序波形圖
ZZKS:MOVDPTR,#ZZTAB;正轉(zhuǎn)開始,數(shù)據(jù)表首地址傳給DPTR
ZZJX:MOVCA,@DPTR;正轉(zhuǎn)繼續(xù),查表
MOVP1,A;控制數(shù)據(jù)送P1 口
LCALLDELAY;調(diào)用延時子程序(控制轉(zhuǎn)速)
INCDPTR;數(shù)據(jù)指針DPTR 加
CJNEDPTR,#08Н,ZZJX;判斷是否完成最后一個數(shù)據(jù)發(fā)送,未完成繼續(xù)
JMPZZKS;完成最后一個數(shù)據(jù)發(fā)送,重復(fù)開始
DELAY:…延時字程序
RET
END
以上步進(jìn)電機(jī)的控制實際上包含了細(xì)分的思想。當(dāng)四相步進(jìn)電機(jī)按A—B—C—D 一A 的順序輪流通電,即整步工作,一個電脈沖步進(jìn)電機(jī)前進(jìn)一整個步距角.而按A—AB—B—BC—C—CD—D—A 的順序輪流通電,即半步工作,每個電流脈沖步進(jìn)電機(jī)將前進(jìn)整步距角的l/2。因此,半步工作事實上實現(xiàn)了1/2 細(xì)分,只是對合成矢量的幅值沒有控制,導(dǎo)致電機(jī)振動加劇。當(dāng)需要對步距角進(jìn)行更進(jìn)一步的細(xì)分,并且保證合成矢量恒定不變時,就得用矢量合成原理。
表1:雙四拍控制模型表
圖4:圓弧細(xì)分與矢量合成
我們知道.電機(jī)內(nèi)部的磁場是由空間相連的兩相電流磁場的合成磁場。由矢量合成法則可知,只要精確控制AB 兩相電流的大小,合成磁場可以位于圓弧AB 內(nèi)的任意一個位置上。如圖4 所示。半徑為電機(jī)額定電流IAB,設(shè)A 相和B 相兩個電流磁場互成θ 度角(實際值由電機(jī)的結(jié)構(gòu)決定),即整步角為θ。θ 角(即圓弧AB)內(nèi)任意一個細(xì)分點為AnBn(xn,yn),設(shè)該點與X 坐標(biāo)軸的角度為φ。由平行四邊形法則可得IA和IB。反之,控制A 相電流的大小為IA,B 相電流的大小為IB,則合成磁場IAB定位在位置(A,B)上。
由正弦定理可得:
于是,IA=IABsin(θ-φ)/sin(180-θ),IB=IABsinφ/sin(180-θ)
由于IAB/sin(180-θ)是常數(shù),令I(lǐng)AB/sin(180-θ)=k,則以兩式簡寫成:IA=ksin(θ-φ),IB=ksinφ
也就是說,如果相鄰兩相繞組上加的電流滿足以上兩個方程,則合成磁場可以定位在A 點和B 點之間的圓弧AB 上任意一個點,并且合成磁場的大小恒定不變,這就是圓弧細(xì)分控制的基本原理。以上兩個方程即為圓弧細(xì)分控制的數(shù)學(xué)模型。
假設(shè)A 相和B 相兩個電流磁場互成θ 度角(實際上是由電機(jī)結(jié)構(gòu)決定的),即整步角為θ。對一個整步角進(jìn)行N 等分,則每一個細(xì)分角為θ/N,于是電機(jī)從位置A 運動到位置B 經(jīng)歷了N 個細(xì)分點,即A(A0B0)-A1B1-A2B2-A3B3……A(N-1)B(N-1)-B(ANBN). 在第n 個細(xì)分點AnBn(Xn,Yn)上,滿足:
即控制A 相電流的大小為Xn,B 相電流的大小為Yn 時,則合成磁場定位在點AnBn(Xn,Yn)上。由于步距角不均勻和合成磁場大小變化容易引起電機(jī)的振動和失步,因此細(xì)分控制必須滿足兩個重要條件:
(1)細(xì)分的步距角相等;即φ1=θ/N,φ2=2θ/N,φ3=3θ/N…,φn=nθ/N
(2)合成磁場的大小不變,且合成向量Xn+Yn==IAB。
條件(1)容易由單片機(jī)的計算能力可以滿足要求。條件(2)由量化精度(并行數(shù)據(jù)位)和DAC 的轉(zhuǎn)換精度決定。假設(shè)輸出端用8 位D/A 轉(zhuǎn)換器控制電機(jī)相電流,則可以實現(xiàn)對圓弧AB 的256(2的8 次方)份細(xì)分控制,基本滿足實際控制的細(xì)分需求。
4.4.1 硬件電路的組成與原理
細(xì)分控制的驅(qū)動電路需要對兩相繞組的電流大小實現(xiàn)精確控制。以DAC0832 芯片為例,構(gòu)建驅(qū)動控制信號電路,如圖5 所示.DAC0832 為8 位的數(shù)模轉(zhuǎn)換芯片,與微處理器兼容性好。分辨率為8 位;電流穩(wěn)定時間1us。數(shù)模轉(zhuǎn)換以一組差動電流IOUT1 和IOUT2 輸出。根據(jù)后繼使用的電機(jī)功率,選擇使用相應(yīng)的功率放大器即可。DAC0832 與外部數(shù)字設(shè)備有三種聯(lián)接方式:直通連接方式、單級緩沖器連接方式和二級緩沖器連接方式。有輸入數(shù)據(jù)鎖存控制信號端WR1、輸出數(shù)據(jù)鎖存控制端WR2 和片選控制端CS 控制,是典型的DAC 轉(zhuǎn)換芯片,如選用其它DAC 芯片參照即可。由于細(xì)分控制對電流大小和變化速率有較高的要求,為了不產(chǎn)生時間延遲,本例采用直通連接方式,由單片機(jī)端編程控制輸出數(shù)據(jù)的大小與速率。當(dāng)然,亦可用DAC0832 的鎖存和同步功能,實現(xiàn)更加準(zhǔn)確的同步控制。
表2:細(xì)分控制數(shù)據(jù)模型表
圖5:步進(jìn)電視細(xì)分控制電路
由于任意時刻電機(jī)有兩相同時通電,至少需用兩片DAC 芯片。如多相共用,則輸出端需要同步控制線圈地址,如圖5 示。
4.4.2 單片機(jī)細(xì)分驅(qū)動控制程序設(shè)計
由以上分析可知,細(xì)分驅(qū)動程序需要將A 相控制數(shù)據(jù)Xn 和B相控制數(shù)據(jù)Yn 同時送達(dá)各自的DAC,且不允許存在時差。由于兩片DAC 芯片分別由P0 口和P1 口傳送數(shù)據(jù),不需要選址。但對線圈是分時復(fù)用的,所以需對線圈同步選址。由于細(xì)分控制數(shù)據(jù)量大,用查表法編程較為合理。假設(shè)電機(jī)的線圈相數(shù)為XQXS,細(xì)分點數(shù)為N=XFDS,控制數(shù)據(jù)如表2 所示,程序范例如下。
由此可知,根據(jù)功能需求構(gòu)建硬件電路并全面認(rèn)識和分析得出控制模型是基礎(chǔ),控制模型是編制軟件程序的核心依據(jù)。文章通過對細(xì)分控制的分析,得出細(xì)分控制的基本模型是最具實用價值的。本文對步進(jìn)電機(jī)控制的智能化、數(shù)字化改造,展現(xiàn)了軟硬件結(jié)合優(yōu)化傳統(tǒng)產(chǎn)業(yè)和產(chǎn)品的發(fā)展途徑。