モーメンタリスイッチをマイコン回路やキースイッチとして組み込む際、避けて通れない課題が「チャタリング(Chattering)」です。
チャタリングとは、スイッチを押した(または離した)瞬間に、内部の金属接点が微細に衝突・バウンドを繰り返し、数ミリ秒の間にON/OFFが極めて高速で連続発生する物理現象を指します。人間の感覚では1回のプッシュでも、高速処理を行うCPUやマイコンからは「短時間に何十回も連打された」と誤認識され、誤作動の原因になります。
チャタリング防止(デバウンス処理)には、ハードウェアとソフトウェアの2つのアプローチがあります。
- ハードウェア対策:接点出力部に抵抗(R)とコンデンサ(C)を組み合わせたローパスフィルタを配置し、急峻な電圧変化を緩やかに整流します。さらに波形をきれいに立ち上げるため、シュミットトリガインバータICを通過させる手法が定石です。
- ソフトウェア対策(マイコン処理):キースイッチの入力変化を検知した後、数ミリ秒〜数十ミリ秒のウェイト(待機時間)を設け、接点が安定してから再度状態を読み取るアルゴリズムを実装します。近年の自作キーボードや産業用コントローラでは、このファームウェア側でのデバウンス処理が主流です。