코드 디스크 레퍼런스 설계

다중 트랙 그레이 코드 배치: 트랙 순서, 내외측 배치, 최소 코드 요소

다중 트랙 그레이 코드 배치: 트랙 순서, 내외측 배치, 최소 코드 요소

그레이 코드의 코드 요소는 2πr/2ⁿ이지만 최하위 비트의 바는 요소 2개 폭이다. 10비트, LSB를 r = 18 mm에 둔 Φ40 디스크에서 요소는 약 110 μm, 가장 가는 바는 약 221 μm, 트랙 대역 폭은 약 4.85 mm이다. 이 글은 LSB를 바깥과 안쪽에 둘 때를 비교하고, 트랙 간 읽기 어긋남을 유도하며, 파라미터 표와 배열 규칙을 제시한다.

Φ40 디스크로 10비트 싱글턴 절대 위치를 내야 한다. 한 회전에 1024위치, 위치당 약 21.1′이다. 다중 트랙 그레이 코드에서는 10개 트랙이 각각 한 비트를 맡고, 검출기를 반경선 하나를 따라 늘어놓아 동시에 읽는다. 배치를 그리기 전에 네 가지 질문에 답해야 한다. 가장 좁은 구조의 폭은 얼마인가, 어느 비트를 바깥에 두는가, 10개 트랙이 차지하는 환형 대역의 폭은 얼마인가, 읽기선을 얼마나 정확히 정렬해야 하는가. 이 글은 Φ40, 10비트를 예로 하나씩 따져 본다.

Φ40 디스크의 10비트 그레이 코드(배치 예): 바깥 LSB b0부터 안쪽 MSB b9까지 트랙을 구성하고 밝은/어두운 바 폭을 표시. 디스크가 회전하면 반경 방향 읽기선이 코드 워드를 읽으며, 빨강은 방금 바뀐 비트로 인접 코드는 1비트만 다르다.
그림 1 Φ40 디스크의 10비트 그레이 코드(배치 예): 바깥 LSB b0부터 안쪽 MSB b9까지 트랙을 구성하고 밝은/어두운 바 폭을 표시. 디스크가 회전하면 반경 방향 읽기선이 코드 워드를 읽으며, 빨강은 방금 바뀐 비트로 인접 코드는 1비트만 다르다.

트랙별 패턴: 바 폭과 전이 수

그레이 코드는 이진수 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)번 전이한다.
  • MSB b(n−1)은 반 바퀴 밝고 나머지 반 바퀴 어둡다. 다음 비트 b(n−2)도 반 바퀴 패턴이지만 MSB보다 90° 어긋나 있다.
  • 모든 트랙의 한 회전 전이 수 합계는 정확히 2ⁿ이고, 모든 요소 경계에 정확히 하나의 전이가 있다. 이것이 “인접 코드는 한 비트만 다르다”의 의미이다.

여기서 놓치기 쉬운 결론이 나온다. LSB의 밝은 바와 어두운 바는 요소 1개가 아니라 2개 폭이다. 자연 이진 코드에서만 LSB 바가 요소 1개 폭이다. 따라서 “최소 요소 2πr/2ⁿ”은 위치 분해능의 단위이고, 패턴에서 가장 가는 선은 2q이다. 또한 LSB 트랙은 그 자체로 2^(n−2)주기의 균일 격자이며, 10비트에서는 256주기이다.

10비트 Φ40 디스크의 배치 파라미터

배치 예: 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)바 폭(요소)바 각도바 호 길이회전당 전이 수
b018.020.70°220.9 μm512
b117.541.41°429.5 μm256
b217.082.81°834.5 μm128
b316.5165.63°1.62 mm64
b416.03211.25°3.14 mm32
b515.56422.5°6.09 mm16
b615.012845°11.8 mm8
b714.525690°22.8 mm4
b814.0512180°반 바퀴2
b913.5512180°반 바퀴, b8보다 90° 어긋남2

LSB를 바깥에 둘까, 안쪽에 둘까

순서를 뒤집으면 b0가 13.5 mm에 오고 바 폭은 반경과 함께 줄어든다. 비교(13비트의 경우 트랙 피치는 같고 가장 안쪽 트랙은 12 mm):

항목b0 바깥b0 안쪽
10비트 b0 바 폭220.9 μm165.7 μm
13비트 b0 바 폭27.6 μm18.4 μm
바깥 인크리멘탈 트랙(18.5 mm로 가정)까지 반경 거리약 0.5 mm약 5 mm
편심 20 μm에서 b0와 인크리멘탈 트랙의 읽기 어긋남약 6″약 83″

10비트에서는 두 배치 모두 바가 넓다. 차이는 만들 수 있느냐가 아니라 다른 두 가지에 있다. 첫째, 신호 여유. 리드헤드의 반그림자 폭과 검출 창 폭은 고정 길이이므로, 바가 좁을수록 LSB 신호가 완전한 밝음과 완전한 어둠에 도달하기 어렵고 에지 위치가 임계값에 더 의존한다. 반그림자 폭을 약 20 μm로 가정하면 13비트에서 LSB를 안쪽에 둘 때 b0 바는 이미 그보다 좁다. 둘째, 인크리멘탈 트랙과의 동기. 보간을 쓰는 앱솔루트 엔코더는 그레이 코드 LSB의 위상을 인크리멘탈 트랙과 이어 붙여야 하며(이음 공차는 이 라이브러리의 다른 글 참조), 편심에 의한 둘 사이의 읽기 어긋남은 e·(1/r_a − 1/r_b)에 비례한다. 둘을 나란히 두면 사이에 트랙 대역 전체가 끼는 경우보다 약 13배 작아진다.

LSB를 안쪽에 두는 것은 읽기 칩의 검출기 배치가 이미 정해져 있거나, 바깥 링을 다른 트랙용으로 비워 두어야 할 때만 고려할 만하다.

읽기선 정렬: 트랙 대역이 넓을수록 어긋남이 크다

그레이 코드의 내결함성은 이렇다. 각 트랙 읽기점의 각도 산포가 요소 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는 18 mm, 트랙 피치 0.5 mm(예시).
그림 2 비트 수 증가가 가장 가는 바 폭(왼쪽)과 내외측 트랙 간 읽기 어긋남(오른쪽)에 미치는 영향. b0는 18 mm, 트랙 피치 0.5 mm(예시).

트랙 배열 규칙

  1. 비트 가중치 순으로 단조 배열한다. b0는 바깥, MSB는 안쪽, 중간에 건너뛰지 않아 바 폭이 반경과 함께 변하게 한다.
  2. 인크리멘탈 트랙이 있으면 가장 바깥에 두고 바로 안쪽에 b0를 두며, 둘 사이에는 크로스토크 방지 틈만 남긴다.
  3. 반 바퀴 트랙 두 개는 가장 안쪽 링에 둔다. 각각 전이가 두 번뿐이라 반경과 편심에 가장 둔감하다.
  4. 트랙 피치는 트랙 폭과 크로스토크 방지 틈의 하한으로 잡는다. 트랙 대역이 좁을수록 읽기선 공차가 커진다.
  5. 모든 트랙의 요소 경계 각도를 정확히 2πm/2ⁿ으로 주고, 같은 묘화 패스나 같은 포토마스크에서 형성해 트랙 간 각도 어긋남을 피한다.

엔지니어링 요점

  • 요소와 선폭을 구분한다. 요소 q = 2πr/2ⁿ, 그레이 코드의 가장 가는 바는 2q이다. Φ40, r = 18 mm, 10비트에서는 각각 110.4 μm와 220.9 μm이다.
  • LSB는 바깥에 둔다. 10비트에서 바 폭이 165.7 μm에서 220.9 μm로 커지고, 바깥 인크리멘탈 트랙과의 편심 어긋남이 약 13배 작아진다.
  • 트랙 대역 폭부터 계산한다. 피치 0.5 mm로 10개 트랙이면 약 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ⁿ이지만 가장 가는 선은 그 두 배이다. LSB를 바깥에 두면 바가 가장 넓고 인크리멘탈 트랙과의 동기도 쉬워진다. 트랙 순서는 읽기선 어긋남을 바꾸지 않으며, 어긋남은 트랙 대역 폭과 반경에만 달려 있다. Φ40, 10비트에서는 패턴 치수가 매우 여유롭고 실제로 관리해야 할 것은 리드헤드 회전이며, 비트 수가 높아지면 트랙 대역 폭이 한계가 된다.


중국어 원문 기사 번역 (0301). 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