オペアンプで作るコンパレータ

オペアンプで作るコンパレータ
オペアンプで作るコンパレータ

コンパレータ

コンパレータとは、オペアンプの非反転増幅回路において、増幅率を無限大にしたものである。よって、0V〜5Vまで変化するアナログ信号があったとして、それをコンパレータに通すと0Vか5Vのどちらかの信号を出力するようになる。つまり、アナログ信号をデジタル信号のHighかLowへと変換するので、一種のADコンバータとも言える。また、HighかLowへ振り分ける判断(しきい値)は、反転入力に接続する電位で決めることができる。

回路図

Low Voltage Comparator Schematic
Low Voltage Comparator Schematic
さて、今回は低電圧でも動作するようなコンパレータ回路を組んでみた。こちらがその回路図である。上段のオペアンプがコンパレータで下段がバイアス回路である。 この回路図では電源電圧の丁度半分をバイアス電位としている。また、非反転入力の信号もバイアス電位が基準となるため、結果として入力信号がプラスの時にHighとなり、マイナス以下ではLowとなる。

解説

オペアンプは低価格な4558でも良いが、4.5V以上の電源が必要である。3.3V電源でも動かせるようにしたいため、低電圧駆動のオペアンプ022を採用した。また、4558などの普通のオペアンプだとLowの出力が0Vにならないが、022はちゃんと0Vまで下がってくれる。

Comaparator Module
Comaparator Module
今回もまた、ブレッドボードで使いやすいようにモジュール化してみた。このコンパレータとSeeeduino XIAO(Arduino互換機)を組み合わせて周波数カウンタを作ってみた。

他にも、コンパレータはこんな使い方があるので参考に。

コンパレータの高速化

コンパレータを使うことで、アナログ信号がHIGH/LOWのどちらかに変換されるため、デジタル入力のインタフェースとして使うことができる。つまり、コンパレータは一種のアナログデジタル変換器とも言える。Arduinoで周波数カウンタを作ろうと思ったのだが、100kHz以上の高周波になるとコンパレータの速度が問われるようだ。そこでコンパレータの高速化を図ってみた。

回路図

Fast Comparator Schematic
Fast Comparator Schematic

解説

前回のコンパレータと基本は同じでオペアンプを変えただけ。高速化の秘訣はズバリ、スルーレートの高いTL072を使ったこと。Arduinoで作る周波数カウンタのインタフェースに使う予定なので、超低周波(0.1Hz)の入力も想定してカップリングコンデンサの値を大きくした。また、Arduinoのデジタル入力へ接続できるようにするには、0Vか3.3V(または5V)の信号でなければならない。そこで、出力にはクランプ回路と呼ばれる回路を入れてある。このクランプ回路を入れることで、この場合だと基準電圧が0Vへ持ち上がり、上限3.3Vの幅で信号が振れるようになる。

Fast Comparator Module
Fast Comparator Module
さて、この回路を組んでモジュール化してみた。オペアンプを変えられるようにICソケットを取り付けてある。オシロスコープで波形を確認することで、オペアンプの性能測定にも使えそうなモジュールである。

出力波形

オペアンプTL072のコンパレータ波形の観察
オペアンプTL072のコンパレータ波形の観察

よく使う手持ちのオペアンプ072・4558・5532・022を入れ替えて、コンパレータの立ち上がりの波形を観察してみた。写真は、オペアンプTL072を使ったコンパレータに約130kHzの正弦波を入力した時の波形だ。 他にも5532でもキレイな矩形波を確認できたが、4558や022では矩形波自体が出力されなかった(もしかしたら、カップリングコンデンサの値が大きすぎたのかも)。 ちなみに発振器はコルピッツ発振回路を使ったもの。詳しくはこちらを参考に。

各オペアンプのスルーレート(立ち上がり速度)は次の通りである。

オペアンプスルーレート(V/μs)
07213
45581
55328
0220.5

表を見ても分かる通り、072や5532が矩形波の再現に優れている。TL072はFET型の入力で、安く購入できるのでかなり使えるオペアンプである。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

関連記事