Difference between revisions of "CanServo/Protocol/V1.7"
Jump to navigation
Jump to search
Tag: Manual revert |
|||
(24 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Pot Calibration == | == 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 | |||
* Servo -> Host | * Erase Cali Table | ||
** ZPVS, ID2 (4), ID1 (1), | ** Unlock | ||
*** 서보는 최대 N개의 데이터를 보냅니다. | ** 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개의 데이터를 보냅니다. | |||
***** 주의: 메시지 전송 버퍼의 한계 등을 확인하여 개수를 제한해야 합니다. |
Latest revision as of 07:08, 25 September 2025
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