Main Content

PWM

入力デューティ比に対応する理想的なパルス幅変調信号を出力する

R2020b 以降

  • PWM block icon

ライブラリ:
Simulink / Discontinuities

説明

PWM ブロックを使用して、理想的なパルス幅変調信号を生成します。

パルス幅変調 (PWM) は、矩形パルスを使用してアナログ信号をエンコードする手法です。このエンコードは、高く設定されている矩形波の 1 つの周期の割合を制御することで行われます。この割合は、信号のデューティ比です。変調信号と入力デューティ比の関係を簡単に記述すると、次のようになります。

y¯=Dymax+(1D)ymin

ここで、ymaxymin は、それぞれ出力信号の上限と下限です。PWM ブロックの場合、デューティ比は [0,1] に制約されます。理想的な PWM 信号はデューティ比 D に比例します。

すべて展開する

この例では、Simulink で PWM ブロックを使用して昇圧コンバーターを制御する方法を示します。このモデルの昇圧コンバーターでは、Simscape™ Electrical™ ライブラリのBoost Converter (Simscape Electrical)ブロックを使用しています。

PWM 信号は昇圧コンバーターのスイッチング デバイス (またはゲート) を制御するために使用されます。PID コントローラーにより、望ましいステップアップ電圧 (Vref) の 18V を追跡するコマンド信号 (またはデューティ比) が生成されます。

これは相対的に高周波数用途です。スイッチング ゲートは 200kHz 前後で動作します。したがって、PWM 信号には 1/200,000 または 5e-6s のパルス周期が選択されます。

小さいタイム ステップが与えられると、この例で提供される boostconverter_pwm モデルは 0.069 秒の定常状態から読み込まれます。

0.1 秒のマークの前後における昇圧コンバーター動作の可視化を以下に示します。

PWM 制御の代替物理モデリングの実装については、Pulse Width Modulation (Simscape Electrical)を参照してください。

端子

入力

すべて展開する

パルス P の目的のデューティ比。範囲 [0,1] 内のスカラーとして指定します。

データ型: double

出力

すべて展開する

入力デューティ比に対応する PWM 信号。

データ型: double

パラメーター

すべて展開する

出力信号の連続するパルスの立ち上がりエッジ間の時間。小さい値は高周波数パルスを表します。

プログラムでの使用

ブロック パラメーター: Period
型: string | 文字ベクトル
値: 実数スカラー
既定の設定: '1'

生成される PWM 信号の初期遅延または位相遅延 (秒数) を指定します。

プログラムでの使用

ブロック パラメーター: InitialDelay
型: string | 文字ベクトル
値: 数値スカラー
既定の設定: 0

このパラメーターを有効にして、PWM ブロックを含む代数ループを回避します。

メモ

このパラメーターを有効にすると、信号値が 0 以下の場合にデューティ比入力のでエラーが発生するようになります。

プログラムでの使用

ブロック パラメーター: DisallowZeroDutyCycle
型: string | 文字ベクトル
値: 'on' | 'off'
既定の設定: 'off'

ブロックを実行するタイミングと出力信号のサンプル時間を指定します。

  • off — 入力サンプルの遅延が経過するたびにブロックが実行されます。出力信号は固定マイナー サンプル時間になります。

  • on[サンプル時間] パラメーターを使用して指定する固定レートでブロックが実行されます。出力信号は [サンプル時間] パラメーターを使用して指定するサンプル時間になります。

[固定の時間間隔で実行] を選択する場合:

  • 遅延信号の値は [サンプル時間] パラメーターで指定する値よりも大きくなければなりません。

  • 遅延信号の値が指定されたサンプル時間の整数倍でない場合、それよりも小さい最も近いサンプル時間の整数倍に丸められます。たとえば、サンプル時間が 0.1 の場合、遅延信号の値が 0.68 であれば、その遅延は 0.6 に丸められます。

プログラムでの使用

ブロック パラメーター: RunAtFixedTimeIntervals
型: string | 文字ベクトル
値: 'on' | 'off'
既定の設定: 'off'

ブロックの実行レートと出力信号のサンプル時間。遅延信号の値は指定されたサンプル時間よりも大きくなければなりません。

遅延信号の値が指定されたサンプル時間の整数倍でない場合、それよりも小さい最も近いサンプル時間の整数倍に遅延の値が丸められます。たとえば、サンプル時間が 0.1 の場合、遅延の値が 0.68 であれば、その遅延は 0.6 に丸められます。

依存関係

このパラメーターを有効にするには、[固定の時間間隔で実行] を選択します。

プログラムでの使用

ブロック パラメーター: SampleTime
型: string | 文字ベクトル
値: 数値スカラー
既定の設定: 0.1

ブロックの特性

データ型

double

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

アルゴリズム

すべて展開する

拡張機能

バージョン履歴

R2020b で導入

参考

トピック