LTspiceでボリュームを作る(2)連続可変
■連続して変化するボリューム
第1回のシミュレーションで、ボリュームの値を連続して変化させたい場合が多くあります。そのような場合、シミュレーションの経過時間を示す変数timeの関数として一方の抵抗の値を決め、次に、ボリュームの全抵抗から今決まった抵抗の値を減算するともう一方の抵抗の抵抗値も決まりLTspiceでボリュームをシミュレーションするための二つの抵抗の値が決まります。
●time変数は1秒で1
time変数は、シミュレーションの経過時間の秒の単位の値がセットされた変数です。過渡特性を調べる場合は、ゼロから .Tranコマンドで指定する終了時間までがtime変数の値の変化する範囲です。
シミュレーション時間が1秒の場合には変数timeは0から1に変化します。そのため、抵抗の値を0から10kΩに変化させるとすると、次の式で実現します。
●係数を掛けて必要な範囲を得る
一方、過渡特性のシミュレーション時間は多くの場合1秒より大幅に短期間に設定されます。そのため、短時間ではボリュームが回りきらず、次に示すように100msのシミュレーション時間では0.1sec/1sec=1/10の回転となります。
シミュレーション時間が1秒以外のときにシミュレーション時間に合わせてボリュームを1回転させる場合、次に示すように(1/シミュレーション終了時間)となる係数をかけて実現できます。シミュレーション終了時間の値は秒の単位で表記します。
シミュレーション時間が100msの場合は、
R=10000*(1/0.1)*time =10000*10*time |
以上の補正を行ってシミュレーションを行った結果を示します。
ボリュームの入力を5Vの電圧から、周波数が1kHz、ピーク値±1Vの正弦波に変更しました。
●Voltageとボリュームの違い
今回テストした、変化した電圧を出力するだけならVoltageの電圧源でも実現できます。しかし、使用するボリュームの抵抗値とOUTに接続される回路の入力特性によっては大きく変化する場合があります。そのため、実際の回路でボリュームを利用するのであれば、上記の抵抗による回路でシミュレーションしたほうが、正しい結果が得られます。
今回のボリュームは時間の回転角(時間の経過)と比例したB特性のボリュームとなっています。
次回、B特性以外のボリュームの実現の方法、任意の角度からスタート、ストップする方法を検討します。
(2016/12/7 V1.0)
<神崎康宏>