一般的に電気スイッチの接点の素材は金属です。金属は弾性特性を持っていますので、接触した際に跳ね返ります。電気的接点が物理的に閉/開する時に、この跳ね返りが原因で、機械的な弾性振動が発生します。これが乱雑な電気的パルスを発生させます。これがチャタリングです。
実際のオシロスコープで観測した波形を図1に示しましたが、全く規則性のない、乱雑な波形だと分かります。このような信号が、マイコンの誤動作を引き起す場合があります。特に、割り込み信号に入ると、マイコンは、「何度も割り込みが入った」と勘違いして、意図しない動作をしてしまいます。そのため、マイコンを使った回路では、チャタリングの対策を行う必要があります。対策はマイコンの回路に部品を追加するハードウェアによる対策と、プログラムで誤動作を防止するソフトウェアによる対策があります。
最も一般的で簡単な方法は、信号ラインとGND(接地)間にコンデンサーを入れる方法です。図2-Aで示したオシロスコープの波形は、図1のスイッチの回路に静電容量100nFのコンデンサーをつけた場合です。スイッチを閉じた直後の波形の乱れは残りますが、マイコンの入力端子の閾(しきい)値を超えなければ、問題ありませんので、コンデンサー1個でもかなり効果があることが分かります。
チャタリング除去の観点からいうと、直列抵抗を追加して、ローパスフィルターを構成する方が、効果はありますが、直列抵抗の電圧降下を考慮する必要があります。
シュミットトリガーバッファー*1)とは、ヒステリシス特性を持ったバッファーです。ヒステリシス特性とは、Highレベルの閾値(VIH)とLowレベルの閾値(VIL)に差がある特性です。通常のCMOS回路では、VILとVIHはほぼ同じ値ですが、シュミットトリガーの場合は差があります。入力信号がVIL以下になるとLowレベル、VIH以上になるとHighレベルとみなし、入力信号がVILとVIHの間にあるときは、直前の電位を保持する特性を持ちます。
もし、チャタリングで発生するパルス信号が図2-Bのようにフル振幅しないで、電位変動がVILやVIHに達しない場合は、電位が変化していないとみなしますので、チャタリングのパルスを後段へ伝えません。
しかし、パルスがフル振幅して、シュミットトリガーのVILやVIHを超えてしまうと、除去できません。そこで、前述したコンデンサーを追加して、パルス波形を滑らせてから、シュミットトリガーに接続すると、非常に効果的です。
Copyright © ITmedia, Inc. All Rights Reserved.