反転増幅回路はオペアンプの基本回路のひとつです。トランジスタを用いた増幅回路と比較して狙った増幅率を精度よく実現できます。
回路図
以下の回路では乾電池 9V 形をオペアンプの電源としています。増幅回路の入力には単三乾電池 4 本を直列に接続した 6V 電源を接続しています。電圧は相対的なものですから、4.5V 電圧を基準にして考えると回路図に記載のとおり 1.5V の入力があることになります。これを -2.2 倍の増幅によって -3.3V にして出力します。抵抗値を調整すれば増幅率を変更できます。反転増幅回路では 1 未満の増幅も可能です。オペアンプの端子をデータシートで確認して回路を組みます。
オペアンプの電源端子について
オペアンプには端子が 5 つあります。2 つは電源端子です。電源端子の電圧 V-
と V+
の中間電圧付近で入出力電圧を変動させることを想定したオペアンプを両電源オペアンプとよびます。電源端子の電圧 V-
と V+
があるとき V-
周辺でも入出力電圧を変動させることを許容したオペアンプを単電源オペアンプとよびます。電圧は相対的なものですから、どちらのオペアンプも電源の個数を一つや二つに限定するものではありませんが、電源電圧に対してオペアンプの入出力が変動できる電圧の範囲が異なります。NJM4558 はオペアンプを二つ内蔵した IC です。動作電源電圧の大きさが 4V から 18V までの両電源オペアンプです。
オペアンプの入力から得られる出力について
オペアンプの電源以外の端子は非反転入力端子 (+)、反転入力端子 (-)、出力端子です。非反転入力端子 (+) の電圧が反転入力端子 (-) の電圧よりも大きいと、出力端子の電圧は理想的には正の無限大となります。実際には、両電源オペアンプの場合、電源端子 V+
の電圧より 1V 程度小さい値になります。逆に、反転入力端子 (-) の電圧が非反転入力端子 (+) の電圧よりも大きいと、出力端子の電圧は理想的には負の無限大となります。実際には、両電源オペアンプの場合、電源端子 V-
の電圧より 1V 程度大きい値になります。
入力値が変更されると非常に高速に出力に反映されます。何らかの仕組みで出力端子の電圧を入力端子の電圧にフィードバックして反映させることで、出力電圧が有限な値になったとします。これは、入力端子二つの電位差が非常に小さいことを意味しています。入力端子の電位差が (ほぼ) 0 であるため仮想短絡とよばれます。今回の反転増幅回路でも仮想短絡が実現されています。
オペアンプの入出力端子のインピーダンスについて
オペアンプの入力抵抗は理想的には無限大です。実際にほぼ電流は流れ込みません。逆に出力抵抗は非常に小さく、大きな電流が取り出せます。今回の回路図では、乾電池 4 本を直列に接続した 6V 電源から 1kΩ 抵抗を経由して流れてきた電流は、仮想短絡した非反転入力端子の GND 0V まで 1kΩ 抵抗で電圧降下します。入力端子には電流は流れないためそのまま 2.2kΩ 抵抗に同じ大きさの電流が流れて 2.2 倍の電圧降下 3.3V が発生します。そして、オペアンプの出力端子に電流が流れ込みます。
関連記事
- 輪郭に関連した画像処理 (OpenCV3 C++)cv::Canny などで検出したエッジをもとに cv::findContours で輪郭を計算できます。輪郭に関連した処理の例を記載します。 輪郭の描画 #include <opencv2/opencv.hpp> #in
- Qt for Python (PySide2) の基本的な使い方QT を Python から利用するためのライブラリには PyQt や PySide 等が存在します。PySide は元々 QT4 向けのライブラリでしたが、QT5 に対応するために新たに PySide2 が開発されました。PySide2 は Qt for Python ともよばれています。 Q: PySide? Qt for Python? what is the name?A: The nam...
- OpenGL を Python3 から利用するための環境設定および簡単なサンプルコード (Linux)コンピュータグラフィックスのレンダリングライブラリの一つである OpenGL を Python3 から利用するための Linux 環境を準備して、設定例およびサンプルコードを記載します。特にここでは Debian9 を利用します。 Getting Started [Language bindings / Python](ht
- 立方体を回転させるサンプル (OpenGL、Python)立方体を二つ配置して回転させてみます。ライブラリを用いずに OpenGL API を直接利用します。 wget https://gist.githubusercontent.com/harubot/df886254396a449038ee542ed317f7b3/raw/92216e02d0210b9d81770562ddf7741339f1b286/opengl-setup2.py DISPLA...
- Open Dynamics Engine によるロボットの自己位置の推定 (Python)ロボットアプリケーションを開発する際に、ロボットの自己位置を推定する必要がある場合を考えます。ここでは Open Dynamics Engine を Python から利用した場合について、自己位置推定のサンプルを記載します。自己位置推定と環境の地図作成を同時に行う場合を SLAM (Simultaneous Localization and Mapping) とよびます。 検証に用いる車輪型ロボ...