※本記事にはプロモーション(広告)が含まれています。
コンパレータとは、2つの電圧を比べて、+入力が高ければ H、−入力が高ければ L を出す部品です。オペアンプとの違いは違いの節、基本の回路は分圧とプルアップの節にあります。出力のバタつきを止める抵抗の計算はヒステリシスの計算で扱っています。
マイコンは「温度が40℃を超えたか」「電池の電圧が下がったか」を、プログラムで何度も読んで判断することもできます。でも、もっと単純に、すばやく、電圧の大きさだけで判断したい場面があります。そこで使うのがコンパレータです。
この記事では、コンパレータのしくみから、実物のピン、基本の回路、出力の形、オペアンプとの違い、使いどころまでを、TI のデータシートの数字を使って順に説明します。

コンパレータとは:2つの電圧を比べて、H か L を出す部品
コンパレータは、+入力と−入力の電圧を比べ、+入力が高ければ H、−入力が高ければ L を出します。答えは「どちらが高いか」だけで、どれだけ高いかは出しません。
コンパレータ(comparator)は「比べるもの」という意味です。記号は三角形で、左に+入力と−入力、右に出力があります。
| 入力の関係 | 出力 | 例 |
|---|---|---|
| +入力 > −入力 | H(高い電圧) | +1.2V、−1.0V → H |
| +入力 < −入力 | L(0V 近く) | +0.8V、−1.0V → L |
ポイントは、出力が H と L の2つだけに素早く切りかわることです。0.1V の差でも、1V の差でも、出す答えは同じ「H」か「L」です。だから、マイコンや論理回路にそのまま渡せます。
つまり、コンパレータは「電圧の大小を、デジタルの1か0に変える部品」です。

入れる向きで「超えたら H」か「超えたら L」かが決まる
見張りたい電圧を+入力に入れると「超えたら H」、−入力に入れると「超えたら L」になります。基準の電圧は、もう片方の入力に入れます。
コンパレータは、ふつう見張りたい電圧(センサーの電圧など)と、基準の電圧(決めておいた一定の電圧)を比べます。どちらの入力に入れるかで、出力の向きが逆になります。
| つなぎ方 | 見張る電圧が基準を超えたら | 呼び方 |
|---|---|---|
| 見張る電圧→+入力、基準→−入力 | H になる | 非反転の形 |
| 見張る電圧→−入力、基準→+入力 | L になる | 反転の形 |
たとえば、基準を2.5V にして、見張る電圧がゆっくり1V→3.5V→1V と変わると、非反転の形では2.5V を超えている間だけ H、反転の形では逆に L になります。
どちらを選ぶかは、つなぎ先が「H で知らせてほしいか、L で知らせてほしいか」で決めます。マイコンなら、プログラムで反転して読むこともできます。
つまり、+と−のどちらに入れるかは「知らせ方の向き」を選ぶだけ。比べる考え方は同じです。

実物のピン:定番の LM393 は1つの IC にコンパレータが2つ
LM393 は8本足の IC に、コンパレータが2つ入っています。1〜3番が1つ目、5〜7番が2つ目、8番が電源、4番が GND です。
コンパレータの定番品の1つが、TI などが作っている LM393 です。データシートでは、2つの独立したコンパレータが1つのパッケージに入っていて、1つの電源で動くと書かれています。
| ピン | 名前 | 役目 |
|---|---|---|
| 1・7 | 1OUT・2OUT | 出力(オープンコレクタ) |
| 2・6 | 1IN−・2IN− | −入力 |
| 3・5 | 1IN+・2IN+ | +入力 |
| 8 | VCC | 電源(LM393 は2〜30V) |
| 4 | GND | 0V |
入力に入れてよい電圧の範囲(同相入力電圧範囲)は、25℃で 0〜VCC−1.5V、使う温度の全範囲では 0〜VCC−2V です。5V で動かすなら、25℃でおよそ3.5V までと考えます。
つまり、LM393 は「2回路入り・電源2〜30V・入力は 0〜VCC−1.5V(25℃)」。まずこの3つを覚えれば、データシートが読みやすくなります。

基本の回路:基準を分圧で作り、出力はプルアップ
基本は「抵抗2本で基準の電圧を作る」「見張る電圧をもう片方へ入れる」「出力をプルアップ抵抗でつなぎ先の電圧へ引き上げる」の3つです。
5V で動かす LM393 を例にします。10kΩ と10kΩ で5V を分けると、真ん中は 5V×10÷(10+10)=2.5V です。これを−入力に入れ、見張る電圧を+入力に入れます。
出力は 10kΩ(RPU)で 3.3V へプルアップして、3.3V で動くマイコンへつなぎます。出力が L のとき、RPU には 3.3V÷10kΩ=0.33mA が流れます。LM393 のデータシートの設計例は、プルアップの電流を 1µA〜4mA としているので、その中に入っています。
分圧の抵抗の値は、大きすぎると入力に流れるわずかな電流の影響を受け、小さすぎるとむだな電流が増えます。数kΩ〜数十kΩ から選ぶことが多いです。
基準の電圧を作る分圧の抵抗を、E24 の値から選ぶ手順がわかる
つまり、コンパレータの回路は「分圧で基準」「入力」「プルアップ」の3つがそろえば動きます。

出力の形は2種類:オープンドレイン(コレクタ)とプッシュプル
オープンドレイン(オープンコレクタ)は L しか自分で出せないので、プルアップ抵抗が要ります。プッシュプルは H も L も自分で出すので要りません。
コンパレータの出力の中には、スイッチの役目をするトランジスタが入っています。
| オープンドレイン(コレクタ) | プッシュプル | |
|---|---|---|
| L のとき | 下のスイッチが ON して 0V へ | 下のスイッチが ON して 0V へ |
| H のとき | どこにもつながらない(浮く) | 上のスイッチが ON して電源の電圧へ |
| プルアップ抵抗 | 要る | 要らない |
| H の電圧 | プルアップ先で選べる | 自分の電源の電圧 |
| 品番の例 | LM393(オープンコレクタ)・TLV7021 | TLV7011 |
LM393 の出力はオープンコレクタです。データシートには「−入力が+入力より高いと出力のトランジスタが電流を引き込み(L)、低いと高インピーダンス(プルアップがあれば H)」と書かれています。プルアップ抵抗を付け忘れると、H のときに出力が浮いてしまい、つなぎ先は H を読めません。
「オープンドレイン」は中が MOSFET、「オープンコレクタ」は中がトランジスタ(バイポーラ)という違いで、使い方は同じです。
出力が「浮く」とは何か、プルアップ抵抗の役目と値の目安がわかる
つまり、データシートで出力の形を見て、オープンドレイン(コレクタ)ならプルアップ抵抗を必ず付けます。

オープンドレイン(コレクタ)で便利なこと2つ
オープンドレイン(コレクタ)は、①コンパレータと違う電圧の回路へ H を渡せる、②いくつかの出力を1本につないで「どれか1つでも L なら L」にできる、の2つが便利です。
① 電圧のちがう回路へ渡せる:コンパレータを5V で動かし、出力を3.3V へプルアップすれば、H は3.3V になります。LM393 のデータシートにも「オープンコレクタの出力で、VCC と関係なく好きなロジックの電圧にできる」と書かれています。
② 出力を1本にまとめられる:2つの出力を1本の線につなぎ、プルアップ抵抗を1本だけ付けます。どちらか1つでも L になれば、線は L になります。「温度が高い」または「電圧が低い」のどちらかで止める、という回路が1本の線でできます。
なお、オープンドレインの H への立ち上がりは、プルアップ抵抗とつなぎ先の容量で決まります。LM393 のデータシートの目安は RPU×CL で、10kΩ・15pF なら 150ns です。速さが必要なら、プルアップ抵抗を小さくするか、プッシュプルの品種を選びます。
5V と3.3V のあいだで信号を渡す4つの方法と、選び方がわかる
つまり、オープンドレイン(コレクタ)は「H の電圧を選べる」「出力をまとめられる」のが強み。速さが要るならプッシュプルを選びます。

オペアンプとの違い:記号は同じでも、作られた目的が違う
コンパレータは「比べて H/L を出す」ため、オペアンプは「負帰還をかけて増幅する」ために作られています。記号が同じでも、中身と得意なことが違います。
| コンパレータ | オペアンプ | |
|---|---|---|
| 目的 | 2つを比べて H/L を出す | 差を増幅して、電圧で出す |
| 帰還(出力を入力へ戻す) | なし、または正帰還 | 負帰還が前提 |
| 出力 | オープンドレイン(コレクタ)が多い | アナログの電圧(H も L も自分で出す) |
| 切りかわりの速さ | 速い(LM393 は標準1.3µs) | 振り切れたあと、戻るのに時間がかかる |
| 中の位相補償 | 多くの品種はない | ある(負帰還で発振しないため) |
オペアンプは、出力を−入力へ戻す「負帰還」をかけて、ちょうどよい電圧を出すように作られています。そのため中に「位相補償」という、わざと反応をゆっくりにするしくみが入っています。
コンパレータは、負帰還をかけずに使う前提なので、多くの品種はこのしくみを持たず、そのぶん速く切りかわります。
オペアンプの「仮想短絡」と、反転・非反転増幅回路の基本を確かめられる
つまり、「比べて知らせる」ならコンパレータ、「増幅する・電圧をそのまま渡す」ならオペアンプです。

代わりに使ってよい?:オペアンプ→コンパレータは条件つき、逆は不可
オペアンプをコンパレータの代わりに使うのは、速さが要らないなどの条件つきで可能です。コンパレータをオペアンプの代わりに使うのは避けます。
オペアンプをコンパレータに使う:TI の LM324・LM358 の設計ガイド(SLOA277B)は「オペアンプは一般によいコンパレータではない。ただし、余った回路がある・時間の要求がない、などの理由で使うことはある」としています。LM358 では、H に振り切れた状態から戻るのに約2µs かかるとされています。
さらに、入力どうしの間に保護のダイオードを持つオペアンプがあります。TI のブログでは、こうした品種は入力の差が約0.7V になると、一方の入力がもう一方を引っぱってしまうと説明されています。代わりに使うときは、データシートでこの点を確かめます。
コンパレータをオペアンプに使う:コンパレータは負帰還なしで使う前提で、多くは位相補償を持たないため、負帰還をかけると発振(勝手に振れること)しやすくなります。増幅やフォロワには、オペアンプを使います。
オペアンプを5V で実際に組む、フォロワと増幅回路の作り方がわかる
つまり、余ったオペアンプでゆっくりした判定をするのは条件つきで OK、コンパレータで増幅するのは NG です。

ヒステリシスとは:出力のバタつきを止める「しきい値の幅」
ゆっくり変わる電圧にノイズが乗っていると、しきい値の近くで出力が H と L を何度もくり返します(バタつき)。しきい値を「上がるとき」と「下がるとき」で2つに分けると、1回だけ切りかわります。これがヒステリシスです。
TI の資料(SNOA997A)でも、ノイズやゆっくり変わる信号では、しきい値が1つだと出力に望まない切りかわりが出るので、上下2つのしきい値で防ぐ、と説明されています。
ヒステリシスは、出力から+入力へ抵抗で少し戻す(正帰還)ことで付けます。幅をどれだけにするか、抵抗をいくつにするかは、計算の手順がある別の記事で、例題と早見表つきで説明しています。

コンパレータの使いどころ:「しきい値を超えたか」を知らせる場面
コンパレータは、温度・電池の電圧・電流・交流の0V など、「決めた値を超えたか」を知らせたい所で使います。比べたいものを、まず電圧にするのがコツです。
| 場面 | 何と何を比べる | 出力の使い道 |
|---|---|---|
| 温度で知らせる | 温度センサーの電圧 と 基準 | ファンを回す・マイコンに知らせる |
| 電池の電圧が下がった | 電池の電圧を分圧した電圧 と 基準 | 警告を出す・止める |
| 電流が流れすぎた | シャント抵抗の電圧 と 基準 | マイコンを通さずにすぐ止める |
| 0V をまたいだ瞬間 | 交流の電圧 と 0V | ゼロクロスのパルスを作る |
TI の TLV7011 のデータシートにも、用途として「しきい値の検出」「ウィンドウコンパレータ」「ゼロクロス検出」「レベル変換」が挙がっています。
電流の見張りでは、マイコンのプログラムを通さずに、コンパレータの出力で直接スイッチを止められるのが強みです。止めたあと自動で戻すか、止めたままにする(ラッチ)かも、あわせて決めておきます。
シャント抵抗などで電流を検出し、コンパレータで止める保護回路の全体がわかる
つまり、「電圧にして、基準と比べる」形にできれば、たいていの判定はコンパレータでできます。

2つ使う例:ウィンドウコンパレータ(範囲の中か外か)
コンパレータを2つ使い、上のしきい値と下のしきい値ではさむと、「範囲の中なら H、外れたら L」を作れます。5V を10kΩ×3 で分けると、上3.33V・下1.67V です。
「電圧が高すぎても低すぎてもダメ」を見張りたいときは、コンパレータを2つ使います。TI の回路例(SBOA221A)では、5V を10kΩ の抵抗3本で分けて、2つのしきい値を作っています。
| コンパレータ | +入力 | −入力 | L になるとき |
|---|---|---|---|
| U1(上) | 上のしきい値 3.33V | 入力 | 入力が 3.33V を超えた |
| U2(下) | 入力 | 下のしきい値 1.67V | 入力が 1.67V を下回った |
2つの出力を1本につないでプルアップすると、どちらか1つでも L になれば出力は L。範囲の中のときだけ H になります。出力をつなぐので、オープンドレインかオープンコレクタの品種が必要です(LM393 なら1つの IC でできます)。
つまり、ウィンドウコンパレータは「2つのコンパレータ+出力をつなぐ」だけ。オープンドレイン(コレクタ)の便利さがそのまま生きる回路です。

コンパレータを選ぶときに見る5つの数字
データシートでは、①電源の電圧、②入力の範囲、③速さ、④出力の形、⑤消費電流の5つを見ます。定番の LM393 と、低い電圧向けの TLV7011/TLV7021 で比べると違いがよくわかります。
| 見る数字 | LM393 | TLV7011/TLV7021 |
|---|---|---|
| ① 電源の電圧 | 2〜30V | 1.6〜6.5V |
| ② 入力の範囲 | 0〜VCC−1.5V(25℃) | VEE〜VCC+0.1V |
| ③ 速さ(標準) | 1.3µs | 260ns |
| ④ 出力の形 | オープンコレクタ | 7011 はプッシュプル、7021 はオープンドレイン |
| ⑤ 消費電流(標準) | 0.45mA(2回路・5V) | 5µA(1.8V・1回路) |
| 内部のヒステリシス | 表に項目なし | 標準4.2mV |
12V や24V の回路で直接比べたいなら、電源の範囲が広い LM393。電池で動く3.3V の機器で、消費電流を小さくしたいなら TLV7011 のような低い電圧向けの品種が合います。
データシートを読む順番と、min・typ・max の意味がわかる
つまり、まず「電源の電圧」と「出力の形」で候補をしぼり、入力の範囲・速さ・消費電流で決めます。

コンパレータでよくある間違い4つ
プルアップの付け忘れ、入力の範囲の外、使わない回路の放置、増幅への流用の4つが、はじめての人がつまずきやすい所です。
| よくある間違い | 正しい考え方 |
|---|---|
| オープンドレイン(コレクタ)なのにプルアップ抵抗を付けない | H のとき出力が浮く。出力から H にしたい電圧へ抵抗をつなぐ |
| 基準の電圧を入力の範囲の外に置く | LM393 は 0〜VCC−1.5V(25℃)。5V なら基準は3.5V より下に |
| 2回路入りの使わない側を放っておく | 入力は範囲の中の決まった電圧につなぎ、出力は何もつながない(TI の資料 SNOAA35F) |
| コンパレータで増幅しようとする | 負帰還をかけると発振しやすい。増幅はオペアンプで |
このほか、ゆっくり変わる信号をそのまま比べて出力がバタつく、というつまずきもよくあります。これは上のヒステリシスの節と、計算の記事で対策できます。
つまり、「出力の形」「入力の範囲」「使わない回路」の3つをデータシートで確かめれば、多くの間違いは防げます。


