モータに取り付けられた円盤はエンコーダディスクと呼ばれる部品です。エンコーダディスクはコの字形の部品の間を回るようにつくられていますが、このコの字型の部品はフォトインタラプタというものす。エンコーダディスクとフォトインタラプタをあわせてロータリエンコーダを構成しています。
フォトインタラプタは上図のようにスリットをはさんで赤外線LEDとフォトICが向かい合わせで配置されています。フォトICは赤外線が照射されると0V、照射されないと5V(電源電圧)の出力を出すようになっていますのでスリットのあいだの障害物の有無を検出することができます。エンコーダディスクの穴はLEDの光を通し、穴の空いていないところは光を通しませんので穴が通過した回数を数えればモータがどのくらい回ったか、車輪がどのくらい回ったかを知ることができます。
ロータリエンコーダの仕組みは上記のとおりですが、PUPPYにはフォトインタラプタが2つついています。2つ必要なわけは車輪の回転角度だけではなく、回転方向も検出する必要があるからです。
フォトインタラプタが1つだけついている場合について考えてみます。PUPPYの車輪を一定の速さで回転させたときフォトインタラプタの出力波形は図Aのようになります。オシロスコープをお持ちの方は写真1のE_AもしくはE_Bにプローブを当てると同様の波形を見ることができます。
図A 写真1
図Aで5Vから0Vに変化する(立下り)回数もしくは0Vから5Vに変化する(立上がり)回数が穴が通過した回数と等しくなるので、図Aの波形だけでも車輪の回転角を知ることはできます。今度は車輪を逆の向きに回してみてください。逆の向きに回しても図Aの波形が出てきます。回転方向を変えても波形が同じでは車輪がどちらに回ったのか検知することはできません。そこで、出力波形が90°ずれるような位置関係にフォトインタラプタをもうひとつ配置します。車輪の回転方向を写真2のように定義すると、車輪を正転させたときフォトインタラプタの出力(E_A,E_B)は図Bのようになります。
写真2 図B 車輪正転時の波形 図C 車輪逆転時の波形
図Bを見るとE_Aの信号をA相出力、E_BをB相出力とすると、車輪を正転させたときA相に対してB相は90°位相が進んでいます。車輪を逆転させると図Cのようになり、今度はA相に対してB相は90°位相が遅れています。A相とB相の位相差を見れば正転・逆転を検知することができます。