OpAmp回路のシミュレーション

<< 目次を表示 >>

ページ位置:  シミュレーション > 数学的なシミュレーション > SysPhS シミュレーション > シミュレーションの設定と実行 > SysPhSシミュレーションのサンプル >

OpAmp回路のシミュレーション

このページでは、簡単な電子回路(OpAmp・オペアンプ)のSysPhSモデルを作成し、シミュレーションを使用してその回路の動作を予測し、グラフ化する方法を説明します。

 

 

前提条件

このシミュレーションを実行するには、以下のいずれかが必要です。

 

 

回路図

今回モデル化する電子回路は、標準的な電子回路表記を用いると以下の図のように示される内容を対象とします。

 

 

この回路には、正弦波の信号ソース・グランド・2つの抵抗、およびオペアンプ集積回路が含まれます。次の図は、SysPhSを使用したSysMLダイアグラムから自動生成した内容を、外部アプリケーション(ここではModelica)で表示したものです。

 

 

SysMLモデルの作成

次の表は、回路を表現する完全なSysMLモデルを構築する方法を示しています。最低限の内容からモデルを構築します。

 

構成要素

説明

ブロック

SysPhSを用いたSysMLでは、回路とコンポーネントのそれぞれの構成要素ををブロックとして表現します。

 

ブロック定義図に、回路コンポーネントを示すブロックを作成します。この回路には、オペアンプ・信号源ソース・信号-電圧変換器・グランド・抵抗の5つの部品があります。これらの部品は、それぞれ異なる種類であり、異なる動作をします。

 

オペアンプ・グランド・抵抗などの主要なブロックは、SysPhSのコンポーネントパターンを使って、定義済のブロックを簡単に作成し配置できます。しかし、このサンプルでは一から作成していきます。

 

部品の種類ごとにSysPhSブロックを作成します。回路の内部ブロック図に配置する部品は、電気ピンを表すポートを介して接続されます。これらのポートはブロック定義図で定義されています。抵抗器には、プラスとマイナスのピンがあります。グランドには、プラスのピンが1つだけあります。電気(電荷)はピンを通して伝達されます。2つのポートは「p」(正)と「n」(負)という名前で、ChargeFlowElementという型を割り当てています。

 

次の図はブロック定義図です。ブロックは使用するコンポーネントの種類を定義しています。信号ソースの正弦波・信号の電圧変換器・グランド・抵抗・オペアンプが含まれています。

 

 

これらのブロックには、SysPhSツールボックスからModelicaブロックまたはSimulinkブロックを割り当てます。両方のツールに対応させることもできます。詳細については、「ブロックをModelicaとSimulinkの両方で利用」のヘルプトピックを参照してください。

Phsポート

ポートに使用されるバリュー型は、SysPhSシミュレーションライブラリで事前に定義されています。ChargeFlowElementとRealSignalInElementの2つの値型を主に使用します。

 

次の図は、ブロック定義図のOpAmpブロックを示しており、OpAmpブロックのポートがChargeFlowElement型に設定されています。

 

 

Common Types Packageのインポートの接続は、このライブラリ内で定義されている要素を利用することを示しています。パッケージのインポート(丸で囲んだ部分)の詳細については、「SysPhSライブラリへの参照の設定」のヘルプトピックを参照してください。

Phs定数

抵抗と正弦波ブロックの両方とも、MATLABとModelicaのそれぞれのコンポーネントで利用するプロパティを定義する必要があります。

 

抵抗器を例に説明します。このコンポーネントでは、それぞれのツールで、抵抗の値をオームで設定する必要があります。ほとんどの回路では、この抵抗ブロックから派生した複数の抵抗部品があり、内部ブロック図やパラメトリック図ではパートプロパティ要素として利用します。したがって、実際の抵抗値(オーム)は、内部ブロック図やパラメトリック図で設定します。シミュレーション実行時にデータセットで設定できます。

 

抵抗を定義するプロパティを設定するに、Phs変数要素「r」を作成する必要があります。初期値は設定していません。

 

 

注意: SysPhSパターンから抵抗のブロック要素を作成できます。この場合にはPhs定数要素を保持した形で作成されます。

 

個々のコンポーネント(パートプロパティ要素)に抵抗値を設定するには、プロパティサブウィンドウの「初期値」で設定します。

 

内部構造

全体の関係と内部構造を表現するために、子ダイアグラムとして内部ブロック図をもつブロック要素InvertOpAmpを作成します。

  1. ブロック要素を作成します。
  2. 右クリックメニューを利用し、内部ブロック図を追加します。

子ダイアグラムの追加 | 内部ブロック図

  1. ブロック要素をダブルクリックし、内部ブロック図に移動します。
  2. 図を簡潔にするために、ポートの型を表示しないように設定します。
  • F5 | 要素グループ | 要素の表示パネル
  1. 以下の設定のチェックボックスのチェックを外します。
  • 要素のステレオタイプの表示
  • ポートとプロパティの型を表示

 

この設定の結果、ポート名のみを表示するようになります。

 

内部ブロック図で、パートプロパティ要素を作成し接続します。

  1. モデルブラウザから、定義済みのブロック要素をドラッグして内部ブロック図にドロップし、パートプロパティ要素として配置します。
  2. 作成した要素は、ダイアグラムから削除することで、区画として表示されます。

注意: 貼り付け時に、「付属要素」のドロップダウンリストで「すべて」を選択して、関係するポートなども作成するようにしてください。

 

  1. もし、「付属要素」のドロップダウンリストで「すべて」を選択しなった場合には、属性・操作と付属要素サブウィンドウのパートプロパティタブと付属要素タブのそれぞれで「すべて」ボタンを押してください。

  1. ブロック定義図で定義したブロック要素を、それぞれパートプロパティ要素として配置していきます。

結びつけ

配置したプロパティ要素のポート間を結びつけます。

  • ポート間を、以下のようにコネクタの接続で結びつけます。

 

 

これは元の回路図と同じ構造ですが、各コンポーネントを示す要素は、ブロック要素そのものではなく、定義したブロックに型付けされたプロパティ要素であることに注意してください。

初期値

抵抗が2つありますが、入力抵抗(RIn)と帰還抵抗(Rf)は、それぞれ異なる抵抗値を持ちます。内部ブロック図の2つの異なるプロパティ要素として配置されています。抵抗値は、プロパティサブウィンドウの「プロパティ」タブの「初期値」欄に設定します。

 

 

InputControllingSignalでは、amplitude と frequency に関する初期値の設定も必要です。

 

 

これらの設定後、ブロック定義図に戻ると、ブロックの区画に配置した要素が表示されます。

 

 

シミュレーション動作の設定

以下の手順で、SysMLSimの設定を行います。

手順

説明

SysMLSimConfiguration 要素を作成する

  1. ブロック定義図を開きます。
  2. ツールボックスの「シミュレーション」グループにある「SysMLシミュレーションの設定」要素をダイアグラム内にドラッグ&ドロップして配置します。

SysMLシミュレーションの設定要素をダイアグラムに配置した例です。

パッケージを指定する

  1. SysMLシミュレーションの設定要素をダブルクリックします。
    これにより、SysMLシミュレーションの設定タブが開きます。
  2. パッケージの欄の [選択]ボタンを押し、今回作成したSysMLブロック定義図が含まれるパッケージを選択します。

対象のシミュレーションツールを指定する

ツールバーのドロップダウンリストから、シミュレーションで利用するツールを選択します。

  • Modelica
  • Simulink

シミュレーション対象のブロックを指定する

  • タブ内左側の一覧から'InvertOpAmp'のブロックを探します。
  • 'Value'の列のセルをクリックし、ドロップダウンリストから 'SysMLSimModel' を選択します。

グラフとして出力する値を指定する

グラフとして出力する値を指定します。

  • 右側の「プロットするプロパティ」の一覧に移動し、以下のようにチェックを入れます。

 

 

シミュレーションの実行

SysMLシミュレーションの設定タブの「解析」ボタンを押します。下の例は、Modelicaで生成された結果を示しています。

 

 

凡例には、プロットされたLM741.out.vと'Signal.vが表示されており、「プロットするプロパティ」で選択した2つのプロパティと一致しています。

 

 

生成されたモデルをModelicaやSimulinkで表示する

生成されたモデルを外部アプリケーションであるModelicaまたはSimulinkで表示するには、「生成した内容の参照」と「シミュレーションが実行できない場合の確認事項」のヘルプトピックをご覧ください。

 

 

参照: