【導讀】步進電機是將電脈沖信號變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機。由于其價格低廉,可控性強的特點使得其在自動控制領域獲得廣泛應用。但是由于其控制電路復雜,控制精度低,不利于人機交互,又有許多不便性。今天給大家?guī)砘贔PGA的步進電機控制系統(tǒng),一定會幫大家解決上述問題。
1 步進電機細分控制原理
步進電機的工作原理如圖1所示,對四相步進電機而言,按照一定的順序對各相繞組通電即可控制電機的轉動。例如,當開關B與電源導通而其他開關斷開時,在磁力線的作用下B相磁極和轉子0,3號對齊;當開關C與電源導通而其他開關斷開時,在磁力線的作用下,轉子轉動,1,4號齒和C相繞組的磁極對齊。同理,依次向A,B,C,D四相繞組供電,電機就會沿著A,B,C,D方向轉動。
為了理解步進電機的不足,還需了解步進電機的步距角。步距角的定義為:
式中:km 為步進電機的工作節(jié)拍系數;zn 為齒數。
受步進電機的拍數和轉子齒數的限制,步進電機的步距角不可能非常小,即每一單步控制的轉動量相對比較大,在許多精密控制領域,步進電機的功能達不到使用要求。因此為了提高步進電機的分辨率,需采用細分控制技術對其進行優(yōu)化控制。細分控制類似于插值,其基本原理就是將電機繞組中的電流細分,在兩個控制電流之間增加許多中間狀態(tài)的電流,使得步進電機可以工作在許多中間的狀態(tài),從而使得步進電機的每一步得到細分,其步距角更小,系統(tǒng)的分辨得到提高,性能得到優(yōu)化。而細分控制通常有兩種細分方式,一是使電流按線性規(guī)律變化來細分,二是按等步距角細分。為了比較兩種細分方式的優(yōu)劣,還需要了解步進電機工作時的靜態(tài)距角特征。
式中:M 為電磁轉矩;Mk 為一定繞組電流時的最大靜轉矩;對于反應式步進電機,當不考慮磁路飽和時,可以認為Mk 與電流i 的平方成正比,負號表示電磁轉矩與定子磁場之間為楞次關系,即電磁轉矩總是阻礙轉子離開磁場最小磁阻的位置。
現以三相反應式步進電機來分析兩種細分方式。
三相反應式步進電機三相繞組分別通電時,其矩角特性為彼此相差120°電角度的正弦曲線,如圖2所示。
當A、B兩相通電時,設電流分別為iA、iB,相應的靜轉矩為MA、MB,忽略磁路之間的影響,其合成矩角特性為二者相疊加,如式(3)所示:
由公式(3)和(4)可知,當步進電機的電流按照線性規(guī)律變化時,其距特性如圖3(a)所示。由于距角特征幅值因通電電流的不同而各不相等,因此各細分步的步距角就不能保持一致。理想的細分電流波形應使各通電狀態(tài)下的步距角特性的幅值、形狀均相等,如圖3(b)所示。
因此電流按線性規(guī)律變化的細分方式使得細分后的每一小步的控制精度不相等。而如果按等步距角細分,則細分后的步距角為:
如果在控制電路中嚴格按照電流分配系數來控制各個通電狀態(tài),則能夠保證細分后的每一小步的控制精度相等。因此本文采用按等步距角的細分方式。
[page]
2 步進電機細分控制硬件的實現
為了實現步進電機的等步距角細分,本文采用脈沖寬度調制(PWM)的方式來實現。PWM 就是對逆變電路開關器件的通斷進行控制,使輸出端得到一系列幅值相等的脈沖。這些脈沖綜合在一起即可形成等效的正弦波、方波等預期的波形。而等效輸出波形的質量與脈沖的步距有關,即同一時刻輸出的PWM路數越多,則脈沖密度越高,則輸出等效波形的質量就越好。而傳統(tǒng)的步進電機控制系統(tǒng)多采用單片機作為微處理器,而單片機是單線程的微處理器,同一時刻只能執(zhí)行一條命令,也即是同一時刻只能產生一路PWM信號,因此輸出波形質量較差,從而導致步進電機的控制精度偏低。而FPGA的運算速度遠遠高于單片機的運算速度,且通過模塊化設計可以使其處于多線程工作模式,即可以同時產生多路PWM信號,提高了輸出等效波形的質量。本文中選取Al-tera公司2004年推出了新款Cyclone Ⅱ系列FPGA器件作為開發(fā)平臺,同時輸出8路PWM信號,控制實現四相步進電機的16細分。同時利用串口模塊與上位機相連以實現人機交互。系統(tǒng)原理圖如圖4 所示。
該控制系統(tǒng)中采用總線控制方式,利用片選信號依次控制4路PWM鎖存器的通斷,這樣可以簡化硬件電路和軟件設計。以A相控制為例,當片選A為高電平而其他幾路片選為低時,A 路PWM 鎖存器工作而其他幾路PWM鎖存器休眠。根據公式(8)計算出細分的電流分配系數,進而轉化成控制PWM信號的占空比,同時開通幾路鎖存器,通過鎖存器輸出驅動步進電機。
3 步進電機細分控制軟件的設計
本設計中采用Quartus Ⅱ軟件開發(fā)平臺和Verilog設計語言進行控制軟件的設計。系統(tǒng)中需要在FPGA 內利用線性反饋移位寄存器(Linear Feedback Shift Regis-ters)來實現隨機數的產生,控制步進電機的隨機取樣轉動,本系統(tǒng)中最核心的PWM控制模塊設計如下:
4 系統(tǒng)測試
系統(tǒng)設計完成后,對整個系統(tǒng)進行測試和檢驗。
PWM 控制系統(tǒng)的仿真結果如圖5 所示,觀察仿真輸出波形可知控制脈沖輸出正確。將程序固化到FPGA 硬件中之后,將被控的四相反應式步進電機連接上,并通過串口將FPGA與上位機相連,由上位機輸出命令控制步進電機的轉速、轉向、轉動角度等。
5 結語
本設計利用FPGA控制速度快、可靠性強等特點,利用等步距細分原理和PWM控制技術,設計出了高靈活性、可人機交互、分辨率高的步進電機控制系統(tǒng)。而最終的結果表明,該控制系統(tǒng)實現了步進電機等步距角的16級細分,并通過人機交互實現了任意改變各相順序的主要技術指標,控制精度高,可靠性強。從而證實了該方案的可行性。
相關閱讀:
Xilinx成熟的7系列FPGA生態(tài)系統(tǒng)亮相X-fest 2012
菜鳥必看!學習FPGA常見的四大誤區(qū)
Altera推出10代FPGA和SoC,最高節(jié)省70%功耗