沼津高専 電子制御工学科
ロータリエンコーダ調査報告書
MIRS9804-TECH-0001
改訂記録
版数 作成日 作成者 承認 改訂内容 提出先
A01 1998.12.14 杉本 篤史 品川 初版
A02 1998.12.23 杉本 篤史 品川 不足部分を付け足した


ロータリエンコーダ調査報告


1.はじめに


1.1:ロータリエンコーダとは

 製品にコネクタを接続し、タイヤの回転数(アナログ量)をパルス数(デジタル量)に変換する機能がある。その変換方式には光電式、ブラシ式、磁気式などがある。MIRSでは最も一般的な光電式を使用している。よってこの文書では,MIRSで使用する光電式のことを述べる。
 また、ロータリエンコーダは、回転軸の回転速度に比例した、互いに90°位相の異なる2相の近似正弦波を出力しているもので、2相の位相関係から回転方向が判別できる。ほかに、2相の信号をカウントして回転数を求めることができる。


2.光電式ロータリエンコーダの概要


2.1:回転量の検出

発光ダイオード(LED)と受光素子(フォトトランジスタ)が、回転軸に 取り付けられた回転スリット(A)と固定スリット(B)をはさみ相対して取 り付けられている。回転スリット(A)が回転すると、ダイオードの光がス リットによって通過、遮断を繰り返す。この光を受光素子により検出す ることで、信号(パルス)に変換する。出力信号を2相にするため、固定 スリット(B)はスリットが2つに分かれていて、それぞれ90°位相がず れている。

  fig1.光電式ロータリエンコーダの概要
ロータリーエンコーダからの出力信号は近似正弦波形であるので、こ れを波形整形回路でパルス波形にする。

  fig2.パルス

2.2:回転方向(正転/逆転)の判別

 パルスの波形回路から出力信号A、Bの組み合わせには、回転方向により2つのパターンがある。

  fig3.パルスパターン

上記のように出力信号A、Bの位相差は常に90°であるが、回転方向により、ずれ方が異なってくる。
@の場合、B信号の立ち上がり時にA信号は必ず”H”になっているため回転方向検出信号は”H”になる。
Aの場合、B信号の立ち上がり時にA信号は”L”になっているため、回転方向検出信号は”L”になる。
このようにして回転方向の判別を行うことができる。

2.3:回転速度の検出

A、Bの周波数は回転数に比例するからBのパルスを一定時間毎にカウントし回転数をデータ化する。 データの読み込みはタイマー割り込みを使い、そのたびにカウンタはリセットされる。


3.パルス弁別回路


3.1:パルス弁別回路

 2相パルス出力型のエンコーダ正転/逆転を検出するために必要な回路。通常、このA、B相のup/downパルスを作り出し、必要桁数のup/downカウンタを入力し、カウンタの内容を読み取る事で回転量を知る事が出来る。パルス弁別回路は、このup/downパルスを作り出す回路である。

  fig4.パルス弁別回路

4.信号処理のブロック


4.1:信号処理のブロック

  fig5.信号処理のブロック

4.2:カウンタ回路

カウンタ回路はロータリエンコーダの信号をカウントし、2相の信号の位相差から回転方向を判断する。これまでは、フリップフロップを使ってカウンタと方向判別の回路を設計してきたが、ここではマウス制御用カウンタIC(μPD4701A)を利用する。μPD4701Aを利用することのメリットを次にあげる。


・1つめに、μPD4701Aがカウンタと方向判別回路の両方を兼ね備えているということ。これにより、カウンタ、方向判別回路の信用性は向上する。


・2つめに、2相式のロータリエンコーダを2つまで取付可能であるということ。μPD4701Aを利用すればIC1チップで2つのロータリエンコーダの信号処理が行え、回路の小型化が容易にできる。回路の小型化については、ボードをIndustryPackの形態にするためにも重要になる。


・3つめに、μPD4701Aのカウンタのカウント動作の点が挙げられる。これまでは、ロータリエンコーダの2相の信号のうち、片方の相のパルスの立上がりに対してカウンタをアップカウントさせ、方向はカウン トとは別に2相の位相差から判別していた。それに対してμPD4701Aのカウンタは、2相のパルスの立上がり、立下がり全てに対してカウンタを動作させる。そのため、ボードの分解能はこれまでの4倍にま で高めることができる。ちなみにカウンタは2の歩数表示で2相の位相差から常に方向を判断し逆転の時にはダウンカウントする。


・4つめに、μPD4701Aの持つマウスのボタン入力ピンをタッチセンサに応用できることも挙げられる。簡単に言うと、パルス信号Aをカウンタとした時にI/Oポートは8ビットあるが、1ビットを回転方向を示す のに使うので残る7ビットを使いカウンタを作る。なお、リセット信号によりリセットされる。ということである。