LTspiceを用いた回路シミュレーションで可変抵抗を用いたい場合があります。
例えば、
- 抵抗値が変わった時の抵抗に流れる電圧や電流の変化をみたい。
- 抵抗値が変わった時の過渡応答をみたい。
などなど・・・
このように、シミュレーションをする際に可変抵抗を使いたい時があっても、LTspiceには可変抵抗の素子がありません。
このため、今回は可変抵抗を作る方法を紹介します。
作り方は様々あり、大きく分けて4つあります。
- ノードの電圧を抵抗値のパラメータに設定する方法
- ビヘイビア電源(bv,bi)を使用する方法
- time関数を使用する方法
- .op解析を使う方法
となります。
これから各方法について説明します。
ノードの電圧を抵抗値のパラメータに設定して可変抵抗を作る方法
作り方
- 電圧源を用意して、ノード電圧を設定する。
- 抵抗を用意して、抵抗値をR=V(ノード名)と設定する。
- ノード電圧の値が抵抗値となる。
上図では、ノードを『R』として、電圧源の値を1Vにしているので、ノードRの電圧は1Vとなります。このノードですが、Rではなく、AでもVRでもなんでもOKです。
上図では、ノードを『R』にしているので、R=V(R)としています。V(R)とはR点の電圧のことです。今回はR点の電圧が1Vなので、V(R)=1となります。
上図ではノード電圧V(R)が1Vなので、抵抗R1の抵抗値は1Ωとなります。
上の使い方では電圧源の値を1Vにしていますが、電圧源にPWLなどを用いて、
↑
0秒の時に0V、1秒の時に1Vの電圧源
とすると、抵抗R1の抵抗値は0秒の時に0Ω、1秒の時に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の抵抗値が時間によって変化しているということになります。
シミュレーション例②
今回のシミュレーションでは、抵抗R1の抵抗値を『R={R0}+V(R)』としています。R0は、
としているので、R0の値は1となります。
V(R)は、シミュレーション①と同じく
- 0秒の時:0
- 1秒の時:1
となります。
そのため、抵抗R1の抵抗値『R={R0}+V(R)』は0秒の時に1Ω、1秒の時に2Ωとなる可変抵抗となります。
シミュレーション結果をみてみます。0[s]の時は、
なので、抵抗R1の抵抗値は1[Ω]。
抵抗R1には1Aを流しているので、出力電圧VOUTは1Vとなります。
ビヘイビア電源(bv,bi)を使用して可変抵抗を作る方法
抵抗に『R=V(ノード名)』として可変抵抗を作ることができますが、ビヘイビア電源(bvまたはbi)でも可変抵抗を作ることができます。bvとbiのどちらでもOKです。
ビヘイビア電源(bv)は電圧の値を指定する『V=式』、ビヘイビア電源(bi)は電流の値を指定する『I=式』として用いるのが一般的ですが、『V=式』や『I=式』の代わりに、『R=式』とすることで、可変抵抗となります。
time変数を使用して可変抵抗を作る方法
time変数は、シミュレーションの経過時間がセットされている変数です。
例えば、『.tran 1』として、シミュレーションを1秒する場合、0.1秒の時にはtimeは『0.1』、1秒の時にはtimeは『1』となります。
すなわち、time変数は、『0』から『.tranコマンドで指定する終了時間』まで値が変化します。
上のシミュレーションでは、変数timeは0から1に変化します。そのため、
- シミュレーション経過時間が0sの時
- シミュレーション経過時間が1sの時
R =time = 0
なので、抵抗R1の抵抗値は0[Ω]。
そのため、出力電圧VOUTは0Vになる。
R =time = 1
なので、抵抗R1の抵抗値は1[Ω]。
そのため、出力電圧VOUTは1Vになる。
ことが確認できます。
time変数に係数をかけることが可能
『R =time』ではなく、『R =0.1*time』と、time変数に係数をかけることもできます。
この場合、変数timeは0から100mに変化します。そのため、シミュレーション経過時間が1sの時、出力電圧VOUTは100mVになっています。
.op解析を使用して可変抵抗を作る方法
.trans解析ではなく.op解析を使用した場合には可変抵抗の作成方法について説明します。
この方法では横軸を抵抗値としたグラフを描くことができます。
『.step』を使用してスイープさせたい抵抗と抵抗値を設定します。
まとめ
可変抵抗の作り方として4つの方法を説明しました。4つの方法の中では最初に説明した、ノードの電圧を抵抗値のパラメータに設定して可変抵抗を作る方法が一番オススメです。