この項目では、電子機器の異常な振動現象について説明しています。ネコが歯を鳴らすクラッキング(チャタリング)については「ネコ」をご覧ください。
チャタリングの例
チャタリング (英: chattering、Contact bounce、chatter) とは、可動接点などが接触状態になる際に、微細な非常に速い機械的振動を起こす現象のことである。動詞形で「チャタる」とも言う。原義は、そのような振動により音を立てる(英: chatter)という意味から。弱電を扱うスイッチやリレーが接続状態になる時に起こるその現象や、車両のブレーキング時などに発生する振動を指す。また離れる時もきれいに一回で離れるとは限らない。またそれによって発生する不安定な信号や、それによって引き起こされる電子機器の現象(特に、誤動作)なども指すことがある。
概要の接点で発生する。弾性衝突および、片持ち梁構造に由来する振動現象であるとして検討した研究などがある[1][2]。
この時に接点に電圧が掛かるようにして使用していた場合、信号が断続を繰り返す現象が起きる。非常に短時間で消失する現象であるが、電子回路の誤動作の一因とされ、通常は電子回路を工夫することなどで予め対策が取られる。
以上のような電気系の現象とは基本的に無関係であるが、同じ「チャタリング」という語で呼ばれる似たような現象として、油圧系において弁の弁体が弁座を叩く現象がある(また、同様にして接触しない振動現象はフラッタリングと呼ばれる)。 コンピュータ用の古いキーボードを操作したとき、キーを一度押しただけなのに、複数回入力されることがある。あるいは、マウスのシングルクリックが、意図せずダブルクリックとして入力されてしまう。一般的にはこれを指してよくチャタリングと呼んでいる。また接点の劣化によって引き起こされている場合もあるが、この場合、スイッチの交換が必要である。 入力からいくらかの遅延を持たせるのが基本である。遅延が許されない場合には特殊な手法が必要である。 立ち上がりと立ち下がりの片方だけが問題であれば、スイッチの前後の機械的構造や論理の正負を調整し、接点が離れる側のエッジを重要な側に使い、接触する側のエッジを避ける(チャタリングにより「離れるパルス」自体は発生するので、対策が全く不要になるわけではないが)。 デジタル回路であっても、こういった信号を処理する手法としてはCR積分回路(ローパスフィルタ)を使用するなどアナログ回路の併用は常道のひとつである。ただし中途半端な電圧の状態は、それはそれで発振など誤動作の原因となるので、シュミットトリガ回路などを併用することもある。 遅延が許されない場合は、双投スイッチとSRラッチを使用する。 サージ対策回路をチャタリング対策と思う者があるようだが、リレーのサージ対策は、リレーの入力側などインダクタンスを持つ回路の電流を急変させる時、特に投入時ではなく電流を断つ時に発生するサージへの対策という面が大きく、これをチャタリング対策と思うのは混同である。 ハードウェアで実装することもあるが、状態が安定して一定時間以上続いてはじめて信号が切り替わったと判定するようにする。 無料ソフトの中にも、チャタリングを自動修正するものが配布されている[3]。 フォトインタラプタのような光センサーを利用したスイッチや、静電容量の変化を利用したスイッチがある。前者は半導体リレーなどに、後者は高級価格帯のキーボードに使用されている。
パソコン用語
対策
逆側のエッジを使う
回路での対策
ソフトウェア的な手法を使った対策
信頼性の高い接点を使った対策
チャタリングを防ぐ材質の接点と構造を使ったスイッチ(例えばリードスイッチ(英語版
水銀スイッチなど、接点が衝突するのではない構造のスイッチを使う。
接点をなくす
脚注^ https://ci.nii.ac.jp/naid/110006292743
^ https://jglobal.jst.go.jp/detail?JGLOBAL_ID=200902276881888839
^ ChatteringCanceler ⇒[1]
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox{font-size:90%}.mw-parser-output .asbox-note{font-size:90%}.mw-parser-output .asbox .navbar{position:absolute;top:-0.90em;right:1em;display:none}
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}