自動制御web講座

2. シミュレーション

line

2.1. シミュレータの使い方


2.1.5. 回路ファイルの作成

◆ 以上の説明は、すでに作成されている、回路ファイルを使って、シミュレーションを実行する説明でした。実際のシミュレーションでは、準備作業として、まず回路ファイル (*.cir) を作成することが、必要です。
ここでは、回路ファイル リストの内容を説明します。回路ファイルを自分で作るときに必要な事項も、解説してあります。

2.1.5.(1) 回路ファイルのファイル名

◆ 回路ファイルのファイル名には、日本語を使用できません。PSPICE は、日本語のファイル名でも動作します。しかし、文字化けしてファイル名が読めない部分があります。SCHEMATICS を使用するときは、日本語名では動作しない部分があります。ファイル名には、日本語を使用しない方が、良いでしょう。
ただし、ファイルを置くディレクトリ名 (フォルダ名) は、日本語でも差し支えありません。

2.1.5.(2) 回路ファイルの内容

◆ リスト 2-1-1 の内容を説明します。
なお、シミュレーションに早く上達する秘訣は、とにかく動かして見ることです。格言にも「習うより慣れよ」というのがあります。
解説を詳しく読んで理解しようとするよりも、まず、いじって見ることが大切です。

2.1.5.(2-A) 1行目 : コメント

◆ 回路ファイルの 1行目は、必ずコメントです。ここには何を書いてもコメントとして扱われます。
回路ファイルでは、任意の行にコメントを挿入できます ((2-D)参照)。しかし、この 1行目のコメントは、一般の、任意行コメントとは異なる、特別な役割を持っています。
このコメントは、PROBE画面をプリントするときに、その表題となります。日本語を使うと、プリントの文字が、文字化けします。この行だけは、日本語を使わない方がよいでしょう。

2.1.5.(2-B) 2行目以降

◆ 2行目以降は本文です。コマンド、およびデバイス (部品) を記述します。デバイスを記述することによって、回路を構成します。コマンドおよびデバイスは、それぞれ1行に記述します。
SPICEでは大文字と小文字は区別されません。空行 (Enterだけの行) は無視されます。

[注] リストでは空行を設けてありません。適宜、空行を入れるとさらに見やすくなります。

2.1.5.(2-C) 2行目 : コマンド (トランジェント解析)

◆ 各行の行頭は、コマンド名またはデバイス名です。最初に「.」があるものは、コマンド名です。
.TRAN」はシミュレーション解析方法を指定するコマンドです。最初に、シミュレーション解析方法を、指定します。

2.1.5.(2-C-a) シミュレーション解析の方法

◆ シミュレーション解析の方法には、下記の 3種類があります。
 [ .TRAN : トランジェント解析 ]
.TRAN は、所定のとランジェント波形を、回路の指定の場所に入力したときの、時間応答を解析します。回路中の全ての個所の、出力波形を見ることができます(2.1.5.(2-C-c)参照)。
制御応答では、.TRAN によってステップ応答を求めることができます。
 [ .AC : AC (交流) 解析 ]
.AC は周波数特性です。入力として、正弦波形を加えたときの応答です。出力の正弦波形の振幅と位相を、周波数を横軸としてプロットします。この正弦波入力も、回路の指定の場所に入力できます。出力は全ての個所を見ることができます(2.1.6.(1-B)参照)。
AC 解析は、電気、機械などの分野では一般に周波数特性と呼んでいます。
制御の分野でも、周波数応答の名で呼ばれ、多く用いられています。
 [.DC : DC (直流) 解析 ]
.DC は、定常状態にある入力と出力の関係を求めます。電子回路の解析には多く使用されますが、制御の分野では、あまり使用されません。

2.1.5.(2-C-b) コマンドの概要

◆ コマンド 名の後には、そのコマンドで定められている、要素を記述します。コマンドと要素の間、要素と要素の間は、スペースまたはタブ、およびその組み合わせで、区切ります。
リストでは、タブを使って位置を揃えて見やすくしています。

[注] リストのタブは 8 文字です。回路ファイルのタブは、通常、8 文字が適切です。
また、この講座では、リストは、1 行は 80 字以上を、前提としています。1行が 80 字以下の場合には、見難いところが、できます。

2.1.5.(2-C-c) .TRANコマンドの概要

◆ .TRAN コマンドの標準の要素は二つです。その書式は、
   <.TRAN><プリント・ステップ値><終了時間>
です。ここで、< > は必ず記述しなければならない要素を意味します。
PSPICE のコマンドやデバイスは、豊富なオプション機能を持っています。
この講座では、特に必要な場合を除いてオプションの説明は省略し、標準 (場合によっては標準の一部分) の機能のみを示します。

2.1.5.(2-C-d) プリント・ステップ値

◆ このプリント・ステップ値は、名前と実体が異なります。
もともとの SPICE には、プリント用の .PRINTコマンド、プロット用の .PLOTコマンドなどがあります。
プリント・ステップ値は、これらのコマンドを使って、プリントなどを行うときに、ステップ幅を指定するパラメータです。
PSPICE では、独自の PROBE を使って、画面表示やプリントなどを行います。PROBE の出力は、プリント・ステップ値の指定には、無関係です。PROBE による画面表示やプリント出力などは、プリント・ステップ値に左右されません。
ただし、PSPICEでも、プリント・ステップ幅は、解析計算に影響します。この意味で、適切に設定する必要があります。
◆ 解析計算には、解析計算のステップ幅が存在します。解析計算のステップ幅は、解析の演算時間と演算精度を支配します。ステップ幅が細かければ、演算精度は高くなりますが、演算時間が長く掛かります。
この解析計算のステップ幅は、PSPICE によって自動的に決められます。解析の途中で、もステップ幅が自動的に変化します。
ところが、この解析計算のステップ幅は、プリント・ステップ値から、影響を受けます。しかし、その影響の受け方が、どのようになっているかは、はっきりしません。
一応は、解析計算のステップ幅は、プリント・ステップ値に比例的に変化します。しかし、プリント・ステップ値を狭く取っても、波形に大きな誤差がでることもあります。逆に、プリント・ステップ値を広くしても、解析計算のステップ幅が広くならないときもあります。
◆ 以上のような問題はありますが、通常はプリント・ステップ値を次のように決めると良いでしょう。
デバッグや各種トライアルのときは、プリント・ステップ値を広く取れば演算時間が短くなり、効率良く解析できます。
本番の解析では、プリント・ステップ値を小さくして必要な精度を確保します。
具体的な値は、経験に依るしかありません。
なお、パソコンの演算速度が十分に速ければ、プリントステップ値は、広過ぎることだけを気にすれば良いわけです。プリントステップ値が広過ぎるときは、波形の細かい変化が現れませんから、すぐ分かります。

2.1.5.(2-C-e) 終了時間

◆ 終了時間は、解析終了の時間を示します。解析は必ず時間ゼロから始まり、終了時間で終わります。

2.1.5.(2-C-f) コメント

◆ コマンドやデバイスを記述した後に、同じ行中に、コメントを記述することができます。「;」はコメントを表します。
コメントの説明は次の (2-D) で行います。

2.1.5.(2-D) 3行目 : コメント

◆ 行頭に「*」があると、その行は、本文ではなくコメントと見なされます。また、2行目のように行の途中に「;」があると、その行の「;」以降もコメントと見なされます。
コメントは SPICE プログラムの中では無視されます。リストの例のように、日本語を使用しても差し支えありません。プリントしたりすれば、文字化けしますが、演算には支障ありません。

2.1.5.(2-E) 4行目 : デバイス (電圧源)
2.1.5.(2-E-a) デバイスの概要

◆ この行はデバイス (回路構成部品) を示します。コマンド名が「.」で始まるのに対して、デバイス名は英字で始まります。
最初の 1 文字がデバイスの種類を表します。たとえば、電圧源「V」、抵抗「R」、ダイオード「D」、コンデンサ「C」などがあります。
2 文字目以降の文字は、同一種類のデバイスを、個別に識別するために用いられます。リストでは「V1」、「R1」、「D1」のように数字を付けて識別していますが、英字を付けることもできます。
デバイスは、ノード(接続点)を持っています。抵抗やコンデンサは、2 端子のデバイスですから、各 2 つのノードを持ちます。ノードには、名称をつけます。同じ名称のノードは、配線によって、互いに接続されていることを、表します。

2.1.5.(2-E-b) 電圧源の概要

◆ V」は電圧源です。電圧源の書式は、
   <V(名称)><+ノード><-ノード><電圧値>
   ( < > は、必須)
です。ノード名は任意の英数字の組み合わせで表します。
ノード名「0」はグラウンドを表します。SPICE では、グラウンドのノード名は 0 でなければなりません。
電圧源には、幾つかの種類があります。ここの電圧源は、一般的な電圧源では無く、トランジェント解析のための電圧源です。この場合の電圧値の記述の仕方は、次の(2-E-c)に示します。
電圧源が、単なる DC の固定電圧のときは、電圧値はその DC電圧値を記入します。

[注] デバイス名やノード名の文字数には制約がありません。しかし、次のように制限すると、リストが見やすくなります。
タブを使って字揃えを行なうときは、文字数を (タブ幅 - 1) 以下に制限すると、各要素の位置が、よく揃って見やすくなります。
タブ幅が 8 桁であれば、デバイス名やノード名は 7 文字以下に制限すると良いでしょう。
タブ幅が狭いと、この制限は実用性がありません。タブ幅は 8 桁に設定することを推奨します。
ただし、この制限は、単に、リストを見やすくするだけのものですから、例外があっても差し支えありません。

2.1.5.(2-E-c) トランジェント解析のための電圧源

◆ この電圧源 (リスト 2-1-1 の 4行目の「V1」) は単なる電圧源ではなくて、トランジェント解析のための入力電圧です。この場合には、電圧値として、波形を指定する必要があります。
波形は数種類、用意されており、それぞれ表記法が定められています。
この例はパルス波形です。パルス波形は、
   PULSE(<V1><V2><td><tr><tf><pw><per>)
   ( < > は、必須)
で表します (図 2-1-11表 2-1-1)。PULSEの( )内の各要素は、区切り記号としてスペース、左カッコ「(」、右カッコ「)」、カンマ「,」を使用することができます。
リストの例ではカンマとスペースを使用しています。

[図 2-1-11] パルス波形の定義

パルス波形の定義

[表 2-1-1] 電圧源 PULSE の要素

パラメータ 意味 デフォルト値 単位
<V1> パルスの初期電圧 なし V
<V2> パルスの電圧振幅 なし V
<td> パルスの最初の
立ち上がりまでのディレイ
0 sec
<tr> パルスの立上がり時間 TSTEP sec
<tf> パルスの立下がり時間 TSTEP sec
<pw> パルス幅 TSTOP sec
<per> パルス周期 TSTOP sec

◆ 電圧や時間の数値の詳細な書き方は、次の (2-F) でまとめて解説します。

[注] デフォルト値の意味と使い方については、2.2.2.(3-B)に説明します。

2.1.5.(2-F) 6行目 : デバイス (抵抗)
2.1.5.(2-F-a) 抵抗の概要

◆ デバイス「R」は抵抗です。抵抗の標準要素は、
   <R(名称)><+ノード><-ノード><抵抗値>
   ( < > は、必須)
です。

2.1.5.(2-F-b) 値の書き方

◆ 電圧、時間、抵抗などの値は、
   <値[スケール][単位]>
の形で表します。ここで、[ ] は省略可能な要素を示します。値とスケール、スケールと単位は続けて書きます。スペースなどを入れることはできません。

2.1.5.(2-F-c) スケール

◆ スケールを表す記号は、基本的には SI 単位系の補助単位と同じです。しかし、SPICE の使用文字の制約から、表 2-1-2のようになります。スケールの数字は 10 の指数 (累乗) を示します。

[表 2-1-2] スケールを表わす記号

記号 スケール 呼び名
F -15 FEMTO
P -12 PICO
N  -9 NANO
U  -6 MICRO
M  -3 MILLI
K  3 KILO
MEG  6 MEGA
G  9 GIGA
T  12 TERA

◆ スケール名が省略可能であるというのは、補助単位なしのときは、書かないということです。補助単位付きで数値を示す場合には、書かなければなりません。
特に注意しなければならないのは、M (MILLI) と MEG (MEGA) です。MILLIに「m」、MEGAに「M」を書きたくなります。しかし、PSPICEでは大文字と小文字が区別されません。

[注] ところが、PROBE では大文字と小文字が区別されます。PROBE の書式は SPICE とは違い、MILLI は「m」、MEGA は「M」と書きます。ますます間違いやすいのです。

スケールを書くかわりに、数値を「2.4E4」のように、指数を付けて表記することもできます。

       数式


2.1.5.(2-F-d) 単   位

◆ 要素はその位置 (何番目の要素か) によって、何を表しているのかが決まります。単位 (電圧ならV、時間ならs、抵抗ならΩなど) は書かなくても自動的に決まります。
したがって、数値の後に単位を書く必要はありません。
単位を記入しても、エラーにはなりませんが、SPICE は単位を無視します。単位を書くかどうかは好みの問題です。
この講座では、単位は、記入していません。

2.1.5.(2-G) 7行目 : デバイス (ダイオード)

◆ デバイス「D」はダイオードです。ダイオードの標準要素は、
   <D(名称)><+ノード><-ノード><モデル名>
です。ダイオードには特性が異なる多くの品種があります。この品種 (特性) を「モデル名」で区別します。

2.1.5.(2-H)  8〜9行目 : コマンド (モデル)
2.1.5.(2-H-a) .MODELコマンドの概要

◆ モデル名に対応するモデルの内容は、.MODELコマンドによって記述する必要があります。その書式は、
   .MODEL<モデル名><タイプ>[<パラメータ>=<値>]*
   ( < > は、必須   [ ] は、省略可能   * は、必要数繰り返し可)
です。タイプは、モデルのタイプ (デバイスの種類) を表します。ここでは、タイプ = D です。D は、ダイオードを表します。
[<パラメータ>=<値>]* の * は、必要なパラメータの種類だけ繰り返し記入することができることを示します。
モデルのパラメータの種類は非常に多く、ダイオードの場合は 25 種類あります。しかし、それを全て指定する必要はありません。
各パラメータにはデフォルト値が定められています。
デフォルト値と同じでよいものは、記述する必要はありません。極端な例として、全てのパラメータがデフォルト値であれば、ここは記入する必要がありません。

2.1.5.(2-H-b) 行の文字数が多いとき

◆ このコマンドはパラメータの記述が長いので、2 行にまたがっています。本来、SPICE ではデバイスやコマンドは 1行に記述しなければなりません。
ただし、この 1 行とはテキスト上の 1 行 (行頭から改行記号まで) のことで、画面 (またはプリント) 上の 1 行ではありません。
1 行が画面の幅より長い場合は、テキストエディタが自動折り返しを指定しているとき、改行記号が入っていなくても、自動的に折り返して表示されます。画面上では改行しているように見えます。しかし、この場合は、テキスト上は 1 行です。
ただし、行の途中の、半端な位置で、折り返しが発生すると、画面が見難くなります。PSPICE の文法上は 1 行であって、画面上では改行させる、方法があります。
リストを見て分かるように、適当な区切り位置で Enterキーで改行し、次の行の行頭(リストでは 9 行)に「+」を入れます。PSPICEは、「+」で始まる行を前行の続きと見なします。「+」の後にはスペースやタブを入れることができます。これを繰り返すことによって、1 行を、多数の行に、分けることができます。

2.1.5.(2-I) 10行目 : コマンド (プローブ)

◆ .PROBE コマンドは、回路ファイルの終わり (次の .END コマンドの前) に記述します。このコマンドは、PBOBE を実行するためのファイル (*.DAT) の、作成を要求する、コマンドです。
このコマンドがなくても PSPICE は実行します。しかし、このコマンドが無いと、PROBE を、実行することができません。
.PROBE コマンドは、出力変数を指定できます。指定したときは、指定した変数だけを、*.DATに出力します。指定しないときは、全変数を出力します。書式は、
   .PROBE [出力変数]*
   ( < > は、必須   [ ] は、省略可能   * は、必要数繰り返し可)
です。回路ファイルの変数の数が多いときは、*.DAT ファイルのサイズを小さくすることができるので、有効です。しかし、この講座では、変数の数が多いものは、ありませんから、ほとんど使用していません。

2.1.5.(2-J) 11行目 : コマンド (エンド)

◆ 回路ファイルの最後には、必ず .END コマンドを記入します。

2.1.5.(3) セ ー ブ

◆ 回路ファイルは、拡張子 .cir を持つ名前を付けて、セーブします。


目次に戻る   前に戻る   次に進む