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

ライブラリ:
Simulink /
Discontinuities
説明
PWM ブロックを使用して、理想的なパルス幅変調信号を生成します。
パルス幅変調 (PWM) は、矩形パルスを使用してアナログ信号をエンコードする手法です。このエンコードは、高く設定されている矩形波の 1 つの周期の割合を制御することで行われます。この割合は、信号のデューティ比です。変調信号と入力デューティ比の関係を簡単に記述すると、次のようになります。
ここで、ymax と ymin は、それぞれ出力信号の上限と下限です。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
|
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
アルゴリズム
時間 tk から始まるパルスは、次のようになります。
ここで pw はパルス幅です。特定の周期 P について、pw はデューティ比 D
に比例します。
離散サンプリング モードでは、入力デューティ比信号は [固定の時間間隔で実行] パラメーターで指定されたレートでサンプリングされます。
指定されたサンプリング レート tS について、幅 pw のパルスに必要なサンプル数は次のとおりです。
ここで、nP は、周期 P のパルスをシミュレーションするために必要なサンプル数です。
ブロックのサンプリング レートが tS= 0.25 P に設定されている周期 P のノミナル パルスについて考えます。パルスの 1 つの周期に必要なサンプル数は nP= 4 です。したがって、入力デューティ比 D= 0.47 については、サンプル数 n pw は負方向に丸められて = 1 となります。したがって、パルスは周期内の 4 つのサンプルのうち 1 つのサンプルで高くなります。
拡張機能
量産品質のコードには推奨しません。組み込みシステムでよく見られる速度とメモリに関するリソースの制限と制約に関連します。生成されたコードには動的な割り当て、メモリの解放、再帰、追加のメモリのオーバーヘッド、および広範囲で変化する実行時間が含まれることがあります。リソースが十分な環境ではコードが機能的に有効で全般的に許容できても、小規模な組み込みターゲットではそのコードをサポートできないことはよくあります。
通常、量産コード生成をサポートする等価な離散ブロックに連続ブロックをマッピングするには、Simulink モデルの離散化の使用を検討してください。モデルの離散化を開始するには、Simulink® エディターの [アプリ] タブにある [アプリ] で、[制御システム] の [モデルの離散化] をクリックします。1 つの例外は Second-Order Integrator ブロックで、モデルの離散化はこのブロックに対しては近似的な離散化を行います。
このブロックからの HDL コード生成では、[固定の時間間隔で実行] パラメーターを選択しなければなりません。
バージョン履歴
R2020b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)