码盘参考设计
格雷码多道布局:码道顺序、内外圈分配与最小码元

格雷码码元为 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ⁿ,每个码元边界上恰好有一道跳变,这就是“相邻码只变一位”。
由此得出一个容易被忽略的结论:最低位的明暗条宽是 2 个码元,而不是 1 个。自然二进制码的最低位条宽才是 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 位时图形尺寸很宽松,真正要控制的是读数头转角,位数再往上则受码道带宽限制。
延伸阅读:ENC7 编码器码盘生产厂家(中文主页) · 码盘技术文库
关于我们:晶正光电专注编码器码盘研发制造,玻璃、金属、PC 码盘均可按图定制。
官网:https://enc7.com
© 廊坊晶正光电技术有限公司 版权所有,未经书面许可不得转载、摘编。本文借助 AI 辅助创作。