【LTspice】スイープ(掃引)を行う『.dc解析』の使い方と応用について

スポンサーリンク

この記事では.dc解析の使い方と応用について詳しく説明します。

『.dc解析』とは

.dc解析とは直流電圧・直流電流・温度といったパラメータをスイープ(掃引)させた時において、ノード電圧や電流がどのように変化するかを調べる解析です。「オペアンプの直流伝達関数」、「ダイオードの電流-電圧特性」、「トランジスタの静特性」を検証するのに役立ちます。

メニューバーの[Simulate]から[Edit Simulation Cmd]を左クリックすると、[Edit Simulation Command]ダイアログボックスが表示されます。このダイアログボックス内の[DC sweep]タブが『.dc解析』の設定画面となっています。
【LTspice】 DC sweep

『.dc解析』を使用すると、下図のようなトランジスタの静特性(コレクタ電流-コレクタ電圧特性)を観測することができます(下図のシミュレーション方法についてはこの記事の後半に記載しています)。
【LTspice】 トランジスタの静特性

これから、『.dc解析』において

  • 『.dc解析』の構文とダイアログボックスでの設定項目
  • シミュレーション例(トランジスタの静特性の観測)
  • シミュレーション例(温度をスイープする方法01)
  • シミュレーション例(温度をスイープする方法02)

を説明します。

補足

  • 『.dc解析』は直流電源スイープ解析直流掃引解析DCスイープ解析DC sweep解析とも呼ばれています。
  • 『.dc解析』ではコンデンサは開放、インダクタは短絡と考えて、直流点を計算します。

『.dc解析』の構文とダイアログボックスでの設定項目

『.dc解析』の構文は以下のようになっています。

構文

.dc <srcnam> <Vstart> <Vstop> <Vincr> [<srcnam2> <Vstart2> <Vstop2> <Vincr2>…]

この構文ですが、[Edit Simulation Command]ダイアログボックスの設定画面の各項目を選択または入力すると、自動的に構文が作成されます。各項目は以下のようになっています。
【LTspice】『.dc解析』の構文とダイアログボックス

タブ

タブには[1st Source]、[2nd Source]、[3rd Source]の3つのタブがあります。『.dc解析』では、スイープ(掃引)する電圧源・電流源を3つまで設定可能であり、各電圧源・電流源の設定はタブ毎に行います。なお、[1st Source]~[3rdSource]の各タブで入力方法に違いはありません。

Name of 1st Source to sweep

スイープする電圧源・電流源の部品名を入力します(例えばV1,I1など)。ここで選択した内容は自動的に構文の<srcnam>の箇所に反映されます。なお、タブが[2nd Source]の場合には項目名が「Name of 2nd Source to sweep」となります。

Type of sweep

電圧源・電流源の直流値をスイープする間隔を選択します。以下に選択できる項目を示します。

  • Linear:等間隔(これを使用するのがほとんど)
  • Octave:2倍間隔
  • Decade:10倍間隔
  • List:リストで指定した直流値のみ解析

「Octave」と「Decade」を選択した場合には、横軸が対数目盛となります。

Start Value

スイープの開始値を入力します(スイープ対象が電圧源の場合には単位は[V]、電流源の場合には単位は[A]となります)。ここで選択した内容は自動的に構文の<Vstart>の箇所に反映されます。

Stop Value

スイープの終了値を入力します(単位は<Vstart>と同様です)。ここで選択した内容は自動的に構文の<Vstop>の箇所に反映されます。

Increment

スイープの増分値(刻み幅)を入力します(単位は<Vstart>と同様です)。増分値が小さいほど滑らかなグラフとなりますが、シミュレーションの実行時間が長くなります。ここで選択した内容は自動的に構文の<Vincr>の箇所に反映されます。

補足

  • Incrementは、「Type of Sweep」でListを選択した場合のみ表示されます。Octaveを選択すると、Number of points per octaveとなり、直流値が10倍になるまでのステップ数となります。また、Decadeを選択すると、項目名がNumber of points per decadeとなり、直流値が2倍になるまでのステップ数となります。
  • 「Type of Sweep」でListを選択すると、項目名が1st value~3rd valueに変わります。ここに解析したい直流値を入力します。
  • 「Type of Sweep」でLinearを選択した場合、構文は何も変化ありません。しかし、Octaveを選択すると、<srcnam>の前にoctが追加されます。Decadeを選択すると、<srcnam>の前にdecが追加されます。また、Listを選択すると、<srcnam>の後にlistが追加されます。

SPICE Directiveからでもコマンドを入力可能

[Edit Simulation Command]ダイアログボックスではなく、「SPICE Directive」からでも『.dcコマンド』を入力できます。ツールバーの.opをクリックすると(ショートカットキーは”s”)、[Edit Text on the Schematic]ダイアログボックスが表示されます。「SPICE Directive」が選択されていることを確認して『.dcコマンド』を入力します。なお、「SPICE Directive」を用いて設定を行えば、スイープ(掃引)電源を3つ以上設定することができます。
【LTspice】】『.dc解析』はSPICE Directiveからでもコマンドを入力可能

『.dc解析』のコマンド例

  • .dc VIN 0.2 5.0 0.1
  • →電圧源VINの値を0.2Vから5.0Vまで0.1V刻みで変化させる

  • .dc V1 0 15 10m I1 20u 100u 20u
  • →1st Sourceが電圧源V1であり値を0Vから15Vまで10mV刻みで変化させる。2nd Sourceが電流源I1であり、値を20uAから100uAまで20uA刻みで変化させる。

  • .dc dec V1 1 1000 100
  • →電圧源VINの値を1Vから1000Vまで変化させる。直流値が10倍になるまでのステップ数は100である。

シミュレーション例(バイポーラトランジスタの静特性)

『シミュレーション回路』と『コマンド』について

【LTspice】バイポーラトランジスタの静特性
上図はNPNトランジスタQ1に対して、電流源I1をベースに、電圧源V1をコレクタに接続した回路図です。
DC解析のコマンドは

.dc V1 0 15 10m I1 20u 100u 20u

と入力しており、各Sourceは

  • 1st Source
  • 0Vから15Vまで10mV間隔でスイープする電圧源V1

  • 2nd Source
  • 0uAから100uAまで20uA間隔でスイープする電流源I1

となっています。

補足

この回路図は「C:\Users\ユーザー名\Documents\LTspiceXVII\examples\Educational」のフォルダ内にある「curvetrace.asc」に格納されています。

シミュレーション結果

【LTspice】バイポーラトランジスタの静特性(シミュレーション結果)
上図にシミュレーション結果(コレクタ電流IC(Q1)のグラフ)を示します。

ここで、重要なのは『.dc解析』では1st Sourceがグラフの横軸となるという点です。1st sourceには電圧源V1を設定しており、0Vから10vまでスイープしているので、グラフの横軸も0V~10Vとなっていることが確認できます。2nd Sourceは電流源I1を設定しており、各電流値におけるグラフが同じグラフ上に色分けされ表示されます。特定の電流値におけるグラフを見るためには、波形ウィンドウをクリックしてアクティブにした後に、[Plot Setting]→[Select Steps]を選択します。すると、[Select Displayed Steps]ダイアログボックスが表示されるので、表示したいパラメータを選択して[OK]ボタンを押します。
【LTspice】Select Steps

基本のおさらい(グラフの表示方法)

Ic(Q1)のグラフ表示方法について説明します(基本的な内容なのですでに知っている方は飛ばしてください)。シミュレーション中(またはシミュレーション実行後)に、回路図ウィンドウをアクティブにして、カーソルをトランジスタQ1のコレクタ端子に近づけると、カーソルが電流プローブの形に変わります。その状態で左クリックすると、波形ウィンドウにグラフが表示されます。なお、波形ウィンドウの上部には選択した信号名(今回はIc(Q1))が表示されます。

補足

  • 1st Sourceと2nd Sourceを入れ替えると、横軸がコレクタ電流となるため、以下のような波形となってしまいます。

【LTspice】1st Sourceと2nd Sourceを入れ替える

シミュレーション例(温度をスイープする方法01)

『.dc解析』は電流源・電圧源の直流値以外に温度もスイープすることができます。1st Sourceに温度パラメータである「temp」を入力するとシミュレーション結果の横軸が温度の目盛となります。

『シミュレーション回路』と『コマンド』について

【LTspice】温度をスイープする方法01
上図はダイオードD1に対して0.6Vの電圧源V1を接続した回路図です。
DC解析のコマンドは

.dc temp -20 100 0.01

と入力しており、温度を-20℃から100℃まで0.01℃刻みでスイープさせています。

シミュレーション結果

【LTspice】温度をスイープする方法01(シミュレーション結果)
上図にシミュレーション結果(ダイオード電流I(D1)のグラフ)を示します。横軸が温度になっていることが確認できます。また、温度が増加するほど、流れる電流が大きくなっていることが確認できます。

シミュレーション例(温度をスイープする方法02)

2nd Soueceに「temp」を設定すると、『.stepコマンド』、『.tempコマンド』と同様のシミュレーションを実施することができます。

『シミュレーション回路』と『コマンド』について

【LTspice】温度をスイープする方法02
上図はダイオードD1に電圧源V1を接続した回路図です。
DC解析のコマンドは

.dc V1 0 1.2 0.01 temp -20 100 20

と入力しており、各Sourceは

  • 1st Source
  • 0Vから1.2Vまで0.01V間隔でスイープする電圧源V1

  • 2nd Source
  • -20℃から100℃まで20℃間隔でスイープする温度(temp)

となっています。

シミュレーション結果

【LTspice】温度をスイープする方法02(シミュレーション結果)
上図にシミュレーション結果(ダイオード電流I(D1)のグラフ)を示します。また、『.stepコマンド』で

.step temp -20 100 20

と入力した時のグラフと、『.tempコマンド』で

.temp -20 0 20 40 60 80 100

と入力した時のグラフも表示しています。これら3つのコマンドで全て同じ結果を得ることができます。

なお、『.stepコマンド』、『.tempコマンド』については以下の記事に詳しく説明しています。

【LTspice】.stepコマンドとは?

【LTspice】温度解析を行う『.temp』コマンドの使い方

まとめ

この記事では、スイープ(掃引)を行う『.dc解析』について構文から[Edit Simulation Command]ダイアログボックスの設定画面、そして3つのシミュレーション例説明しました。LTspiceには『.dc解析』以外にも様々な解析コマンドがあります。LTspiceに関する記事は以下にまとめてあるのでぜひ参考にしてください。

『LTspice』に関する記事一覧

また、当サイトの全記事一覧は以下にまとめてあるのでぜひ参考にしてください。

当サイトの全記事一覧

スポンサーリンク