• ベストアンサー

チャタリング防止について

デジタル回路でタクトスイッチなどを用いると、チャタリングが起こる場合があると思います。そして、それを防止する方法もいくつかあると思うのですが、どういった原理で防止が出来るのでしょうか? チャタリング防止に関していろいろと調べてみると、よく2つのしきい値を持つシュミットトリガ使った回路をよく見るのですが、これでどうやって防止をしているのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Teleskope
  • ベストアンサー率61% (302/489)
回答No.5

    1. >> チャタリング防止、2つのしきい値を持つシュミットトリガ回路でどうやって防止しているのでしょうか? <<  ナマ波形。 http://www.elec.chubu.ac.jp/exp/4d-3/interface3.jpg 途中のグチャグチャな部分は再現性がありません。現象の実体は接点の跳ね返りですが、メーカーから得られる情報は せいぜい「持続時間はこれこれ以下」のような数値だけです。  リレー接点(キャパシタのような記号)の例です。収まったかに見える後にもう一つ。 http://www.maxim-ic.com/images/appnotes/764/A212Fig03.gif 平滑のCRの時定数が不足だと、こんな波形になってシュミット回路でも救われません。 http://www.maxim-ic.com/images/appnotes/764/A212Fig01.gif  CRの値を決める論拠は 人それぞれウンチクがあると思いますが; 無難な目安として 下図のように放電で VtL を越えた直後に充電に転じて VtH になるまでの時間 T を、 「チャタリングの公称時間 Tm 」より一桁ほど大きくしておけば 確率的にまず大丈夫です。     電圧     |      |*     | *               *   VtH ├   *        ── *──     |    *        *  |     │      *   *    |   VtL ├        *       |     |        |← T →|     |             ┼──────────── 時間   +Vdd     |  R2が無い場合は上図放電波形は垂直。     R1  計算ではR=R1+R2とします。     |     ├─ R2 ─┬── schmidt回路へ     |      |     SW     C     |      |     ┷      ┷ 図の波形をVtLを基準に見ると   V-VtL = (Vdd-VtL)exp(-t/CR) この式が V=VtH になる時間 T は   T = CR log{(Vdd-VtL)/(VtH-VtL)} これを Tm の十倍と置いて CR 積を求めます。  より一層確実な動作が欲しい場合は、シュミットのset/resetを別個に分離した回路を使います。 http://www.elec.chubu.ac.jp/exp/4d-3/interface4.jpg  使うスイッチは、いわゆるオンオフ形ではなく切り替え形、専門的には単極双投(たんきょくそうとう)タイプです。 http://www.google.com/search?num=100&hl=ja&as_qdr=all&q=%22single+pole+double+throw%22+%E5%8D%98%E6%A5%B5%E5%8F%8C%E6%8A%95&lr=lang_ja 2.  質問者さんは電子系学生のようなので; scmidt-trigger 回路は 双安定回路(=フリップフロップ=内部に記憶がある回路)の一種です。 set/reset入力が共通化された1本入力で、その電位の高低によってset/reset されるフリップフロップです。 その回路の実体は差動増幅で、入力側トランジスタのコレクタが相手方ベースにつながってる正帰還アンプです。CMOSも同様です。  普通初等的には「ゲートの一種です」と教えますが、電子工学的には正帰還回路=記憶回路=フリップフロップ回路の仲間です。 3.  質問者さんは電子系学生のようなのでもう一つ; 「ちゃたりんぐ」という名は日本でしか通じません。 contact bounce(接点の跳躍)と覚えてください。 チャットは「会話」ですよね、チャタリングは おしゃべりとか 音がカタカタカタ…と連続することで、過渡的な一瞬の音には使いません。  昔のリレー式機器の作動音が部屋に満ちて セミが鳴いてるようなさまを チャタリング(機械同志の会話、おしゃべり)と形容したのが、 '50~'60年代のアメリカ技術導入時代に、技術者間の伝言ゲームで 方言化したのだそうです。「接点がぶつかる瞬間の現象をチャタリングと言うのだ」‥と。    

Mitu1130
質問者

お礼

お礼が遅くなってしまって申し訳ございません。 とても詳しく、また様々なことを教えていただきありがとうございました。勉強になりました。 どうもありがとうございました。

その他の回答 (4)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.4

参考URLに図が出ています。 概要はCRによる積分回路で入力波形をなまらせて緩やかな変化に変えます。 しかしあまりCRの時定数を大きくすると遅れ時間が大きくなりすぎます。 そこで時定数をある程度に留めて残った小さな波(変動)をシュミットトリガーで吸収してやるわけです。 参考URLはpdfファイルなので記載できません。 Googleで「チャタリング yamanashi ”電気電子工学実験”」で検索してください。 28/62の項6の説明と図3です。 時定数はR2とCでT=1×10^-6×100×10^-9=0.1秒になっています。

Mitu1130
質問者

お礼

お礼が遅くなってしまって申し訳ございません。 回答を参考にさせていただきました。 どうもありがとうございました。

  • sego
  • ベストアンサー率29% (371/1269)
回答No.3

最近のデジタル回路は、MPUなどを使いますので、50ms程度の間隔で3~4回連続で押されていることを検知したら押されていると判断します。 家電品や携帯など部品点数を減らすためにソフトウエアでチャタリング防止します。マトリックスキーなどボタンが多い場合には有利になります。

Mitu1130
質問者

お礼

お礼が遅くなってしまって申し訳ございません。 回答を参考にさせていただきました。 どうもありがとうございました。

  • masudaya
  • ベストアンサー率47% (250/524)
回答No.2

シュミットトリガだけでは,チャッタリングは,防げません.SWの出力に時定数回路をつけて,積分して,SWを確定します. 時定数回路の出力は積分波形のため,波形がなまった状態の出力になります.ここにチャタリング波形を入力すると出力はチャタリングによって上下します.上下の幅は,チャタリング波形自体では0~SW電圧のフルで上下するが時定数回路の出力は上下の幅は積分されるとことでかなり小さくなります. この出力を一般的なゲートに入力すると,チャタリング波形が,再生されます.これを防ぐために,シュミットトリガが用いられます.

Mitu1130
質問者

お礼

お礼が遅くなってしまって申し訳ございません。 私はシュミットトリガだけで防止できると思っていました。CR積分回路で波形をやんわりさせないといけなかったのですね。勉強になりました。 どうもありがとうございました。

noname#11476
noname#11476
回答No.1

1.コンデンサとシュミットトリガ  スイッチが入ると一定の時定数でコンデンサが充電、又は放電されるようにすると、あるところでスイッチが切り替わりますね?で時定数があるのでチャタリングがあっても簡単に電圧は変化せず、またON/OFFで閾値があるのでチャタリングを防止できます。 2.フリップフロップを使う  一度H->L又はL->Hに入力ピンが切り替わるとその状態を保持するように組みます。 そうすれば、チャタリングで入力ピンの状態が変わっても関係なくその値を保持します。 解除するには別のピンによるリセットが必要ですから、単純に一方向、つまり一つのスイッチでON/OFFする場合には不適当になります。ただ先と同じくコンデンサ充電回路を利用して工夫することは考えられます。 では。

Mitu1130
質問者

お礼

お礼が遅くなってしまって申し訳ございません。 回答を参考にさせていただきました。 どうもありがとうございました。

関連するQ&A