[LTspice] 基礎的なオペアンプ差動増幅回路のシミュレーション方法


※ 当ページには【広告/PR】を含む場合があります。
2020/07/22
【LTspice】サブサーキットファイルでのモデル追加 〜 LM358の場合
【LTspice】バイポーラトランジスタの基本特性をシミュレーションしてみる




LTspiceでオペアンプを使った回路シミュレーションを学習するときにまず最初に理解したいのが
反転増幅回路差動倍増回路 です。
今回は復習がてらに、LTspiceでこの回路パターンのシミュレーションの基礎を簡単に説明していきます。


反転増幅回路



まずオペアンプの利用法でもっとも簡単な
反転増幅回路 からやっていきます。 その名の通り、オペアンプの入力電圧の差を一定の増幅率で出力させる回路です。

合同会社タコスキングダム|蛸壺の技術ブログ


ここでオペアンプへの入力電圧を
ViV_i 、出力電圧を VoV_o 、2つの抵抗はそれぞれ R1,R2R_1, R_2 としておきます。 またオペアンプの入力+側の電位を V+V_+ 、入力ー側の電位を VV_- とおきます。

VV_- の電位に着目して式を導出してみます。 入力側に接続されている抵抗 R1R_1 に流れる電流 I1I_1 は以下の式となります。

I1=ViVR1 I_1 = \frac{V_i - V_-}{R_1} Eq. (1)


理想的なオペアンプの入力インピーダンスは無限大になるため、オペアンプ側に流れ込む電流はゼロです。 ということで出力側の
R2R_2 へ電流 I1I_1 がすべて流れるので、出力電圧 VoV_o は、

Vo=VI1R2 V_o = V_- - I_1 \cdot R_2 Eq. (2)


となります。
式(1)と式(2)から
I1I_1 を消去してみます。

Vo=VViVR1R2=V(ViV)R2R1 V_o = V_- - \frac{V_i - V_-}{R_1} \cdot R_2 = V_- - (V_i - V_-) \frac{R_2}{R_1} Eq. (3)


オペアンプの重要な性質として、負帰還回路を構成する場合の
イマジナリーショート(仮想短絡) の条件により、オペアンプの入力信号と帰還信号の電位差がなくなります。 つまりは、

V=V+ V_- = V_+ Eq. (4)


という式が成り立つので、式(3)は

Vo=V+(ViV+)R2R1 V_o = V_+ - (V_i - V_+) \frac{R_2}{R_1} Eq. (3')


となります。 ところで、今回の回路はオペアンプの+入力端子はグラウンドへ落ちているので
V+=0 [V]V_+ = 0\ [\mathrm{V}] となり、式(3')は更に簡略化され、

Vo=ViR2R1γVi V_o = - V_i \frac{R_2}{R_1} \equiv - \gamma V_i Eq. (3")


という式になりました。 ここでの
γR2/R1\gamma \equiv R_2/R_1 が増幅率となります。
すなわち、入力電圧の極性が反転し、2つの抵抗から決まる
γ\gamma によって増幅することが分かります。

LTspiceでのシミュレーション



それでは先程の式を確かめるために、反転増幅回路の一例としてLTspiceシミュレーションをやってみます。
今回は適当なところで
Vi=12[V]V_i = 12\mathrm{[V]}R1=10[kΩ],R2=20[kΩ]R_1 = 10\mathrm{[k\Omega]}, R_2 = 20\mathrm{[k\Omega]} で与えてみます。 このとき出力側で Vo=(20k/10k)12=24[V]V_o = - (20\mathrm{k}/10\mathrm{k}) \cdot 12 = -24 \mathrm{[V]} となっているのを確認してみましょう。
特に決まった型式のオペアンプがない場合は、LTspiceで用意されている仮想のオペアンプ
opamp を利用することができます。

合同会社タコスキングダム|蛸壺の技術ブログ


コンポーネントセレクターから
[OpAmps] --> [opamp] を選択します。

合同会社タコスキングダム|蛸壺の技術ブログ


オペアンプのコンポーネントに抵抗や電源、グラウンドなどを配置・結線していきます。 この辺はLTspiceの基礎的な手順ですので説明は省きます。 手を動かしながら操作を覚えましょう。
次に回路の配線が正しくおこなえたら、今回はDC動作点解析(
.op )をやってみます。 ちなみに .op はDC動作点解析で、各分岐点やチェックポイントの諸元を確認するための解析法です。
LTspiceでの解析では
SPICE directive と呼ばれるコメント欄で解析のスクリプトを記述していきます。

合同会社タコスキングダム|蛸壺の技術ブログ


まずツールボックスから
[.op] アイコンをクリックすると、テキストエディターのダイアログがポップアップします。 コメント欄の特性が SPICE directive になっていることを確認し、以下のスクリプトをテキストエリアに追加します。

            .lib opamp.sub
.op

        

ここでは
.lib コマンドで内部に用意されている opamp 用のライブラリを読みこんでくるのがポイントで、この行がないとシミュレーター上の opamp コンポーネントが動作しません。
解析スクリプトが書けた状態で、ツールボックスの人が走っているイラストの
Run ボタンを走らせることでシミュレーションがスタートします。

合同会社タコスキングダム|蛸壺の技術ブログ


解析が上手くいけば、計算の結果が以下のようなテキストで表示されると思います。

            --- Operating Point ---

V(v-):     0.000240005     voltage
V(n001):     12     voltage
V(vo):     -23.9993     voltage
I(R2):     -0.00119998     device_current
I(R1):     -0.00119998     device_current
I(Vi):     -0.00119998     device_current
Ix(u1:3):     0.00119998     subckt_current

        

出力電圧はほぼ
-24V となっていることが確認できます。 仮想のオペアンプではありますが計算誤差も少々あるようですが、おおむね許容範囲内かと思います。


差動倍増回路



もう一つのオペアンプのメジャーな使い方の
差動倍増回路 です。

合同会社タコスキングダム|蛸壺の技術ブログ


こちらもその名の通りで2つの入力信号の電位差を一定の増幅率で出力信号へと返します。
先程の
反転増幅回路 との違いは2つの入力信号を使うので Vi+,ViV_i^+, V_i^- の2入力電圧とおくことと、計4箇所に抵抗(図中での R1,R2,R3,R4R_1, R_2, R_3, R_4 )を配置していることが違います。
さて、上述した反転増幅回路での式(3)に着目・比較して
ViViV_i \rightarrow V_i^- とみなすと、 差動倍増回路 でもこの式が成り立つので、

Vo=V(ViV)R2R1 V_o = V_- - (V_i^- - V_-) \frac{R_2}{R_1} Eq. (5)


となります。
また負帰還ですので、以下のイマジナリーショートの条件も満たしています。

V+=V V_+ = V_- Eq. (6)


この式(6)から式(5)を代入すると、

Vo=V+(ViV+)R2R1=V+R1+R2R1ViR2R1 V_o = V_+ - (V_i^- - V_+) \frac{R_2}{R_1} = V_+ \frac{R_1 + R_2}{R_1} - V_i^- \frac{R_2}{R_1} Eq. (5')


他方で入力
V+V_+ 側に着目すると、直列の抵抗 R3R_3R4R_4Vi+V_i^+ がそれぞれ分圧した電圧が加わっており、オペアンプ側には入力インピーダンス無限大のため電流は流れず、その分圧電圧をそれぞれ V3,V4V_3, V_4 とおくと、

V3=Vi+R3R3+R4,V4=V+=Vi+R4R3+R4 V_3 = V_i^+ \frac{R_3}{R_3 + R_4}, V_4 = V_+ = V_i^+ \frac{R_4}{R_3 + R_4} Eq. (7)


と分配されます。
よってこの式(7)の
V+V_+ を式(5')に代入して整理すると、

Vo=Vi+R4(R1+R2)R1(R3+R4)ViR2R1 V_o = V_i^+ \frac{R_4(R_1 + R_2)}{R_1 (R_3 + R_4)} - V_i^- \frac{R_2}{R_1} Eq. (5")


という式を得ます。
このままでは差動的には使えないため、回路上で用いる抵抗値を
R1=R3,R2=R4R_1 = R_3, R_2 = R_4 となるように選択すると、式(5")は更に簡略化され以下のようになります。

Vo=Vi+R2(R1+R2)R1(R1+R2)ViR2R1=(Vi+Vi)R2R1γΔi V_o = V_i^+ \frac{R_2 (R_1 + R_2)}{R_1 (R_1 + R_2)} - V_i^- \frac{R_2}{R_1} = (V_i^+ - V_i^-) \frac{R_2}{R_1} \equiv \gamma \Delta_i Eq. (5''')


ここで
γR2/R1, Δi=Vi+Vi\gamma \equiv R_2 / R_1,\ \Delta_i = V_i^+ - V_i^- とおいています。
この式から2つの入力端子への電圧差
Δi\Delta_i が増幅率 γ\gamma で出力されていることが分かります。

LTspiceでのシミュレーション



それでは先程の
反転増幅回路 のシミュレーションの要領で、 差動倍増回路 のシミュレーションの一例を取り上げます。
とはいえ反転増幅回路で挙げた例から大幅な変更はなく、オペアンプ入力+側に2つの抵抗と電圧源を追加した程度ですが、以下のような回路図となると思います。

合同会社タコスキングダム|蛸壺の技術ブログ
Vi+=12[V],Vi=7[V],R1=R3=10[kΩ],R2=R4=20[kΩ]V_i^+ = 12 \mathrm{[V]}, V_i^- = 7 \mathrm{[V]}, R_1 = R_3 = 10 [\mathrm{k}\Omega], R_2 = R_4 = 20 [\mathrm{k}\Omega] としますと、式(5''')から、 Vo=20k/10k(127)=10[V]V_o = 20\mathrm{k}/10\mathrm{k} \cdot (12 - 7) = 10 \mathrm{[V]} が得られるかを確認します。
DC動作点解析を走らせて、結果をチェックすると以下のようになります。

            --- Operating Point ---

V(v+):     7.9999     voltage
V(vi-):     7     voltage
V(vo):     9.9997     voltage
V(vi+):     12     voltage
V(n001):     8     voltage
I(R4):     -0.0004     device_current
I(R3):     -0.0004     device_current
I(R2):     9.999e-005     device_current
I(R1):     9.999e-005     device_current
I(Vi-):     9.999e-005     device_current
I(Vi+):     -0.0004     device_current
Ix(u1:3):     -9.99899e-005     subckt_current

        

確かに出力が10Vとなっていることが確認できました。


参考サイト