8 つの状態、6 つのベクトル
各レグはその相を直流の正側か負側のレールにつなぎ、a、b、c 相の順に 1 か 0 で表します。極電圧に振幅不変の Clarke 変換をかけると、ゼロでない 6 状態は 0°、60° などの方向にある長さ (2/3)·V_dc のベクトルになります:V1 = 100、V2 = 110、V3 = 010、V4 = 011、V5 = 001、V6 = 101。000 と 111 は 3 相を同じレールにつなぎ、ゼロベクトルになります。
インバータが出せる電圧はこの 8 状態だけです。正弦波の三相出力はスイッチング周期ごとの平均としてのみ存在し、瞬時値として存在するわけではありません。
セクタ内の時間配分
指令ベクトル V* = m·(V_dc/√3)·e^(jθ) は、常に隣り合う 2 つのベクトル V_a、V_b の間にある 6 つのセクタのどれかにあります。1 周期の平均を合わせると T1 = m·T_s·sin(60° − θ′)、T2 = m·T_s·sin θ′、T0 = T_s − T1 − T2 となり、θ′ はセクタの始まりから測った角度です。
六角形の図では、赤の線分が V_a に T1/T_s を、緑の線分が V_b に T2/T_s を掛けたもので、その和がちょうど指令ベクトルの先端に届きます。残りの時間 T0 はゼロベクトルに使います。
ここでの変調率は、指令ベクトルが六角形の内接円(半径 V_dc/√3)に触れるとき 1 です。その円を越えると各セクタの一部で T1 + T2 が周期を超え、インバータはもう円軌道をたどれません。これが過変調領域で、アニメーションではベクトルを六角形の辺まで縮めて描きます。
1 周期の並べ方
よく使われる対称パターンは、ゼロベクトルの時間を V0 と V7 に等分し、周期を V0、V_a、V_b、V7、V_b、V_a、V0 の順に並べ、偶数セクタでは V_a と V_b の順を入れ替えます。すると切り替えのたびに変わるレグは 1 つだけで、各レグは周期ごとに 1 回オンして 1 回オフし、パルスは中央にそろいます。比較値を 3 つ持つセンターアラインド PWM カウンタが自然に作る形がまさにこれです。周期の図は、現在の角度でのカウンタ、3 つの比較値、ゲート信号を示します。
SVPWM が正弦波 PWM より遠くまで届く理由
電気角 1 周期のデューティは鞍形になります。正弦波 PWM のデューティに、3 相共通の項 v0 = −(max + min)/2 を加えたものだからです。共通の項なので線間電圧と αβ ベクトルでは打ち消されますが、各相デューティのピークを下げてくれます。
破線は同じ m での正弦波 PWM です。正弦波 PWM は m = 0.866 で飽和しますが、SVPWM は m = 1 まで線形なので、同じ直流バスから 2/√3 ≈ 1.155 倍の出力電圧が得られます。このページでは数値で確かめています。セクタの時間配分から求めたデューティと min–max の零相注入で求めたデューティは丸め誤差の範囲で一致し、平均出力ベクトルは指令ベクトルに等しく、7 区間パターンのすべての切り替えで変わるレグは 1 つだけです。
ファームウェアでは
モータ制御のファームウェアでは、セクタ判定が不要で、比較値 3 つの一般的な PWM ユニットにそのまま入れられるため、SVPWM を min–max 注入で計算することが多くあります。セクタ形式は原理の理解や、ゼロベクトルの置き方を変えた変形を作るときに今も役立ちます。
六角形の頂点付近では T0 が短くなります。これはデッドタイム補償と、ADC のために 000 状態が十分続く必要があるローサイドシャントの電流測定に影響します。後者は PWM・ADC タイミングの図解で扱っています。各レグを 1 周期に 120° レールに固定する不連続変調はスイッチング損失を減らします。PWM 方式の比較の図解で、SPWM、第 3 高調波注入、6 ステップと並べて比較しています。
アニメーションはこのページに示した式どおりに描いています。教科書やソフトウェアライブラリによって規約が異なるので、数値を比べる前に使っているコードの規約を確認してください。