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