🙋
「シュミットトリガ」って、コンパレータの仲間ですよね?ふつうのコンパレータと何が違うんですか?
🎓
いい質問だね。ふつうのコンパレータは「しきい値が1つだけ」なんだ。入力がその1点を上から下に、あるいは下から上に横切った瞬間、出力がパチンと反転する。理屈はシンプルだけど、これが現実の回路では悪さをするんだよ。
🎓
入力にノイズが乗っていたり、信号がゆっくり動いたりすると問題になる。入力がしきい値の近くをじわじわ通過するとき、ノイズの細かい上下がその1点を何度も横切るんだ。すると出力が「チャタリング」——本来1回でいい切り替えが、不要なパルスの連発になってしまう。明暗センサが朝夕の薄明かりでカチカチ鳴り続ける、なんてのが典型だね。
🙋
なるほど…。シュミットトリガはそれをどうやって直すんですか?
🎓
「正帰還」を加えるんだ。出力の一部を非反転入力に戻すと、しきい値そのものが「いまの出力状態」に依存するようになる。つまりしきい値が1つじゃなく2つになる。出力を上げるには高いほうのしきい値 V_TH+ を超える必要があり、下げるには低いほうの V_TH− を下回る必要がある。この2つの差が「ヒステリシス」だよ。左のスライダーで R1 を上げると、2つのしきい値がぐっと広がるのが見えるはずだ。
🙋
2つのしきい値があると、なぜノイズに強くなるんですか?
🎓
一度切り替わったら、戻るにはもう一方の「遠いほうの」しきい値まで入力が移動しないといけない。だから、ヒステリシス幅より小さい振幅のノイズは、絶対に誤反転を起こせないんだ。その「誤反転を起こせない最大ノイズ振幅」がノイズマージンで、ヒステリシス幅のちょうど半分になる。おまけに、なまった遅い入力エッジも、急峻でクリーンなデジタルエッジに整えてくれる。だからセンサ信号の波形整形、スイッチのバウンス除去、ロジックICの入力段、弛張発振回路と、シュミットトリガはあらゆる所で使われているんだよ。
ふつうのコンパレータはしきい値が1つだけで、入力がその1点を横切った瞬間に出力が反転します。入力にノイズが乗っていたり信号がゆっくり動いたりすると、しきい値付近で何度も上下を行き来し、出力がチャタリング(多数の不要なパルス)を起こします。シュミットトリガは正帰還を加えて「出力を上げるための高いしきい値」と「下げるための低いしきい値」の2つを持たせます。この差がヒステリシスで、その幅より小さいノイズでは誤反転が起きません。
入力抵抗 R1 を非反転入力に、帰還抵抗 R2 を出力から非反転入力につないだ非反転シュミットトリガでは、上側しきい値 V_TH+ = V_sat·(R1/R2)、下側しきい値 V_TH- = −V_sat·(R1/R2) です。V_sat は出力の飽和電圧です。ヒステリシス幅は V_TH+ から V_TH- を引いた 2·V_sat·(R1/R2) になります。帰還率 β = R1/R2 を大きくするほど2つのしきい値が広がり、ノイズに強くなります。
ヒステリシス幅は、入力に重畳すると予想されるノイズのピーク・ツー・ピーク振幅より十分に大きく取ります。目安として、ノイズの2〜3倍をヒステリシス幅にすると誤反転をほぼ防げます。ノイズマージンはヒステリシス幅の半分で、これが「誤反転を起こせない最大のノイズ振幅」です。一方、幅を広げすぎると小振幅の真の信号にも反応しなくなるため、必要な信号の最小振幅を下回らない範囲で決めます。
ノイズに強いコンパレータとして、センサ信号のしきい値判定(明暗センサ、温度スイッチなど)に広く使われます。なまった遅いエッジを急峻なデジタルエッジに整える波形整形回路、機械式スイッチのバウンス除去、ロジックIC(74HC14など)の入力段、そしてCR充放電と組み合わせた弛張発振回路のタイミング素子としても定番です。いずれも「1点しきい値だと誤動作する」場面でヒステリシスが効きます。
センサ信号のしきい値判定:明暗センサ(CdSや照度IC)、サーモスタット、近接センサなどは、アナログ量があるレベルを超えたかどうかをデジタル出力に変えます。これらの信号は本質的にゆっくり変化し、ノイズも乗っているため、1点しきい値のコンパレータでは境界付近で出力がカチカチと暴れます。シュミットトリガでヒステリシスを持たせると、夜明けや日暮れのような薄明かりでも照明が点いたり消えたりせず、一度切り替わったら安定します。
波形整形(スルーレートの遅い信号の整形):長い配線を通った信号や、フィルタを通ってなまった信号は、立ち上がり・立ち下がりが緩やかです。このままロジックICに入れると、しきい値付近の滞在時間が長く、誤動作や貫通電流の原因になります。シュミットトリガに通すと、緩やかなエッジが急峻でクリーンな矩形波に整形され、後段のデジタル回路が確実に動作します。74HC14のようなシュミットトリガ内蔵インバータはこの用途の定番です。
機械式スイッチのバウンス(チャタリング)除去:押しボタンやリレー接点は、接触の瞬間に金属がはね返って数ミリ秒のあいだ何度もオン・オフを繰り返します。CRフィルタでバウンスをなまらせ、その出力をシュミットトリガに通すと、1回の押下が1回のクリーンなエッジになります。マイコンの割り込み入力やカウンタの前段でよく使われる構成です。
弛張発振回路(リラクゼーション発振器):シュミットトリガの出力で抵抗を介してコンデンサを充放電させ、その電圧を入力に戻すと、2つのしきい値のあいだをコンデンサ電圧が往復し続けて自励発振します。発振周波数は R・C とヒステリシス幅で決まり、部品点数の少ないクロック源や、PWM・ブザー駆動の発振回路として広く使われています。
まず多いのが、「ヒステリシスは広いほど良い」という思い込みです。確かに幅を広げればノイズマージンは増えますが、その分、小振幅の真の信号にも反応しなくなります。ヒステリシス幅より小さい振幅の信号は、たとえ正しい信号でも出力を切り替えられません。設計では「予想されるノイズの2〜3倍」を上限の目安にし、検出したい信号の最小振幅を必ず下回るように決めます。ノイズ除去と感度はトレードオフだということを忘れないでください。
次に、「出力飽和電圧 V_sat を電源電圧とイコールだと思い込む」こと。実際のオペアンプの出力は電源レールまで完全には振れません。汎用オペアンプでは電源から1〜2V内側で頭打ちになり、その分しきい値も計算値より小さくなります。レール・ツー・レール出力のオペアンプを使えば差は小さくなりますが、それでも負荷電流による電圧降下があります。本ツールでは V_sat を直接入力できるようにしているので、データシートの実際の出力振幅を入れてください。コンパレータがオープンコレクタ出力の場合は、プルアップ電圧が実質の V_sat になります。
最後に、「非反転型と反転型のしきい値式を混同する」点。本ツールは非反転シュミットトリガ(入力を R1 経由で非反転入力へ、出力を R2 経由で帰還)を扱い、しきい値は V_sat·(R1/R2) です。一方、入力を反転入力に加え、基準電圧を分圧で作る反転型シュミットトリガでは、しきい値の式も中心電圧の扱いも異なります。回路図のどちらの構成かを必ず確認してから式を当てはめてください。また、しきい値が原点対称(±対称)になるのは、出力飽和電圧が正負で対称な場合だけです。単電源動作では基準電圧の設定でしきい値が片寄ることに注意します。