コード板リファレンス設計
多トラックグレイコードの配置:トラック順序、内周・外周の割当てと最小コード要素

グレイコードのコード要素は2πr/2ⁿだが、最下位ビットのストライプ幅は2コード要素である。Φ40コード板・10ビット・最下位ビットr = 18 mmでは、コード要素約110 μm、最も細いストライプ幅約221 μm、トラック帯の幅約4.85 mmとなる。本記事では最下位ビットを外周に置く場合と内周に置く場合を比較し、トラック間の読取りずれを導き、パラメータ表と順序規則を示す。
Φ40のコード板で10ビットのシングルターン絶対位置を実現したい。一回転1024位置、一位置約21.1′である。多トラックのグレイコードでは、10本のトラックがそれぞれ一ビットを受け持ち、検出器を一本の半径方向の線に沿って並べて同時に読む。レイアウトを描く前に答えるべき問いは四つある。最も狭いパターンの幅はいくらか、どのビットを外周に置くか、10本のトラックが占める環帯の幅はいくらか、読取りラインをどこまで正確に合わせる必要があるか。本記事ではΦ40・10ビットを計算例として一項目ずつ導く。

各トラックのパターン:ストライプ幅と遷移数
グレイコードは二進数Bから G = B XOR (B » 1) で得られるので、第kビットは G_k = B_k XOR B_(k+1) である。コード要素(位置の量子化単位一つ)の角度幅を360°/2ⁿとすると、半径rでの弧長は
q = 2πr / 2ⁿ
ビットごとに書き出すと次のようになる。
- 第kトラック(k ≤ n − 2)は明ストライプ、暗ストライプとも幅2^(k+1)コード要素、周期2^(k+2)コード要素で、一回転あたり2^(n−k−1)回遷移する。
- 最上位ビットb(n−1)は半周が明、半周が暗。次位ビットb(n−2)も半周ずつだが、最上位ビットと90°ずれている。
- 全トラックの一回転あたりの遷移数を合計するとちょうど2ⁿになり、各コード要素の境界にはちょうど一本のトラックの遷移がある。これが「隣接コードは一ビットしか変わらない」ということである。
ここから見落とされやすい結論が得られる。最下位ビットの明暗ストライプ幅は1コード要素ではなく2コード要素である。ストライプ幅が1コード要素になるのは自然二進コードの最下位ビットである。したがって「最小コード要素2πr/2ⁿ」は位置分解の単位であり、パターン上の最も細い線は2qである。また、最下位ビットのトラック自体が2^(n−2)周期の一様な格子であり、10ビットでは256周期である。
Φ40コード板・10ビットのレイアウトパラメータ
例示レイアウト:b0をr = 18 mm、トラック幅W = 0.35 mm(検出窓の半径方向寸法に偏心と取付けの余裕を加えたもの。決め方は本ライブラリのトラック半径方向幅編を参照)、トラック間隔0.15 mm、トラックピッチP = 0.5 mm、b9を13.5 mmに置く。トラック帯は13.325 mmから18.175 mmまで、幅約4.85 mmである。r = 18 mmでのコード要素はq ≈ 110.4 μm、すなわち1265.6″である。
| トラック | 半径(mm) | ストライプ幅(コード要素) | ストライプ角度 | ストライプ弧長 | 一回転の遷移数 |
|---|---|---|---|---|---|
| b0 | 18.0 | 2 | 0.70° | 220.9 μm | 512 |
| b1 | 17.5 | 4 | 1.41° | 429.5 μm | 256 |
| b2 | 17.0 | 8 | 2.81° | 834.5 μm | 128 |
| b3 | 16.5 | 16 | 5.63° | 1.62 mm | 64 |
| b4 | 16.0 | 32 | 11.25° | 3.14 mm | 32 |
| b5 | 15.5 | 64 | 22.5° | 6.09 mm | 16 |
| b6 | 15.0 | 128 | 45° | 11.8 mm | 8 |
| b7 | 14.5 | 256 | 90° | 22.8 mm | 4 |
| b8 | 14.0 | 512 | 180° | 半周 | 2 |
| b9 | 13.5 | 512 | 180° | 半周、b8と90°ずれ | 2 |
最下位ビットは外周か内周か
順序を逆にすると、b0は13.5 mmに来て、ストライプ幅は半径に比例して小さくなる。比較は次のとおり(13ビットではトラックピッチは同じで、最内トラックは12 mm)。
| 項目 | b0を外周 | b0を内周 |
|---|---|---|
| 10ビットのb0ストライプ幅 | 220.9 μm | 165.7 μm |
| 13ビットのb0ストライプ幅 | 27.6 μm | 18.4 μm |
| 外側のインクリメンタルトラック(18.5 mmと仮定)との半径方向距離 | 約0.5 mm | 約5 mm |
| 偏心20 μmでのb0とインクリメンタルトラックの読取りずれ | 約6″ | 約83″ |
10ビットではどちらの並べ方でもストライプ幅は十分広く、違いは作れるかどうかではなく、次の二点にある。第一に信号余裕。読取りヘッドの半影と検出窓の幅は固定の長さなので、ストライプが狭いほど最下位ビットの信号は完全な明・完全な暗に達しにくく、エッジ位置がしきい値に依存しやすくなる。半影幅を約20 μmとすると、13ビットで内周に置いた場合、b0のストライプ幅はすでにそれより小さい。第二にインクリメンタルトラックとの同期。内挿付きのアブソリュートエンコーダでは、グレイコードの最下位ビットとインクリメンタルトラックの位相をつなぐ必要があり(つなぎの許容差は本ライブラリの別記事を参照)、偏心による両者の読取りずれはe·(1/r_a − 1/r_b)に比例する。隣接して置けば、トラック帯全体を挟む場合より約13倍小さい。
最下位ビットを内周に置くことを検討する価値があるのは、読取りチップの検出器配列がすでに決まっている場合か、外周を別のトラックのために空けておかなければならない場合だけである。
読取りラインの位置合わせ:トラック帯が広いほどずれが大きい
グレイコードの耐誤り性は次のとおりである。各トラックの読取り点の角度位置のばらつきが1コード要素未満であれば、読み出されるのは常に隣接する二つのコードのどちらかで、誤差は1コード要素を超えない。設計では半分を余裕として残し、0.5コード要素で管理する。ばらつきの要因は三つある。
- 偏心e:Δφ_e = e·(1/r_in − 1/r_out)·|sinθ|
- 読取りラインの横ずれd(検出器を結ぶ線が半径に平行だが中心を通らない):Δφ_d = d·(1/r_in − 1/r_out)
- 読取りラインの回転γ(半径r_pの位置を中心に回転):Δφ_γ ≈ γ·r_p·(1/r_in − 1/r_out)
ここでr_in、r_outは最内・最外トラックの半径である。三項とも1/r_in − 1/r_outに比例し、これはほぼトラック帯の幅をr²で割ったもので、トラック順序とは無関係である。本例では1/13.5 − 1/18 ≈ 0.0185 mm⁻¹、1コード要素は6.14 mradで、0.5コード要素はeまたはdで約0.17 mm、γで約0.6°(r_p = 15.75 mm)に相当する。つまり10ビットでは偏心も横ずれも非常に緩く、むしろ読取りヘッドの回転こそ管理すべき項目である。0.5°回転しただけで約0.41コード要素を使ってしまう。
ビット数が増えると、一ビット増えるごとにコード要素は半分になり、トラック帯も一本分広がるので、ばらつきは急速に大きくなる(図2)。偏心または横ずれ10 μmで、13ビットでは約0.36コード要素、14ビットでは約0.82コード要素を使う。Φ40では純粋な多トラックグレイコードはふつう13ビット程度までで、それ以上はインクリメンタルトラックとの同期つなぎか単一トラック符号に頼ることになる。

トラック順序の規則
- ビットの重みで単調に並べる:b0を外周、最上位ビットを内周とし、途中を飛ばさない。こうすればストライプ幅が半径とともに変化する。
- インクリメンタルトラックがある場合はそれを最外周に置き、b0をすぐ内側に接して配置し、両者の間にはクロストーク用の間隔だけを残す。
- 半周トラック二本は最内周に置く。遷移が二か所しかなく、半径と偏心に最も鈍感である。
- トラックピッチはトラック幅にクロストーク間隔を加えた下限値をとる。トラック帯が狭いほど読取りラインの許容差は大きい。
- 各トラックのコード要素境界の角度は2πm/2ⁿで正確に与え、同一の描画または同一のフォトマスクで形成して、トラック間の角度ずれを避ける。
実務上のポイント
- コード要素と線幅を区別する:コード要素q = 2πr/2ⁿ、グレイコードの最も細いストライプは2q。Φ40、r = 18 mm、10ビットではそれぞれ110.4 μmと220.9 μm。
- 最下位ビットは外周に:10ビットではストライプ幅が165.7 μmから220.9 μmに広がり、外側インクリメンタルトラックとの偏心ずれは約13倍小さくなる。
- まずトラック帯の幅を計算する:10本、トラックピッチ0.5 mmで約4.85 mm、最内トラックは13.5 mm。内径とハブはこの内側に収める。
- 10ビットで最も厳しい組立て項目は読取りラインの回転:約0.6°で0.5コード要素を使い切る。偏心と横ずれは約0.17 mmまで許せる。
- ビット数の上限はずれから見積もる:e = 10 μmで13ビットは約0.36コード要素、14ビットは約0.82コード要素。超える場合は同期つなぎか単一トラック符号に切り替える。
- レイアウトを出す前に一周をコード要素ごとに走査し、隣接コードが一ビットしか変わらないこと、一回転の総遷移数が2ⁿに等しいことを確認する。
まとめ
グレイコードの位置単位は2πr/2ⁿだが、最も細い線はその二倍である。最下位ビットを外周に置けば最も広いストライプが得られ、インクリメンタルトラックとの同期もしやすい。トラック順序は読取りラインのずれを変えず、ずれはトラック帯の幅と半径だけで決まる。Φ40・10ビットではパターン寸法は非常に余裕があり、本当に管理すべきは読取りヘッドの回転である。さらにビット数を上げるとトラック帯の幅が制約になる。
中国語原文記事の翻訳 (0301). ENC7 コード板メーカー(お問い合わせ) · 技術記事 · https://enc7.com
© 廊坊晶正光電技術有限公司(Langfang Jingzheng Optoelectronic Technology Co., Ltd.)無断転載を禁じます。本記事はAIの支援を受けて作成されています。