Main Content

BLDC Current Controller with PWM Generation

パルス幅変調生成を使用する離散時間ブラシレス DC モーター電流 PI コントローラー

  • BLDC Current Controller with PWM Generation block

ライブラリ:
Simscape / Electrical / Control / BLDC Control

説明

BLDC Current Controller with PWM Generation ブロックはパルス幅変調 (PWM) 信号を生成し、ブラシレス DC モーターの電流を制御します。コントローラーでは次のアルゴリズムを使用します。

方程式

BLDC Current Controller with PWM Generation は、次の方程式を使用して比例-積分 (PI) 電流制御を実装することで、BLDC ブロックのデューティ比を生成します。

D=(Kp+KiTszz1)(Is_refIs)

ここで、

  • D はデューティ比です。

  • Kp は比例ゲインです。

  • Ki は積分ゲインです。

  • Ts は期間です。

  • Is_ref は指令電流です。

  • Is は測定電流です。

  • Gzc は零点相殺多項式です。

PI 制御アルゴリズムの閉ループ伝達関数により、フィードフォワード パスで零点相殺ブロックを使用して相殺できる零点が得られます。離散時間では、零点相殺伝達関数は次のようになります。

GZC(z)=TsKiKpz+(TsKpKiKpKi).

ブロックは、デューティ比を転流信号で乗算して三相の制御信号を取得します。結果として得られる 3 つの制御信号は、区間 [-1, 1] にわたって正規化されます。

PWM 発生器は、制御信号の値がキャリア カウンターの値よりも大きいときは 1 を出力します。それ以外のときは、PWM 発生器は 0 を出力します。

端子

入力

すべて展開する

制御のための指令電流。

データ型: single | double

実際の電流。

データ型: single | double

積分器の外部リセット信号 (立ち上がりエッジ)。

データ型: single | double

ホール センサーのデータ。

データ型: single | double

モーターの回転方向。

データ型: single | double

出力

すべて展開する

接続されたブロックでのスイッチング動作を決定するパルス波形。

データ型: single | double

パラメーター

すべて展開する

制御パラメーター

コントローラーの比例ゲイン Kp

コントローラーの積分ゲイン Ki

コントローラーのアンチワインドアップ ゲイン Kaw

連続するブロック実行間の時間間隔 (秒)。実行時に、ブロックは出力を生成し、必要に応じて内部状態を更新します。詳細については、サンプル時間とはサンプル時間の指定を参照してください。

このブロックが Triggered Subsystem 内にある場合は、このパラメーターを -1 に設定してサンプル時間を継承します。このブロックが連続可変ステップ モデル内にある場合は、正のスカラーを使用してサンプル時間を明示的に指定します。

依存関係

[サンプル時間 (継承は -1)]-1 に設定し、[零点相殺を有効にする] オプションを選択すると、[離散化サンプル時間] パラメーターが表示されます。

連続する離散化間の時間間隔 (秒)。離散化は零点相殺に必要です。

依存関係

このパラメーターは、次の両方の条件が満たされている場合にのみ表示されます。

  • [サンプル時間]-1 に設定されている。

  • [零点相殺を有効にする] が選択されている。

フィードフォワード パスで零点相殺を使用するためのオプション。

依存関係

[零点相殺を有効にする] オプションを選択し、[サンプル時間 (継承は -1)]-1 に設定すると、[離散化サンプル時間] パラメーターが表示されます。

PWM 発生器

キャリア カウンター方式を使用して PWM 出力の初期動作を変更します。

  • アップ カウンター — PWM 出力がオン状態の開始時から始まります。

  • ダウン カウンター — PWM 出力がオフ状態の開始時から始まります。

  • アップダウン カウンター — PWM 出力がオン状態の途中から始まります。

パルス幅変調の期間 Tper (秒)。

連続する PWM 発生器実行の時間間隔 (秒)。実行時に、ブロックは PWM 出力を生成し、必要に応じて内部状態を更新します。詳細については、サンプル時間とはサンプル時間の指定を参照してください。

生成された PWM 信号で十分な分解能が得られるように、0<Ts_pwm10Tper になるように基本サンプル時間を設定します。ここで、

  • Ts_pwm[基本サンプル時間 (s)] です。

  • Tper[タイマー周期 (s)] です。

参照

[1] Stirban, A., I. Boldea, and G. D. Andreescu. "Motion-Sensorless Control of BLDC-PM Motor With Offline FEM-Information-Assisted Position and Speed Observer." IEEE Transactions on Industry Applications. 48, no. 6 (2012): 1950-1958.

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2018a で導入

参考

ブロック

Simscape ブロック