沼津高専 電子制御工学科
|
ロータリーエンコーダ調査報告書
|
MIRS0102-TECH-0011 |
|
改訂記録 |
版数 |
作成日 |
作成者 |
承認 |
改訂内容 |
提出先 |
A01 |
2001.12.17 |
木下 |
増田 |
初版 |
|
1 ロータリエンコーダとは
製品にコネクタを接続し、タイヤの回転数(アナログ量)をパルス数(デジタル量)に変換する機能がある。MIRSでは最も一般的な光電式を使用する。ロータリーエンコーダは、回転軸の回転速度に比例した、互いに90°位相の異なる2相の近似正弦波を出力しているもので、2相の位相関係から回転方向が判別できる。他に、2相の信号をカウントして回転数を求めることができる。
一般的なロータリーエンコーダの使用方法は、回転子の回転数の検出、 更に、回転子の速度の検出である。
MIRSのロータリエンコーダ部は大きく分けて2つの部分から構成される。一つ目は、モータの回転数を90度位相がずれた矩形波に変換させるマイクロエンコーダ、そしてその回転数をカウントするFPGA内に構成されるロータリエンコーダモジュールである。その二つを組み合わせることによってアナログ量であるモータの回転数をディジタル量でカウントしている。MIRSでは、光学式のロータリエンコーダを用いている。
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 回転数のカウント
fig.4 カウント法
パルスのカウント法は、右図のよう に1,2,4逓倍の数え方がある。MIRSではA相、B相が0のときにどちらが立ち上るかを判別している1逓倍を使っている。MIRS標準のマイクロエンコーダでは1回転するのに100パルス発生する。また、ギヤで回転を1/16に落としているので回転数を求める場合は、以下の式で求められる。
(タイヤの回転数)=(ロータリエンコーダカウント値)/1600
2.4 回転速度の検出
A、Bの周波数は回転数に比例するからBのパルスを一定時間毎にカウントし回転数をデータ化する。データの読み込みはタイマー割り込みを使い、そのたびにカウンタはリセットされる
3 パルス弁別回路
3.1 パルス弁別回路
2相パルス出力型のエンコーダ正転/逆転を検出するために必要な回路。通常、このA,B相の動きよりup/downパルスを作り出し、必要桁数のup/downカウンタに入力し、カウンタの内容を読み取る事で回転量を知る事ができる。パルス弁別回路は、このup/downパルスを作り出す回路である。
|
fig5.パルス弁別回路 |
4 信号処理のブロック
4.1 信号処理のブロック
|
fig6.信号処理のブロック
|
4.2 カウンタ回路
カウンタ回路はロータリエンコーダの信号をカウントし、2相の信号の位相差から回転方向を判断する。ここではマウス制御用カウンタIC(μPD4701A)を利用する。μPD4701Aを利用することのメリットを、次に挙げる。
μPD4701Aがカウンタと方向判別回路の両方の回路を兼ね備えているということ。これにより、カウンタ、方向判別回路の信頼性は高上する。
2相式のロータリエンコーダを2つまで取付可能であるということ。μPD4701Aを利用すればIC1チップで2つのロータリエンコーダの信号処理が行え、回路の小型化が容易にできる。回路の小型化については、ボードをIndustryPackの形態にするためにも重要になる。
μPD4701Aが2相でカウント動作をするということ。μPD4701Aのカウンタは、2相のパルスの立上がり、立下がり全てに対してカウンタを動作させる。そのため、ボードの分解能はこれまでの4倍にまで高めることができる。ちなみにカウンタは2の歩数表示で2相の位相差から常に方向を判断し逆転の時にはダウンカウントする。
μPD4701Aの持つマウスのボタン入力ピンをタッチセンサに応用できるということ。簡単に言うと、パルス信号Aをカウンタとした時にI/Oポートは8ビットあるが、1ビットを回転方向を示すのに使うので残る7ビットを使いカウンタを作る。なお、リセット信号によりリセットされる。ということである。
|
fig7.カウンタリードサイクル |
4.3 カウンタリセット回路
カウンタリセット回路は、カウンタのリセット信号を発生させる回路である。
μPD4701Aの2つのカウンタは独立にリセット機能を持つため、回路も2つのカウンタを別々にリセットできるようにした。
|
fig8.カウンタリセットサイクル |
4.4 ロータリエンコーダ接続回路
ロータリエンコーダ接続回路はロータリエンコーダの出力波形が論理回路の”H”、”L”レベルを満足するように振幅を設定するためのものである。この回路は、使用するロータリエンコーダに合わせて設計する必要がある。本研究ではこれまでのMIRS開発に用いられてきたロータリエンコーダと同じものを使用したため、ロータリエンコーダ接続回路は新しくは設計せずこれまでのものをそのまま用いた。図2にロータリエンコーダ接続回路を示す。
|
fig9.ロータリエンコーダ接続回路 |
5 ロータリエンコーダモジュール
5.1概要
ATLMIRSでは、回転数をカウントするロータリエンコーダモジュールをFPGAボード内のFPGAチップで構成する。
5.2機能説明
- 機能概要
MIRSATLM FPGAボード モジュールはモータの回転数をカウントし、移動した距離の計測や自己位置を認識する行うためのものであり、FPGAボード内のFPGAチップに構成される。この機能を実現するためにMIRSATLM FPGAボード モジュールでは以下のような機能構成を持つ。
fig.10 FPGAボード モジュールの機能構成図
- カウント回路
この回路は、モータからの信号からモータの回転数をカウントする回路。
- カウント制御回路
この回路は、データ呼出し命令がきた時にをISAバスにカウントデータを送る機能を持つ。
- リセット制御回路
この回路は、リセット命令がきた時に実際にカウンタをリセットさせる信号を制御する回路
- 機能詳細
ロータリエンコーダモジュールでは、自己位置認識のためのモータの回転数をカウントする。モータのロータリエンコーダ部からA相、B相の90度ずれた矩形波が発生する。それをカウントすることによってモータの回転数を調べる。以下では、機能構成図(fig.10)に示した各機能ブロックの詳細説明を行う。
- カウント回路
モータのロータリエンコーダ部からの信号から回転数を実際にカウントする回路。回転方向は、90度ずれた矩形波の変化する順番によって見分ける。カウントの方法には、fig.4に示すように1、2、4逓倍のカウントの方法があるがこの回路では1逓倍でカウントする。また、負の数は補数表示となる。カウンタは16bitカウンタである。
- カウント制御回路
この回路は、アドレスが指定されかつ、読み取り命令がきたときバスにアドレスで指定されたカウンタの値を出力する働きを持つ。
それ以外の場合は、ハイインピーダンスを出力しておく。
- リセット制御回路
この回路はアドレスが指定され、リセット命令がバスから書きこまれるとアドレスで指定されたカウンタがリセットされる。
- インターフェース
table 5 ロータリエンコーダモジュールのインターフェース
信号名
|
方 向
|
対 象
|
概 要
|
RE_X
|
IN
|
アドレスデコーダ |
モジュールセレクタ信号(Xカウンタ選択用)
|
RE_Y
|
IN
|
アドレスデコーダ |
モジュールセレクタ信号(Yカウンタ選択用)
|
SD 0 to 15
|
INOUT
|
ISA-Bus |
16bit データバス
|
IOR
|
IN
|
ISA-Bus |
I/Oリード・ストローブ
|
IOW
|
IN
|
ISA-Bus |
I/Oライト・ストローブ
|
RESET
|
IN
|
ISA-Bus |
システム・リセット
|
CLK
|
IN
|
ISA-Bus |
システム・クロック 8MHz デューティ50%
|
X_A,X_B
|
IN
|
ドーターボード |
Xカウンタ用2相信号入力端子
|
Y_A,Y_B
|
IN
|
ドーターボード |
Yカウンタ用2相信号入力端子
|
6 マイクロエンコーダ
6.1 マイクロエンコーダの仕様
MIRSでのマイクロエンコーダは、maxonのモータと一体化したものです。
テクニカル・データ
供給電圧 |
5V(-10/+10%) |
出力信号 |
TTLコンパチブル |
立ち上がり時間 |
200ns |
下降時間 |
50ns |
チャンネル数 |
2 |
カウント/回転 |
100 |
使用温度範囲 |
-20/+85℃ |
コード・ホイール慣性モーメント |
=<0.05gcm2 |
最大加速度 |
250000rads-2 |
最大出力電流/チャンネル |
5maA |
位相差 |
90°e(-45/+45°e) |
最大周波数 |
20kHz |
fig11 ロータリーエンコーダの特性
6.2外形
fig12 ロータリーエンコーダの外形