User Tools

Site Tools

blog:2024-04-16_share_svpwm演算法原理及詳解



2024-04-16 Share: SVPWM演算法原理及詳解

Local Backup

1.概述

  • SVPWM是近年來發展的一種比較新穎的控制方法,是由三相功率逆變器的六個功率開關元件組成的特定開關模式產生的脈寬調製波,能夠使輸出電流波形盡可能接近於理想的正弦波形。空間電壓向量PWM與傳統的正弦PWM不同,它是從三相輸出電壓的整體效果出發,著眼於如何使馬達獲得理想圓形磁鏈軌跡。 SVPWM技術與SPWM相比較,繞組電流波形的諧波成分小,使得馬達轉矩脈動降低,旋轉磁場更逼近圓形,而且使直流母線電壓的利用率有了很大提高,且更易於實現數位化。
  • 通俗化理解:把PMSM想像成兩塊同心的磁鐵,兩塊磁鐵是相吸的,因此當用手撥動外面的磁鐵繞組圓心轉動時,裡面的磁鐵也會跟著轉動,這其實就是PMSM的本質了。 PMSM的轉子是永磁鐵,定子是繞組,我們用電路控制定子繞組產生旋轉的磁場,裡面的轉子磁鐵就會跟著轉動,這個磁場的大小最好恆定,不然一會兒大一會兒小,轉子受到的牽引力也就一會兒大一會兒小,影響運動表現。好了,現在我們知道馬達的本質是什麼了。接下來,我們需要一個演算法來控制定子繞組的輸出,使其產生一個恆定的旋轉磁場,而這個演算法就是SVPWM。

2.SVPWM基本原理

  • 要得到一個恆定大小的旋轉磁場,可以先得到一個恆定大小的旋轉電壓向量。如下圖:
  • 從上圖可知,我們可以透過互差120度,大小隨著時間依正弦規律變化的3個分向量來合成一個大小不變旋轉的總向量。於是問題又變成了:如何得到大小隨著時間依正弦規律變化的3個分向量呢?我們先回到馬達上,其實這3個分矢量就對應了馬達的3個繞組,3個繞組就是互差120度的,只要再控制繞組上的電壓大小依照正弦規律變化,是不是就可以得到大小不變旋轉的總向量呢?看下面電機定子的座標系圖:
  • 如果讓繞組上的電壓大小依照正弦規律變化呢?直接通交流電,就是正弦的呀,可不可以呢?驅動器的控制電路如下:
  • 我們只能控制6個管子的開關而已,看來直接通交流電是不行了。於是我們只能控制PWM的佔空比來等效正弦:
  • 上面的圖是SPWM的,只要懂意思就行了。其實就是佔空比越大,電壓越大;佔空比越小,電壓越小。讓佔空比呈現正弦變化,電壓值自然也就呈現正弦變化了。
  • 我們用公式來表示一下:定義這三個電壓空間向量為UA(t)、UB(t)、UC(t),他們方向總是在各自的軸線上,而大小隨時間按正弦規律變化,時間相位上互差120度。假設Um為相電壓的有效值(相電壓為正弦變化),f為電源頻率,則有:
  • 可見U(t)是旋轉的空間向量,它的振幅不變,為相電壓峰值的1.5倍(從上面的動態gif也可以看出來,總向量的振幅是分向量最大值的1.5倍),且以角頻率ω= 2πf按逆時針方向勻速旋轉的空間向量。而SVPWM演算法的目的就是使用三相橋的開關狀態把在空間中旋轉的U(t)向量表示出來。
  • 我們看到上面的式子多出來一個參數K,它值是個常數,根據不同的需求選擇不同的變換,K可以取不同的值。不同的需求如:要求功率不變、要求電壓電流幅值不變等。我們在這裡為了讓合成的空間向量在靜止的三相座標軸上的投影和分向量相等,取K值為2/3,這也是Park變換所採用的係數,於是上式變換了:
  • 由於逆變器三相橋臂共有6個開關管,為了研究各相上下橋臂不同開關組合時逆變器輸出的空間電壓向量,請特別定義開關函數Sx(x=a、b、c) 為:
  • (Sa、Sb、Sc)的全部可能組合共有八個,包括6個非零向量Ul(001)、U2(010)、U3(011)、U4(100)、U5(101)、U6(110) 、和兩個零向量U0(000)、U7(111),以下以其中一種開關組合為例分析,假設Sx(x=a、b、c)=(100),此時等效電路如圖:
  • 因此相電壓可以表示為:(相電壓是每相對於馬達中間連接點的電壓)
  • 同理可得,其他開關狀態三相的相電壓。另外線電壓是兩相之間的電壓差,如Uab=Ua-Ub。
  • 如前面所說,三相相電壓向量與合成向量的關係如下:
    • 當開關Sa=1時,UA(t)=Udc(A相相線經由上橋臂直通母線Udc);當開關Sb=1時,UB(t)=Udc;當開關Sc=1時,UC(t)=Udc。
    • 當開關Sa=0時,UA(t)=0(A相相線通過下橋臂直通GND);當開關Sb=0時,UB(t)=0;當開關Sc=0時,UC(t )=0。
  • 這樣,合成向量的關係式就變成了橋臂的開關函數,因此上式可以寫成:
  • 可以看到Uout的模值不變,改變的只是相位。
  • 開關狀態與線電壓、相電壓、Uout列在一起:
  • 把上面的8個電壓空間向量依照Uout的相位關係放在磁區圖中:
  • 上圖中,6個非零向量振幅相同,相鄰的向量間隔60度。兩個零向量幅值為零,位於中心。
  • 三相電壓給定所合成的電壓向量旋轉角速度為ω=2πf(即磁場旋轉角速度),則旋轉一週所需的時間為T=1/ f;若開關管載波頻率為fs ,則頻率比為R =fs / f。這樣將電壓旋轉平面等切割成R個小增量,也就是設定電壓向量每次增量的角度是:γ=2π/ R。 (註:這裡就是把電壓向量旋轉一周,均分為R份,用來R邊形來擬合圓形,同時這也代表了磁場旋轉一圈,進行R次運算。因此載波頻率越大,轉速越小,電壓旋轉平面越接近圓形,反之,越接近多邊形。
  • 現在假設需要輸出一個空間向量Uref,假設它在第I扇區,我們先把第I扇區單獨取出來,然後用和它相鄰的兩個電壓空間向量來表示它:
  • 得到以U4、U6、U7 及U0 合成的Uref 的時間後,接下來就是如何產生實際的脈寬調變波形。在SVPWM 調變方案中,零向量的選擇是最具靈活性的,適當選擇零向量,可最大限度地減少開關次數,盡可能避免在負載電流較大的時刻的開關動作,最大限度地減少開關損耗。因此,我們以減少開關次數為目標,將基本向量作用順序的分配原則選定為:在每次開關狀態轉換時,只改變其中一相的開關狀態。並且對零向量在時間上進行了平均分配,以使產生的PWM 對稱,從而有效地降低PWM 的諧波分量。可發現當U4(100)切換至U0(000)時,只​​要改變A 相上下一對切換開關,若由U4(100)切換至U7(111)則需改變B、C 相上下兩對切換開關,增加了一倍的切換損失。因此要改變電壓向量U4(100)、U2(010)、U1(001)的大小,需配合零電壓向量U0(000),而要改變U6(110)、U3(011)、U5(100),需配合零電壓向量U7(111)。這樣透過在不同區間內安排不同的開關切換順序, 就可以獲得對稱的輸出波形,其它各扇區的開關切換順序如表2-2 所示。
  • 因此就可以利用U4、U6、U7 及U0 的順序和時間長短的搭配來表示出Uref了。
  • 以第Ⅰ扇區為例,其所產生的三相波調製波形在一個載波週期時間Ts內如圖2-11 所示,圖中電壓向量出現的先後順序為U0、U4、U6、U7、U6 、U4、U0,各電壓向量的三相波形則與表2-2 的開關表示符號相對應。再下一個載波週期Ts ,Uref 的角度增加一個γ,利用式(2-33)可以重新計算新的T0、T4、T6 及T7 值,得到新的類似圖2-11 的合成三相波形;這樣每一個載波週期TS 就會合成一個新的向量,隨著θ 的逐漸增大,Uref 會依序進入Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ區。在電壓向量旋轉一周期後,就會產生R 個合成向量。
  • 因此SVPWM會在每個載波週期進行一次計算。
  • 透過上述SVPWM 的法則推導分析可知要實現SVPWM 訊號的即時調製, 首先需要知道參考電壓向量Uref 所在的區間位置,然後利用所在磁區的相鄰兩電壓向量和適當的零向量來合成參考電壓向量。
  • 控制系統需要輸出的向量電壓訊號Uref,它以某一角頻率ω 在空間逆時針旋轉,當旋轉到向量圖的某個60°扇區中時,系統計算該區間所需的基本電壓空間向量,並以此向量所對應的狀態去驅動功率開關元件動作。當控制向量在空間旋轉360°後,逆變器就能輸出一個週期的正弦波電壓。
  • 說完了SVPWM演算法,我們再來對接FOC演算法,框圖如下:
  • 上圖中的第7部分就是SVPWM,其作為FOC最終的執行部分,接收FOC傳來的Uα 和Uβ,然後透過上面的過程轉換成開關管的控制訊號,控制定子繞組產生旋轉磁場。
  • 1.合成向量Uref 所處扇區N 的判斷
    • 空間向量調變的第一步是判斷由Uα 和Uβ決定的空間電壓向量所處的磁區。
    • 假定合成的電壓向量落在第I 扇區,可知其等價條件如下:0<arctan(Uβ/ Uα) <60
    • 落在第I 扇區的充分必要條件為:Uα > 0 ,Uβ > 0 且Uβ/Uα <√3。
    • 同理可得到合成的電壓向量落在其它扇區的等價條件,得出:
    • Uref落在第Ⅱ扇區的充要條件為:Uβ>0 且Uβ/ Ua>√3;
    • Uref落在第Ⅲ扇區的充要條件為:Ua<0 ,Uβ> 0 且-Uβ/Ua <√3;
    • Uref落在第Ⅳ扇區的充要條件為:Ua<0 ,Uβ < 0 且Uβ/Ua <√3;
    • Uref落在第Ⅴ扇區的充要條件為:Uβ<0 且-Uβ/Ua>√3;
    • Uref落在第Ⅵ扇區的充要條件為:Ua>0 ,Uβ<0且-Uβ/Ua <√3;
    • 若進一步分析以上的條件,可看出參考電壓向量Uref 所在的扇區完全由Uβ、√3Ua-Uβ、-√3Ua-Uβ三式決定,因此令:
    • 再定義,若U1 > 0 ,則A= 1,否則A=0;
    • 若U2 > 0 ,則B=1,否則B=0;
    • 若U3 > 0 ,則C=1,否則C=0。
    • 可以看出A,B,C 之間共有八種組合,但由判斷扇區的公式可知A,B,C 不會同時為1 或同時為0,所以實際的組合是六種,A,B, C 組合取不同的值對應著不同的扇區,並且是一一對應的,因此完全可以由A,B,C 的組合判斷所在的扇區。為區別六種狀態,令N=4 C+2 B+A,則可透過下表計算參考電壓向量Uref所在的磁區。
    • 採用上述方法,只需經過簡單的加減及邏輯運算即可確定所在的扇區,對於提高系統的響應速度和進行模擬都是很有意義的。如:已知Uref的Uβ>0,√3Ua-Uβ>0,-√3Ua-Uβ<0,即:A=1,B=1,C=0,N=3,所以扇區號為I。
  • 2.基本向量作用時間計算與三相PWM 波形的合成
    • 在傳統SVPWM 演算法如式(2-34)中用到了空間角度及三角函數,使得直接計算基本電壓向量作用時間變得十分困難。實際上,只要充分利用Uα 和Uβ 就可以使計算大為簡化。
    • 以Uref 處在第Ⅰ扇區時進行分析,依圖2-10 有:
    • Ud就是Udc,即母線電壓。下式的最後把I扇區兩邊的電壓向量U4(100)和U6(110)的Uout式子帶進來了,分別是2/3Udc和2/3Udc*cos(π/3):
    • 同理可求得Uref在其它扇區中各向量的作用時間,結果如表2-4所示。表中兩個非零向量作用時間的比例係數為K =√3Ts/Udc 。
    • 到這裡,FOC與SVPWM的對接就變成了,先根據N=4 C+2 B+A判斷合成向量所在扇區,然後查表2-4得出兩非零向量的作用時間,最後得出三相開關管PWM波的佔空比,查詢表讓演算法更有效率。
    • C語言程式碼的分析在這裡:https://blog.csdn.net/qlexcel/article/details/95227991
    • 由公式(2-38)可知,
    • 當兩個零電壓向量作用時間為0時,一個PWM週期內非零電壓向量的作用時間最長,此時的合成空間電壓向量振幅最大,由下圖2-12可知其振幅最大不會超過圖中所示的正六邊形邊界。而當合成向量落在該邊界之外時,將發生過調製,逆變器輸出電壓波形將會發生失真。在SVPWM調變模式下,逆變器能夠輸出的最大不失真圓形旋轉電壓向量為圖2-12所示虛線正六邊形的內切圓,其振幅為:(√3/ 2)x(2Udc / 3) =√3Udc/3 。即逆變器輸出的不失真最大正弦相電壓幅值為√3Udc /3 ,若採用三相SPWM調製,逆變器能輸出的不失真最大正弦相電壓幅值為Udc/2。顯然SVPWM 調變模式下對直流側電壓利用率較高,它們的直流利用率之比為(√3Udc/ 3) /(Udc/ 2) =1.1547 ,即SVPWM演算法比SPWM演算法的直流電壓利用率提高了15.47%。
    • 如圖當合成電壓向量端點落在正六邊形與外接圓之間時,已發生過調製,輸出電壓將發生失真,必須採取過調製處理,這裡採用一種比例縮小演算法。定義每個磁區中先發生的向量用為Tx,後來發生的向量為Ty。當Tx+Ty≤TS時,向量端點在正六邊形之內,不發生過調製;當Tx+Ty>TS時,向量端點超出正六邊形,發生過調製。輸出的波形會出現嚴重的失​​真,需採取以下措施:
    • 設將電壓向量端點軌跡端點拉回至正六邊形內切圓內時兩非零向量作用時間分別為Tx',Ty',則有比例關係:
    • 使用上面的簡單比例關係,把兩個非零向量作用時間矯正。
    • taon、tbon、tcon的波形呈馬鞍形,如下:

TAGS

  • 49 person(s) visited this page until now.

Permalink blog/2024-04-16_share_svpwm演算法原理及詳解.txt · Last modified: 2024/04/16 15:15 by jethro

oeffentlich