基于FPGA的步進(jìn)電機(jī)優(yōu)化控制
摘要:隨著控制技術(shù)以及步進(jìn)電機(jī)(Stepper Motor)的發(fā)展,現(xiàn)代工業(yè)的許多領(lǐng)域?qū)Σ竭M(jìn)電機(jī)的需求也越來越大。但是傳統(tǒng)的步進(jìn)電機(jī)控制系統(tǒng)多以單片機(jī)等微處理器為基礎(chǔ),往往具有控制電路體積大、控制效率低、穩(wěn)定性差等缺點。利用FPGA控制速度快、可靠性強(qiáng)等特點,利用等步距細(xì)分原理和PWM控制技術(shù),設(shè)計出了高靈活性、可人機(jī)交互、分辨率高的步進(jìn)電機(jī)控制系統(tǒng)。仿真和實驗證明,該控制系統(tǒng)高效可靠。
0 引言
步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機(jī),輸入脈沖總數(shù)控制步進(jìn)電機(jī)的總旋轉(zhuǎn)角度,電機(jī)的速度由每秒輸入脈沖數(shù)目所決定,因此易實現(xiàn)機(jī)械位置的精準(zhǔn)控制。而且由于步進(jìn)電機(jī)價格低廉、可控性強(qiáng)等特點,使其在數(shù)控機(jī)床傳送控制等自動控制領(lǐng)域中得到了廣泛的應(yīng)用。但隨著技術(shù)的發(fā)展以及企業(yè)生產(chǎn)的要求,步進(jìn)電機(jī)傳統(tǒng)的以單片機(jī)等微處理器為核心單元的控制系統(tǒng)暴露出了如下缺點:控制策略單一不利于實現(xiàn)人機(jī)交互,而且控制電路復(fù)雜、控制精度低、生產(chǎn)成本高,系統(tǒng)穩(wěn)定性不夠,步進(jìn)分辨率低、缺乏靈活性,低頻時的振蕩和噪聲大,而且受步進(jìn)電機(jī)機(jī)械結(jié)構(gòu)和空間的限制,步進(jìn)電機(jī)的步距角不可能無限的小,難以滿足高精度開環(huán)控制的需求。由于FPGA編程方式簡單,開發(fā)周期短,可靠性高,使其在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛。本文在總結(jié)FPGA的分頻技術(shù)以及步進(jìn)電機(jī)細(xì)分控制原理的基礎(chǔ)上,通過PWM控制技術(shù)來提高步進(jìn)電機(jī)的分辨率,仿真和實驗表明,本文采取的措施有效地實現(xiàn)步進(jìn)電機(jī)控制的高效、精確控制。
1 步進(jìn)電機(jī)細(xì)分控制原理
步進(jìn)電機(jī)的工作原理如圖1所示,對四相步進(jìn)電機(jī)而言,按照一定的順序?qū)Ω飨嗬@組通電即可控制電機(jī)的轉(zhuǎn)動。例如,當(dāng)開關(guān)B與電源導(dǎo)通而其他開關(guān)斷開時,在磁力線的作用下B相磁極和轉(zhuǎn)子0,3號對齊;當(dāng)開關(guān)C與電源導(dǎo)通而其他開關(guān)斷開時,在磁力線的作用下,轉(zhuǎn)子轉(zhuǎn)動,1,4號齒和C相繞組的磁極對齊。同理,依次向A,B,C,D四相繞組供電,電機(jī)就會沿著A,B,C,D方向轉(zhuǎn)動。
為了理解步進(jìn)電機(jī)的不足,還需了解步進(jìn)電機(jī)的步距角。步距角的定義為:
θ步距=360°/(kmzn) (1)
式中:km為步進(jìn)電機(jī)的工作節(jié)拍系數(shù);zn為齒數(shù)。
受步進(jìn)電機(jī)的拍數(shù)和轉(zhuǎn)子齒數(shù)的限制,步進(jìn)電機(jī)的步距角不可能非常小,即每一單步控制的轉(zhuǎn)動量相對比較大,在許多精密控制領(lǐng)域,步進(jìn)電機(jī)的功能達(dá)不到使用要求。因此為了提高步進(jìn)電機(jī)的分辨率,需采用細(xì)分控制技術(shù)對其進(jìn)行優(yōu)化控制。細(xì)分控制類似于插值,其基
本原理就是將電機(jī)繞組中的電流細(xì)分,在兩個控制電流之間增加許多中間狀態(tài)的電流,使得步進(jìn)電機(jī)可以工作在許多中間的狀態(tài),從而使得步進(jìn)電機(jī)的每一步得到細(xì)分,其步距角更小,系統(tǒng)的分辨得到提高,性能得到優(yōu)化。而細(xì)分控制通常有兩種細(xì)分方式,一是使電流按線性規(guī)律變化來細(xì)分,二是按等步距角細(xì)分。為了比較兩種細(xì)分方式的優(yōu)劣,還需要了解步進(jìn)電機(jī)工作時的靜態(tài)距角特征。
M=-Mksinθ=-kti2sinθ (2)
式中:M為電磁轉(zhuǎn)矩;Mk為一定繞組電流時的最大靜轉(zhuǎn)矩;對于反應(yīng)式步進(jìn)電機(jī),當(dāng)不考慮磁路飽和時,可以認(rèn)為Mk與電流i的平方成正比,負(fù)號表示電磁轉(zhuǎn)矩與定子磁場之間為楞次關(guān)系,即電磁轉(zhuǎn)矩總是阻礙轉(zhuǎn)子離開磁場最小磁阻的位置。
現(xiàn)以三相反應(yīng)式步進(jìn)電機(jī)來分析兩種細(xì)分方式。三相反應(yīng)式步進(jìn)電機(jī)三相繞組分別通電時,其矩角特性為彼此相差120°電角度的正弦曲線,如圖2所示。
當(dāng)A、B兩相通電時,設(shè)電流分別為iA、iB,相應(yīng)的靜轉(zhuǎn)矩為MA、MB,忽略磁路之間的影響,其合成矩角特性為二者相疊加,如式(3)所示:
由公式(3)和(4)可知,當(dāng)步進(jìn)電機(jī)的電流按照線性規(guī)律變化時,其距特性如圖3(a)所示。由于距角特征幅值因通電電流的不同而各不相等,因此各細(xì)分步的步距角就不能保持一致。理想的細(xì)分電流波形應(yīng)使各通電狀態(tài)下的步距角特性的幅值、形狀均相等,如圖3(b)所示。
因此電流按線性規(guī)律變化的細(xì)分方式使得細(xì)分后的每一小步的控制精度不相等。而如果按等步距角細(xì)分,則細(xì)分后的步距角為:
如果在控制電路中嚴(yán)格按照電流分配系數(shù)來控制各個通電狀態(tài),則能夠保證細(xì)分后的每一小步的控制精度相等。因此本文采用按等步距角的細(xì)分方式。
2 步進(jìn)電機(jī)細(xì)分控制硬件的實現(xiàn)
為了實現(xiàn)步進(jìn)電機(jī)的等步距角細(xì)分,本文采用脈沖寬度調(diào)制(PWM)的方式來實現(xiàn)。PWM就是對逆變電路開關(guān)器件的通斷進(jìn)行控制,使輸出端得到一系列幅值相等的脈沖。這些脈沖綜合在一起即可形成等效的正弦波、方波等預(yù)期的波形。而等效輸出波形的質(zhì)量與脈沖的步距有關(guān),即同一時刻輸出的PWM路數(shù)越多,則脈沖密度越高,則輸出等效波形的質(zhì)量就越好。而傳統(tǒng)的步進(jìn)電機(jī)控制系統(tǒng)多采用單片機(jī)作為微處理器,而單片機(jī)是單線程的微處理器,同一時刻只能執(zhí)行一條命令,也即是同一時刻只能產(chǎn)生一路PWM信號,因此輸出波形質(zhì)量較差,從而導(dǎo)致步進(jìn)電機(jī)的控制精度偏低。而FPGA的運算速度遠(yuǎn)遠(yuǎn)高于單片機(jī)的運算速度,且通過模塊化設(shè)計可以使其處于多線程工作模式,即可以同時產(chǎn)生多路PWM信號,提高了輸出等效波形的質(zhì)量。本文中選取Altera公司2004年推出了新款CycloneⅡ系列FPGA器件作為開發(fā)平臺,同時輸出8路PWM信號,控制實現(xiàn)四相步進(jìn)電機(jī)的16細(xì)分。同時利用串口模塊與上位機(jī)相連以實現(xiàn)人機(jī)交互。系統(tǒng)原理圖如圖4所示。
該控制系統(tǒng)中采用總線控制方式,利用片選信號依次控制4路PWM鎖存器的通斷,這樣可以簡化硬件電路和軟件設(shè)計。以A相控制為例,當(dāng)片選A為高電平而其他幾路片選為低時,A路PWM鎖存器工作而其他幾路PWM鎖存器休眠。根據(jù)公式(8)計算出細(xì)分的電流分配系數(shù),進(jìn)而轉(zhuǎn)化成控制PWM信號的占空比,同時開通幾路鎖存器,通過鎖存器輸出驅(qū)動步進(jìn)電機(jī)。
3 步進(jìn)電機(jī)細(xì)分控制軟件的設(shè)計
本設(shè)計中采用QuartusⅡ軟件開發(fā)平臺和Verilog設(shè)計語言進(jìn)行控制軟件的設(shè)計。系統(tǒng)中需要在FPGA內(nèi)利用線性反饋移位寄存器(Linear Feedback Shift Registers)來實現(xiàn)隨機(jī)數(shù)的產(chǎn)生,控制步進(jìn)電機(jī)的隨機(jī)取樣轉(zhuǎn)動,本系統(tǒng)中最核心的PWM控制模塊設(shè)計如下:
4 系統(tǒng)測試
系統(tǒng)設(shè)計完成后,對整個系統(tǒng)進(jìn)行測試和檢驗。PWM控制系統(tǒng)的仿真結(jié)果如圖5所示,觀察仿真輸出波形可知控制脈沖輸出正確。將程序固化到FPGA硬件中之后,將被控的四相反應(yīng)式步進(jìn)電機(jī)連接上,并通過串口將FPGA與上位機(jī)相連,由上位機(jī)輸出命令控制步進(jìn)電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向、轉(zhuǎn)動角度等。
5 結(jié)語
驗證結(jié)果表明,該控制系統(tǒng)實現(xiàn)了步進(jìn)電機(jī)等步距角的16級細(xì)分,并通過人機(jī)交互實現(xiàn)了任意改變各相順序的主要技術(shù)指標(biāo),控制精度高,可靠性強(qiáng)。