碼盤參考設計
格雷碼多道佈局:碼道順序、內外圈分配與最小碼元

格雷碼碼元為 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 輔助創作。