汎用オペアンプ LM358 を動かしてみて、いろいろとわかったことをクックブック的に記録しておこうと思います。まだまだ完全に理解できているわけではないし間違っているところもあると思いますが、回路作成の備忘録にできればいいな、と。
今回は、オペアンプを使った加算器と減算器です。
オペアンプは「演算増幅器」というくらいですから演算ができます。アナログコンピュータでは微積分の演算に使われていたそうですが、ここでは基本的な加算器 (adder) と減算器 (subtractor) について試してみようと思います。ただし、教科書とちょっと違うのは、オペアンプ LM358 を単電源で動作させている、というところです。
テスト用直流信号発生回路
まず、加算器などに入力する直流信号を発生させる回路を用意しておきましょう。
どんな回路でもいいんですが、今回は、部品箱にあった汎用オペアンプ LM324 を利用したボルテージフォロワにしました。(図 1)
LM324 は LM358 と同じような単電源の汎用オペアンプですが、4 回路入りです。3 回路を利用して、残りの 1 回路は未使用端子処理しています。
電源は 5V 単電源です。出力電圧は LM358 と同じように 3.5V ほどで飽和します。
電圧設定ボリュームの 33KΩ にはあまり意味はありません。部品箱にあったジャンク品を使っただけです。
加算器
回路図
図 2 は、加算器の回路です。
これは単電源の反転 DC 増幅回路ですから、バイアス電圧をかけないと動作しません。入力電圧を 0V、出力電圧 VOUT を 3.5V としたとき、反転入力 IN(-) 端子の電圧 V(-) は R4 と RI=R1//R2//R3 で分圧された電圧ですから、
V(-) = VOUT・RI/(R4+RI)
= 3.5 x 33.33 / (100 + 33.33)
= 0.87 [V]
この電圧をバイアス電圧とします。
R5、R6 によるバイアス電圧は 0.90V になります。オフセット電圧のキャンセル抵抗として 25KΩ 必要ですが、R5//R6=18.03KΩ でまぁだいたいよしとしましょう。コンデンサ C1 はバイアス電圧の AC パスで、カットオフ周波数は 0.88Hz です。
反転 DC 増幅回路については、過去記事を参照下さい。
未使用端子と電源端子
図 3 は、未使用端子の処理と電源端子の接続です。
いつもと同じ、未使用の回路には電源電圧の半分を IN(+) に印加し、ボルテージフォロワとしておきます。
電源は 5V の単電源です。パスコンを入れておきましょう。
以下、減算器なども同様です。
入力電圧 – 出力電圧 特性
図 4 は、加算器で測定した入力電圧対出力電圧の特性グラフです。
入力電圧の合計が 0.25V ずつ増加するように入力したときの、出力電圧を示しています。反転 DC 増幅回路ですから入力電圧を増加させると出力電圧は減少していきます。減少幅はほぼ 0.25V になっています。
入力電圧の低いところで出力電圧が少し落ちていますが、まぁだいたいいい感じじゃないでしょうか。
なお、このように単電源の加算器の出力電圧は、入力電圧が 0 のときの出力電圧から入力電圧の和を引いた値になります。両電源の場合は、入力電圧の和の符号を反転した値です。
減算器
回路図
図 5 は、減算器の回路です。
これは差動増幅器で、非反転入力と反転入力の電圧の差が出力されます。
R2/R1=R4/R3 になるように構成しますが、R1 と R2 が等しいので増幅率は 1 です。
入力電圧 – 出力電圧 特性
図 6 は、減算器で測定した入力電圧対出力電圧の特性グラフです。
入力電圧の差が 0.25V ずつ減少するように入力したときの、出力電圧を示しています。出力電圧もほぼ 0.25V ずつ減少しています。
出力電圧は V2-V1 ですが、単電源なので差がマイナスになる減算はできません。
加重加算器 (D/A コンバータ)
前出の加算器は各入力電圧に対する増幅率がすべて 1 ですが、これを変化させることで入力電圧に加重して加算することができます。そこで、3 つの入力にそれぞれ 1、2、4 の重みをつけて 3 ビットのバイナリコードに見立てることで、D/A コンバータのように動作させてみました。
回路図
図 7 は、入力に重みをもたせた加算器の回路です。
R1 の 100KΩ に対して R2 は約 1/2、R3 は約 1/4 ですので、それぞれの入力に対して 2 倍、4 倍の重みを持っています。これは 3 ビットのバイナリコードと同じ重みですから、バイナリデータに応じた電圧が出力されることになります。つまり、デジタル値をアナログ電圧に変換した、ということ。
なお、バイアス電圧は 0.45V としています。
入力電圧 – 出力電圧 特性
図 8 は、加重加算器に 3 ビットデータを入力したときの出力電圧です。
各入力電圧は 0.5V、入力が 0V のとき出力は 3.7V でした。
たとえば、V1 と V2 に入力すると 0b011 で出力電圧は 1.5V 減少し、V2 と V3 に入力すると 0b110 で約 3.0V 減少します。
このようにバイナリデータをアナログ電圧に変換できました。
後記
今回は、単電源駆動のオペアンプ LM358 を使った加算器と減算器を試してみました。また、入力に重みをつけた加算器でデジタル・アナログ変換 (D/A コンバータ) をやってみました。
加算器は前にやった反転 DC 増幅器の応用です。同じように非反転 DC 増幅器でも加算器ができますが、増幅率が 1 より大きな加算器になります。また、入力を AC 結合にすることでオーディオ・ミキサなどにすることも可能です。
ただ、こうした演算回路をつなげてアナログコンピュータのようにするならば、やっぱり両電源にしないと信号の受け渡しが面倒になりそうですね。