- - PR -
「RC」で鈍くする
「RC」はラジコンの略ではなく、「抵抗(R)」と「コンデンサ(C)」のことである。
チャタリング対策の1つは、「回路の反応を鈍くして、チャタリングで想定されるOFF→ON→OFF→ON……に反応しないようにする」である。鈍くなり過ぎると、「本物のOFF→ONへの反応が遅くなる」「チャタリングではない本物のOFF→ONにも反応しなくなる」という副作用が発生するので、単純に「鈍くすればよい」というわけではないのだが、「適切に鈍くする」ことが可能であれば、チャタリング対策としては有効である。
このためには、回路を「RC積分回路」にすることだ(図2)。この回路では、信号への反応の速度を決める「時定数」というパラメータが、回路中の抵抗「R」の抵抗値とコンデンサ「C」の容量の積(RC積)で決まる。時定数が大きければ大きいほど、鈍い回路となる。
| 図2 RC積分回路 |
スイッチインターフェイス部分の回路図を見てみると、「R2+C1」部分が、RC積分回路の形となっていることが判明する。
この部分のRC積は、
| 500(Ω)×10(μF)=5ミリ秒 |
となる。
回路の時定数は、単純にRC積だけで決定されるわけではないが、今回のマイクロスイッチのチャタリングに対しては、十分に大きな“鈍さ”であると考えてよいだろう。
画像4に、今回のスイッチの信号(黄色)と、RC積分回路通過後の信号の変化(水色)を示す。時間(横軸)が2.50ms/div刻みと大きくなっているのは、RC積分回路通過後の変化の全体を1枚のグラフに収めたためである。
| 画像4 スイッチの信号とRC積分回路通過後の信号の変化 |
スイッチの信号をよく見ると、「OFF」→「ON」で画像2と同様のチャタリングが起こっていることがかろうじて判明する。そして、RC積分回路通過後の信号の変化を見ると、チャタリングの影響をまったく受けていないことが分かる。
「チャタリングを消す」という目的は達したのだが、どうもRC積が大き過ぎて、いささか鈍過ぎる回路になってしまったようだ。今回の「招き猫に福を招かせる」という目的に対しては、実際の支障はなかったのだが、高速での反応を要求される回路では、「チャタリングが消えるのはよいけれども、時定数が大きく、鈍くなり過ぎて用途に適しない」が問題になることもあるだろう。
シュミットトリガを通す
今回はRC積分回路の後で、信号をさらに「シュミットトリガ」に通した。シュミットトリガとは、激しく増大・減少する信号に対して「最大になったと思われるから『High』」「最小になったと思われるから『Low』」という処理を行う仕組みで、完成品をICとして購入できる。
| 関連リンク: | |
| シュミットトリガ−概説−(Wikipedia) http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%83%9F% E3%83%83%E3%83%88%E3%83%88%E3%83%AA%E3%82%AC#.E6.A6.82.E8.AA.AC |
|
シュミットトリガを通過する前後の「OFF」→「ON」の信号変化を、画像5に示す。
| 画像5 シュミットトリガを通過する前後の「OFF」→「ON」の信号変化 |
シュミットトリガに入る前が黄色、出た後が水色である(画像5は、比較しやすくするために、高さをずらしてある)。もともとのスイッチの「OFF」→「ON」であったと思われる時刻から5ミリ秒遅れて、デジタルに整形された「OFF」→「ON」が出力されていることが分かる。
「なぜ、シュミットトリガでなければならなかったのか?」には疑問が残るかもしれないが、取りあえず、チャタリングが消えた“美しい”「OFF」→「ON」信号が出現したのは間違いない。
トランジスタでバッファリング
スイッチのON/OFFをマイコンの入力として扱う場合、入力の手前で「High」または「Low」のどちらかにすることが可能であっても、トランジスタを介して、マイコンへ入力する。スイッチのON/OFF時には、突入電流やノイズなど多様な問題が発生する可能性があるため、通常、それを直接マイコンに「食わせる」ことはしない。
スイッチからの信号によって、トランジスタに別の電源系統のスイッチ動作をさせて、その結果をマイコンに入力する。そうすることによって、マイコンに入力される信号は「『High』でなければ『Low』」となり、それ以外の信号がやって来る可能性を無視できる。つまり、トランジスタに「緩衝(バッファリング)」を行わせるわけだ。
今回の回路では、トランジスタに入るのは、もともとRC積分回路とシュミットトリガを通過した信号である。そこに大きな問題はなく、ただ「スイッチONがマイコンへの確実な入力」となればよい。
今回はトランジスタで「High」と「Low」の反転が行われるようにして、最終的なマイコンへの入力は「スイッチがONになったら『High』」「スイッチがOFFになったら『Low』」となるようにした。この様子を画像6に示す。黄色がシュミットトリガ通過後の信号、水色がトランジスタの出力である。
| 画像6 ここまでの対策を行った最終的な信号変化 |
◇
筆者たちが本回路で行ったのは、いずれも、スイッチをマイコンの入力として扱うための一般的な対策である。1つ1つは定石なのだが、いささか大げさ過ぎるかもしれない。また、個々の対策を見ると、「ちょっとズレているかもしれない」「必要なかったかもしれない」「用途によってはこれでは問題がある」といったツッコミどころがいくつもあるだろう。
「備えあれば憂いなし」ではあるが、「すべての問題に、最初から備えたので、憂いがまったくない」ということはあり得ない(もちろん、人命にかかわる機器開発の場合は、『ここまでは確実に備えられた』から開発をスタートする必要があるが)。もしかすると、教科書に掲載されている定石は、“目の前の、その問題に対する正解ではないかもしれない”ということだ。
結局、何がいいたいのかというと、ノウハウは“生々しい現実との付き合いの中から、身に付けていくしかない”ということである。相手がたかがスイッチ1個でも、「きちんとお付き合いする」のは大変なのだ。でも、「大変だけど、お付き合いはできる」という状態になれば、「では、次の段階のお付き合いを」「では、別のデバイスとお付き合いを」という応用の可能性が見えてくる。
さて次回は、「招き猫」ロボットの“招き”動作の制御プログラムについて解説する。自分の理解した回路が、自分の理解したプログラムで動作するまで、もう少しだ。(次回に続く)
関連記事 半導体/エレクトロニクス
- 連載:イチから作って丸ごと学ぶ! H8マイコン道
- 特集:組み込みシステムに吹く“仮想化”の風
- 連載:組み込みマルチコア進化論(連載中)
- 連載:必修! FPGAタイミング解析の基礎(全5回)
- 連載:−ザ・組み込み−ソフトウェアのハードウェア化(連載中)
- 連載:S08ではじめるマイコン制御プログラミング(全6回)
- 連載:マイコン制御基礎の次(連載中)
- 連載:マイコン制御基礎の基礎(全10回)
- 連載:マイコン制御基礎以前(全10回)
- 連載:H8で学ぶマイコン開発入門(全13回)
- 連載:触って学ぼう FPGA開発入門(全6回)
- 連載:FPGA開発テクニック、チューニングの心得(全6回)
- 特集:いまさら聞けない FPGA入門
- 連載:バラして納得! 電子部品入門(全18回)
- 連載:完全マスター! 電子回路ドリル III(全14回)
- 連載:完全マスター! 電子回路ドリル II(全25回)
- 連載:完全マスター! 電子回路ドリル(全25回)
- 目指せ! 電子回路マスターへの道
- 目指せ! 電子回路マスターへの道 Part2
- 分かっておきたい、IP活用の落とし穴
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)













