コード板リファレンス設計

回転コード板上の距離コード化原点:最小原点復帰角と間隔の導出

回転コード板上の距離コード化原点:最小原点復帰角と間隔の導出

コード板上の距離コード化では、K個のマークの間隔が互いに少なくともΔ異なり、合計がちょうど一周になる必要がある。本記事は閉合条件、マーク数の上限、最大原点復帰角を導き、交互配置により原点復帰角を約2N/K + Δまで下げられることを示し、2048本のコード板にマーク32個、最大原点復帰23.0°の計算例を示す。

インクリメンタルコード板に原点マークが一つしかないと、電源投入後に原点を見つけるまで最悪で一回転まるごと回す必要がある。距離コード化原点は直線スケールでは既に成熟している(原理と直線での設計は本ライブラリの距離コード化に関する記事を参照)。これをコード板に移植すれば、モータは十数度から二十数度回るだけで絶対角度がわかる。コード板と直線コードストリップの最大の違いは両端がないことだ:すべての間隔の合計はちょうど一周でなければならず、最後のマークは最初のマークとつながる。本記事はこの閉合条件のもとでの間隔、マーク数、最大原点復帰角を導く。

2048本のコード板上の不等間隔原点マーク32個(例):任意の位置から回り始め、最初のマークを過ぎてからカウントを開始し、二つ目のマークを過ぎたとき間隔が得られ、テーブル参照でそのマークの絶対角度がわかる。二回目のデモは最悪の始点から出発し、131信号周期(23.0°)回る
図1 2048本のコード板上の不等間隔原点マーク32個(例):任意の位置から回り始め、最初のマークを過ぎてからカウントを開始し、二つ目のマークを過ぎたとき間隔が得られ、テーブル参照でそのマークの絶対角度がわかる。二回目のデモは最悪の始点から出発し、131信号周期(23.0°)回る

符号化規則と閉合条件

インクリメンタルトラックの信号周期を単位とし、一周はN周期(2048本のコード板ならN = 2048)。円周上にK個の原点マークを置き、隣接マークの間隔をg_1 … g_Kとして、次を要求する:

  • すべての間隔は互いに異なり、任意の二つの間隔は少なくともΔ周期異なる。これによりカウント誤差がΔ/2未満なら識別できる(Δのとり方は本ライブラリの距離コード化の許容誤差の記事を参照。Δ = 3で±1周期を訂正できる);
  • 最小間隔はg_min以上とし、検出窓内に二つのマークが同時に現れないようにする;
  • 閉合:Σ g_i = N。

最も簡単なとり方は等差数列:g_i = D + (i − 1)·Δ。閉合条件は

K·D + Δ·K(K − 1)/2 + R = N

ここでRは余り(0 ≤ R < K)。Rがゼロでなければ、大きい方からR個の間隔にそれぞれ1周期を加えればよい:それらの間は依然としてΔ、小さい方のグループとはΔ + 1異なり、識別能力は落ちない。D ≥ g_minからマーク数の上限が得られる:Kは⌊(N − Δ·K(K − 1)/2)/K⌋ ≥ g_minを満たす最大値をとる。

任意の隣接する二つのマークを通過すれば、測った間隔から何番目の区間かがわかり、通過したばかりのマークの絶対角度がわかる。正転では通過したのはその区間の終点マーク、逆転では始点マークなので、復号にはA/Bの方向も使う。偏心が間隔カウントに与える影響は原点トラックとインクリメンタルトラックの半径差からのみ生じる:偏心20 μm、両トラック半径15 mmと14.2 mmのとき、差分振幅は約0.02周期にすぎず、無視できる。

最大原点復帰角:並び順が鍵

任意の位置から出発して二つのマークを見る必要があり、最悪はちょうど一つのマークを逃した場合で、隣接する二区間を走り切ることになる。最大原点復帰角は

T_max = max(g_i + g_(i+1))

間隔を昇順に並べると最大の二区間が隣接し、T_max ≈ 2N/K + (K − 2)·Δとなる。これはKに対して減少してから増加し、K = √(2N/Δ)付近で最小になる。

間隔を「最小、最大、二番目に小、二番目に大……」と交互に並べると、隣接二区間の和はほぼ等しくなり、T_max ≈ 2N/K + Δとなる。すべての隣接和の平均はちょうど2N/Kなので、これは既に下限に近く、しかもKが大きいほどよく、制約はg_minだけである。交互配置ではg_i + g_(K+1−i)が一定で、一つおきのマークはちょうど等間隔になる。これは直線の距離コード化の「固定マーク+可変マーク」と同じ構造であり、円周上では閉合条件を自動的に満たす。

2048本の計算例

例のパラメータ:r = 15 mmで信号周期は約46.0 μm。g_minは16周期(約0.74 mm、原点マークのパターン長、検出窓、余裕を含む。仮定値)。Δ = 3。

  1. マーク数の上限:K = 32のときD = ⌊(2048 − 1488)/32⌋ = 17 ≥ 16、K = 33のときDは16未満、よってK = 32。
  2. 余りR = 2048 − 32 × 17 − 1488 = 16。大きい方の16区間にそれぞれ1を加える。間隔は17、20 … 62(16区間)と66、69 … 111(16区間)、合計2048。
  3. 交互配置:17、111、20、108、23、105……、62、66。一つおきのマークの間隔は128周期(22.5°)。
  4. 最大原点復帰:昇順配置では108 + 111 = 219周期(38.5°)、交互配置では111 + 20 = 131周期(23.0°)。始点が一様分布のときの平均原点復帰角はそれぞれ約19.7°と15.9°で、原点マークが一つだけなら最大360°、平均180°である。

Δを変えた結果(g_min = 16周期):

Δ訂正可能な誤差マーク数 K最小/最大間隔最大原点復帰(昇順)最大原点復帰(交互)平均原点復帰(交互)
1なし5016 / 6623.0°14.6°10.4°
3±1周期3217 / 11138.5°23.0°15.9°
5±2周期2616 / 14249.0°28.7°19.3°
左:K = 32、Δ = 3での昇順配置と交互配置の間隔および隣接二区間の和。右:最大原点復帰角のマーク数Kに対する変化。丸印は最小間隔16周期で制限されるKの上限
図2 左:K = 32、Δ = 3での昇順配置と交互配置の間隔および隣接二区間の和。右:最大原点復帰角のマーク数Kに対する変化。丸印は最小間隔16周期で制限されるKの上限

レイアウトと復号のポイント

原点マークの中心は信号周期の整数倍の位置に置き、インクリメンタル目盛線と同一マスクで位置合わせする。こうすれば原点パルスをインクリメンタル信号の一象限にゲートしたとき、間隔カウントが整数になる。四逓倍でカウントする場合は、間隔とΔをいずれも4倍する。復号テーブルはK項だけ:間隔値→区間番号→始点・終点マークの角度。測った間隔が最も近いテーブル値からΔ/2を超えて離れていればエラーとし、さらに三つ目のマークを通過して再確認できる。

設計のポイント

  • 閉合条件K·D + Δ·K(K − 1)/2 + R = N。余りRは大きい方からR区間の間隔に加え、識別には影響しない。
  • マーク数は最小間隔で決まる:g_minはマークのパターンと検出窓を含む。2048本、g_min = 16周期、Δ = 3でK = 32。
  • 必ず交互配置にする:最大原点復帰は2N/K + (K − 2)Δから約2N/K + Δに下がり、例では38.5°から23.0°に下がる。
  • 交互配置は、固定マークを等間隔に置き、その間に可変マークを挿入するのと等価である。例では固定マークの間隔は128周期。
  • Δ = 3で±1周期のカウント誤差を訂正できるが、代償として原点復帰角が14.6°から23.0°に増える。
  • 復号ではA/Bの方向で、通過したのが区間の始点か終点かを区別する。マーク中心はインクリメンタル目盛線と同一マスクで位置合わせする。

まとめ

回転コード板上の距離コード化は三つの条件を満たす必要がある:間隔が互いに少なくともΔ異なること、最小間隔がg_min以上であること、合計がちょうど一周であること。最小間隔がマーク数を決め、マーク数と並び順が最大原点復帰角を決める。交互配置は隣接二区間の和を平均値2N/Kに近づけ、円周配置の下限に既に近い。2048本のコード板にマーク32個を使えば最大原点復帰は約23°で、原点マーク一つの場合より一桁以上少ない。


中国語原文記事の翻訳 (0306). ENC7 コード板メーカー(お問い合わせ) · 技術記事 · https://enc7.com

© 廊坊晶正光電技術有限公司(Langfang Jingzheng Optoelectronic Technology Co., Ltd.)無断転載を禁じます。本記事はAIの支援を受けて作成されています。

Have a drawing? Get an engineer's review.

Send your outer diameter, bore, line count or bit count, substrate and readhead wavelength. Our engineers check manufacturability and reply with a quotation and sample lead time.

WhatsApp