CanServo/Protocol/V1.7
Jump to navigation
Jump to search
Pot Calibration
- Pot Cali
- 서보 출력 축에 정밀한 각도 센서를 장착하여 서보 위치 센서의 값을 Calibration 하는 절차입니다.
- Cali순서: 위치값 0->16383까지 등간격 혹은 특별한 순서로 서보를 이동시키면서, ZPST를 통해 외부 위치 센서값을 전달하는 컨셉
- 단, 첫 위치는 원점(8192) 임.
- 주의: 좌표에서 Turn 처리가 필요함.
- 예: 좌표 0 왼쪽(마이너스 방향)은 16383이 아니라 -1로 처리. 좌표 16383의 오른쪽(플러스 방향)은 0이 아니라 16384로 처리해야 함.
- Cali순서: 위치값 0->16383까지 등간격 혹은 특별한 순서로 서보를 이동시키면서, ZPST를 통해 외부 위치 센서값을 전달하는 컨셉
- 추천 방식1: 0점, -60도 위치, +60도 위치, 3점에 측정
- 추천 방식2: 360도 전체를 등간격으로 측정
- 서보 출력 축에 정밀한 각도 센서를 장착하여 서보 위치 센서의 값을 Calibration 하는 절차입니다.
- 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
- Cali Unlock:
- 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 로 표시
- 예: 0-16383 범위를 벗어날 때
- ZPST, ID2 (4), ID1 (1), external position sensor value ( 2 byte, signed 16 bits integer, 8192=center, resolution 16384 = 360 deg )
- Host -> Servo
- ZPGS, ID2 (4), ID1 (1), start index ( 2 byte ), N ( 2 byte )
- 서보는 ZPVS 메시지를 보냅니다.
- ZPGS, ID2 (4), ID1 (1), start index ( 2 byte ), N ( 2 byte )
- Servo -> Host
- ZPVS, ID2 (4), ID1 (1), start index ( 2 byte ), N ( 2 byte ), Pi ( setted position ), Vi ( position sensor value ), ...
- 서보는 최대 N개의 데이터를 보냅니다.
- 주의: 메시지 전송 버퍼의 한계 등을 확인하여 개수를 제한해야 합니다.
- 서보는 최대 N개의 데이터를 보냅니다.
- ZPVS, ID2 (4), ID1 (1), start index ( 2 byte ), N ( 2 byte ), Pi ( setted position ), Vi ( position sensor value ), ...
- Host -> Servo