電子工作で必ず使うスイッチですが、押した時に意図しない動作をしてしまうことは有りませんか?もしかしたらチャタリングが原因かもしれないです!!
本記事ではチャタリングはなぜ発生するのか原理を説明します。
その上で、チャタリングを防止方法の中から回路を使ったチャタリング防止回路について解説します。
今回はシュミットトリガを用いたチャタリング防止回路はについて解説します。
目次
チャタリングとは
チャタリングは主にスイッチで生じる現象で,スイッチが短時間にON-OFFを繰り返してしまいます.
よって、スイッチを押してONからOFF、OFFからONにする時などにスイッチがうまく切り替わらなくなります.
スイッチは金属の板が接触したり、離れたりすることで物理的にON-OFFされる部品です。

理想的なスイッチの動作は一瞬でOFFからONに切り替わります。しかし、実際は物理的な構造が原因でチャタリングが発生します。

図の様にスイッチが離れている状態(OFF)からスイッチが接触する状態(ON)に切り替えたとき、短い時間にスイッチ内部の金属の板が何度も接触と分離を繰り返してしまいます。
接触と分離を繰り返すことでONとOFFの状態が何度も繰り返されてしまいます。

その結果スイッチから出力される信号が短時間に何度も切り替わったパルス状の波形になってしまいます。
チャタリング対策
チャタリングを解消する方法として回路のによる対策とプログラミングによる対策があります。
回路による対策ではフリップフロップを使った方法やシュミットトリガを利用したものがあります。
プログラミングではマイコンなどを利用する回路の場合にプログラム内にチャタリングを無視するコードを書きます。
今回はシュミットトリガを利用した回路について説明します。

シュミットトリガを利用したチャタリング防止回路はコンデンサ、抵抗、シュミットトリガで構成されます。
先程チャタリングの原理で示したように、チャタリング期間では短い時間に何度もONとOFFが繰り返されます。
つまり、短時間に何度もパルス信号が入力されています。

チャタリングの原因となるパスル入力を無くすためにコンデンサを使用します。
コンデンサはスイッチから入力されたパルス信号の集まりを平滑化する為に使用します。
平滑化することで何度もスイッチがON−OFFしてしまう問題を取り除きます。

コンデンサを利用してパルス信号を取り除きました。このパルス信号(高周波信号)を取り除くことをローパスフィルタと言います。
コンデンサ単体で解決するように思うかもしれません.しかし、コンデンサ単体では問題が発生します。
コンデンサは電圧の変化を自身が電池のような役割をすることで平滑にします。なので...
- 電圧が下がると自身に蓄えた電気を放電することで電圧を維持しようとする
- 電圧がが上がると自身に電気を充電することで電圧を維持しようとする
実際はパルス信号が入力されたときコンデンサの出力は波状になっているのです。

ではこの波の何が問題なのか?
例えばスイッチの信号をICやマイコン(PIC,Arduino,Raspberry Pi,…etc)の入力に使いたい場合を考えます。
通常のICやマイコンは入力された信号のON-OFFを一定の電圧を基準に判定します。一定の電圧を超えたときにON、一定の電圧を下回った時にOFFと判定します。

しかし、上図のように判定基準を何度も往復するとチャタリング対策するはずが、チャタリングが発生してしまい意味がなくなってしまいます。
そこで、コンデンサに加えてシュミットトリガを使用します。
シュミットトリガはNOT素子の1種になります。

NOT素子は入力を反転する素子になります。反転とは入力がON(HIGH)の時に出力はOFF(LOW)、入力がOFF(LOW)の時に出力はON(HIGH)が出力される素子になります。
さらに,シュミットトリガの最大の特徴としてONの判定とOFFの判定にそれぞれ別の判定基準を設けており、チャタリングが防止できます。

図のように、ONとOFFの判定基準が別に設けられていることで入力信号が変動した場合にONとOFFを何度も繰り返すことが無くなります。
それによりチャタリングが防止できます。注意点として、抵抗とコンデンサの大きさによって機能しない場合があります。

抵抗の値が小さいとコンデンサに流れる電流が大きくなり、あっという間に充電や放電が進みます。
また、コンデンサの容量も小さすぎると充放電があっという間に進み、平滑化の効果が十分に得られなくなってしまします。
- 抵抗の大きさは10kΩ〜100kΩに設定
- コンデンサの容量は0.1μF程度で設定
抵抗とコンデンサの容量を調整して、チャタリングが発生しない値に調節します。
抵抗の大きさを10kΩ〜100kΩに設定するもう1つの理由は、消費電力を小さくしたいからです。
回路に多くの電流が流れると消費電力が大きくなります。消費電力が大きくなると電源に負担が増えてしまいます。
仮にバッテリー駆動の場合は持続時間が短くなります。バッテリー駆動で無い場合も、電源回路の出力を上げるために回路のサイズや価格が高くなってしまうかもしれません。
実用回路
実際にシュミット回路を利用した回路図について説明します。

ICの74HC14はシュミットトリガ素子が6個内臓されています。チャタリング防止回路には1つのシュミットトリガが必要です。今回はIC内の全てのシュミットトリガ素子を利用してチャタリング防止回路モジュールを作ることを念頭に置いて設計しました.

今回はチャタリング防止回路を6個搭載した回路にしています。このあと具体的に回路図を説明します。

シュミットトリガが内蔵されたICはIC自身が駆動するために電源が必要です。なので74HC14は電源との接続が必要です。また、ICの電源にはパスコンと呼ばれるコンデンサを接続しています。
パスコンは電源ラインから流入するノイズがICに伝わらないようにするためのコンデンサになります。
電源ラインからICにノイズが流入するとICが誤動作する原因となります。今回説明しているシュミットトリガ回路はパスコンがなくても動作することが多いです。
ICで電圧の比較やAD(アナログ-ディジタル変換)などを利用する場合は僅かな電源電圧(基準電圧)の変化が出力結果に大きな影響を与える場合があるので覚えておいて(搭載しておいて)損のない回路です。

チャタリング防止回路を1個抽出して動作原理を説明します。シュミットトリガ回路の中でチャタリングを防止する回路部分は以下の図の部分になります。

チャタリング防止回路は抵抗2個とコンデンサ1個、シュミットトリガ回路1個、スイッチで構築されています。
スイッチは外部のスイッチも利用できるようにSW1に外部端子を用意しています。出力はOUT1で接続できるようになっています。
シュミットトリガを用いたチャタリング防止回路の動作はスイッチがONとOFFの2状態が考えられます。

スイッチがOFFのときは電源から抵抗を通りコンデンサに電流が流れます.コンデンサはこのとき充電をはじめます。

スイッチがONのときはコンデンサから抵抗を通りスイッチへ向けて電流が流れます。コンデンサはこのとき放電します。
実際の動作ではスイッチがONとOFFを短時間に繰り返すことで最終的にスイッチがONの状態、OFFの状態に落ち着きます。
本記事ではチャタリングはなぜ発生するのかについて原理を説明しました。
その上で、チャタリングを防止方法の中から回路を使ったチャタリング防止回路をについて解説しました。
今回はシュミットトリガを利用したチャタリング防止回路について解説しました。