CanServo/Protocol/V1.7

From HITEC_HELP
Revision as of 07:08, 25 September 2025 by Choiyh (talk | contribs) (→‎Pot Calibration)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Pot Calibration

  • Pot Cali
    • 서보 출력 축에 정밀한 각도 센서를 장착하여 서보 위치 센서의 값을 Calibration 하는 절차입니다.
      • Cali순서: 위치값 0->16383까지 등간격 혹은 특별한 순서로 서보를 이동시키면서, ZPST를 통해 외부 위치 센서값을 전달하는 컨셉
        • 단, 첫 위치는 원점(8192) 임.
      • 주의: 좌표에서 Turn 처리가 필요함.
        • 예: 좌표 0 왼쪽(마이너스 방향)은 16383이 아니라 -1로 처리. 좌표 16383의 오른쪽(플러스 방향)은 0이 아니라 16384로 처리해야 함.
    • 추천 방식1: 0점, -60도 위치, +60도 위치, 3점에 측정
    • 추천 방식2: 360도 전체를 등간격으로 측정
  • Process
    • Cali Unlock:
      • Write Reg 0x72: 40092, 40017, 40069
    • Cali Start
      • Write 0x70, 3848
    • Cali Set Position
      • ZPST message
    • Cali End
      • Write 0x70, 3849
      • wait 1 sec
  • Erase Cali Table
    • Unlock
    • Erase
      • Write 0x70, 3843
      • Wait 100 msec
    • Reset
  • Message
    • Host -> Servo
      • ZPST, ID2 (4), ID1 (1), external position sensor value ( 2 byte, signed 16 bits integer, 8192=center, resolution 16384 = 360 deg )
        • value range: -32768 ~ +32767
        • 주의: Host는 외부 위치 센서의 Turn 처리를 해야 합니다.
          • 예: 0-16383 범위를 벗어날 때
            • 센서값: 0 -> 16383 ==> -1 로 표시
            • 센서값: 16383 -> 0 ==> 16384 로 표시
    • Host -> Servo
      • ZPGS, ID2 (4), ID1 (1), start index ( 2 byte ), N ( 2 byte )
        • 서보는 ZPVS 메시지를 보냅니다.
    • Servo -> Host
      • ZPVS, ID2 (4), ID1 (1), start index ( 2 byte ), N ( 2 byte ), Pi ( setted position ), Vi ( position sensor value ), ...
        • 서보는 최대 N개의 데이터를 보냅니다.
          • 주의: 메시지 전송 버퍼의 한계 등을 확인하여 개수를 제한해야 합니다.