機械式スイッチのチャタリングとその除去について見てみます。いうより、安物のロジアナ兼デジタルオシロが手に入ったので使ってみよう、といった方が動機としては正確かも・・・まずは、図1のような回路を作って、SW1をONにしたときのA点の電圧の変化を見ると、図2のようになりました。この表示では図2の時間軸が読み取れませんが、20uSec/Divです。SW1をONにするとA点は0Vになりますが、約40uSec後から約20uSecの間、再び5Vになっています。この間、SW1の接点が跳ね返っていると思われます。図2で、今度は図3のようにR2とC1を追加して同じようにB点の電圧を見てみると、図4のような結果になりました。本当はA点とB点の測定結果を同時に出すべきですが、この測定機器の操作方法がわからない(^^;;;)ので、やむなく別々に測定しています。そのため、図2とはタイミングがずれているように思う(というより、まず一致しない)のですが、だいたいあっているような気がする、ということでお許しを。SW1がONになった後、R2を通して放電しますが、約40uSec後からやや波形が盛り上がり、約20uSec後から下がっていることから、この間はSW1の接点が跳ね返っていると思われます(A点の波形があればねぇ)。^^;;;)、横軸が20uSec/Divというのが(だいたい)確認できます。図4あとは、図5のようにシュミットトリガで受ければ、できあがりです。その測定波形は、まだありません(操作方法が判明すれば、ぜひ追加したい・・・)。今回の実験のように、SW1の接点が跳ね返っている時間が20uSec程度であれば、R1C1の時定数が十分大きいのでこれで問題ありませんが、もっとぼよよ〜んと長い間跳ね返る接点があるとちょっと問題かもしれません。74HC14の閾値から考えると、500uSec程度接点が跳ね返るようなチャタリングには、このままでは対処できないように思います(現実的かどうかはわかりませんが)。上記はタクトスイッチを使っていましたが、これはチャタリングが起こる時間が短いという情報を得ました。そこで、スイッチの種類を小型のトグルスイッチに変えてみました。上の図2に対応する測定結果は次の通り。横軸を50uSec/divにしているのですが、実はこれでも入りきっていません。接点が落ち着くまで、ずいぶん長い時間かかることがわかります。図3と同じ回路で、点AとBの様子を測定したところ、次のようになりました(ついに操作方法が判明)。上の波形が点Aで、下の波形が点Bです。これを見ると点Bの電圧が2.5Vを越えているので、図5の回路でこのままの定数では、チャタリングを除去しきれないかもしれませんね(相変わらず未測定ですが)。2004年8月28日ようやく、図5の点Bと点Cの測定ができました。U1は74LS14になっています。スイッチは、前回と同じ小型のトグルスイッチです。各画像で、上の波形が点B、下の波形が点Cです。C1が0.1uFのときはこんなかんじ。横軸は前回と同じく、50uSec/divです。下の波形をみると、チャタリングを除去しきれないことがわかります。C1を1uFにすると、次のようになりました。横軸は100uSec/divです。結果を見るとチャタリングは除去できていますが、点Bの波形を見るとちょっと微妙な感じですね。C1を10uFにすると、次のようになりました。横軸は500uSec/divです。ここまでくれば、チャタリング除去としては十分のように思います。(画像はありませんが)トリガ付近を拡大しても、問題なさそうな感じ。おまけでC1を100uFにしてみました。横軸は5mSec/divです。結果は次のようになり、C1が10uFのときと比べて、時定数が変わっただけのように考えられます。ここまでくると、スイッチを押してから点Cが反転するまで20mSecかかっています。手で操作するなら問題ないと思いますが。いうわけで、ここで使ったスイッチであればC1を10uFにすれば十分なのでしょう。大型のスイッチになると、チャタリングも豪快なんだろうなあと思いますが、もうこの実験はいいや。