周 磊,成開友
(鹽城工學院電氣工程學院,江蘇鹽城224051)
步進電機在各種自動化控制系統和精密機械等領域應用廣泛,其本身接受數字脈沖控制。常見的四相步進電機細分控制主要是通過控制步進電機相電流按階梯波變化來實現的。這種細分控制方法存在步距角不均勻、步進電機轉矩不是恒定變化等缺點。為了克服這種控制方法的缺點,只要同時控制四相步進電機的兩相電流分按正余弦規律變化即可。設計在FPGA中構建了一個SOPC(Programming System On Chip,片上可編程系統)系統實現了該改進的控制算法。
SOPC技術做為一種SOC(System on Chip,片上系統)解決方案,以其特有的軟硬件系統可裁減、實現容易、成本低、集成度高等特點顯現了強大的生命力。采用SOPC技術來實現細分控制信號輸出不僅提高了步進電機控制系統的集成度和可靠性,而且大大降低了控制系統的成本,具有一定的商業推廣價值。
常見的步進電機的細分驅動主要是通過控制步進電機的相電流按階梯變化來實現的,如圖1所示為相電流階梯變化細分控制。相電流階梯變化時產生的合成的旋轉磁場的大小變化,與步進電機的轉矩成正比。由于旋轉磁場矢量的大小不是一個恒定值,所以步進電機的轉矩也不是一個恒定值;另外相電流的線性增加和減少使得步進電機的步進角亦不是恒定的。

圖1 相電流階梯變化細分控制
如圖2所示為兩相電流正余弦變化的細分控制。由圖2可以看出,只要同時控制步進電機的兩相輸入電流分別按正余弦規律變化,則合成磁場的大小變化是恒幅的,且步進角是恒定的。圖1、2只畫出了四分之一周的矢量圖,其余四分之三周的與此相似。系統只要輸出兩路按正余弦規律變化的電流波形,然后通過一個波形分配器分配給相應的相線圈即可。

圖2 兩相電流正余弦變化的細分控制
為了實現圖2所示的細分驅動,要求四相步進電機A、B兩相的激勵電流iA、iB分別按公式(1)、(2)變化,θ為磁場矢量和B相磁場矢量之間的夾角,即:

對步進電機一般都是通過PWM電壓脈沖來控制的。相線圈對輸入的PWM電壓波形具有平滑作用,即線圈的輸入電流與PWM波形脈沖的面積成正比。因此,要想得到公式(1)、(2)的相電流,就要求A、B兩相的PWM的矩形脈沖面積按正余弦規律變化。PWM波形是幅值不變的矩形脈沖,因此只要控制PWM波形的占空比按照正余弦規律變化即可。在實際應用中需要根據具體的步進電機對占空比數據進行微調。
由圖2可知,系統需要同時輸出兩路PWM波形,因此系統的硬件部分由NiosⅡ軟核CPU配以相應的輸入和顯示接口IP核,然后添加兩個基于Avalon總線接口的VHDL編寫的PWM組件IP核構成,如圖3所示。系統的頂層視圖如圖4所示,主要由鎖相環模塊pll_do、niosⅡCPU模塊和波形分配器模塊pha_cha_con組成。
系統的軟件部分采用可移植、固化和裁減的占先式實時多任務嵌入式系統—MicroC/OSⅡ。綜合考慮了PWM波形的頻率對步進電機運行的影響以及采樣位數和深度對PWM波形頻率的影響,折衷確定了PWM占空比采樣深度為15位,四分之一周期的正弦波采樣點數為513點,單區間磁場矢量細分步數為512步,那么轉子齒數為5個的四相步進電機最大的細分步數可以確定為10240步。

fPWM為PWM波形的頻率;fclk為NIosⅡ系統的時鐘頻率,設定為100 MHz;CR為PWM周期寄存器值,由于采樣深度為15位,相應的采樣最大值為215-1,故而CR的值就設定為采樣最大值。PWM波形占空比數據按照公式(3)進行采樣,PWM波形頻率按照公式(5)計算約為3.05 kHz。
系統以全局變量sin_cos[513] 來存儲PWM占空比正弦數據,余弦的數據可根據公式(4)來得到。系統編寫了5個進程:初始化進程initialize_task;鍵盤處理進程key_do;步進間隔時間修改進程time_interval_do;占空比取值步數修改進程step_change;修改PWM組件占空比寄存器進程pwm_do_fix。郵箱mail_send_pwm_date負責 key_do進程和step_change進程之間的通信,mail_subdivide_tran郵箱負責step_change進程和pwm_do_fix進程之間的通信。
如圖5所示為320步細分時步進電機連續運行的ModelSim仿真結果。A相和B相的PWM波形完全符合公式(1)、(2)的要求。
系統最終實現了基于SOPC的四相步進電機“兩相電流正余弦變化的細分控制”以及 10240、5120、2560、1280、640、320、160、80、40、20 步可調,并實現最大可調步進間隔時間為59分59秒999毫秒。而經過簡單的調整,利用同樣的思路完全可以實現對任意步進電機細分控制。

圖4 系統頂層視圖

圖5 細分步數為320步時步進電機連續運行的仿真波形
[1] 潘 松,黃繼業.EDA技術與VHDL[M] .北京:清華大學出版社,2007:357-365.
[2] 潘 松,黃繼業等.SOPC技術使用教程[M] .北京:清華大學出版社,2004.
[3] JEAN J.LABROSSE(著),邵貝貝(譯).μC/OS-II-源碼公開的實時嵌入式操作系統[M] .北京:中國電力出版社,2001.
[4] 郭書軍等.嵌入式處理器原理及應用-Nios系統設計和C程序設計[M] .北京:清華大學出版社,2007.
[5] 王宗培.步進電動機及其控制系統[M] .哈爾濱:哈爾濱工業大學出版社,1984.