禹昌宏,馬國進,高明煜,鐘開鋒
(杭州電子科技大學,杭州 310018)
?
基于FPGA的三軸交流伺服系統(tǒng)電流環(huán)設計
禹昌宏,馬國進,高明煜,鐘開鋒
(杭州電子科技大學,杭州 310018)
電流環(huán)帶寬拓展是設計高性能伺服系統(tǒng)的關(guān)鍵問題之一。電流環(huán)的帶寬受到開關(guān)頻率、傳感器采樣延時和主控芯片計算延時等影響。受限于種種因素,功率管的開關(guān)頻率很難提高,采取克服時延的辦法解決電流環(huán)帶寬拓展的問題。首先建立永磁同步電機的數(shù)學模型,提出一種基于FPGA和微控制器STM32的三軸伺服驅(qū)動器的硬件方案,然后給出電流環(huán)中的部分子模塊的設計要點,并詳細闡述了各模塊在執(zhí)行時序上的規(guī)劃方法。實驗結(jié)果表明,所設計的三軸伺服系統(tǒng)電流環(huán)帶寬頻率均能達到1.2 kHz左右,并且系統(tǒng)具有良好的調(diào)速響應能力。
三軸交流伺服系統(tǒng);FPGA;電流環(huán)帶寬;永磁同步電機
交流伺服系統(tǒng)一般由位置環(huán)、速度環(huán)和電流環(huán)構(gòu)成,這三環(huán)是串聯(lián)的關(guān)系,其中電流環(huán)是內(nèi)環(huán),調(diào)節(jié)頻率也最高,其響應帶寬直接制約著速度環(huán)和位置環(huán)的性能表現(xiàn)。因此,設計高性能的電流環(huán)往往著重于拓寬電流環(huán)帶寬。常規(guī)的電流環(huán)設計方案中,每個PWM載波周期內(nèi)采樣一次電流信號再經(jīng)過PI控制器進行調(diào)節(jié),然后在下個PWM周期開始時刻更新占空比,這種方法實現(xiàn)簡單,對微控制器的要求也最低,但是電流環(huán)帶寬頻率一般不超過500 Hz。拓展電流環(huán)帶寬的方法主要有兩種:一種是提高PWM載波頻率;另一種方法是減小主控芯片的計算時延和傳感器的信號采樣時延。提高開關(guān)頻率會帶來功率管損耗的上升和成本的增加,故工業(yè)伺服系統(tǒng)的開關(guān)頻率大都仍固定為10 kHz左右,而設法減小時延的策略則得到研究和重視。文獻[1]提出通過限制逆變器輸出電壓的幅度以保證每次電流環(huán)計算完成時能夠立即更新PWM占空比,這種方法理論上可以減小一個PWM周期的時間延遲,可以明顯擴展逆變器電流環(huán)帶寬,但由于DSP的計算時延較大,使這種方案在使用DSP作為主控芯片時,只能應用于較低開關(guān)頻率的場合。文獻[2]采用在每個PWM周期進行雙次電流采樣雙更新PWM占空比的策略,較于常規(guī)方法而言,可以減少1/2個PWM周期的時延,因此其所設計仿真實驗中電流環(huán)帶寬能夠提高到770 Hz左右。文獻[3-4]等基于FPGA實現(xiàn)了單個載波周期內(nèi)實現(xiàn)雙次采樣雙占空比即時更新的辦法,將計算時延和電流采樣時延有效控制到最小,因而取得了較好的控制效果,所設計的電流環(huán)帶寬均在1 kHz以上。
本文所述系統(tǒng)中,在單片F(xiàn)PGA內(nèi)設計三個同樣但彼此獨立的電流環(huán)模塊,使用霍爾電流傳感器和微控制器STM32上的ADC外設進行電流采樣,獲取的電流數(shù)據(jù)通過并行總線發(fā)送給FPGA進行電流環(huán)計算和調(diào)節(jié),由于FPGA的高速并行計算能力,一次同時調(diào)節(jié)三軸電機電流的純計算時間僅為250 ns,這使得所設計的三軸伺服系統(tǒng)內(nèi)各電流環(huán)帶寬得到了顯著擴展,同時各軸均有著良好的調(diào)速響應性能。
永磁同步電機是一個多變量、強耦合、非線性系統(tǒng),為了方便建模分析,假設:
(1)定子三相繞組在空間對稱分布,所產(chǎn)生的磁動勢沿氣隙圓周按正弦分布,并忽略磁場的高次諧波分量;
(2)忽略磁飽和及鐵心損耗,不計磁滯渦流等影響;
(3)電機定子繞組反電勢為正弦波,轉(zhuǎn)子與定子繞組之間的互感是轉(zhuǎn)子位置角的正弦函數(shù)。
則在同步旋轉(zhuǎn)d-q坐標系下,永磁同步電機定子電壓方程:
(1)
(2)
式中:ud,uq為定子d,q軸電壓;id,iq為定子d,q軸電流;R為定子電阻;Ld,Lq為定子d;q軸電感;ωe為轉(zhuǎn)子的電角速度;ψf為轉(zhuǎn)子永磁體產(chǎn)生的磁鏈。對于永磁體表面貼裝式同步電機(SMPMSM),通常采用id=0的控制方法,并控制iq跟蹤速度環(huán)的輸出或者給定目標電流值,由于q軸電流與電機力矩成固定系數(shù)的比例關(guān)系,因此就能實現(xiàn)對電機力矩的控制。圖1為永磁同步電機矢量控制框圖。
圖1 永磁同步電機矢量控制框圖
2.1 系統(tǒng)硬件方案
本文所述系統(tǒng)硬件方案由一塊FPGA+STM32的主控板,三塊逆變橋功率板、三塊控制接口板、電源系統(tǒng)板和一塊橋接用的母板聯(lián)合組成。主控板采用Altera的CycloneIIIFPGA和微控制器STM32,其中FPGA作為主控邏輯單元,片內(nèi)完成了三個電機的位置環(huán)、速度環(huán)和電流環(huán)的所有計算和控制部分工作,STM32則承擔ADC轉(zhuǎn)換和參數(shù)設置保存等功能,F(xiàn)PGA與STM32之間采用并口總線的方式進行數(shù)據(jù)交互。電流采樣部分使用霍爾電流傳感器并經(jīng)過運放構(gòu)成的信號調(diào)理電路以后接到STM32的ADC外設。系統(tǒng)硬件框圖如圖2所示。
圖2 系統(tǒng)硬件框圖
2.2 軟件設計關(guān)鍵
電流環(huán)中比較關(guān)鍵的子模塊主要有:絕對位置解碼、電流采集、PI調(diào)節(jié)器、SVPWM生成、時序規(guī)劃等。這些子模塊均采用VerilogHDL進行描述。
2.2.1 絕對位置解碼
本系統(tǒng)中電機采用Tamagawa的17bit單回轉(zhuǎn)、16bit多回轉(zhuǎn)絕對值編碼器TS5667N2300,根據(jù)其串行通訊協(xié)議[5]解析出轉(zhuǎn)子位置數(shù)據(jù),并加入超時檢測等手段,采用初始時刻查詢?nèi)课恢脭?shù)據(jù),之后每次查詢單回轉(zhuǎn)數(shù)據(jù),再將前后兩次單圈值的增量累計入絕對位置的方法,就可以實現(xiàn)超過20kHz的位置采樣率。由于所采用電機最高轉(zhuǎn)速不超過6 000 r/min,在一次位置采樣周期間隔內(nèi),轉(zhuǎn)子位置不可能轉(zhuǎn)過超出一整圈的行程,因此這種方法是可靠的,并且突破了直接每次查詢?nèi)课恢枚荒苓_到最高18 kHz左右的位置采樣率限制,這為實現(xiàn)20 kHz的電流調(diào)整率提供了更為精確的轉(zhuǎn)子位置信息基礎。
2.2.2 電流采集
在圖2的硬件方案中,電流采樣主要由微控制器STM32完成。STM32的ADC外設工作在多通道連續(xù)掃描轉(zhuǎn)換模式,每一輪掃描六個通道,即三個電機的U,V電流信息。ADC在每輪轉(zhuǎn)換完成以后,通過DMA直接保存采樣結(jié)果于STM32片內(nèi)RAM中,待FPGA的數(shù)據(jù)請求信號來臨時,STM32立即將6個電流數(shù)據(jù)通過并口IO發(fā)送給FPGA。在這樣的機制下,從FPGA的數(shù)據(jù)請求信號開始,到最后數(shù)據(jù)傳輸完成耗時約4 μs,當然這其中不包括采樣時延。相比于造價高昂的高速ADC,這種電流采樣方法性價比較高。
2.2.3 PI調(diào)節(jié)器
在式(1)和式(2)中,由于交叉項的存在,ud與uq之間的耦合關(guān)系并沒有完全解除??紤]引入交叉耦合與反電勢補償項[6],有:
(3)
(4)
(5)
(6)
寫成離散化的PI控制形式,則有:
(7)
(8)
選擇合適的Kp和Ki就可以控制id=0并讓iq準確跟蹤目標電流值。為了盡量提高FPGA資源利用率,可以將Clarke、Park和Inv.Park等變換集成于PI控制器內(nèi),利用狀態(tài)機和流水線的形式復用乘法器單元。
2.2.4SVPWM生成
PI控制器的輸出經(jīng)過Inv.Park變換,可以得到定子靜止兩相αβ坐標系下的輸出電壓uα,uβ,利用扇區(qū)符號判斷函數(shù)和基本電壓矢量作用時間函數(shù)[7]可以計算出A,B,C三相PWM輸出的比較匹配值,根據(jù)SVPWM的特點和固定10kHz的PWM載波頻率,還需設計一總周期為10μs的雙斜坡計數(shù)器。在本文中,F(xiàn)PGA的工作頻率設定為100MHz,則計數(shù)器的最大值為5 000,當計數(shù)值與A,B,C各相的比較匹配值相等時,對應互補輸出通道的基準邏輯發(fā)生翻轉(zhuǎn),同時互補通道中本該關(guān)斷的開關(guān)立即關(guān)斷,并經(jīng)過設定的死區(qū)時延后才打開應該導通的開關(guān)。
2.2.5 時序規(guī)劃
各子模塊之間的時序規(guī)劃是電流環(huán)設計中的關(guān)鍵。為了盡量減少時延,并在不改變PWM頻率的基礎上拓展帶寬,考慮在每個PWM周期進行兩次計算完立即更新比較匹配寄存器的辦法,這樣可以將時延減少到最小,并能在10kHz的PWM頻率下實現(xiàn)20kHz的電流調(diào)整率,但這種方法必須要控制計算時延和采樣時延足夠小,為此在各子模塊執(zhí)行時序上進行如下規(guī)劃:
(a)在PWM計數(shù)器發(fā)生上溢和下溢時刻,立即啟動每輪電流環(huán)計算。
(b)為了減小電流采樣時延,在執(zhí)行每輪電流環(huán)計算前的4μs時刻,F(xiàn)PGA向stm32發(fā)送電流數(shù)據(jù)請求信號,這樣在每次執(zhí)行電流環(huán)計算時,電流數(shù)據(jù)已經(jīng)準備好。
(c)解碼模塊在常規(guī)解碼的基礎上,根據(jù)電機當前轉(zhuǎn)速對編碼器位置進行實時插值補償,并利用流水線形式的CORDIC算法[8]計算出電角度的實時正余弦值,這可以使得電流控制器不需要等待每次解碼完成才開始執(zhí)行計算。
(d)對于采用浮柵式驅(qū)動結(jié)構(gòu)的IPM,需要保證逆變橋下管的最小占空比能夠維持同橋臂上管驅(qū)動端自舉電容的電量(通??刂圃?μs以上),尤其當電機工作于位置鎖定狀態(tài)時,這點十分重要。假如這點得到保證,則由于電流環(huán)的純計算時延僅為兩百多納秒,可以確保每次更新PWM比較匹配寄存器時,逆變器功率管的導通狀態(tài)處于零矢量區(qū)間。
根據(jù)這些要點而設計的電流控制時序規(guī)劃圖如圖3所示,其中PWMx_P和PWMx_N為插入死區(qū)的同一對互補通道的最終PWM輸出波形。
圖3 PWM更新時序規(guī)劃圖
實驗中采用一臺750W的SMPMSM、兩臺1.3kW的SMPMSM,均為4對極,母線電壓310V,各電機參數(shù)如表1所示。
表1 實驗所測電機參數(shù)表
在PC上用MATLAB編寫上位機程序[9]用于調(diào)試、收發(fā)、處理數(shù)據(jù)并繪圖等工作。電機運行時,F(xiàn)PGA每50 μs保存一次運算過程數(shù)據(jù)(定點Q15格式)并緩存至片內(nèi)RAM單元,待電機停止運行后再通過串口數(shù)據(jù)線發(fā)送給上位機,本文中無法用示波器直接觀測的實驗數(shù)據(jù)波形的獲取也來自于這種方式。實驗過程中,測試q軸電流響應時,控制器工作在力矩控制模式,設定的電流目標值由FPGA內(nèi)部的邏輯單元產(chǎn)生;測試速度響應時,控制器工作在速度控制模式。實驗測得的數(shù)據(jù)結(jié)果如圖4所示。
(a) q軸2.5 A幅值電流階躍響應
(b) q軸2.5 A,610 Hz正弦電流跟蹤
(c) q軸2.5 A,1.22 kHz正弦電流跟蹤
(d) q軸2.5 A,1.22 kHz正弦跟蹤時電機A相電流
(e) 空載下從靜止至3 000 r/min然后再靜止的速度階躍響應
在圖4(a)中,Iqtrace在Iqref從0躍變?yōu)?.5 A后的100 μs時刻達到等幅值,然后產(chǎn)生過沖,過沖比率約為22%。從圖4(b)中,可以看出Iqtrace與Iqref在相位上接近于重合,在幅度上則保持一致。從圖4(c)中,可以看到,Iqtrace滯后Iqref約1/8個周期,也就是滯后45°,在幅值上則仍然略大于Iqref,說明X軸電流控制器的帶寬取決于相頻的-45°角頻率點,測試中相頻帶寬約為1.2 kHz。雖然在階躍響應時電流控制器存在著不小的過沖,但小的過沖與響應的快速性是一對矛盾,如果調(diào)節(jié)PI系數(shù)實現(xiàn)階躍響應無超調(diào),則電流環(huán)的帶寬就會降低,而電流環(huán)的意義最終是為了實現(xiàn)比較優(yōu)異的調(diào)速性能,其帶寬制約著速度環(huán)的性能,綜合考慮這些因素,可以允許一定的過沖以實現(xiàn)較高的電流環(huán)帶寬。從圖4(e)可看到,空載時電機從靜止至額定轉(zhuǎn)速與從額定轉(zhuǎn)速至0速的調(diào)速表現(xiàn)良好,從靜止加速到2 700 r/min或從3 000 r/min降到300 r/min的時間為15.5 ms。需要說明的是,在速度響應波形的斜坡加速段,q軸電流已經(jīng)達到了電機的峰值電流(額定電流的三倍),因此這樣的響應速度已經(jīng)達到了正常條件下電機響應能力的極限。
根據(jù)實際測試結(jié)果,Y軸和Z軸電流環(huán)的-45°相位角頻率也大約為1.2 kHz,限于篇幅的緣故,本文不再對Y軸和Z軸電機的測試波形一一列出,在此僅列出Y軸和Z軸的速度階躍響應波形圖。
圖5 Y軸電機速度階躍響應
圖6 Z軸電機速度階躍響應
圖5和圖6中,電機從靜止加速到2 250 r/min或從2 500 r/min減速到250 r/min的時間為27 ms,相較于圖4(e)來說,調(diào)速響應時間變長,這是Y軸和Z軸電機比X軸電機慣量明顯增大的緣故。由于Y軸和Z軸電機參數(shù)一致,控制器的各項PI參數(shù)也一致,所以也得到了同樣的測試曲線結(jié)果。
本文介紹了一種基于FPGA實現(xiàn)的三軸PMSM電流調(diào)節(jié)器的設計,利用FPGA高速并行計算時延小的特點,采用在一個PWM周期內(nèi)即時更新兩次占空比的辦法,將計算時延和傳感器信號采樣時延降低到最小。實驗結(jié)果表明在10 kHz的PWM載波頻率下,每個電機的電流環(huán)帶寬頻率可達1.2 kHz,同時電機的調(diào)速性能表現(xiàn)良好,充分驗證了該電流環(huán)設計方法的有效性,對設計高性能多軸伺服控制應用具有借鑒意義,并具有較高的實用價值。
[1] 王劍,李永東,馬永健.一種顯著增加變換器電流環(huán)帶寬的新方法[J].電氣傳動,2009,(6): 34-38.
[2] 王宏佳,楊明,牛里,等.永磁交流伺服系統(tǒng)電流環(huán)帶寬擴展研究[J].中國電機工程學報,2010,30(12):56-62.
[3] JUNG E,LEE H-J, SUL S-K. FPGA-based motion controller with a high bandwidth current regulator[C]//PESC 2008: 3043-3047.
[4] 唐小琦,蘇玲宏,周向東,等.基于FPGA的交流伺服系統(tǒng)電流環(huán)帶寬擴展[J].華中科技大學學報:自然科學版, 2014,(2): 1-5.
[5] Tamagawa Company.Specification of Smart-Abs TS5667N2300[M].Tamagawa Seiki Co., Ltd.,2009.
[6] 付博. 永磁同步電動機動態(tài)解耦控制技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學,2010:72.
[7] 寇寶泉,程樹康.交流伺服電機及其控制[M].北京:機械工業(yè)出版社,2008:266.
[8] 周兆勇,李鐵才,高橋敏男.基于矢量控制的高性能交流電機速度伺服控制器的FPGA實現(xiàn)[J].中國電機工程學報, 2004,(5):172-177.
[9] 王戰(zhàn)軍,沈明.基于Matlab GUI的串口通信編程實現(xiàn)[J].現(xiàn)代電子技術(shù),2010,(9):38-40.
Current Loop Design of FPGA-Based Three-Axis AC Servo System
YU Chang-hong,MA Guo-jin,GAO Ming-yu,ZHONG Kai-feng
(Hangzhou Dianzi University,Hangzhou 310018,China)
One of the key problems in designing high-performance AC servo system is to expand the bandwidth of the current regulator. The bandwidth is restricted by the switching frequency, the delay of sensors' sampling and the execution time of MCU. Limited by various factors, the switching frequency could not be increased, so this paper focused on expanding the bandwidth by reducing the delay mentioned above. In this paper, the mathematical model of PMSM was developed at first. Then a hardware solution based on FPGA and STM32 was introduced to control three PMSMs. Next some key problems of several sub-modules in the design of current control loop were well resolved and it was elaborated on the time design of these sub-modules. The results of the experiment show that the bandwidths of the current loop in the designed three-axis AC servo system were all expanded to about 1.2 kHz and finally the performance on speed regulation of the system reflected well.
three-axis AC servo system; FPGA; bandwidth of current loop; PMSM
2015-06-04
TM34;TM383.4
A
1004-7018(2016)03-0041-04