チャタリングを防ぐために、シュミットトリガを使うことがあります。
本記事では、オペアンプ(コンパレータ)を使ったシュミットトリガ回路をLTspiceでシミュレーションします。
シュミットトリガ
電子工作をする場合、押しボタンを使うような場面も出てくることでしょう。
ボタンを押す際には、チャタリングが生じます。すなわち、高速のON/OFF動作が発生します。
ウィキペディアによれば、Contact bounceとも呼ばれ、機械的振動に起因するらしいです。水銀スイッチを使うと、チャタリングが発生しないらしいので、きっとそうなのでしょう。
チャタリングが発生すると、ボタンを何回も押したことになり、誤動作につながります。
チャタリングを回避する方法の一つとして、シュミットトリガを使う方法があります。
シュミットトリガは、出力状態が反転するのに伴って入力閾値が変わり、ヒステリシスを発生します。このヒステリシスの範囲であれば、入力が揺らいでも出力が反転しません。
コンパレータを使ったシュミットトリガは、ヒステリシスコンパレータとも呼ばれます。
チャタリングをシミュレーションしてみよう
チャタリングをシミュレーションしてみましょう。
まず、遷移の遅い波形V1を作ります。ここでは、振幅が1Vで200Hzの正弦波にしましょう。
次に、揺らぎV2を重ね合わせます。これも正弦波にしましょう。振幅が0.3Vで、10kHzにすることにします。(いきなり具体的な値を書いていますが、何度かカット&トライしています)
信号源インピーダンスは、高速回路をちょっと意識して、25Ωにします。
コンパレータにはオペアンプを使うことにします。オペアンプは位相補償がかかっているので、動作が少し遅くなりますが、究極の特性を要求しているわけではないので、よしとします。
Edit → Componentを選んで、入力欄にopとタイプしたらOP07が選ばれました。ウェハ段階で入力オフセット電圧をトリミング調節している、高精度で使い易いOPAMPなので、これを使うことにします。
OP07の電源は±3~±18Vということなので、手ごろな±5Vとしました。
OPAMPの出力端子は、動作に影響を与えないように、1GΩを接続しました。
入出力にINとOUTという名前を付け、シミュレートしてみると、それらしくチャタリングしてくれました。
シュミットトリガ回路を設計してみる
では、シュミットトリガ回路を設計してみましょう。
先ず、OPAMPには、最大で1mAくらいを流すこととしましょう。もう少し大きくてもいいですが、これくらいが相場です。
OPAMPの出力の最大値、最小値は、それぞれ正負の電源電圧付近となるので、(R3とR4の)合計値として大体5kΩ位を付ければよいことになります。
前節で、チャタリングをシミュレーションした回路の閾値は、グランドレベルでした。しかし、今度は、正の値の信号入力を上げていく途中で、閾値を負の値に変更したいので、反転入力に信号を入れます。すなわち、閾値は、出力をR3とR4で抵抗分割して作ります。ここでは、閾値を出力振幅の約1/10にすることとします。
以上をざっくりと勘案して、R3、R4をそれぞれ4.7kΩと470Ωにすることにしました。この中間の電圧を非反転入力にフィードバックすれば、できあがりです。
シミュレーションしてみました。
確かに、出力が反転するタイミングで、閾値が変わり、チャタリングが無くなっています。
オペアンプの出力電流は±800uAくらいでした。出力電圧がRail to Railでなかった(電源電圧までの出力が出なかった)ため、設計より少し小さい電圧でしたが、まずまずの結果でしょう。
めでたしめでたし。
でも、ちょっと待ってください。
INとOUTの電圧をそれぞれ横軸と縦軸としてプロットしてみましょう。
10kHzの正弦波を重畳しているので、いびつなヒステリシスになっていることは多めに見ることとして、直線部分が主に第2象限と第4象限にあることに気付きます。
前述のシュミットトリガのグラフは主に第1象限と第3象限に直線部分がありました。よって、どうしてもそちらと同様の形状にしたいのであれば、出力にインバータを1段入れる必要があります。
インバータを入れずに第1象限と第3象限に直線部分を作るシュミットトリガ
ウィキペディアでシュミットトリガを調べると、インバータを入れずに第1象限と第3象限に直線部分を作るシュミットトリガの構成が書かれています。
閾値電圧は、出力電圧をR1とR2で分圧した電圧とのことですので、R2をR1の約10倍に選んで220Ωとしました。
この回路構成でも、確かにチャタリングはなくなります。
ただ、出力のレベルは、入力電圧にかなり影響されています。この影響を避けるために出力にツェナダイオードを入れるようです。(ウィキペディアには、電源電圧の変動を受けないようにツェナダイオードを入れると書いてあるので、本来の理由はそちらなのかもしれませんが、この出力波形を見ると確かに入れたくもなります。)
入出力でヒステリシス波形を書くと、確かに、第1象限と第3象限に直線部分があります。
出力電流はおおよそ±15mAでした。オペアンプで出せない電流ではありません。ただ、入力電圧に依存して変わることが見て取れます。
まとめ
シュミットトリガの構成を2通り示し、どちらの構成でもチャタリングの発生を防げることをシミュレーションで示しました。
自分が実際に使うとしたら、前者の構成を選びます。理由は、(1)閾値が明確であること、(2)出力電流を入力電圧や入力インピーダンスとほぼ無関係に設計できることです。
コメント