摘 要: 針對永磁同步電機損耗少、效率高等特點,設計了一種基于片上可編程系統的永磁同步電機控制器,以FPGA為載體,Nios Ⅱ為中央處理器,數據采集接口作為片上外圍設備,并使用DSP Builder工具實現基于模型的空間矢量控制算法模塊,組成完整的片上系統,實現電流、速度和位置的精確控制。工程實踐結果表明,基于SoPC技術的永磁同步電機控制器能夠達到高精度、快響應的穩定控制效果。
關鍵詞: 控制器; 永磁同步電機; 片上可編程系統; 空間矢量控制
中圖分類號: TN911?34; TM386 文獻標識碼: A 文章編號: 1004?373X(2013)22?0160?04
0 引 言
隨著電子電力技術、微電子技術以及稀土永磁材料的快速發展,永磁同步電機(Permanent Magnet Synchronous Motor,PMSM)逐步成為工業控制領域中一種常用的伺服控制電機。由于它采用了無刷結構,可以提高電動機運行的可靠性;又因其無需勵磁電流,沒有勵磁損耗,提高了電動機的效率和功率密度[1]。它在很多應用場合可以實現高精度、高效率的控制效果。
片上可編程系統(System on a Programmable Chip,SoPC)是近年來熱門的微電子應用技術,具有可編程的片上系統特點,設計方式靈活多樣。基于FPGA的電機控制器較傳統的基于DSP或單片機的控制器具有設計周期短、移植性好、接口靈活、運算速度快、控制精度高等優點[2]。
本設計使用FPGA作為主控制器,完成除數據采集等外圍接口邏輯外,使用了Altera芯片自帶的嵌入式軟核Nios Ⅱ,實現伺服控制系統位置和速度的控制算法。同時使用DSP Builder工具,生成基于模型的電流環控制算法模塊,實現了三閉環控制的永磁同步電機的控制器。
1 空間矢量算法原理及系統整體設計
空間矢量控制(Field Oriented Control,FOC)的基本思想是:將磁場定向坐標通過矢量變換,把定子三相交流電流分解成兩個獨立、相互垂直的勵磁電流分量iq和轉矩電流分量id,分別進行調節后得到電壓控制量,然后通過SVPWM脈寬序列來控制逆變器的開關模式,從而達到利用六方向電壓矢量合成的方式,來追蹤旋轉的電壓空間矢量目的[3],以獲得像直流電動機一樣良好的動態特性。
圖1是PMSM矢量控制基本原理。
由圖1可以看出,電機控制系統包括三部分功能[4]:
(1)調節環節,包括位置、速度和電流控制模塊;
(2)數據采集環節,包括位置、速度及相電流檢測;
(3)逆變器模塊,將直流電通過SVPWM電壓調制得到控制電機的三相交流電。
本文根據FOC矢量控制原理,設計了基于SoPC技術的永磁同步電機控制器,電機控制系統整體框圖如圖2所示。圖中,SoPC系統在一塊FPGA上實現,Nios Ⅱ作為系統的主處理器完成系統參數的配置、位置和速度的控制算法。
傳統的PMSM電機控制器大都采用DSP+FPGA的架構,DSP以其能處理大量浮點運算的優勢用來實現復雜的控制算法,FPGA則以其速度快的優勢做一些數據管理、接口邏輯的處理。這種架構下的系統雖然也能實現PMSM電機的控制,但是有幾點不足之處:
(1)需要使用兩塊處理器芯片,增加了硬件成本及硬件電路板布局布線難度;
(2)FPGA與DSP之間數據通信接口比較復雜;
(3)對于多軸向的電機控制系統,DSP很難達到像單軸電機同樣的控制效果。
而基于SoPC技術的控制器,用Nios Ⅱ代替DSP,可以有效解決上述問題。
2 SoPC系統的組成與實現
本文使用了Altera公司的FPGA芯片EP3SE110F78
0I3,根據系統功能需求將控制器進行功能劃分,主要由外圍接口控制邏輯、Nios Ⅱ處理器、FOC電流環控制模塊組成,下面分別介紹幾個模塊的功能實現。
2.1 外圍接口控制邏輯
為了完成永磁同步電機的閉環控制,需要采集位置、速度、相電流信息,本文采用了旋轉變壓器及配套的解算模塊完成位置信息的采集,采用AD7890完成速度的采集,通過AD7476實現相電流的采集,用VHDL語言完成幾個采集芯片的接口控制邏輯。
2.2 Nios Ⅱ處理器
本設計使用的FPGA芯片內嵌Nios Ⅱ軟核,使用Altera公司SoPC Builder開發工具可方便的根據系統需求定制Nios Ⅱ處理器以及片上外設[5]。本設計添加了搭建軟核系統所必需的幾個模塊,并且使用普通PIO作為與外部模塊進行數據通信的接口。
Nios Ⅱ IDE是Nios Ⅱ處理器的軟件開發環境,在此環境下可方便地編寫基于C語言的軟件程序。本設計軟件需要完成的功能主要包括:電流環參數配置、位置控制算法、速度控制算法、產生電流環的定時啟動信號。
2.3 FOC控制模塊
由矢量控制原理可知,電流環控制涉及大量運算,包括Park變換、Clarke變換、Park逆變換等,用VHDL語言是無法實現這么復雜的算術運算,若使用Nios Ⅱ做算法處理,又會因運算時間過長影響了實時性,無法達到較好的電流環控制效果。因此使用DSP Builder工具搭建基于模型的FOC算法模塊,頂層文件如圖3所示。
模型包括了參數配置接口、各種變換、PI調節以及SVPWM生成模塊,實現完整的電流環控制算法。將模型作為一個模塊加入到SoPC系統中,模型的參數及啟動信號由Nios Ⅱ處理器通過PIO端口進行配置。與傳統DSP實現的FOC算法相比,本設計生成的FOC模型是由組合邏輯構成的,有更短的運算時間,二者運算時間的比較如圖4(a)所示。
從圖4(a)可以看出,基于模型的電流環只要一個運行周期10 μs即可完成,而DSP是順序執行的,控制周期較長,運行一次電流環大約需要50 μs(DSP主頻為150 MHz)。因此基于模型的方式具有更高的執行效率,保證了電流環的控制效果。
另外,當系統同時控制多路電機時,基于模型的方式優勢會更明顯,二者運行時間比較如圖4(b)所以。從圖中可以看出,DSP需要順序執行各個電流環,運行n軸電機需要n個的電流運行周期,運算時間加長必然導致控制效果變差。而基于模型的方式下幾個電流環可以同時運行,運行完多軸電機的電流環只需要一個運行周期,與單軸電機控制效果無差別。因此,當實現多軸向電機控制時,SoPC系統中只需添加相應數量的FOC模型,同時Nios Ⅱ處理器配合給出電流環參考值,幾個電流環并行運行,大幅度提高了多軸電機控制的精度。
3 系統工作流程
系統軟件工作由Nios Ⅱ完成,包括配置參數、完成位置和速度控制算法,以及產生啟動電流環的中斷信號,系統軟件工作流程圖如圖5所示。
系統的工作過程為:上位機通過串行接口發送控制命令,并給出電機的轉速和目標位置,FPGA解析接收到的命令信息,并將這些信息傳遞到Nios Ⅱ 處理器,同時傳遞到處理器的信息還包括FPGA采集到的位置、速度反饋值,處理器根據目標值和反饋值完成位置及速度的調節,并最終輸出電流的參考值。FOC模塊利用相電流反饋值與參考值進行電流環調節并輸出SVPWM調制信號驅動功率管,從而控制電機按照命令執行相應的動作。
4 實驗結果分析
在搭建的完整PMSM伺服系統環境下進行控制器功能的驗證,首先驗證電流環的控制效果,給定電流環參考值為0.7 A,反饋的電流值曲線如圖6(a)所示,電流曲線較平滑;圖6(b)是采集到的電機相電流Iu、Iv的曲線圖。
給定速度參考值來驗證速度環,以45 (°)/s勻速運行,采集到速度反饋值曲線如圖7所示,速度曲線較平滑。
最后驗證位置環,此時位置、速度、電流三個環協同工作,上位機給定命令是:在±30°之間以15 (°)/s往復運動,采集到位置反饋值、指令與實測的絕對偏差曲線如圖8所示。由圖8(a)可以看出,電機不僅能穩定運行,并且位置指令和實測值兩條曲線幾乎重合,圖8(b)是位置指令和實測值之間的誤差,穩態跟蹤誤差小于0.2°。由此可見,基于SoPC設計的PMSM控制器具有較高的控制精度和很好的穩定性。
5 結 論
本文基于SoPC技術設計實現了PMSM控制器,以FPGA為載體,Nios Ⅱ為中央處理器,數據采集接口作為片上外圍設備,并使用DSP Builder工具實現基于模型的空間矢量控制算法模塊,組成完整的片上系統,實現電流、速度和位置的精確控制,達到了精度高、穩定性好的控制效果,尤其在多軸電機控制系統中效果會更為明顯,對多軸向數字化永磁同步電機控制研究具有重大意義。該設計已成功應用在某型新研雷達的伺服控制系統上,經過長時間的試驗試飛表明,該設計能夠對雷達天線系統的運行角度、掃描速度和位置實施精確控制,滿足工程實踐要求。
參考文獻
[1] 陳伯時.電力拖動自動控制系統[M].3版.北京:機械工業出版社,2005.
[2] 黃曉東.基于FPGA的永磁電機控制系統的研究[D].杭州:浙江大學,2010.
[3] HADIOUCHE D, RAZIK H, REZZOUG A. Study and simulation of space vector PWM control of double?star induction motors [C]// CIEP 2000 VII IEEE International Power Electronics Congress. Acapulco: IEEE, 2000: 42?47.
[4] 余佩倡,吳俊,周文武.永磁同步電機矢量控制系統設計[J].電力電子技術,2011,45(11):105?107.
[5] 李蘭英.Nios Ⅱ嵌入式軟核SoPC設計原理及應用[M].北京:北京航空航天大學出版社,2008.
[6] 姚國國.基于SoPC技術的數據采集系統設計[J].電子科技,2008(10):68?71.