張恩壽,韓 朝,戎 麒,田 華
(昆明電器科學研究所,云南 昆明 650221)
空間矢量脈寬調制(SVPWM)技術在電機驅動、變頻技術等領域得到了廣泛運用,由于其直流側電壓利用率高且輸出諧波含量低的優(yōu)點,受到了開發(fā)人員的青睞[1-5]。空間矢量脈寬調制技術根據(jù)不同的電路拓撲結構派生出了多種形式:多電平、多重化、多維度控制[6-10]。基本兩電平的SVPWM 分為6 個扇區(qū)和8 個基本矢量(其中兩個為零矢量),其處理過程是:對輸出電壓進行采集,并利用Clarke 變換實現(xiàn)坐標變換,并定義中間變量A、B、C和N。通過判斷N的值,求得參考矢量所處的扇區(qū),再定義中間變量U1、U2、U3,利用參考矢量所處扇區(qū)的兩個基本矢量合成參考矢量[11-14],并計算兩個基本矢量的作用時間,最后計算零矢量的作用時間[15-16]。可見傳統(tǒng)的SVPWM 計算引入了多個中間變量,且需要進行Clarke 變換,實現(xiàn)過程繁瑣。文中通過對傳統(tǒng)的SVPWM 過程進行推導和等同變換,最終只需要對采集的電壓信號大小進行比較,即可對應得到各個基本矢量的作用時間,通過搭建仿真模型,驗證了基于電壓比較的SVPWM的正確性;利用GD32F303 單片機高級定時器的PWM 輸出功能,分別對傳統(tǒng)的SVPWM 和基于電壓比較的SVPWM 進行程序開發(fā)對比,驗證了基于電壓比較的SVPWM 具有計算簡單和占用資源少的優(yōu)點。
基于電壓比較的SVPWM 是傳統(tǒng)的SVPWM 實現(xiàn)過程的等同變換,并未改變SVPWM的控制精度。因此在推導前需要對傳統(tǒng)的SVPWM 實現(xiàn)過程進行分析,再反過來判斷三相電壓的大小關系,最終依據(jù)電壓的大小關系可直接確定各功率管的導通時間。
兩電平三橋臂變流器的拓撲如圖1 所示,定義開關函數(shù)Sx為:

圖1 兩電平三橋臂變流器的拓撲

其中,x={a,b,c};由式(1)可知,S={Sa,Sb,Sc} 共有8 個開關狀態(tài):S={(000),(001),(010),(011),(100),(101),(110),(111)}。
當開關狀態(tài)S=(001)時,可以得到:

聯(lián)立下式:


圖2 電壓空間矢量的位置和大小

落在Ⅱ、Ⅴ扇區(qū)內則滿足式(4):

根據(jù)以上公式,令:

其中,Uα和Uβ為三相電壓Clarke 變換結果,如式(7)所示:

當N=1 時,即A=1,B=C=0,可得:

通過對比電壓空間矢量的位置和大小可知,此時參考電壓矢量的位置處于第Ⅱ扇區(qū),同理可得當N=2 時,參考電壓矢量的位置處于第Ⅵ扇區(qū);當N=3時,參考電壓矢量的位置處于第Ⅰ扇區(qū);當N=4 時,參考電壓矢量的位置處于第Ⅳ扇區(qū);當N=5 時,參考電壓矢量的位置處于第Ⅲ扇區(qū);當N=6 時,參考電壓矢量的位置處于第Ⅴ扇區(qū)。N的取值和參考矢量的扇區(qū)位置對應關系如表1 所示。

表1 N的取值和參考矢量的扇區(qū)位置對應關系
判斷出參考矢量對的位置后,利用參考矢量所處扇區(qū)的兩個鄰近基本矢量合成參考矢量,并計算各基本矢量的作用時間。當參考矢量處于第Ⅰ扇區(qū)時,鄰近基本矢量為U4和U6,從電壓空間矢量的位置和大小中可以得:

其中,Udc為直流側電壓,設:

可以解得:

根據(jù)7 段SVPWM 和5 段SVPWM 計算零矢量的作用時間如下:
5 段SVPWM:

7 段SVPWM:

Tx和Ty分別為基本矢量的作用時間。同理可以解得參考矢量位于其他扇區(qū)時,鄰近的基本矢量和零矢量的作用時間。參考矢量所處扇區(qū)與鄰近基本矢量作用時間對關系如表2 所示。

表2 參考矢量所處扇區(qū)與鄰近基本矢量作用時間對關系
在傳統(tǒng)的SVPWM 實現(xiàn)過程中,當N=1 時,將Clarke 變換帶入得:

聯(lián)合下式:

解得Ub≥Ua≥Uc且Ub≠Uc,同理當N=2時,滿足Ua≥Uc≥Ub且Ua≠Ub;當N=3時,滿足Ua>Ub>Uc;當N=4時,滿足Uc≥Ub≥Ua且Ua≠Uc;當N=5時,滿足Ub>Uc>Ua;當N=6時,滿足Uc>Ua>Ub。由此可以得出,只要知道A、B、C三相輸出電壓,即可對應N的值、參考矢量所處對應扇區(qū)及鄰近基本矢量的作用時間,在實現(xiàn)時無需利用Clarke 變換進行坐標變換,省去了復雜的步驟和中間變量。
在仿真軟件中搭建仿真平臺,驗證基于電壓比較對SVPWM的正確性。在Simulink 中建立仿真模型,直流側電壓為325 V,主電路為兩電平逆變器,功率開關管為MOSFET,三相負載為阻感負載,取值分別為3 Ω和0.5 H,運行時間為0.2 s。傳統(tǒng)SVPWM 模型輸出的三相相電壓和電流分別如圖3 和圖4 所示,基于電壓比較的SVPWM 模型輸出的三相相電壓和電流分別如圖5 和圖6 所示。

圖3 傳統(tǒng)的SVPWM模型相電壓

圖4 傳統(tǒng)的SVPWM模型輸出電流

圖5 基于電壓比較的SVPWM模型相電壓

圖6 基于電壓比較的SVPWM模型輸出電流
從仿真結果可知,由于基于電壓比較的SVPWM是傳統(tǒng)SVPWM 算法的等同推導結果,因此輸出結果完全一致,且輸出相電壓波形為馬鞍形,與傳統(tǒng)SVPWM 結論一致。
對兩種SVPWM 分別進行嵌入式程序測試,利用示波器對單片機PWM 輸出結果進行觀察,并對比map 文件,以查看兩種SVPWM 所占用單片機的資源情況,在調試模式下對兩種SVPWM 進行調試,對比SVPWM 初始化的運行時間。
GD32F303 采用ARM?Cortex?-M4 32 位處理器內核,運行頻率可達120 MHz。可提供高達3 072 kB片上閃存和96 kB SRAM 內存。最多可提供3 個12位2.6 MSPS ADC、兩個12 位DAC、10 個16 位通用定時器、兩個16 位PWM 高級定時器、兩個16 位基本定時器,以及標準和高級通信接口:最多有3 個SPI、兩個I2C、3 個USART 和兩個UART、兩 個I2S,一 個USBD,一個CAN 和一個SDIO。
其中,GD32F303VCT6的兩個高級定時器(TIMER0 和TIMER7)為四通道16 位定時器,支持正交編碼器接口、霍爾傳感器接口,具有可編程的死區(qū)時間,帶剎車功能。
為實現(xiàn)SVPWM,計數(shù)模式采用中央計數(shù)模式,作為高頻載波信號。當計數(shù)值上行溢出或下行溢出均會產(chǎn)生更新中斷,當CAR 寄存器設置為0x63,PSC寄存器設置為0x00 時,中央計數(shù)模式的時序如圖7所示。

圖7 中央計數(shù)模式時序圖
高級定時器的PWM 功能支持邊沿對齊模式和中央對齊模式,SVPWM 采用中央對齊模式,支持兩種PWM 輸出模式(PWM0 和PWM1),相同配置情況下,PWM0 輸出與PWM1 輸出相位相差180°。中央對齊模式下PWM0 與PWM1 時序圖如圖8 所示。

圖8 中央對齊模式下PWM0與PWM1時序圖
基于GD32303C-EVAL 開發(fā)板,搭建兩種SVPWM 測試平臺,在集成開發(fā)環(huán)境中進行程序開發(fā),通過工程map 文件查看兩種SVPWM 實現(xiàn)過程中占用CPU 資源的情況,并在調試模式下對比兩種SVPWM 運行初始化所需的時間。
傳統(tǒng)SVPWM 算法的處理步驟主要包括:1)使能并初始化管腳,設置GPIOE 端口PE8-PE13 重映射功能為高級定時器PWM 輸出;2)設置并初始化ADC0 端口,采集三相電壓信號;3)對三相電壓信號進行Clark 變換,定義A、B、C和N中間變量;4)判斷扇區(qū);5)使能并初始化TIMER0,配置通道0、通道1和通道2,配置死區(qū)時間;6)基于參考矢量所處的扇區(qū),設置各通道的PLUS 值。基于電壓比較的SVPWM 無需進行步驟3)和步驟4),針對步驟6)直接通過電壓大小的關系對應高級定時器各通道的PLUS值。實驗結果如圖9~12所示,圖9為傳統(tǒng)SVPWM定時器PWM通道0的波形,圖10 為傳統(tǒng)SVPWM的A 相橋臂輸出的相電壓波形,圖11 為基于電壓比較的SVPWM 定時器PWM 通道0的波形,圖12 為基于電壓比較SVPWM的A 相橋臂和B 相橋臂輸出的相電壓波形。

圖9 傳統(tǒng)SVPWM定時器通道0的波形

圖10 傳統(tǒng)SVPWM的A相橋臂相電壓波形

圖11 基于電壓比較SVPWM通道0的波形

圖12 基于電壓比較SVPWM的A、B相橋臂相電壓波形
在MDK 工程目錄中打開工程map 文件,對兩種算法嵌入式程序的資源占用進行統(tǒng)計,將程序下載到單片機,進入Debug 模式,分別對GPIO 端口初始化、ADC 及DAC 初始化、TIMER0 及PWM 初始化、SVPWM 算法設置斷點并進行調試,對每個初始化過程進行計時,在相同的硬件配置和軟件優(yōu)化情況下對比兩種算法的初始化運行時間。資源占用情況和初始化及SVPWM 算法占用時間分別如表3~6 所示。表3 為傳統(tǒng)SVPWM 算法占用資源情況。

表3 傳統(tǒng)SVPWM算法占用資源情況
表4 為基于電壓比較的SVPWM 算法占用資源情況。

表4 基于電壓比較的SVPWM算法占用資源情況
表5 為傳統(tǒng)SVPWM 算法初始化占用時間情況。

表5 傳統(tǒng)SVPWM算法初始化時間
表6 為基于電壓比較的SVPWM 算法初始化占用時間情況。

表6 基于電壓比較的SVPWM初始化時間
在傳統(tǒng)SVPWM 實現(xiàn)過程中,通過中間變量的取值與輸入三相電壓的大小關系推導了基于電壓比較的SVPWM 算法,對比兩種SVPWM 算法仿真和嵌入式算法結果,傳統(tǒng)的SVPWM 與電壓比較的SVPWM仿真波形一樣,因為推導過程屬等同變換;采用傳統(tǒng)的SVPWM 嵌入式算法和電壓比較的SVPWM 在示波器波形一致,采用傳統(tǒng)的SVPWM 嵌入式算法占用了13 732 bytes 空間,運行初始化時間3.253 8 ms;基于電壓比較的SVPWM 嵌入式算法占用了6 196 bytes空間,運行初始化時間1.392 4 ms。因此,基于電壓比較的SVPWM 較傳統(tǒng)的SVPWM 具有占用資源小、初始化時間少的特點。