【LTspice】可変抵抗を作る4つの方法

スポンサーリンク

LTspiceを用いた回路シミュレーションで可変抵抗を用いたい場合があります。

例えば、

  • 抵抗値が変わった時の抵抗に流れる電圧や電流の変化をみたい。
  • 抵抗値が変わった時の過渡応答をみたい。

などなど・・・

このように、シミュレーションをする際に可変抵抗を使いたい時があっても、LTspiceには可変抵抗の素子がありません。

このため、今回は可変抵抗を作る方法を紹介します。

作り方は様々あり、大きく分けて4つあります。

  1. ノードの電圧を抵抗値のパラメータに設定する方法
  2. ビヘイビア電源(bv,bi)を使用する方法
  3. time関数を使用する方法
  4. .op解析を使う方法

となります。

これから各方法について説明します。

ノードの電圧を抵抗値のパラメータに設定して可変抵抗を作る方法

ノードの電圧を抵抗値のパラメータに設定して可変抵抗を作る方法01

作り方

  1. 電圧源を用意して、ノード電圧を設定する。
  2. 上図では、ノードを『R』として、電圧源の値を1Vにしているので、ノードRの電圧は1Vとなります。このノードですが、Rではなく、AでもVRでもなんでもOKです。

  3. 抵抗を用意して、抵抗値をR=V(ノード名)と設定する。
  4. 上図では、ノードを『R』にしているので、R=V(R)としています。V(R)とはR点の電圧のことです。今回はR点の電圧が1Vなので、V(R)=1となります。

  5. ノード電圧の値が抵抗値となる。
  6. 上図ではノード電圧V(R)が1Vなので、抵抗R1の抵抗値は1Ωとなります。

上の使い方では電圧源の値を1Vにしていますが、電圧源にPWLなどを用いて、

PWL(0 0 1 1)

0秒の時に0V、1秒の時に1Vの電圧源

とすると、抵抗R1の抵抗値は0秒の時に0Ω、1秒の時に1Ωとなる可変抵抗となります。
ノードの電圧を抵抗値のパラメータに設定して可変抵抗を作る方法02

シミュレーション例①

可変抵抗シミュレーション例1
電流値を1Aに設定した入力電流源IINと抵抗 R1を直列接続した回路図でシミュレーションしてみます。抵抗R1の抵抗値は『R=V(R)』とします。ノードRの電圧は電圧源V1の値をPWL(0 0 1 1)としているため、

  • 0秒の時:0V
  • 1秒の時:1V

となります。
そのため、抵抗R1の抵抗値は

  • 0秒の時:0Ω
  • 1秒の時:1Ω

となります。

シミュレーション結果より、時間によって出力電圧VOUTが変化していることが分かります。入力電流IINは1Aで一定です。
出力電圧VOUTは

VOUT = R1×IIN = R1×1 = R1

となりますので、出力電圧VOUTが変化しているということは、抵抗R1の抵抗値が時間によって変化しているということになります。

シミュレーション例②

可変抵抗シミュレーション例2
今回のシミュレーションでは、抵抗R1の抵抗値を『R={R0}+V(R)』としています。R0は、

.param R0=1

としているので、R0の値は1となります。
V(R)は、シミュレーション①と同じく

  • 0秒の時:0
  • 1秒の時:1

となります。
そのため、抵抗R1の抵抗値『R={R0}+V(R)』は0秒の時に1Ω、1秒の時に2Ωとなる可変抵抗となります。

シミュレーション結果をみてみます。0[s]の時は、

R = {R0}+V(R) = 1+0 = 1

なので、抵抗R1の抵抗値は1[Ω]。
抵抗R1には1Aを流しているので、出力電圧VOUTは1Vとなります。

ビヘイビア電源(bv,bi)を使用して可変抵抗を作る方法

ビヘイビア電源(bv,bi)を使用して可変抵抗を作る方法
抵抗に『R=V(ノード名)』として可変抵抗を作ることができますが、ビヘイビア電源(bvまたはbi)でも可変抵抗を作ることができます。bvとbiのどちらでもOKです。

ビヘイビア電源(bv)は電圧の値を指定する『V=式』、ビヘイビア電源(bi)は電流の値を指定する『I=式』として用いるのが一般的ですが、『V=式』や『I=式』の代わりに、『R=式』とすることで、可変抵抗となります。

time変数を使用して可変抵抗を作る方法

time変数を使用して可変抵抗を作る方法
time変数は、シミュレーションの経過時間がセットされている変数です。
例えば、『.tran 1』として、シミュレーションを1秒する場合、0.1秒の時にはtimeは『0.1』、1秒の時にはtimeは『1』となります。
すなわち、time変数は、『0』から『.tranコマンドで指定する終了時間』まで値が変化します。

上のシミュレーションでは、変数timeは0から1に変化します。そのため、

  • シミュレーション経過時間が0sの時
  • R =time = 0
    なので、抵抗R1の抵抗値は0[Ω]。
    そのため、出力電圧VOUTは0Vになる。

  • シミュレーション経過時間が1sの時
  • R =time = 1
    なので、抵抗R1の抵抗値は1[Ω]。
    そのため、出力電圧VOUTは1Vになる。

ことが確認できます。

time変数に係数をかけることが可能

time変数に係数をかけることが可能
『R =time』ではなく、『R =0.1*time』と、time変数に係数をかけることもできます。

この場合、変数timeは0から100mに変化します。そのため、シミュレーション経過時間が1sの時、出力電圧VOUTは100mVになっています。

.op解析を使用して可変抵抗を作る方法

op解析を使用して可変抵抗を作る方法
.trans解析ではなく.op解析を使用した場合には可変抵抗の作成方法について説明します。
この方法では横軸を抵抗値としたグラフを描くことができます。
『.step』を使用してスイープさせたい抵抗と抵抗値を設定します。

まとめ

可変抵抗の作り方として4つの方法を説明しました。4つの方法の中では最初に説明した、ノードの電圧を抵抗値のパラメータに設定して可変抵抗を作る方法が一番オススメです。

スポンサーリンク