チャタリングのはなし
チャタリングのはなしとは
チャタリング[chattering]とは可動接点などが接触状態になる際に、微細な非常に速い機械的振動を起こす現象のことである。(Wikiより)
特にスイッチ等機械的接点の ON OFF 時に接点がバウンドしてくっついたり離れたりするので、マイコン等で読み取る場合、何もしないで読み込むと「 ONしたつもりが、チャタリングした OFF タイミングを読んでしまい、時々ONしない」などのトラブルが起きる。
そこで、ハード屋さんは、読み込んだポートに 1000PF〜0.1µF 程度のコンデンサーをつけてチャタリングを除去します。ソフト屋さんはキーの状態を見るのに数十mSおきにチェックして、OFF-> ON 時は2回連続して ON になった時に ONと確定する、ON-> OFF 時は2回続けて OFF で確定する、などの工夫でチャタリングを防いでいます。
ハード的には
それで、実際どのくらいの、チャタリングが起きているのかを、色々なスイッチで調べてみました。
まずはタクトスイッチ
マイコン制御でよく使うだけあって、ONのチャタリングは短い時間で終了します。
OFF は300µS 程度に数回バウンドするようです。離したときに板バネが暴れるのでしょうか?
次にアナログ的に信号を制御するのによく使うトグルスイッチ。
やはりマイコン用に作られている訳ではないので、ON時は盛大にチャタリングが出ます。300µSを過ぎても安定していない感じですね。
OFFはまあまです。たまにこのようなチャタリングがあるくらい。シーソー的に動く接点の動作の違いで、OFF時にはわりとスムーズに離れるようです。
次はプッシュスイッチ。
盛大にチャタリングが出ます。接点がスライドしながら接触するのだろうと考えられます。細かなチャタリングが特徴です。
OFFも激しいですね。一度離れそうになってまた結構確実な ON 状態になるあたりが特徴的です。
次はスライドスイッチ。
細かくチャタリングするのはプッシュスイッチと似ています。わざとゆっくりスライドさせたので、このような波形ですが、早く操作すればもうちょっとチャタリング時間は短いかも知れません。
OFF もけっこう暴れます。それでも 100µS程度なのですが、確実にチャタリングは起きます。
以上見てみると、よほどゆっくり操作しなければ、ほぼ 1mS 以下でチャタリングは収束してしまうものと思われます。数mS おきに読み込んで、2度読み確認するなどの工夫で問題無く読めるかと思います。最近はスイッチもマトリックス状接続にして多くのキーを読む場合も増えたので、ハード的対策はあまりしなくなったようですが、「遠くのスイッチをケーブルで引っ張ってきて読みたい」などの用途には、ノイズ除去のためのコンデンサーを入れたりするのも有効でしょう。
| 固定リンク
| コメント (0)
| トラックバック (0)