- オペアンプの加算回路と減算回路ってなんですか?
- 加算回路と減算回路の原理と計算方法を教えてください
- どんな用途で使われているかも知りたりです。
こんな質問にお答えします。
本記事を書いている私は、電子回路設計歴10年です。
今回はオペアンプの加算回路と減算回路について解説します。
オペアンプを使って、足し算・引き算ってどうやるのか、
その原理や計算方法を、シミュレーション結果と比較しながら詳しく解説していきます。
本記事を読めば、オペアンプ加算回路と減算回路について理解できるようになります。
5分で読めますので、ぜひ最後までご覧ください。
※ 初心者でも挫折しないアナログ回路の通信講座(返金保証あり)
アナログ回路の通信講座です。
アナログ回路設計の第一歩を学習できます。
30日間の返金保証があるので、ノーリスクで始められます。
まずはカリキュラムを確認してみましょう。
オペアンプの加算回路と減算回路の基本は反転増幅回路
オペアンプ加算回路と減算回路の基本は、反転増幅回路です。
反転増幅回路の動作を理解してない段階で、加算回路と減算回路を理解するのは難しいです。
なので、まずは反転増幅回路を理解しましょう。
下記の記事で解説しています。
では、加算回路から解説していきます。
オペアンプの加算回路
オペアンプの「加算回路」を「反転増幅回路」と比較しながら解説します。
下図は、オペアンプの「加算回路」と「反転増幅回路」になります。
オペアンプの加算回路
オペアンプの反転増幅回路
違いは赤枠のところですね。
反転増幅回路は入力電圧が1つですが、加算回路は並列にもう1つ入力電圧があります。
並列にすれば本当に加算できるのか、それぞれシミュレーションで確認します。
オペアンプ加算回路のシミュレーション
オペアンプ反転増幅回路のシミュレーション
回路図「IN1」の電圧波形:
V(in1)の信号(青線)
回路図「IN2」の電圧波形:
V(in2)の信号(緑線)
回路図「OUT」の電圧波形:
V(out)の信号(赤線)
結果は、
加算回路 V(in1):10mV V(in2):10mV V(out):-200mV
反転増幅回路 V(in1):10mV V(out):-100mV
となりました。
反転増幅なので、出力電圧V(out)はマイナスになります。
反転増幅回路の増幅率は、
( R9 / R1 ) = ( 100k / 10k ) = 10倍
なので、
V(in1) × 増幅率 = 10mV × 10倍 = 100mV
であり、シミュレーション結果と同じです。(マイナス符号は省略)
加算回路は、
{ V(in1) + V(in2) }× 増幅率 = { 10mV + 10mV }× 10倍 = 20mV × 10倍 = 200mV
であり、加算回路もシミュレーション結果と同じです。(マイナス符号は省略)
よって、並列にすれば、入力電圧V(in1)とV(in2)が加算されていることが分かりました。
なぜ並列にすれば加算できるのか、それを次に解説していきます。
オペアンプ加算回路の原理と計算式
下図でオペアンプ加算回路の原理を解説します。
ポイントはバーチャルショートです。
つまり、オペアンプのマイナス(-)端子とプラス(+)端子は同じ電圧になります。
これにより、電流の方向が決まります。
オペアンプのプラス端子はGND(0V)に接続されているので、
バーチャルショートにより、オペアンプのマイナス端子も0Vになります。
よって、Vin1とVin2が10mVのような電圧だった場合、
電流は高い電圧から低い電圧に流れる(10mV → 0V)ので、
抵抗R1とR2に流れる電流の方向は、上図の右方向になります。
このとき反転増幅なので、出力電圧Voutはー200mVのようなマイナス電圧になります。
つまり、0V → ー200mV の方向に電流が流れるので、
抵抗R9に流れる電流の方向は、上図の右方向になります。
オペアンプのマイナス端子は、入力抵抗が非常に大きいので、電流はほとんど流れ込みません。
よって、
I1 + I2 = I9
という関係が成り立ちます。
また、バーチャルショートにより、オペアンプのマイナス端子は0Vなので、
オームの法則から、
R1 × I1 = Vin1 ー 0V ⇒ I1 = ( Vin1 / R1 )
R2 × I2 = Vin2 ー 0V ⇒ I2 = ( Vin2 / R2 )
R9 × I9 = 0V ー Vout ⇒ I9 = ー ( Vout / R9 )
と求められます。
ゆえに、出力電圧Voutは、
I1 + I2 = I9
⇒ I9 = I1 + I2
⇒ ー ( Vout / R9 ) = ( Vin1 / R1 ) + ( Vin2 / R2 )
⇒ ( Vout / R9 ) = ー{ ( Vin1 / R1 ) + ( Vin2 / R2 ) }
⇒ Vout = ー R9{ ( Vin1 / R1 ) + ( Vin2 / R2 ) }
となります。
一見、加算してるように見えにくいですが、先程のシミュレーションの抵抗値で考えてみます。
まず、抵抗R1とR2は同じ値( R1 = R2 )でしたので、
Vout = ー R9{ ( Vin1 / R1 ) + ( Vin2 / R2 ) }
⇒ Vout = ー R9{ ( Vin1 / R1 ) + ( Vin2 / R1 ) }
⇒ Vout = ー ( R9 / R1 ) ×{ Vin1 + Vin2 }
となり、
さらに、抵抗R1 = R2 = 10kΩ、抵抗R9 = 100kΩ を入力すると
⇒ Vout = ー ( 100kΩ / 10kΩ ) ×{ Vin1 + Vin2 }
⇒ Vout = ー 10 ×{ Vin1 + Vin2 }
となります。
これで加算しているように見えましたね。
まとめると、
オペアンプのバーチャルショートを利用し、マイナス端子を0Vにすることで、加算回路を実現している
ということです。
オペアンプ加算回路の原理が分かったので、次は電圧を3つ並列に入力して計算してみます。
オペアンプ加算回路の計算とシミュレーション
下記のオペアンプ加算回路で計算します。
さきほどの出力電圧Voutの式で計算します。
Vout = ー R9{ ( V1 / R1 ) + ( V2 / R2 ) + ( V3 / R3 ) }
⇒ Vout = ー 100kΩ ×{ ( 10mV / 10kΩ ) + ( 20mV / 20kΩ ) + ( 30mV / 30kΩ ) }
⇒ Vout = ー 100kΩ ×{ ( 10mV / 10kΩ ) + ( 20mV / 20kΩ ) + ( 30mV / 30kΩ ) }
⇒ Vout = ー ( 100kΩ / 10kΩ ) ×{ ( 10mV / 1Ω ) + ( 20mV / 2Ω ) + ( 30mV / 3Ω ) }
⇒ Vout = ー 10 ×{ 10mV + 10mV + 10mV }
⇒ Vout = ー 10 × 30mV
⇒ Vout = ー 300mV
出力電圧Voutはー 300mVでした。
シミュレーションで合っているか確認します。
回路図「IN1」の電圧波形:
V(in1)の信号(青線)
回路図「IN2」の電圧波形:
V(in2)の信号(緑線)
回路図「IN3」の電圧波形:
V(in3)の信号(黄線)
回路図「OUT」の電圧波形:
V(out)の信号(赤線)
シミュレーションでも、出力電圧Voutはー 300mVなので計算は合っていました。
このようにして、オペアンプの加算回路は計算することができます。
よくある質問:
オペアンプ加算回路の抵抗値は大きい方が良いと聞いたことがあるですが、その理由は何でしょうか?
抵抗値を大きくすると、
回路内部にある小さな抵抗などの影響がほとんどなくなり、無視できるようになります。
しかし、大きな抵抗はあまりオススメしません。
数MΩ以上の抵抗を使用すると、流れる電流が少なくり、うまく動かなくなるリスクがあります。
私の経験上、1kΩ~数百kΩぐらいが適切だと思います。
よくある質問:オペアンプ加算回路は実際どういうものに使われるのでしょうか?
複数のセンサから出力された電圧を加算するときに使用します。
また、複数のオーディオ信号を入力することでオーディオミキサーとして使用されたりもします。
(オーディオミキサーは、入力された複数のオーディオ信号を聞きやすい音声に調整する機材です。)
さて、オペアンプで加算できるということは、減算もできます。
次はオペアンプの減算回路を解説していきます。
オペアンプ減算回路は差動増幅回路のこと
下図は、オペアンプの減算回路です。
本当に減算できるのか、シミュレーションで確認します。
回路図「IN1」の電圧波形:
V(in1)の信号(青線)
回路図「IN2」の電圧波形:
V(in2)の信号(緑線)
回路図「OUT」の電圧波形:
V(out)の信号(赤線)
シミュレーションの結果は、
入力電圧V(in1) = 10mV、V(in2) = 20mV のとき、出力電圧V(out) = 100mV
となりました。
あとで解説しますが、この回路の増幅率は、
( R9 / R1 ) = ( 100kΩ / 10kΩ ) = 10倍
です。
つまり、
{ V(in2) ー V(in1) }× 増幅率 = { 20mV - 10mV }× 10倍 = 10mV × 10倍 = 100mV
であり、シミュレーション結果と同じです。
よって、入力電圧V(in1)とV(in2)が減算されていることが分かります。
実は、このオペアンプ減算回路は差動増幅回路ともいいます。
2つの入力電圧の差を増幅していますからね。
私の経験上、この回路を使用するときは差動増幅回路と呼ぶことが多いですね。
あまり減算回路と言っている人を見たことがありません。
どちらでも良いのですが、同じ回路であることは覚えておきましょう。
では、なぜこの回路だと減算できるのか、それを解説していきます。
オペアンプ減算回路(差動増幅回路)の原理と計算式
下図でオペアンプ減算回路(差動増幅回路)の原理を解説します。
減算回路のポイントもバーチャルショートです。
減算回路もオペアンプのマイナス(-)端子とプラス(+)端子は同じ電圧になります。
反転増幅回路や加算回路との違いは、
オペアンプのプラス(+)端子は0Vではなく、抵抗R2とR8で分割した電圧になることです。
つまり、マイナス(-)端子も0Vではありません。
具体的に解説していきます。
オペアンプの+端子の電圧は、抵抗で分割した電圧なので、
+端子の電圧 = { R8 / ( R2 + R8 ) }× Vin2
となります。
バーチャルショートにより、
-端子の電圧 = +端子の電圧
なので、
-端子の電圧 = { R8 / ( R2 + R8 ) }× Vin2
となります。
オペアンプの入力端子(+端子と-端子)の抵抗は非常に大きいので、電流がほとんど流れ込みません。
そのため、抵抗R1の電流I1は、抵抗R9に流れていきます。
電流I1は、オームの法則から
R1 × I1 = Vin1 ー (-端子の電圧) ⇒ I1 = [{ Vin1 ー (-端子の電圧) }/ R1 ]
となるので、出力電圧Voutは、
R9 × I1 = (-端子の電圧) ー Vout
⇒ Vout = (-端子の電圧) ー R9 × I1
⇒ Vout = (-端子の電圧) ー R9 × [{ Vin1 ー (-端子の電圧) }/ R1 ]
⇒ Vout = (-端子の電圧) ー ( R9 / R1 ) ×{ Vin1 ー (-端子の電圧) }
⇒ Vout = (-端子の電圧) ー ( R9 / R1 ) × Vin1 + ( R9 / R1 ) × (-端子の電圧)
⇒ Vout = ー ( R9 / R1 ) × Vin1 + ( 1 + R9 / R1 ) × (-端子の電圧)
⇒ Vout = ー ( R9 / R1 ) × Vin1 +{ ( R1 + R9 ) / R1 }× (-端子の電圧)
となります。
ちょっと複雑になってきましたが、(-端子の電圧)を入力すると
Vout = ー ( R9 / R1 ) × Vin1 +{ ( R1 + R9 ) / R1 }×{ R8 / ( R2 + R8 ) }× Vin2
となります。
減算回路は、このような計算式で出力電圧Voutを計算しています・・・
って言われても良くわからないですよね。ちょっと計算式が複雑過ぎです。
そこで、オペアンプの減算回路(差動増幅回路)には2つのルールがあります。
- 抵抗R1 = 抵抗R2
- 抵抗R9 = 抵抗R8
このルールで、抵抗をR1とR9だけにすると、
Vout = ー ( R9 / R1 ) × Vin1 +{ ( R1 + R9 ) / R1 }×{ R8 / ( R2 + R8 ) }× Vin2
⇒ Vout = ー ( R9 / R1 ) × Vin1 +{ ( R1 + R9 ) / R1 }×{ R9 / ( R1 + R9 ) }× Vin2
⇒ Vout = ー ( R9 / R1 ) × Vin1 +{ R9 / R1 }×{ ( R1 + R9 ) / ( R1 + R9 ) }× Vin2
⇒ Vout = ー ( R9 / R1 ) × Vin1 + ( R9 / R1 ) × Vin2
⇒ Vout = ( R9 / R1 ) × Vin2 ー ( R9 / R1 ) × Vin1
⇒ Vout = ( R9 / R1 ) × ( Vin2 ー Vin1 )
となります。
これでスッキリとした計算式になりました。2つの入力電圧Vin2とVin1が減算していることが分かります。
また、( R9 / R1 ) 倍に増幅されていることも分かりますね。
つまり、この回路の増幅率は抵抗R1とR9で求められるということです。
まとめると、
- オペアンプのバーチャルショートにより、プラス端子とマイナス端子の電圧を同じにする
- ルールに従って抵抗値を決める
これらにより減算回路(差動増幅回路)を実現しているのです。
オペアンプ減算回路(差動増幅回路)の原理が分かったので、次は電圧を変化して計算してみます。
オペアンプ減算回路(差動増幅回路)の問題を計算してシミュレーション
さて、問題です。
下記のオペアンプの減算回路(差動増幅回路)で、
電源V1を0.5Vに固定したまま、電源V2を変化させると、出力電圧OUTはどうなるでしょうか?
電源V2は、-0.5V → 0.0V → 0.5V → 1.0V → 1.5Vと変化させます。
この問題を解いていきましょう。今までの知識でわかる問題です。
まず、オペアンプの減算回路(差動増幅回路)のルールより、
- 抵抗R1 = 抵抗R2
- 抵抗R9 = 抵抗R8
となっているので、
出力電圧OUT = ( R9 / R1 ) × ( V2 ー V1 )
ですね。
増幅率は
( R9 / R1 ) = ( 100kΩ / 10kΩ ) = 10倍
です。
つまり、
出力電圧OUT = 10 × ( V2 ー V1 )
となります。
電源V2を、-0.5V → 0.0V → 0.5V → 1.0V → 1.5Vと変化させたときの
出力電圧OUTは、
電源V2 = ー0.5Vのとき
出力電圧OUT = 10 × ( ー0.5V ー 0.5V ) = 10 × ( ー1.0V ) = ー10.0V
電源V2 = 0.0Vのとき
出力電圧OUT = 10 × ( 0.0V ー 0.5V ) = 10 × ( ー0.5V ) = ー5.0V
電源V2 = 0.5Vのとき
出力電圧OUT = 10 × ( 0.5V ー 0.5V ) = 10 × 0.0V = 0.0V
電源V2 = 1.0Vのとき
出力電圧OUT = 10 × ( 1.0V ー 0.5V ) = 10 × 0.5V = 5.0V
電源V2 = 1.5Vのとき
出力電圧OUT = 10 × ( 1.5V ー 0.5V ) = 10 × 1.0V = 10.0V
と変化します。
シミュレーションで合っているか確認します。
電源V2 = 1.5V のときの回路図「OUT」の電圧波形:
V(out)の信号(灰色線)
電源V2 = 1.0V のときの回路図「OUT」の電圧波形:
V(out)の信号(ピンク線)
電源V2 = 0.5V のときの回路図「OUT」の電圧波形:
V(out)の信号(緑線)
電源V2 = 0.0V のときの回路図「OUT」の電圧波形:
V(out)の信号(赤線)
電源V2 = ー0.5V のときの回路図「OUT」の電圧波形:
V(out)の信号(青線)
LTspiceシミュレーションでは「.stepコマンド」を使って、-0.5V ~ 1.5V までを、0.5Vステップで変化させています。
結果は下記の通り。
電源V2 = ー0.5V のとき、V(out) = ー10.0V
電源V2 = 0.0V のとき、V(out) = ー5.0V
電源V2 = 0.5V のとき、V(out) = ー0.0V
電源V2 = 1.0V のとき、V(out) = 5.0V
電源V2 = 1.5V のとき、V(out) = 10.0V
先程の計算とシミュレーション結果は一致しているので、合っていることが分かります。
このように、入力電圧が変化しても、減算回路(差動増幅回路)の問題を解くことができます。
よくある質問:オペアンプ減算回路(差動増幅回路)はどんな用途で使われますか?
電源出力の消費電流を測定するシステムで使われます。
検出抵抗の両端電圧を測定する際に、オペアンプの減算回路(差動増幅回路)が使用されます。
検出抵抗の両端電圧を測定して、マイコンで電流値に換算します。
オペアンプ加算回路と減算回路のまとめ
オペアンプの加算回路と減算回路について解説しました。
加算回路と減算回路の原理や計算方法を理解できたでしょうか?
本記事が少しでもお役に立てば幸いです。
※ 初心者でも挫折しないアナログ回路の通信講座(返金保証あり)
アナログ回路の通信講座です。
アナログ回路設計の第一歩を学習できます。
30日間の返金保証があるので、ノーリスクで始められます。
まずはカリキュラムを確認してみましょう。
人気記事:【無料の特典と返金保証あり】電子回路のオンライン入門セミナー5選!
【教材】トランジスタ増幅回路の設計講座
トランジスタ増幅回路の設計ノウハウを公開しました。
【目次】
・第1章
トランジスタ増幅回路の基礎知識
・第2章
固定バイアス回路の設計
・第3章
自己バイアス回路の設計
・第4章
電流帰還バイアス回路の設計
講座内容の詳細は下記からどうぞ。