CONTROL BASICS / ROTARY ENCODER
「モーターが何回転したか、どうやって分かる?」
「エンコーダのA相・B相・Z相は、それぞれ何をしている?」
機械の回転や位置を電気信号として取り出すために使われるのが、エンコーダです。
この記事では、回転を検出するロータリエンコーダを中心に、仕組み、各相の役割、分解能とカウント数、PLCへ取り込む際の確認点を解説します。
エンコーダとは?動きを電気信号に変えるセンサー
エンコーダは、回転角度や直線方向の変位などを電気信号に変換するセンサーです。回転を検出するものをロータリエンコーダ、直線方向の変位を検出するものをリニアエンコーダと呼びます。
ロータリエンコーダをモーター軸やローラーに連結すると、受信側の装置で信号を処理することで、回転量・回転方向・回転速度などを求められます。
機械の動き
回転を電気信号へ変換
回転量・方向・速度などを求める
エンコーダ自体がモーターを回すわけではありません。検出した情報を制御装置へ返し、表示・監視・フィードバック制御などに利用します。
回転を検出する仕組み|光学式と磁気式
代表的な検出方式には、光を使う光学式と、磁界の変化を使う磁気式があります。
回転する円板のスリットやパターンを、発光・受光素子で読み取ります。透過型の基本例では、光が通る・遮られる変化を検出して信号にします。
磁石や磁気パターンの回転に伴う磁界の変化を、磁気センサーで検出します。検出結果を処理し、角度情報やパルスなどとして出力します。
方式によって構造は異なりますが、どちらも「機械の動きを電気的に読み取る」という目的は共通です。選定では、検出方式だけでなく分解能、精度、応答速度、使用環境などを確認します。
インクリメンタルとアブソリュートの違い
位置情報の表し方には、大きくインクリメンタル方式とアブソリュート方式があります。
| 項目 | インクリメンタル | アブソリュート |
|---|---|---|
| 基本的な考え方 | 移動に応じたパルスを数える | 位置に対応する固有のコードを読む |
| 位置の把握 | 基準からの増減を積み重ねる | 検出範囲内の絶対位置を取得する |
| 信号の例 | A相・B相・Z相など | シリアル通信、パラレルコードなど |
| 電源再投入時 | 位置を再確立するため、原点復帰などが必要になる場合がある | 保持方式や単回転・多回転の仕様により扱いが異なる |
単回転アブソリュートは、基本的に1回転内の位置を区別します。多回転アブソリュートは、それに回転回数の情報を加えて位置を扱います。
多回転情報の保持には、バッテリを使う方式やバッテリレス方式などがあります。「アブソリュートなら、どんな条件でも原点設定が不要」とは限りません。機械との位置合わせや初期設定は別途必要です。
ここからは、A相・B相・Z相を持つインクリメンタル方式を中心に見ていきます。
A相・B相・Z相は何をしている?
| 信号 | 基本的な役割 |
|---|---|
| A相 | 回転に応じたパルスを出力する。B相と組み合わせて方向も判定する |
| B相 | A相から位相をずらしたパルスを出力する |
| Z相 | 通常、1回転に1回出力する基準信号 |
製品によって、A相だけの1相タイプ、A相・B相の2相タイプ、Z相も備えるタイプがあります。すべてのエンコーダが3相を出すわけではありません。
A相とB相|変化する順番から回転方向が分かる
一般的な2相パルスでは、A相とB相が電気角で約90°、つまり信号1周期の約4分の1ずれています。この先行・遅行の関係が、回転方向によって入れ替わります。
| 信号 | ① | ② | ③ | ④ | ⑤ |
|---|---|---|---|---|---|
| A相 | L | H | H | L | L |
| B相 | L | L | H | H | L |
①→②でA相が先に立ち上がり、②→③でB相が立ち上がります。逆方向に回すと、この状態変化の順番が逆になります。
信号1周期を360°として表した位相差です。また、どちらの先行を正転・カウント増加とするかは、軸を見る方向、製品の定義、受信側の設定を確認します。
Z相|1回転ごとの目印になる
Z相は、通常1回転に1回出力される信号で、原点復帰や基準位置の検出などに利用します。
ただし、何回転もする機械では、Z相だけで機械の唯一の原点位置が分かるわけではありません。原点センサーで範囲を絞り、その後のZ相を使って基準を決める構成などがあります。
Z相を受けたときにカウントをゼロにするか、値を取り込むかなども、受信側の機能と設定によります。Z相の信号幅や有効条件も確認しましょう。
分解能と4逓倍|1回転で何カウントになる?
インクリメンタルエンコーダの分解能は、一般に1回転当たりのパルス数で表されます。ここでは1,000P/R=A相が1回転で1,000周期のパルスを出すものとして計算します。
受信側のカウント方式によって、1回転当たりに得られるカウント数が変わります。
| カウント方式 | 数えるタイミングの基本例 | 1回転のカウント数 |
|---|---|---|
| 1逓倍 | A相の立ち上がりなど、1周期で1回 | 1,000 |
| 2逓倍 | A相の立ち上がり・立ち下がり | 2,000 |
| 4逓倍 | A相・B相の両方の立ち上がり・立ち下がり | 4,000 |
カウントの基準エッジなどは機器によって異なります。P/R・PPR・CPRなどの表記も、逓倍前か逓倍後かを各資料で確認してください。
360° ÷ 4,000 = 0.09°
これは計算上の刻み幅です。分解能が細かいことと、実際の位置決め精度が高いことは同じではありません。エンコーダの精度、取付誤差、機械のがたやたわみなども関係します。
ボールねじの移動量に換算する例
エンコーダ軸とボールねじが1対1で連動し、ねじ1回転で10mm移動する条件なら、4,000カウントで10mmです。
10mm ÷ 4,000 = 0.0025mm
1,000カウントの変化 = 2.5mmの移動に相当
減速機が入る場合は減速比を含めて換算します。また、モーター軸の回転を測っている場合、負荷側の滑りやバックラッシまで直接検出できるとは限りません。
回転速度は、一定時間のパルス数から求められる
パルス周波数と1回転当たりのパルス数が分かれば、回転速度を求められます。1,000P/Rで1相のパルス周波数が20,000Hzなら、次の計算になります。
20,000 × 60 ÷ 1,000 = 1,200min⁻¹
4逓倍したカウント数を一定時間で集計する場合は、1回転当たりのカウント数も4,000に合わせます。この条件なら毎秒80,000カウントですが、A相そのもののパルス周波数は20kHzです。
周波数を使って計算するのか、逓倍後のカウント数を使うのかを混ぜないようにしましょう。
PLCで取り込むには?高速カウンタと出力方式を確認
エンコーダのパルスを、通常の入力を読むラダープログラムだけで数えようとすると、入力応答時間やスキャン時間の影響で取りこぼす場合があります。
そのため、必要な速度に対応した高速カウンタ機能やエンコーダ入力ユニットを使います。CPU内蔵の場合も、使用できる端子やチャンネル、設定に制限があります。
- 信号形式:オープンコレクタ、ラインドライバなど、送り側と受け側の電気仕様を合わせる。
- 電源と信号レベル:本体の電源電圧だけで、出力電圧を判断しない。
- 周波数:最大回転速度でのパルス周波数を計算し、エンコーダと受信側の両方の上限を確認する。
- 入力モード:A/B相の2相入力、逓倍方式、Z相の処理などを設定する。
- 配線条件:指定ケーブル、信号ペア、シールド、接地、終端などを取扱説明書に合わせる。
1相入力と2相入力、1逓倍と4逓倍で、許容される入力周波数が変わる機器があります。カタログの最大値だけでなく、実際に使うモードの仕様を確認します。
また、差動出力のA+・A−は、A相を伝える1組の信号です。A相とB相という別々の相とは異なり、A−は0V端子でもありません。
カウントしない・位置がずれるときの確認点
| 症状 | 確認すること |
|---|---|
| まったく数えない | 電源、出力形式、入力端子、カウンタの有効設定、配線の対応 |
| 増減方向が逆 | A/B相の対応、回転方向の定義、カウント方向の設定 |
| 値が2倍・4倍になる | 逓倍設定と、角度・距離換算に使う1回転のカウント数 |
| 高速時だけずれる | 応答周波数、入力フィルタ、パルス幅、配線条件、信号波形 |
| カウントは正常なのに位置が合わない | 原点設定、減速比、カップリングの緩み、滑り、バックラッシ |
テスターで電源電圧が正常と分かっても、高速パルスの波形や位相まで正常とは判断できません。必要に応じて適切な計測器で確認します。
カウントのクリアや原点設定の変更は、機械の動作基準に影響します。設備の手順に従って行い、配線や連結部を点検する際は、予期しない起動を防ぐ措置を取ります。
まとめ
- エンコーダは、回転や変位を電気信号として検出するセンサー。
- A相・B相は、パルス数と信号変化の順番から回転量や方向を求めるために使う。
- Z相は通常1回転に1回の基準信号で、機械原点との対応付けが必要。
- 分解能、逓倍後のカウント数、実際の精度を分けて考える。
- PLCへ接続するときは、出力形式・入力モード・周波数・配線条件を合わせる。
まずは「何を検出しているか」「1回転で何パルス出るか」「受信側がどう数えるか」を確認しましょう。この3つがつながると、エンコーダの数値を機械の動きとして読み取れるようになります。

コメント