LTspice®の一般的な使用法は、パラメータ(例えば電圧や電流)を時間に対してプロットし、時間領域のトランジェントを解析することです。ときとして、抵抗などの別のパラメータに対する回路の動作を知りたいと思うかもしれません。このためには、SPICE指令の「.measure」および「.step」の他に「SPICE Error Log」を使用します。
プログラム可能な電流源の出力電圧と負荷抵抗
LT3092は、使いやすいプログラム可能な電流源です。このデバイスがこの例に選ばれた理由は、動作が分かりやすくシミュレーション時間が短いためです。
Rout = 5ΩおよびRSET = 20kΩの場合、LT3092はコンプライアンス範囲が広く温度安定性の高い40mA電流源を生成します。この電流源によって可変抵抗の両端で電圧降下が発生している状況で、負荷電圧と充電抵抗のグラフをプロットしたいというケースを想定します。右のパネルにLTSpiceファイルへのリンクを張ってあり、そのファイルでは過程が図示されています。所望の結果を得るための基本的な手順を以下に示します。
1. LTspiceで新しい回路図を開き、「F2」ファンクション・キーを押してLT3092のシンボルを挿入し、回路図の描画を終了して以下のようにネットリストにラベルを付けます。
2. 回路図を右クリックして、シミュレーション・コマンドを次のように編集します。
.tran 0 510m 500m
抵抗に対してパラメータをプロットしたい、と前述しました。正確には、シミュレーションが定常状態に達したら、ノード「LOAD」の電圧をプロットしたいと思っています。この回路では、LT3092が定常状態に達するのは500msよりずっと前であることが分かっています。そこで、与えられた抵抗のシミュレーションを500msの間実行し、その後、次の10msの間にデータの保存を開始します。
3. キーボードの「S」を押すと、次のSPICE指令を回路図に挿入します。
.save V(load)
.step param X 10 30 1
.measure VLoadAvg avg V(load)
.option plotwinsize=0 numdgt=15
.save文はノード「LOAD」の電圧データの保存だけを行い、大規模なシミュレーションを速めるのに役立ちます。
.stepコマンドは、パラメータ「X」(この場合は負荷抵抗)を10Ωから30Ωまで1Ω刻みで変化させます。これは、シミュレーションを21回実行する必要があることを意味します。したがって、より複雑なシミュレーションは、完了するまでにある程度の時間がかかるので注意してください。
.measureは、ノード「LOAD」の平均電圧を計算して、結果を変数「VLoadAvg」に格納します。
最後に、.options文により、圧縮をディスエーブルするplotwinsize = 0を設定しています。また、numdgtを使用して、出力データに使用する有効数字を設定しています。numdgt>6の場合は、倍精度が使用されます。
4. シミュレーションを実行します。
シミュレーションが実行されると、.measure文の出力は.logファイルに書き込まれます。これは「SPICE Error Log」で表示できます。シミュレーションに.stepコマンドが含まれている場合、.measure文はステップごとに実行され、結果は.logファイル内に表として出力されます。.measureの結果の表は、次の手順を行うことで通常の波形のようにプロットできます。
5. 得られたデータを波形ビューワで表示するには、CTRLキーを押しながらLを押して「SPICE Error Log」を開き、ログを右クリックして「Plot .step’ed .meas data」を選択します。
この例では、軸にラベルが付いていません。しかし、X軸が負荷抵抗でY軸が負荷電圧であることが分かっています。
もう1つは.opシミュレーションを使用する方法で、コンデンサを開回路にしてインダクタを短絡し、DC動作点解決法を実行します。この方法では、上に示すような直接の結果が得られます。
上の例を参照することにより、LTSpiceを使用して、パラメータをいくつかの項目の関数として視覚化することができます。ここでは抵抗を示しましたが、測定値を記録して、温度、容量、インダクタンスなどの値に対してプロットすることもできます。.measure文および.opシミュレーションはかなり柔軟なので、単なる単純平均よりもはるかに多くの項目を測定することができます。レギュレータのトランジェント応答と可変補償部品を測定してプロットすることさえ可能です。