シミュレーションにおいて、部品や信号等の定数が変わった時、どのように波形応答が変化するのを確認したい場合があります。
その時、定数を手作業で変更し、シミュレーションを実行・・・また、定数を手作業で変更して、シミュレーションを実行・・・これを繰り返して、波形応答の変化を確認するのは大変ですよね。
そこで役に立つのが.stepコマンドです。”.stepコマンド”を利用すれば、1回のシミュレーション時間は長くなりますが、部品や信号等の定数が変わった時にどのように波形応答が変化するのかをシミュレーション1回で容易に調べることができます。
1回のシミュレーションで部品や信号等の定数を変化させた時の結果を得ることができるため、回路検証を効率よく行えることが可能となります。また、定数を変化させた時の波形応答を重ねて表示できたりするので便利です。
ではこれから”.stepコマンド”について詳しく紹介します。
.stepコマンドを使用してシミュレーションを行う方法
今回は簡単な例として、バイポーラトランジスタを題材として、ベース電流IBが変化した時にIC-VCE特性がどのように変化するかをシミュレーションしてみます。
- ステップ解析をするために、部品の素子値の定数を変数化します。部品(今回は電流源)を右クリックします。通常は”Value欄”に定数を入力しますが、今回は変数化するために{IB}と入力します。これで「IB」が変数となります。このように、定数を変数化するために、LTspiceでは変数には必ず中括弧{}で囲みます。
- 次に回路上でキーボードの”s”、またはツールバーの「.op」をクリックし、”Edit Text on the Schematic”を表示させ、”SPICE directive”にチェックがあることを確認してから、.stepコマンドを記入します。今回は”.step param IB 0 0.5m 0.05m”と記入しました。これは、変数IBを0mAから0.5mAまで0.05mA刻みで変化させるコマンドです。
- シミュレーションを実行します。DC解析を行うと、下図のように波形が表示されます。これは、バイポーラトランジスタのコレクタエミッタ間電圧VCEが0~2Vと変化した時のコレクタ電流のDC解析を行いました。ベース電流IBが0mAの時が赤の波形、0.05mAの時が青の波形、0.10mA時が緑の波形となります。これでシミュレーションは終了です。このように、.stepコマンドを用いると変数が変わったときにどのように波形応答が変わるのかを容易に調べることができます。
.stepコマンドはシミュレーション時間がかかる
問題点として、.stepコマンドを用いるとシミュレーション時間が長くなります。今回の例のように、「IB」を0mAから0.5mAまで0.05mA刻みで変化させる場合、各パラメータでシミュレーションを実行するため、合計11回シミュレーションが繰り返されます。そのため、複雑なシミュレーションを行う際には注意してください。
.stepコマンドの書き方
リスト変化
★書き方
.step param 変数 list 値1 値2 値3 …
変数をリストの値に段階的に変更して各々の値でシミュレーションを繰り返し実行します。
★例
.step param X list 1 5 10 100
変数Xを1,5,10,100と段階的に変更して各々の値でシミュレーションを繰り返し実行します。
線形変化
★書き方
.step param 変数 初期値 終了値 間隔値
変数を初期値から終了値まで間隔値の間隔で変化させ、シミュレーションを実行します。
★例
.step param X 0 100 10
変数Xを0から100まで10の間隔で変化させ、シミュレーションを実行します。
対数変化1
★書き方
.step oct param変数 初期値 終了値 2倍の区間の分割数
★例
.step oct param X 1 10 5
変数Xを1から10までオクターブ(2倍の区間)あたり、5分割で変化させ、シミュレーションを実行します。
対数変化2
★書き方
.step dec param変数 初期値 終了値 10倍の区間の分割数
★例
.step dec param X 1 10 5
変数Xを1から10までディケード(10倍の区間)あたり、5分割で変化させ、シミュレーションを実行します。
LTSpiceXVIIにおける.stepコマンドの変化点
最新バージョンの“LTSpice XVII”では、一度.stepコマンドを記入し、そのコマンドを右クリックすると、”.step Statement Editor”という”.stepコマンド”専用のダイアログが表示されるようになっており、使いやすくなっています。以前のバージョンの”LTSpice IV”ではダイアログは表示されずに、”Edit Text on the Schematic;”というテキスト編集画面が出ます。
便利な活用例
2ヵ所をステップ変化させる
2つ変数を定義して、その変数に対して各々に.stepコマンドを用いると、全ての組み合わせで実行されるようにシミュレーションを実行します。例えば、
.step param X 10 100 10
.step param Y 1 5 1
の場合だと、変数Xは10回、変数Yは5回のステップとなり、合計で50回シミュレーションが繰り返し実行されます。
.measコマンドと組み合わせて実行させる
波形の最大値や最小値などを測定することができる”.measコマンド”と今回紹介した”.stepコマンド”を組み合わせると、シミュレーションの便利さが増します。何ができるかというと、横軸を”.stepコマンド”で指定した変数、縦軸を”.measコマンド”で測定した値を表示することができるのです。
★例
今回、RC回路(C1=1000uF, R1は1Ωから10Ωまで1Ω刻みで変化)に周波数50Hz、最大値1Vの正弦波を印可した時に、コンデンサC1に印可される電圧VOUTの最大値を測定してみます。
- コンデンサC1に印可される電圧の最大値を測定するために、”.measコマンド”で”.meas trans MAX(V(VOUT))”と入力し、シミュレーションを実行します。
- シミュレーション終了後、右クリックを押し、”View”を選択、そして、”SPICE Error Log”を選択します。
- 選択すると、”SPICE Error Log”が表示されます。このログ上にはR1が1Ωの時、VOUTの最大値は0.954Vと数値でデータが入力されています。
- この画面上で右クリックすると、“Plot .step’ed .meas data”が表示されるので、それを選択します。すると、横軸にステップした変数の値(今回は抵抗R1)、縦軸に測定値(コンデンサC1に印可される電圧の最大値)のグラフが作成されます。
特定の波形のみを表示する
stepコマンドで複数の波形が表示された場合、どの波形がどのパラメータの時のシミュレーション結果か分かりませんよね。誰もが悩む箇所だと思いますが、きちんとLTspiceには特定の波形のみを表示される方法があるのです。
★やり方
- 波形が表示されている状態で「Plot Setting」→「Select Steps」をクリックする。
- 「Select Displayed Steps」が表示されるので、表示したいパラメータを選択する。(今回はR=4、とR=9の時の波形のみを表示させます)
- 「OK」ボタンを押すと、「Select Displayed Steps」で選択したパラメータのみが表示される。