今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラム。第10回は、第7〜9回で取り上げたチャタリング対策を基に、回転動作をマイコンに伝えるデバイスとして広く使われている機械式エンコーダーとマイコンをつなぐプログラムを紹介する。
連載第7〜9回で、マイコン入力の大敵となるチャタリングへの対策について説明してきました。
マイコンに接続する際にチャタリング対策が必要な入力装置は他にもまだまだあります。今回はその中からロータリーエンコーダーを取り上げます。
ロータリーエンコーダーは回転動作をマイコンなどに伝えるデバイスです。他にも回転動作を抵抗値の変化として伝えるポテンショメーターというデバイスもあります。これらは回転範囲に限度があるものが多く、用途によっては適さない場合もあります。またロータリーエンコーダーといってもさまざまな種類があり、接点の違いにより分類されるようです。機械式接点を使うものはメカニカルロータリーエンコーダー、光学的接点を使うものはオプティカルロータリーエンコーダー、そして磁気で回転動作を検出するものは電磁式ロータリーエンコーダーと呼ばれています。
また先述のポテンショメーターとロータリーエンコーダーの違いは、ポテンショメーターが絶対角度の計測が可能であるのに対し、ロータリーエンコーダーは相対角度を計測する点にあります。ロータリーエンコーダーは、現在位置からの角度の変位を計測するのです。ポテンショメーターの場合、A-Dコンバーター搭載のマイコンと組み合わせれば、チャタリングに煩わされることなくマイコンに接続可能でプログラミングも容易です。
回転動作をマイコンに伝えるデバイスについて説明しましたが、今回は機械式接点を使うメカニカルロータリーエンコーダーを用いた実験により、チャタリング対策について解説します。価格が手ごろで入手しやすいメカニカルロータリーエンコーダーですが、短所となるのが接点が機械式なのでチャタリング対策が必要になる点です。
今回の実験に用いたロータリーエンコーダーは秋月電子通商で扱っている「2色LED付スイッチ付ロータリーエンコーダー(赤・青)ツマミ付セット」です(税込み価格270円、本記事執筆時)。
それでは早速仕様を見ていきましょう。図1は秋月電子通商の製品Webサイトに掲載されている寸法図から抜粋したものです。
ロータリーエンコーダーを上から見た寸法図で、下側に端子が3本あります。端子の名称は、左からA、C、Bです。A端子とC端子、そしてC端子とB端子の間にそれぞれ接点があります。そしてこれらの端子を適切にマイコンと接続することで、中央の丸いノブを回転させる際に仕様に応じたパルスが発生します。
図1の上側に端子が4本ありますが、これはノブに内蔵された2色LEDを点灯させたり、ノブを垂直に押下したりするときに閉じる接点の動作を検出するためのものです。今回はこれらの4端子は使いませんので説明は割愛します。
表1は、秋月電子通商の製品Webサイトに掲載されているデータシートから抜粋したものです。2-1で示されている出力信号フォーマットのうち上側で示されているのが、ノブを時計方向(C.W.)に回転させたときに出力される信号です。A端子から出力される信号が上の波形、B端子から出力される信号が下の波形となっています。波形の図のOFFは接点が開放されている状態、そしてONは接点が閉じた状態を表しています。
同様に2-1の下側はノブを時計と逆方向(C.C.W.)に回転させたときに出力される信号となります。なお、この波形の図は次ページで紹介するプログラミングの際に参照します。
表1の2-2で示される分解能を見ると、1回転360度を24分割したパルスが生成されると説明されています。つまり分解能は15度となります。もちろん、ロータリーエンコーダーは360度を超えても回転させられるわけですが、パルスを数えることによって360度以上の角度も計測可能となります。
Copyright © ITmedia, Inc. All Rights Reserved.