メカニカルスイッチは、一般的に、電子プロジェクトで使用して、ユーザ入力を検出します。しかし、接触の弾力化によるノイズ信号を生成し、複数の不要な信号につながることができます。デバニングは、これらの偽信号をフィルタリングして正確な検出を確実にするプロセスです。マイクロコントローラは、スイッチの信頼性を向上させるために、さまざまなデバニング技術を実行することができます。

ハードウェアのデバニング技術

ハードウェアのデバインは、スイッチ信号を安定させるために外部コンポーネントを追加することを含みます。一般的な方法は、RCローパスフィルタまたはSchmittトリガーを使用しています。レジスタとコンデンサーで構成されたRCフィルタは、ブウンシングによって引き起こされる迅速な信号変化を滑らかにします。Schmittトリガーは、ノイズ入力でもクリーンな移行を保証します。

ソフトウェアの解凍方法

ソフトウェアのデバインは、マイクロコントローラ内のプログラミングロジックに依存しています。最も簡単なアプローチは、スイッチの状態を定期的にサンプリングし、セット期間にわたる安定性を確認します。これにより、バウンスによる偽のトリガーが防止されます。遅延またはタイマーを使用して、プレスまたはリリースを登録する前に、一貫したスイッチの状態を確認できます。

脱線アルゴリズムの例

一般的なソフトウェア方法の1つは「状態変更の検出」アルゴリズムです。それはスイッチ入力を定期的に読み、安定した状態の持続的な状態が主張するときのカウンターかタイムスタンプを更新することを含みます。入力が事前定義された持続期間に一貫したままなら、変更は有効として受け入れられます。

  • 試料スイッチ入力数ミリ秒毎
  • 複数のサンプルに同じ入力が残っているかどうか確認
  • 一貫した読書の後にだけ変更を登録する
  • 異常期間内の急流変動を無視する