モーター制御向け空間ベクトル変調 (SVM)

空間ベクトルパルス幅変調を使用した、AC モーター制御向けアルゴリズムの実装

空間ベクトル変調 (SVM) は、誘導モーターや永久磁石同期モーター (PMSM) のベクトル制御の一般的な手法です。空間ベクトル変調は、インバーターのスイッチを制御するためのパルス幅変調信号を生成し、その後インバーターは目標の速度またはトルクでモーターを駆動するために必要な変調電圧を生成します。空間ベクトル変調は、空間ベクトルパルス幅変調 (SVPWM) とも呼ばれます。MATLAB®Simulink® を使用して、空間ベクトル変調方式を実装したり、モーター制御アプリケーション向けにあらかじめ用意された SVM ライブラリを活用したりできます。

空間ベクトル変調の目的

以下の等価回路で表される 6 つのスイッチがある三相インバーターでモーター制御を行うための空間ベクトル変調の概念について考えてみましょう。8 つの有効なスイッチングパターンがあります。

モーターの固定子巻線に接続された三相インバーター回路。
* スイッチ S2、S4、S6 の状態は、S1、S3、S5 の状態とそれぞれ相補的です。

各スイッチングパターンによって、モーター端子に特定の電圧が印加されます。これらの電圧は基本空間ベクトルであり、空間ベクトルの六角形でそれらの大きさと方向を表します。

基本ベクトル U1~U8 による六角形の空間ベクトル。

モーターの固定子巻線に接続された三相インバーター回路。

基本空間ベクトル (6 つの方向: U1~U6) とヌルベクトル (大きさ 0: U7、U8) に対応するスイッチング状態を組み合わせて、空間ベクトルの六角形の任意の位置で、任意の大きさの電圧ベクトルを近似します。たとえば、パルス幅変調 (PWM) の周期ごとに、指定された期間には 2 つの隣接する空間ベクトル (図の U3 と U4) のスイッチング パターンを使用し、残りの期間にはヌルベクトル (U7 または U8) を使用して基準ベクトル ‘Uref’ が平均化されます。

スイッチング パターンとパルスのオン時間を制御することで、PWM 周期ごとに大きさと方向が変化する任意の電圧ベクトルを実現できます。空間ベクトル変調方式の目的は、PWM 周期ごとに基準電圧ベクトルに対応するスイッチング パターンを生成して、連続回転する空間ベクトルを実現することです。

回転する基準空間ベクトルのアニメーション。

空間ベクトル変調の動作

空間ベクトル変調方式は、連続回転する空間ベクトルを実現することを目的として、基準電圧ベクトルを操作して、PWM 周期ごとにインバーターに適切なゲート信号を生成します。

空間ベクトル変調によるベクトル制御のアーキテクチャを示した図。

空間ベクトル変調ワークフローの一例を示すブロック線図。

SVM アルゴリズムでは、電圧ベクトルを入力基準として、PWM 周期ごとに以下の動作をします。。

  • 基準電圧ベクトルに基づき、オンゲートとオフゲートの時間を計算
  • ゲート時間を使用して、ダブルハンプの変調波形を生成
  • ゲート時間を使用して、インバータースイッチに対する適切なゲートパルスを生成

SVM アルゴリズムで生成された空間ベクトル変調電圧信号。

ダブルハンプをもつ生成された変調波の性質から、利用可能な DC 母線電圧を最大限に活用できます。。これにより、正弦波パルス幅変調 (SPWM) 方式と比較して、出力される定格電圧は高くなります。

変調波と搬送波の比較によって生成されるゲートパルス。

これで、生成されたゲート信号を三相インバーターのスイッチに適用して、モーターを目的の速度またはトルクで駆動できます。

PWM ハードウェアサポート

ハードウェアボード (Arduino®、Raspberry Pi™、TI ボードなど) は、変調波形を受信することでパワーインバーターを駆動するゲートパルスを生成します。

TI ハードウェアで SVM を使用したベクトル制御の実装の詳細については、Simulink による永久磁石同期モーター (PMSM) のベクトル制御、パート3: 展開 (4:52)をご覧ください。

PWM 技術を使用するモーター制御アルゴリズムは通常、設計要件に応じ、数 kHz オーダーのより高い周波数で実行する必要があります。ハードウェアテストの経費を確定する前に、制御アーキテクチャの正確性を早期に評価することが重要です。このような評価手法のひとつに、シミュレーション環境を使用する方法があります。たとえば、Simulink では、モデル化されたモーターに対して、制御アーキテクチャ (空間ベクトル変調などのパルス幅変調方式を含む) をシミュレーションして検証し、初期段階でエラーを修正できます。

Simulink で SVM を使用する方法については、Space Vector Generator ブロックを参照してください。

モーター制御アルゴリズムの設計方法および実装方法の詳細については、Motor Control Blockset および Simscape Electrical を参照してください。

無料評価版を入手する

30 日間の無料評価版はこちら