コンパレータの高速化・オペアンプで作るアナログデジタル変換器
以前、こちらの記事でオペアンプによるコンパレータ作った。
Arduinoで周波数カウンタを作ろうと思ったのだ。コンパレータを使うことで、アナログ信号がHIGH/LOWのどちらかに変換されるため、デジタル入力のインタフェースとして使うことができる。つまり、コンパレータは一種のアナログデジタル変換器とも言える。
さて、実際に周波数カウンタを作ってみたところ、100kHz以上の高周波になるとコンパレータの速度が問われるようだ。
前回はオペアンプ022を使った。このオペアンプは低電圧で駆動できるメリットがあるが、あまり周波数特性がよくない。100kHz以上では矩形波の形を保てず、立ち上がりが遅くなり三角波のようになってしまった。
そこで、以前作ったコンパレータを高周波に対応できるように改善してみた。こちらがその回路図である。
といっても、前回のコンパレータと基本は同じでオペアンプを変えただけ。持っている石の中で性能がでるTL072を採用した。
Arduinoで作る周波数カウンタのインタフェースに使う予定なので、超低周波(0.1Hz)の入力も想定してカップリングコンデンサの値を大きくした。
また、Arduinoのデジタル入力へ接続できるようにするには、0Vか3.3V(または5V)の信号でなければならない。そこで、出力にはクランプ回路と呼ばれる回路を入れてある。このクランプ回路を入れることで、この場合だと基準電圧が0Vへ持ち上がり、上限3.3Vの幅で信号が振れるようになる。
さて、この回路を組んでモジュール化してみた。オペアンプを変えられるようにICソケットを取り付けてある。オシロスコープで波形を確認することで、オペアンプの性能測定にも使えそうなモジュールである。
よく使う手持ちのオペアンプ072・4558・5532・022を入れ替えて、コンパレータの立ち上がりの波形を観察してみた。写真は、オペアンプTL072を使ったコンパレータに約130kHzの正弦波を入力した時の波形だ。
他にも5532でもキレイな矩形波を確認できたが、4558や022では矩形波自体が出力されなかった(もしかしたら、カップリングコンデンサの値が大きすぎたのかも)。
ちなみに発振器はコルピッツ発振回路を使ったもの。詳しくはこちらを参考に。
各オペアンプのスルーレート(立ち上がり速度)は次の通りである。
オペアンプ | スルーレート(V/μs) |
---|---|
072 | 13 |
4558 | 1 |
5532 | 8 |
022 | 0.5 |
表を見ても分かる通り、072や5532が矩形波の再現に優れている。TL072はFET型の入力で、安く購入できるのでかなり使えるオペアンプである。