ロータリエンコーダ
wiki:「ロータリエンコーダ(英: rotary encoder)は、入力軸の回転の変位を内蔵した格子円盤を基準としてデジタル信号として出力する角位置センサである。回転を測定するセンサではもっとも一般的である。同様の仕組みで直線変位を検出するものをリニアエンコーダという。 そもそもは回転角測定用検出器としての考案であるが、ロボットや情報機器のサーボ系統の位置決めなど、新たな使用用途が確立されてきている。 」
光学式LEDセンサまた、非接触型磁気センサ(ホールセンサ)を使用したロータリエンコーダ(エンコーダと略称する)により、回転速度と方向が検出可能とするエンコーダがインクリメンタル・ロータリー・エンコーダと呼ばれる。光学式LEDセンサとホールセンサの原理は類似しているが、光を検出するために感光素子を使用するのと、磁界の脈動を検出するためにホールセンサを使用するセンサである。
以下のように、インクリメンタル・ロータリー・エンコーダを使用した車輪の直線速度を計算してみる。他に、回転角度の絶対値を出力するアブソリュート・ロータリー・エンコーダがある。

車輪の速度計算
ギアボックス(減速機)つきDCモータ、エンコーダの回転軸がモータシャフトに取り付けたの場合、
エンコーダ分解能 = 車輪1回転(ギアオックス出力シャフト1回転)につき、エンコーダが出力するパルス数 = 基礎パルス数(モータシャフト1回転につき、エンコーダが出力するパルス数)x 減速比
上図のようなロータリエンコーダの分解能が、以下のように計算される。
基礎パルス数 = 8 減速比100 = 100 エンコーダ分解能 = 8パルス x 100 = 1200パルス
よって、車輪の直線速度は、以下の式より計算される。
車輪の直線速度 = 車輪の円周の長さm X 状態カウンタ数 / (エンコーダ分解能 X パルスをカウントした時間s)
状態カウンタ数は、状態(時計まわりの回転か反時計まわりの回転か静止)の変化をカウントしたパルス数である。もし時計まわりの回転で状態カウンタ数が増えると、以下のように擬似コードが記述される。
if 時計まわりの回転 状態カウンタ数 = 状態カウンタ数 + 1 else if 反時計まわりの回転 状態カウンタ数 = 状態カウンタ数 - 1 else if 静止 状態カウンタ数 = 状態カウンタ数 + 0 end if
エンコーダ分解能
エンコーダ分解能を表すには、PPR、LPR、CPRとの指標またパラメータがある。PPRまたLPRは、PulsesまたはLines per Revolution 即ち、車輪1回転あたりのパルス数である。CPRは、Pulses per Revolution 即ち、車輪1回転あたりのカウンタ数である。PPAとCPAの換算について、位相Aと位相Bパルスの状態(0/1)を組み合わせて、00、01、11、10の4パタンがあり、ついては「4倍周波数」CPR = PPR x 4の関係がある。
以下のように、PPR、LPR、CPRが計算される。
エンコーダ位相AのPPRまたLPR = 1000パルス / 車輪1回転 エンコーダ位相BのPPRまたLPR = 1000パルス / 車輪1回転 位相Aと位相Bの位相差 = 90° (センサAとセンサBの位相差から分かる) CPR = 1000(PPR) × 4 = 4000
関連記事
点検向け自律移動ロボットRED(薄型・小型)
研究開発用 台車型ロボット キット
SLAM~拡張カルマンフィルタ
以上