Skip to content

아래의 내용은 제품 정식 발매 시 일부 변동될 수 있습니다.

1. 제품 소개

1.1 제품 설명

mini17Bb는 BLDC 모터인덕티브 리니어 엔코더를 하나의 하우징에 통합한 모터 드라이브 내장형 리니어 서보모터입니다.

외부에 별도의 드라이브 없이 CANopen (CiA 402) 프로토콜 하나로 정밀한 위치, 속도 제어가 가능하며, 최대 127개 노드를 하나의 버스에 연결하여 멀티 축 동기 제어 시스템을 쉽게 구성할 수 있습니다.

주요 특징:

  • BLDC 모터
  • 인덕티브 리니어 엔코더 일체형
  • 드라이브 내장 (외부 서보 드라이브 불필요)
  • CANopen CiA 402 프로파일 준수
  • 고정밀 FOC(Field Oriented Control) 전류 제어
  • Profile Position Mode (PP Mode) 지원
  • 소프트웨어 위치 리미트, 팔로잉 에러 감지 기능 내장
  • STM32G4 시리즈 기반 고속 제어 루프

1.2 제품 사양

1.2.1 전기적 사양

항목사양
정격 전압24V DC
동작 전압 범위12 - 34V DC
정격 전류650 mA
최대 전류1600 mA
통신 인터페이스CAN
지원 Baudrate125kbps, 250kbps, 500kbps, 1Mbps
Node-ID 범위1 - 127

1.2.2 기구적 사양

17Bb Servo Series 상세 스펙 표

Stroke

정격부하
(@450mA / Duty 100%)

정격부하
(@650mA / Duty 50%)

최고속도
(무부하)

모델명 / 통신규격
(CAN / RS-485)

사이즈
(LxWxH / mm)

무게(g)

기어비

30mm

45N

65N

115 mm/s

17Bb-65CF-30W

L130 x W28 x 63H

485gf

5:1

88N

125N

60 mm/s

17Bb-125CF-30W

10:1

200N

280N

28 mm/s

17Bb-280CF-30W

22:1

320N

460N

18 mm/s

17Bb-460CF-30W

36:1

520N

750N

11 mm/s

17Bb-750CF-30W

58:1

720N

1000N

7.2 mm/s

17Bb-1000CF-30W

83:1

60mm

45N

65N

115 mm/s

17Bb-65CF-60W

L166 x W28 x 63H

580gf

5:1

88N

125N

60 mm/s

17Bb-125CF-60W

10:1

200N

280N

28 mm/s

17Bb-280CF-60W

22:1

320N

460N

18 mm/s

17Bb-460CF-60W

36:1

520N

750N

11 mm/s

17Bb-750CF-60W

58:1

720N

1000N

7.2 mm/s

17Bb-1000CF-60W

83:1

100mm

45N

65N

115 mm/s

17Bb-65CF-100W

L216 x W28 x 63H

645gf

5:1

88N

125N

60 mm/s

17Bb-125CF-100W

10:1

200N

280N

28 mm/s

17Bb-280CF-100W

22:1

320N

460N

18 mm/s

17Bb-460CF-100W

36:1

520N

750N

11 mm/s

17Bb-750CF-100W

58:1

720N

1000N

7.2 mm/s

17Bb-1000CF-100W

83:1

150mm

45N

65N

115 mm/s

17Bb-65CF-150W

L270x W28 x 63H

720gf

5:1

88N

125N

60 mm/s

17Bb-125CF-150W

10:1

200N

280N

28 mm/s

17Bb-280CF-150W

22:1

320N

460N

18 mm/s

17Bb-460CF-150W

36:1

520N

750N

11 mm/s

17Bb-750CF-150W

58:1

720N

1000N

7.2 mm/s

17Bb-1000CF-150W

83:1

2. 안전 주의사항

본 제품을 사용하기 전에 이 매뉴얼을 반드시 숙지하십시오. 안전 지침을 지키지 않으면 제품 손상 및 부상이 발생할 수 있습니다.

2.1 안전 기호 설명

기호의미
위험지키지 않으면 사망 또는 중상의 위험
경고지키지 않으면 부상 또는 제품 손상 가능성
주의사용 시 알아야 할 중요 정보

2.2 전기적 주의사항

  • 허용 동작 전압 범위 이외의 전압은 절대 인가하지 마십시오. 전압 초과 시 드라이브 IC가 소손됩니다.
  • 전원 극성(+/-)을 반드시 확인하십시오. 역접속 시 제품이 파손됩니다.
  • ℹ 전원을 인가하기 전에 CAN 케이블 연결 상태를 확인하십시오.
  • ℹ CAN 버스 양 끝단에 120Ω 종단 저항을 반드시 설치하십시오.

2.3 기구적 주의사항

  • 로드(Rod)에 정격 추력 이상의 외력을 가하지 마십시오. 엔코더 스케일 및 내부 구조가 파손될 수 있습니다.
  • 로드를 강제로 밀거나 당기지 마십시오. 내부 BLDC 모터 코일이 소손될 수 있습니다.
  • ℹ 스트로크 범위를 벗어난 위치 명령을 내리지 않도록 소프트웨어 리미트(0x607D)를 반드시 설정하십시오.
  • ℹ 지속적인 과부하 상태는 내부 온도 상승 및 제품 수명 단축의 원인이 됩니다.

2.4 취급 주의사항

  • ℹ 제품을 낙하하거나 충격을 가하지 마십시오.
  • ℹ 고온·다습한 환경, 먼지가 많은 곳에서의 사용을 피하십시오.
  • ℹ 분해·개조를 시도하지 마십시오. 보증이 무효화됩니다.

3. 하드웨어 설치

3.1 커넥터 핀맵

mini17Bb는 전원 및 CANopen 통신을 하나의 커넥터로 제공합니다.

pasted image 20260813101535※ 결합면(Front View) 기준

Pin No.신호명색상설명
1VCC흰색전원 양극 (+)
2GND전원 음극 (-), CAN GND
3I/O추후지원
4I/O추후지원
5I/O추후지원
6I/O추후지원
7RS485추후지원
8RS485추후지원
9CAN_H주황색CAN High
10CAN_L주황색 점선CAN Low

3.2 CAN 네트워크 구성

CANopen은 ISO 11898 기반의 2선식 차동 신호(CAN_H / CAN_L)를 사용합니다.

Pasted image 20260727140600.png

3.2.1 권장 배선 방식 : 데이지 체인 (Daisy-Chain) 연결

CANopen 통신은 노드 간의 통신 선로를 하나의 긴 선으로 이어주는 데이지 체인(직렬 버스) 방식을 가장 권장합니다.

  • 배선 구조: 마스터 제어기에서 출발한 통신 선이 첫 번째 모터(Node)의 IN 포트로 들어가고, OUT 포트를 통해 다음 모터의 IN 포트로 순차적으로 연결되는 방식입니다.
  • 종단 저항 위치: 네트워크의 가장 첫 번째 장치(일반적으로 마스터)와 가장 마지막에 연결된 장치 단 두 곳에만 120Ω 종단 저항을 설치해야 합니다.

CANopen 네트워크는 양방향 통신 시 신호 반사를 방지하기 위해 버스 양 끝에 반드시 120Ω(1/4W 이상) 종단 저항(Terminating Resistor) 을 설치해야 합니다. 중간에 위치한 노드에는 종단 저항을 연결하지 마십시오. 또한, 외부 노이즈 차단을 위해 트위스트 페어 실드(Twisted Pair Shield) 케이블 사용을 권장하며 실드선은 마스터 제어기 측에서만 단일점 접지(Single-point Grounding) 하십시오.

3.2.2 통신 속도별 최대 케이블 길이

CANopen 네트워크의 총 케이블 연장 길이는 설정된 통신 속도(Baudrate)에 따라 물리적으로 엄격하게 제한됩니다. 통신 속도가 빠를수록 신호 지연과 감쇄의 영향을 크게 받으므로, 구성하려는 네트워크의 전체 길이를 고려하여 적절한 속도를 선택해야 합니다.

통신 속도별 분기선(Stub) 권장 길이

통신 속도 (Baudrate)단일 분기선 최대 길이전체 분기선 길이의 합 (Cumulative)
1 Mbps0.3 m (30 cm)1.5 m 이하
500 kbps1.2 m6.0 m 이하
250 kbps2.4 m12.0 m 이하
125 kbps4.8 m24.0 m 이하

(※ 단일 분기선 최대 길이: T-커넥터에서 하나의 모터(노드)로 연결되는 케이블의 최대 길이) (※ 전체 분기선 길이의 합: 네트워크 상에 존재하는 모든 분기선 길이의 총합)

**T-커넥터 배선 시 분기선(Stub Cable) 길이 제한 T-커넥터에서 갈라져 나와 개별 제어기로 연결되는 분기선(Stub)은 고주파 신호 반사를 유발하므로 가능한 한 짧게 유지해야 합니다. 안정적인 통신을 위해 위 표의 속도별 최대 허용 길이를 반드시 준수해 주십시오.

통신 속도에 따른 종단저항 설정

  • 이 표는 네트워크에 연결된 노드(모터나 제어기 등)의 개수가 64개 미만일 때를 기준으로 작성되었습니다.
  • 해당 표는 CiA303-1에 표기된 데이터입니다.
  • 버스 길이(케이블 길이) 에 따라 종단저항, 케이블과 통신 속도를 설정하여 주시기 바랍니다.
버스 길이
[ m ]
단위 길이당 저항[mΩ/m]전선 단면적
[mm²]
종단 저항 [Ω]통신 속도
(Bit rate)
비고 및 권장사항
0 to 40700.25 to 0.341241000 kbps (40m 기준)노이즈 차폐 및 배선 규칙(데이지 체인) 엄수
40 to 300<600.24 to 0.6150 to 300≤500 kbps (100m 기준)산업용 표준 권장 속도 (Default)
300 to 600<400.5 to 0.6150 to 300<100 kbps (500m 기준)다수의 장치 연결 시 안정성 확보 용이
600 to 1000<260.75 to 0.8150 to 300<50 kbps (1km 기준)장거리 제어망 구성 시 사용

  • 권장 케이블 파라미터: 임피던스 120Ω, 고유 선로 지연(Specific line delay) 5ns/m.
  • 일반적인 단거리 CAN 네트워크의 기본 종단 저항은 120Ω을 사용하지만, 장거리 네트워크 구성 시에는 전압 강하를 막기 위해 위 표(CiA 303-1)의 권장값을 따르십시오.
  • 이 표는 버스 노드 수(n)와 전선 단면적에 따른 최대 배선 길이를 나타냅니다.

3.2.3 통신 속도 및 Node-ID 설정 방법

본 제어기의 통신 속도 및 통신 노드 번호(Node-ID)는 내부 파라미터(Object Dictionary) 설정을 통해 소프트웨어적으로 변경할 수 있습니다.

1. 파라미터 접근 위치

  • Node-ID 설정: Index 0x2001
  • Baudrate 설정: Index 0x2002

2. 통신 속도 변경 및 적용 절차

통신 속도와 같은 핵심 네트워크 파라미터는 값을 변경하더라도 즉각적으로 통신망에 반영되지 않습니다. 안전한 변경을 위해 아래의 3단계를 반드시 거쳐야 합니다.

  1. 값 쓰기 (Write) : 마스터 기기에서 SDO(Service Data Object) 통신을 통해 해당 인덱스에 원하는 Baudrate 설정값(예: 1Mbps = 0, 500kbps = 1 등)을 입력합니다.
  2. 비휘발성 메모리 저장 (Save ): 전원이 차단되어도 값이 유지되도록, 파라미터 저장 명령(Index 0x1010 - Store parameters)을 실행하여 변경된 값을 제어기 내부 EEPROM에 저장합니다.
  3. 재부팅 적용 (Reset): 제어기의 전원을 껐다 켜거나 (Power Cycle), NMT Reset Node 명령을 수행해야 비로소 새로운 통신 속도가 하드웨어에 적용되어 동작하기 시작합니다.

각 통신 속도별 정확한 입력 매핑 값(Data Value) 및 상세한 SDO 설정 프로토콜은 [9.2 제조사 고유 파라미터] 섹션을 참조하십시오.

4. CANopen 통신 개요

CANopen은 자동차에서 널리 쓰이는 CAN(Controller Area Network)을 기반으로 산업용 장비 간의 호환성을 높이기 위해 개발된 상위 계층 통신 프로토콜을 말하며, 현재 CiA(CAN in Automation) 협회에서 국제 표준으로 관리하고 있습니다.

CANopen 통신의 기본 개념은 모든 기기 내부에 '객체 사전(Object Dictionary)'이라는 표준화된 데이터 구조를 두고, 이를 매개로 통신하는 것입니다. 실시간 제어 데이터는 통신 오버헤드가 없는 PDO(프로세스 데이터 객체)를 통해 생산자(Producer)와 소비자(Consumer) 방식으로 즉각적으로 전송하며, 기기의 설정 데이터는 SDO(서비스 데이터 객체)를 통해 정확하게 주고받는 것이 특징입니다.

4.1 SDO (Service Data Object, 서비스 데이터 객체)

SDO는 주로 설정(Configuration) 및 대용량 데이터 전송에 사용되는 통신 방식입니다.

4.1.1 주요 특징

  • 객체 사전(Object Dictionary) 직접 접근: 클라이언트가 서버(CANopen 디바이스)의 객체 사전에 직접 접근하여 특정 항목을 읽거나 쓸 수 있습니다.
  • 클라이언트-서버 구조: SDO를 통해 두 기기 간에 1:1(Peer-to-peer) 통신 채널이 형성됩니다. 객체 사전을 소유한 쪽이 '서버'가 되며, 통신의 시작(Initiation)은 항상 '클라이언트'가 주도합니다.
  • 멀티플렉서 사용: 클라이언트는 객체 사전의 '인덱스(Index)'와 '서브 인덱스(Sub-index)'를 멀티플렉서로 사용하여 전송할 특정 데이터를 지정하고 제어합니다.
  • 통신 중단: 클라이언트나 서버 중 어느 쪽이든 필요에 따라 통신을 중단(Abort)할 수 있습니다.

4.1.2 데이터 전송 메커니즘

SDO는 크기나 데이터 유형에 제한을 받지 않고 큰 데이터 블록을 전송할 수 있도록 설계되었습니다.

  • 세그먼트 전송: 일반적으로 데이터는 여러 개의 세그먼트(조각)로 나뉘어 연속적으로 전송됩니다. 전송 전에는 클라이언트와 서버가 준비하는 초기화 단계를 반드시 거칩니다.
  • 신속 전송 (Expedited Transfer): 전송하려는 데이터가 4바이트 이하인 경우, 별도의 세그먼트 분할 없이 초기화 단계에서 데이터를 즉시 전송하여 효율을 높일 수 있습니다.

4.2 PDO (Process Data Object, 프로세스 데이터 객체)

PDO는 제어 시스템에서 가장 중요한 실시간(Real-time) 데이터 전송을 담당하는 통신 방식입니다.

4.2.1 주요 특징

  • 실시간성 및 무결성: 프로토콜 오버헤드(추가적인 제어 정보 등) 없이 순수 데이터만 전송하므로 매우 빠르고 효율적입니다.

  • 생산자-소비자(Producer-Consumer) 구조: 데이터를 보내는 기기를 'PDO 생산자(TPDO 송신)', 데이터를 받는 기기를 'PDO 소비자(RPDO 수신)'라고 부릅니다.

  • TPDO (Transmit-PDO): 기기가 외부로 데이터를 보낼 때 사용합니다.

  • RPDO (Receive-PDO): 기기가 외부로부터 데이터를 받을 때 사용합니다.

4.2.2. 매핑 및 매개변수 구조

PDO는 객체 사전의 특정 구조에 의해 정의되며, 각 PDO는 다음 두 가지 필수 매개변수 쌍을 가져야 합니다.

  • PDO 매핑 (Mapping): 어떤 애플리케이션 데이터를 PDO에 담을 것인지 그 내용물과 데이터 유형을 결정합니다. 가변 PDO 매핑을 지원하므로, 기기 설정 과정에서 SDO 통신을 이용해 PDO의 개수나 매핑 구조를 변경할 수 있습니다.
  • PDO 통신 매개변수 (Communication Parameter): 해당 PDO가 어떻게 통신할 것인지(통신 기능 및 주기 등)를 정의합니다.

4.3 SDO와 PDO 핵심 비교

구분SDO (서비스 데이터 객체)PDO (프로세스 데이터 객체)
주 목적기기 설정, 진단, 대용량 데이터 전송실시간 제어 데이터(프로세스 데이터) 전송
통신 속도느림 (초기화 및 세그먼트 과정 필요)매우 빠름 (프로토콜 오버헤드 없음)
데이터 크기제한 없음 (큰 블록 전송 가능)제한적 (일반적으로 8바이트 이하)
통신 구조클라이언트 - 서버 (1:1 통신)Producer- Consumer(TPDO / RPDO)
작동 방식클라이언트의 요청에 의해 항상 시작됨매핑된 설정이나 이벤트(Event-triggered)에 의해 전송됨
객체 사전 연관성인덱스/서브 인덱스로 객체 사전에 직접 접근객체 사전의 매핑 정보에 따라 데이터가 묶여서 전송됨

5. NMT 상태 머신

5.1 NMT 상태 다이어그램

CANopen 장치는 전원 인가 후 NMT(Network Management) 상태 머신에 의해 관리됩니다.

17bb nmt state

NMT 상태설명PDOSDOEMCY
Initialization초기화 단계. 파라미터 로드 및 내부 초기화
Pre-Operational설정 단계. SDO로 파라미터 설정 가능
Operational운전 단계. 모든 통신 객체 동작
Stopped정지 단계. NMT 메시지만 수신

5.2 CiA 402 드라이브 상태 머신

CANopen CiA 402 서보 드라이브는 6040h(Controlword)6041h(Statusword) 를 통해 아래 상태 머신을 제어합니다.

17Bb drive state### Controlword 상태 전환 명령 요약

목표 전환Bit 3Bit 2Bit 1Bit 0Controlword
Shutdown (→ Ready to Switch On)-1100x0006
Switch On (→ Switched On)01110x0007
Enable Operation (→ Operation Enabled)11110x000F
Disable Voltage--0-0x0000
Quick Stop-01-0x0002
Fault Reset0→1 rising edge0x0080

6. 구동 및 운전 모드 가이드

mini17Bb 리니어 서보모터는 전원이 인가된 후 CiA 402 규격에 따른 내부 상태 머신(State Machine)을 거쳐야만 실제 구동이 가능합니다. 이 장에서는 모터를 활성화하고 목표 위치로 이동시키는 기본 시퀀스를 설명합니다.

6.1 드라이브 활성화 시퀀스 (Enable Operation)

모터를 구동 가능한 상태(Operation Enabled)로 만들기 위해서는 0x6040 (Controlword)를 순차적으로 변경해야 합니다.

단계목표 상태0x6040 전송 값설명
1Shutdown0x0006드라이브의 전력부를 준비 상태로 전환합니다. (Ready to switch on)
2Switch On0x0007모터 구동을 위한 전원을 인가합니다. (Switched on)
3Enable Operation0x000F드라이브가 완전히 활성화되어 명령을 수행할 준비가 됩니다.

각 단계를 전송한 후에는 반드시 0x6041 (Statusword)를 읽어 드라이브가 목표 상태에 도달했는지 확인한 뒤 다음 명령을 전송하는 것이 안전합니다.

6.2 Profile Position (PP) Mode 구동

Profile Position (PP) 모드는 점 대 점(Point-to-Point) 이동 제어 시 가장 널리 사용되는 모드입니다. 마스터 제어기가 목표 위치, 속도, 가감속도 등의 파라미터만 던져주면, 드라이브 내부의 프로파일 제너레이터가 자체적으로 매끄러운 이동 궤적을 계산하여 모터를 구동합니다.

1. 주요 이동 파라미터 설정

PP 모드 구동을 위해서는 먼저 다음의 Object Dictionary 파라미터들을 설정해야 합니다.

인덱스파라미터명설명비고
0x6060Modes of Operation운전 모드를 설정합니다.1 (PP Mode) 입력
0x6081Profile Velocity이동할 때의 최대 순항 속도를 설정합니다.필수 설정
0x6083Profile Acceleration가속 구간에서의 가속도를 설정합니다.필수 설정
0x6084Profile Deceleration감속 구간에서의 감속도를 설정합니다.필수 설정
0x607ATarget Position모터가 최종적으로 도달해야 할 목표 위치입니다.이동 명령 전 설정

2. PP 모드 제어 전용 Controlword (0x6040)

PP 모드에서는 0x6040 (Controlword)의 Bit 4, 5, 6, 9가 특별한 역할을 합니다.

  • Bit 4 (New Set-point): 0에서 1로 토글(상승 에지)될 때, 설정된 0x607A 목표 위치로의 이동 명령을 시작합니다.
  • Bit 5 (Change Set Immediately):
    • 0: 현재 진행 중인 이동이 끝난 후에 새로운 목표 위치로 이동합니다. (순차 이동)
    • 1: 현재 진행 중인 이동을 즉시 멈추고 새로운 목표 위치로 즉각 경로를 변경합니다.
  • Bit 6 (Absolute / Relative):
    • 0: 절대 좌표(Absolute) 이동. 0x607A의 값이 원점 기준 최종 좌표를 의미합니다.
    • 1: 상대 좌표(Relative) 이동. 현재 위치에서 0x607A 값만큼 더 이동합니다.
  • Bit 9 (Change of Setpoint): Bit 5가 0일 때, 현재 이동을 마친 후 정지하지 않고 곧바로 이어서 다음 목표로 부드럽게 연속 구동할지(Set of Set points)를 결정합니다.

3. 세 가지 세부 이동 방식 (Operation Methods)

Controlword의 비트 조합을 통해 다음과 같은 세 가지 이동 명령 방식을 사용할 수 있습니다.

  1. Single set point (단일 이동) - 추후 지원

    • 목표 위치에 도달 후 정지하여 상위기에 완료 신호를 보내고 다음 명령을 대기합니다.
    • 설정: Bit 4 = 1, Bit 5 = 0, Bit 9 = 0
  2. Change immediately (즉각 경로 변경)

    • 운전 중 새로운 위치 지령을 받았을 때, 기존 목표 위치를 무시하고 즉시 새로운 위치로 궤적을 수정하여 운전합니다.
    • 설정: Bit 4 = 1, Bit 5 = 1
  3. Set of Set point (연속 프로파일 이동)- 추후 지원

    • 운전 중 새로운 위치 지령을 받으면, 기존 목표 위치까지 우선 도달한 후 멈춤 없이 연속적으로 새로운 목표 위치로 이어서 운전합니다.
    • 설정: Bit 4 = 1, Bit 5 = 0, Bit 9 = 1

4. 단계별 구동 및 확인 시퀀스

  1. 모드 진입: 0x6060 = 1 로 설정하여 PP 모드로 진입합니다.
  2. 파라미터 입력: 0x6081, 0x6083, 0x6084, 0x607A 에 원하는 이동 프로파일 값을 입력합니다.
  3. 명령 준비: 드라이브가 Operation Enabled 상태(Controlword 0x000F)인지 확인합니다.
  4. 이동 시작: Controlword에 0x001F (Bit 4 활성화)를 전송합니다. (절대 좌표 이동 기준)
  5. 명령 수신 확인: 드라이브가 명령을 정상적으로 받았으면 0x6041 (Statusword)의 Bit 12 (Set-point Acknowledge) 가 1로 응답합니다.
  6. 명령 완료 처리: 확인 후 다음 명령을 위해 Controlword를 다시 0x000F (Bit 4 = 0)로 되돌려 놓습니다.
  7. 이동 완료 확인: 모터가 이동을 마치고 목표 위치에 오차 범위 내로 도달하면, 0x6041 (Statusword)의 Bit 10 (Target Reached) 이 1로 세팅됩니다.

7. 에러 처리 및 진단

7.1 에러 확인 및 복구

서보 드라이브 구동 중 에러가 발생하면, 드라이브는 즉시 동작을 정지(Fault 상태)하고 비상 메시지(EMCY)를 전송합니다. 현재 상태는 0x6041 (Statusword)의 Bit 3 (Fault)을 통해 알 수 있으며, 정확한 에러 원인은 0x603F (Error Code)에서 확인할 수 있습니다.

에러 리셋 방법 (Fault Reset)

에러의 원인을 파악하고 물리적인 문제를 해결한 후, 0x6040 (Controlword)의 Bit 7(Fault Reset)을 0 -> 1 로 변환(예: 0x0080 전송)하면 에러 상태가 해제됩니다.

7.2 주요 에러 코드 리스트

7.2.1 CiA 301 Error Code

Error codeNameError 내용발생 조건
0x0000ERROR NONE에러

7.2.2 CiA402 Error Code

Error codeNameError 내용발생 조건
0x0000ERROR NONE에러정상 상태
0x3110DC Link Over Voltage과전압입력 전압이 VOLTAGE_OVER_LIMIT (34.0V) 를 초과한 상태가 25ms 이상 유지될 때
0x3120DC Link Under Voltage저전압입력 전압이 VOLTAGE_UNDER_LIMIT (10.0V) 미만으로 떨어졌으나, 전원 차단 상태(1.0V 이하)는 아닐 때 25ms 연속 감지 시
0x2310Over Current과전류상전류(Phase Current)가 하드웨어 한계를 넘거나 설정된 Max Current x 1.5 배를 넘었을 때, 또는 파워서플라이 소비 전류가 한계치를 초과한 상태가 7.5ms 이상 감지될 때
0x5000Hardware Failure하드웨어 고장 (HW Failure)모터 드라이버(DRV8316)가 자체적으로 치명적 오류를 감지하여 nFault 핀이 Low(0) 상태로 약 25ms 지속될 때
0x8611Position Following Error위치 추종 오차 (Following Error목표 위치(Target Position)와 실제 위치(Actual Position)의 차이가 설정된 허용 오차 범위(Window)를 초과하여 지정된 시간(Time-out) 이상 유지되었을 때

8. 전류 모니터링 및 스톨 보호 (Stall Protection)

기구적 구속으로 모터가 정지하면 요구 토크를 유지하기 위해 모터 전류가 설정된 제한값까지 증가할 수 있습니다. 장시간 스톨 상태가 지속되면 모터 및 드라이브의 온도 상승과 제품 수명 저하의 원인이 될 수 있으므로, Following Error 등 적절한 보호 설정을 사용하십시오.

8.1 실시간 전류 모니터링

사용자는 0x6078 (Current Actual Value) 객체를 통해 모터 코일에 흐르는 실제 상전류(Phase Current, mA 단위) 를 실시간으로 확인할 수 있습니다. 이 값은 파워 서플라이에서 소비되는 DC 라인 전류(I_{DC})가 아닌, 모터의 토크를 만들어내는 실제 유효 전류를 정확히 반영합니다. 따라서 부하 변동을 파악하고 기구부의 마찰을 진단하는 지표로 활용할 수 있습니다.

8.2 장애물 충돌 및 스톨 보호 (Stall Protection)

서보모터가 동작 중 장애물에 부딪혀 목표 위치로 가지 못하고 정지(Stall)하는 경우, 모터 내부의 역기전력(Back-EMF)이 사라지면서 일시적으로 매우 큰 과전류가 발생하게 됩니다.

mini17Bb는 이러한 스톨 상태를 자동으로 감지하면, 하드웨어 소손을 막기 위해 칩 내부적으로 인가 전압 및 전류를 강제로 클램핑(제한)하는 보호 제어가 즉각 개입합니다. 이 보호 동작 중에는 모터 코일에서 고주파 소음(Whine)이 발생할 수 있으나 정상적인 보호 메커니즘의 일부입니다. 스톨 상태가 지속되지 않도록 가급적 Following Error (0x6065) 에러 감지를 적절히 세팅하여 멈춤 발생 시 즉시 제어기를 정지시키는 것을 권장합니다.

9. Object Dictionary

9.1 Communication Area (CiA 301)

Object Dictionary 빠른 참조표

Index
(Hex)
Object Name
(CiA Standard Name)
Description
1000hDevice TypeCiA 정의 디바이스 타입 (액추에이터 예시: 0x00000192)
1001hError Register현재 에러 상태를 나타내는 레지스터
1003hPre-defined Error Field발생했던 에러 이력을 저장하는 필드
1008hManufacturer Device Name제조사 디바이스 이름
1009hManufacturer Hardware Version제조사 하드웨어 버전
100AhManufacturer Software Version제조사 소프트웨어 (펌웨어) 버전
1010hStore Parameters파라미터 저장 명령
1011hRestore Default Parameters기본 파라미터 복원 명령
1017hProducer Heartbeat TimeHeartbeat 메시지 생성 주기 (ms 단위)
1018hIdentity Object: Vendor ID공식 벤더 ID
1018hIdentity Object: Product Code제조사가 할당한 제품 코드
1018hIdentity Object: Revision Number제품 리비전 번호 (메이저.마이너)
1018hIdentity Object: Serial Number제품의 고유 시리얼 번호
1014hCOB-ID EMCY비상 메시지 COB-ID (Node-ID + 0x80)
1200hSDO Server ParameterSDO 서버 통신 파라미터
1400h1st Receive PDO ParameterRPDO1 통신 파라미터
1401h2nd Receive PDO ParameterRPDO2 통신 파라미터
1402h3rd Receive PDO ParameterRPDO3 통신 파라미터
1403h4th Receive PDO ParameterRPDO4 통신 파라미터
1600h1st Receive PDO MappingRPDO1 매핑 파라미터
1601h2nd Receive PDO MappingRPDO2 매핑 파라미터
1602h3rd Receive PDO MappingRPDO3매핑 파라미터
1603h4th Receive PDO MappingRPDO4 매핑 파라미터
1800h1st Transmit PDO ParameterTPDO1 통신 파라미터
1801h2nd Transmit PDO ParameterTPDO2 통신 파라미터
1802h3rd Transmit PDO ParameterTPDO3 통신 파라미터
1803h4th Transmit PDO ParameterTPDO4 통신 파라미터
1A00h1st Transmit PDO MappingTPDO1 매핑 파라미터
1A01h2nd Transmit PDO MappingTPDO2 매핑 파라미터
1A02h3rd Transmit PDO MappingTPDO3 매핑 파라미터
1A03h4th Transmit PDO MappingTPDO4 매핑 파라미터

CiA301에 대한 자세한 내용은 http://www.canopener.org/에서 확인할 수 있습니다.

9.2 제조사 고유 파라미터 (Manufacturer Specific)

0x2000 ~ 0x2FFF 범위는 mini17Bb 고유의 파라미터입니다. 자세한 내용은 앞에 작성된 9.2 섹션을 참조하십시오.

0x200X 통신 및 기본 설정 (Communication & Basic Setup)

9.3 Drive Profile (CiA 402)

CiA 402 Object Dictionary 빠른 참조표

Index
(Hex)

Sub-index
(Hex)

Object Name
(CiA Standard Name)

Description

6061h

00h

운전 모드 표시
Modes of Operation Display

현재 동작 모드 표시

6062h

00h

위치 지령 값
Position Demand Value

위치 제어기 목표 위치

6063h

00h

내부 실제 위치 값
Position Actual Internal Value

현재 내부 위치 내부 값 (인코더 값 등)

6064h

00h

실제 위치 값
Position Actual Value

현재 위치 값 (사용자 단위)

6065h

00h

위치 오차 범위
Following Error Window

허용 위치 값의 범위는 위치 요구 값

6066h

00h

위치 오차 초과시간
Following Error Time Out

허용 위치 오차 시간 초과

6067h

00h

위치 도달 범위
Position Window

목표 위치 도달 허용 오차 범위

6068h

00h

위치 도달 시간
Position Window Time

Position Window 내에서 유지되어야 하는 최소 시간 (ms)

606Ch

00h

실제 속도 값
Velocity actual value

현재 서보모터의 속도

6072h

00h

최대 토크
Max Torque

모터의 최대 토크

6073h

00h

최대 전류값
Max Current

모터의 최대 전류

6076h

00h

모터 정격 토크
Motor Rated Torque

모터의 정격 토크

6077h

00h

실제 모터 토크
Torque Actual Value

현재 모터의 토크

6079h

00h

DC 링크 회로 전압
DC Link Circuit Voltage

전원 모니터링 0.1V 단위

607Ah

00h

목표 위치
Target Position

PP 제어시 최종 목표 위치

607Dh

00h

소프트웨어 위치 제한 항목 개수
Software Position Limit (Number of entries)

소프트웨어 위치 제한 항목 개수

01h

최소 위치 제한값
Min position limit

목표 위치 최소값

02h

최대 위치 제한값
Max position limit

목표 위치 최대값

607Fh

00h

최대 프로파일 속도
Max Profile Velocity

PP Mode 시 최대 속도 값

6080h

00h

최대 모터 속도
Max Motor Speed

모터의 회전 속도 값(RPM)

6081h

00h

프로파일 속도
Profile Velocity

PP Mode 제어 시 프로파일 속도 설정

6083h

00h

프로파일 가속도
Profile Acceleration

PP Mode 제어 시 프로파일 가속도 설정

6084h

00h

프로파일 감속도
Profile Deceleration

PP Mode 제어 시 프로파일 감속도 설정

6085h

00h

빠른 정지 감속도
Quick Stop Deceleration

Quick Stop 시 감속도 값

60F4h

00h

위치 오차 실제 값
Following Error Actual Value

실시간 위치 오차 값

60FCh

00h

내부 요구 위치 값
Position Demand Internal Value

위치 제어 시 명령으로 입력되는 값

60FDh

00h

디지털 입력
Digital Inputs

디지털 입력 상태

60FEh

00h

디지털 출력
Digital Outputs

디지털 출력 상태

6502h

00h

지원 드라이브 모드
Supported drive modes

지원되는 운전 모드 표시

10 Object Dictionary 상세 설명

10.1 Communication Profile (CiA 301)

0x1000번대 객체들은 CiA301 Communication Profile에 정의된 객체들입니다.

0x1000: Device Type

0x1000 디바이스 유형이란? 이 객체는 장치의 '신분증' 과 같습니다. 마스터는 이 값을 읽어 '이 장치는 CiA 402 규격을 따르는 서보 드라이브구나'라고 즉시 인식할 수 있습니다. 32비트 값 안에 장치 프로파일 번호와 부가적인 기능 정보가 포함되어 있습니다.

이 값은 개발자가 장치의 종류에 맞춰 CiA 표준에 따라 펌웨어에 고정값으로 설정합니다.

  • 값의 구조:
    • 하위 16비트: 장치 프로파일 번호. 서보 드라이브는 CiA 402 프로파일을 따르므로, 이 값은 402 (16진수: 0x0192)가 됩니다.
    • 상위 16비트: 부가 정보 (제조사별 기능 명시). 특별한 정보가 없다면 0x0000으로 설정합니다.
  • 최종 설정 값 예시 (서보 드라이브): 0x00000192
indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x1000디바이스 유형
Device Type
UINT32-0x00000192-RONo-No

0x1001: 에러 레지스터 (Error Register)

0x1001 에러 레지스터 란? CANopen 장치(노드)의 현재 에러 상태를 한눈에 파악할 수 있도록 요약해놓은 8비트(1바이트)짜리 표준 객체입니다. 마스터(Master, 예: PLC 또는 제어기)는 이 객체를 SDO 통신으로 읽어 해당 장치에 어떤 종류의 에러가 발생했는지 신속하게 확인할 수 있습니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x1001에러 레지스터
Error Register
USINT-0x00-RONo-No
비트 정의
Bit NoName설명
Bit 0Generic Error아래의 어떤 종류든 에러가 하나라도 발생하면 1로 세트됩니다. (에러 요약 비트)
Bit 1Current과전류 등 모터 전류 관련 에러가 발생했음을 의미합니다. (서보모터에 필수)
Bit 2Voltage과전압, 저전압 등 전원 전압 관련 에러가 발생했음을 의미합니다. (서보모터에 필수)
Bit 3Temperature과열 등 온도 센서 관련 에러가 발생했음을 의미합니다. (서보모터에 필수)
Bit 4Communication ErrorHeartbeat, Guarding 실패 등 CAN 통신 감독 관련 에러를 의미합니다.
Bit 5Device Profile SpecificCiA 402(모션 제어) 등 특정 프로파일에서 정의한 에러를 의미합니다.
Bit 6Reserved사용하지 않으며 항상 0입니다.
Bit 7Manufacturer Specific표준에 없는, 개발사(제조사)가 자체적으로 정의한 에러를 의미합니다.

0x1003 이전 에러 이력 (Pre-defined Error Field)

Pre-defined Error Field는 장치에서 발생했던 에러들의 이력(History)을 저장하는 배열(Array) 형태의 객체입니다.

이 객체는 에러 발생 시 해당 에러 코드를 순차적으로 기록하는 방식으로 채워지며, 장비의 과거 문제를 진단하는 데 매우 유용하게 사용됩니다.

에러 레지스터가 장치의 '현재' 에러 상태를 보여주는 반면, 0x1003 에러 필드는 장치가 겪었던 '과거' 의 에러들을 순서대로 기록해두는 로그(Log) 저장소입니다. 문제가 발생했을 때 어떤 순서로 무슨 일이 일어났는지 추적할 수 있어 원격 진단 및 유지보수에 핵심적인 역할을 합니다. 이 객체는 배열 구조를 가지며, 각 인덱스는 다음과 같은 의미를 가집니다.

  • 0x1003:00 (Sub-index 0): 저장된 에러의 개수 (UNSIGNED8)
    • 이 값을 읽으면 현재 몇 개의 에러가 기록되어 있는지 알 수 있습니다. 최대 저장 가능한 에러 개수를 나타내기도 합니다.
  • 0x1003:01 ~ 0x1003:n (Sub-index 1 to n): 실제 에러 코드 (UNSIGNED32)
    • 장치에서 발생했던 32비트 표준 에러 코드가 발생 순서대로 저장됩니다. 첫 번째 에러는 0x1003:01에, 두 번째 에러는 0x1003:02에 기록됩니다.

0x1008 디바이스 이름 (Manufacturer Device Name)

Device Name은 장치를 식별하기 위한, 사람이 읽을 수 있는 문자열(String) 이름을 저장하는 객체입니다.

주된 용도는 CANopen 네트워크 구성(Configuration) 툴이나 모니터링 소프트웨어에서 사용됩니다. 툴이 네트워크를 스캔할 때 각 장치의 0x1008 객체를 읽어 "Node 3" 대신 "X-Axis Servo Drive"와 같이 알기 쉬운 이름으로 표시해 줍니다. 이는 시스템을 설정하거나 문제를 진단할 때 매우 편리합니다.

IndexDescriptionObjectData typeAccessPDO Mapping변경 속성저장초기값
0x1008Device NameVARIABLESTRINGRO아니요해당 없음아니요(제품명)

0x1009 하드웨어 버전 (Manufacturer Hardware Version)

하드웨어 버전은 장치의 물리적인 PCB(회로 기판) 리비전이나 하드웨어 사양을 나타내는, 사람이 읽을 수 있는 문자열(String) 객체입니다. 이는 특정 하드웨어 버전에서만 발생하는 문제를 추적하거나, 기술 지원 시 고객의 제품 사양을 정확히 파악하는 데 매우 중요합니다.

IndexDescriptionObjectData typeAccessPDO Mapping변경 속성저장초기값
0x1009Hardware VersionVARIABLESTRINGRO아니요해당 없음아니요(버전)

0x100A 소프트웨어 버전 (Manufacturer Software Version)

소프트웨어 버전은 장치에서 현재 실행 중인 펌웨어(Firmware)의 버전을 나타내는, 사람이 읽을 수 있는 문자열(String) 객체입니다.

IndexDescriptionObjectData typeAccessPDO Mapping변경 속성저장초기값
0x100ASoftware VersionVARIABLESTRINGRO아니요해당 없음아니요(버전)

0x1010 파라미터 저장 (Store Parameters)

파라미터 저장은 장치의 현재 설정값(파라미터)들을 비휘발성 메모리(EEPROM, Flash 등)에 영구적으로 저장하라는 명령을 내리는 객체입니다.

특정 서브인덱스에 'save'라는 의미의 코드(0x65766173)를 써넣어 저장 동작을 실행시킵니다.' (ASCII 값: s=0x73, a=0x61, v=0x76, e=0x65)

이 객체는 소프트웨어의 '저장(Save)' 버튼 과 정확히 같은 역할을 합니다. 사용자가 SDO 통신으로 모터의 게인 값이나 통신 주기 등 다양한 파라미터를 변경했을 때, 그 변경 사항은 우선 RAM(램)에 임시로 저장됩니다. 이때 장치의 전원을 껐다 켜면 RAM의 내용은 사라지므로 변경 사항이 유실됩니다.

0x1010 객체에 저장 명령을 내리면, 장치는 RAM에 있는 현재 설정값들을 비휘발성 메모리(NVM)로 복사하여 영구적으로 보관하여 장치를 재부팅해도 마지막에 저장된 설정값이 그대로 유지됩니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x1010Store Parameters
0x1010:0항목의 개수
Number of entries
-4-RO아니요해당 없음아니요
0x1010:1전체 파라미터 저장
Store all parameters
0x0 to 0xFFFFFFFF0-RW아니요해당 없음아니요
0x1010:2통신 파라미터 저장
Store communication parameters
0x0 to 0xFFFFFFFF0-RW아니요해당 없음아니요
0x1010:3CiA402 파라미터 저장
Store CiA402 parameters
0x0 to 0xFFFFFFFF0-RW아니요해당 없음아니요
0x1010:4드라이브 특정 파라미터 저장
Store drive specific parameters
0x0 to 0xFFFFFFFF0-RW아니요해당 없음아니요

0x1017 Producer heartbeat time

Producer Heartbeat Time은 자기 자신이 살아있다는 생존 신호(하트비트)를 네트워크에 얼마나 자주 보낼지, 그 전송 주기를 설정하는 객체입니다.

장치는 여기에 설정된 시간마다 한 번씩 자신의 NMT 상태(Pre-Operational, Operational, Stopped 등)를 담은 하트비트 메시지를 네트워크에 전송합니다. 마스터 제어기는 이 메시지를 주기적으로 받으면서 '아, 이 장치가 연결되어 정상적으로 동작 중이구나'라고 판단합니다.

만약 마스터가 이 하트비트 메시지를 약속된 시간 안에 받지 못하면, 서보 드라이브에 문제가 발생했다고 판단하고 시스템을 안전하게 정지시키는 등의 비상 조치를 취하게 됩니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x1017Producer heartbeat timeUINT16-0msRWNo--
  • Heartbeat 값이 '0'일경우 비활성화 상태입니다.

0x1018 장치 정보 (Identity Object)

장치 정보는 제조사 ID, 제품 코드, 버전, 시리얼 번호 등 장치의 핵심 신원 정보를 한 곳에 모아놓은 기록(Record) 형태의 객체입니다. 네트워크 관리 툴은 이 객체를 읽어 어떤 회사의 어떤 제품이며, 버전과 시리얼 번호는 무엇인지 등을 한 번에 파악할 수 있습니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x1018Identity Object
0x1018:0항목의 개수
Number of entries
UINT8-4-RONo-No
0x1018:1벤더 ID
Vendor ID
UINT32--RONo-No
0x1018:2제품 코드
Product code
UINT32--RONo-No
0x1018:3개정 번호
Revision number
UINT32--RONo-No
0x1018:4시리얼 번호
Serial number
UINT32--RONo-No

0x1400-0x1403 Receive PDO 1-4 Communication Parameter

0x1400 객체는 장치가 수신하는 첫 번째 수신 PDO(Receive PDO, RPDO) 의 통신 방식을 정의합니다. RPDO는 실시간 제어 명령(목표 위치, 속도, 제어 워드 등)을 담는 고속 데이터 패킷 으로, 이 객체는 해당 패킷을 어떤 CAN ID로, 그리고 어떤 타이밍(동기/비동기)에 받을 지를 설정합니다.

PDO(Process Data Object)는 CANopen에서 실시간 데이터를 고속으로 주고받기 위한 핵심 메커니즘입니다. SDO가 설정을 위한 1:1 통신이라면, PDO는 실시간 제어를 위한 1:N 방송(Broadcast) 통신에 가깝습니다.

0x1400 객체는 이 중 첫 번째 명령 패킷(RPDO1)의 '봉투' 정보를 정의합니다. 즉, 봉투에 적힌 '받는 주소(CAN ID)''배송 방식(동기/비동기)' 을 설정합니다. 이 RPDO에 어떤 데이터가 담길지, 즉 '편지 내용'은 짝을 이루는 0x1600 (1st Receive PDO Mapping) 객체에서 별도로 정의합니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x14001st receive PDO Parameter
0x1400:0항목의 개수
Number of entries
-5-RONo-No
0x1400:1COB-ID used by RPDOINT32-NODEID + 0x200-RWNo-Yes
0x1400:2Transmission typeUINT8-254-RWNo-Yes
0x1400:5Event TimeUINT16--RWNo-Yes
주요 설정값 설명
  • COB-ID (0x1400:01)
    • 0x200 + Node-ID 라는 기본 ID 규칙을 가집니다. 예를 들어, Node-ID=5인 서보의 첫 번째 RPDO 수신 ID는 0x205가 됩니다. 마스터는 이 ID로 RPDO를 전송해야 합니다.
  • 전송 타입 (0x1400:02)
    • 1 ~ 240 (동기 방식): SYNC 메시지를 수신할 때마다 RPDO 데이터를 처리합니다. 1은 매 SYNC마다, 5는 5번째 SYNC마다 처리하라는 의미입니다. 정밀한 동시 제어에 사용됩니다.
    • 254 또는 255 (비동기 방식): SYNC 신호와 관계없이, RPDO 메시지를 수신하는 즉시 데이터를 처리합니다.
  • 동작 흐름 (Node-ID = 5인 서보의 경우)
    1. 매핑 설정 (0x1600): 먼저, RPDO1에 어떤 데이터를 담을지 정의합니다. 예를 들어 Controlword(0x6040)와 Target Position(0x607A)을 0x1600 객체에 매핑합니다.
    2. 통신 설정 (0x1400):
      • 0x1400:01 (COB-ID)를 기본값인 0x205 로 설정합니다.
      • 0x1400:02 (전송 타입)를 1 로 설정하여, 매 SYNC마다 데이터를 처리하도록 합니다.

0x1600-0x1603 1st - 4th receive PDO mapping

0x1600 객체는 첫 번째 수신 PDO(RPDO1)에 어떤 데이터가, 어떤 순서로 담길지를 정의하는 '설계도' 또는 '목차' 입니다. 0x1400이 RPDO의 '봉투'라면, 0x1600은 그 안에 담긴 '내용물'을 설명합니다.

마스터가 보내는 RPDO는 1~8바이트(Byte)의 데이터 덩어리일 뿐입니다. 장치는 이 데이터가 무엇을 의미하는지 알기 위한 '해석 방법'이 필요한데, 0x1600이 바로 그 역할을 합니다. 예를 들어, 마스터가 6바이트짜리 RPDO를 보냈을 때, 0x1600 매핑 객체는 다음과 같이 그 내용을 정의합니다. "이 6바이트 중, 앞의 2바이트는 제어 워드(Controlword) 이고, 뒤의 4바이트는 목표 위치(Target Position) 이다."

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x16001st receive PDO mapping
0x1600:0항목의 개수
Number of entries
-0-RONo-No
0x1600:1-8할당 항목
Mapping entry
UINT320 to 0xFFFFFFFF-RWNo-Yes
RPDO 1 기본 매핑 (Default Mapping)

초기화 상태에서 RPDO 1은 다음과 같이 매핑되어 있습니다.

Sub-index할당 객체 (Mapped Object)크기 (Bits)설명
10x6040:00 (Controlword)16드라이브 제어 명령
20x607A:00 (Target Position)32목표 위치 명령

0x1800~1803 1-4 transmit PDO Parameter

0x1800 객체는 장치가 자신의 상태나 데이터를 네트워크로 전송하는 첫 번째 송신 PDO(Transmit PDO, TPDO) 의 통신 방식을 정의합니다. TPDO는 실시간 상태 보고(현재 위치, 속도, 상태 워드 등)를 담는 고속 데이터 패킷 으로, 이 객체는 해당 패킷을 어떤 CAN ID로, 어떤 조건(동기/비동기/이벤트)에서 보낼지를 설정합니다.

TPDO(Transmit PDO)는 장치가 자신의 내부 데이터를 송신할 때 사용하는 PDO입니다. 서보 드라이브 입장에서는 마스터에게 보내는 상태 보고 패킷으로, "내 현재 위치는 여기고, 현재 상태는 이래!"라고 알리는 역할을 합니다.

0x1800 객체는 이 첫 번째 상태 보고 패킷(TPDO1)의 '봉투' 정보를 정의합니다. 즉, 봉투에 적힌 '보내는 주소(CAN ID)''발송 조건(전송 타입)' 등을 설정합니다. 이 TPDO에 어떤 데이터가 담길지, 즉 '보고 내용'은 짝을 이루는 0x1A00 (1st Transmit PDO Mapping) 객체에서 별도로 정의합니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x18001st transmit PDO Parameter
0x1800:0항목의 개수
Number of entries
-6-RONo-No
0x1800:1COB-ID used by TPDOINT32-NODEID + 0x180-RWNo-Yes
0x1800:2Transmission typeUINT8-254-RWNo-Yes
0x1800:3송신 금지/제한 시간
Inhibit Time
UINT160 to 0xFFFF-RWNo-Yes
0x1800:5Event timerUINT160 to 0xFFFFNoYes
0x1800:6SYNC start valueUINT80 to 0xFF--RWNo-Yes
주요 설정값 설명
  • COB-ID (0x1800:01): Node-ID=5인 서보의 첫 번째 TPDO 송신 ID는 0x185가 됩니다.
  • 전송 타입 (0x1800:02):
    • 1 ~ 240 (동기): SYNC 신호에 맞춰 N번째마다 전송합니다.
    • 254, 255 (비동기/이벤트 기반): 매핑된 데이터의 값이 바뀔 때마다 즉시 전송합니다. 서보의 위치가 계속 바뀌는 상황에서 유용합니다.
  • 억제 시간 (0x1800:03): 이벤트 기반(비동기) 전송 시, 너무 잦은 전송으로 버스가 마비되는 것을 막습니다. 예를 들어 100을 설정하면, 한 번 전송 후 최소 10ms(100 * 100µs)가 지나야 다음 전송이 가능합니다.
  • 이벤트 타이머 (0x1800:05): 이벤트 기반 전송 시, 데이터 값에 변화가 없더라도 주기적으로 상태를 보고하고 싶을 때 사용합니다. 예를 들어 100을 설정하면, 위치 값에 변화가 없어도 최소 100ms마다 한 번씩은 TPDO를 전송하여 "나 아직 살아있어"라고 알려줍니다.
동작 흐름 (Node-ID = 5인 서보의 경우)
  1. 매핑 설정 (0x1A00): 먼저, TPDO1에 Statusword(0x6041)와 Actual Position(0x6064)을 매핑합니다.
  2. 통신 설정 (0x1800):
    • COB-ID를 0x185로 설정합니다.
    • 전송 타입을 254(이벤트 기반)로 설정합니다.
    • 억제 시간을 100 (10ms)으로 설정합니다.
  3. 실시간 동작:
    • 서보모터의 실제 위치(0x6064)가 변경됩니다.
    • 이 '이벤트'가 TPDO 전송을 유발합니다.
    • 장치는 마지막 전송 후 10ms가 지났는지 확인하고, 지났다면 현재 Statusword와 Actual Position 데이터를 담아 CAN ID 0x185로 메시지를 전송합니다.
    • 마스터는 이 메시지를 받아 서보의 현재 상태를 실시간으로 파악합니다.

0x1A00 1st transmit PDO mapping

0x1A00 객체는 첫 번째 송신 PDO(TPDO1)에 어떤 데이터가, 어떤 순서로 담겨서 보내질지를 정의하는 '내용물 설계도' 또는 '보고서 양식' 입니다. 0x1800이 TPDO의 '발송 조건'이라면, 0x1A00은 그 안에 담길 '보고 내용'을 결정합니다.

서보 드라이브가 0x1800에 설정된 조건에 따라 TPDO를 보낼 때, 이 데이터가 무엇을 의미하는지 알기 위한 '해석 방법'이 필요한데, 0x1A00이 바로 그 역할을 합니다.

예를 들어, 서보가 6바이트짜리 TPDO를 보냈을 때, 0x1A00 매핑 객체는 마스터에게 다음과 같이 그 내용을 알려줍니다. "이 6바이트 중, 앞의 2바이트는 서보의 상태 워드(Statusword) 이고, 뒤의 4바이트는 서보의 실제 위치(Actual Position) 이다."

이 매핑 정보가 있어야만, 마스터는 수신된 데이터를 올바르게 해석하여 서보의 현재 상태와 위치를 정확히 파악할 수 있습니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x1A001st transmit PDO mapping
0x1A00:0항목의 개수
Number of entries
-2-RONo-No
0x1A00:1-8할당 항목
Mapping entry
UINT320 to 0xFFFFFFFF-RWNo-Yes
TPDO 1 기본 매핑 (Default Mapping)

초기화 상태에서 TPDO 1은 다음과 같이 매핑되어 있습니다.

Sub-index할당 객체 (Mapped Object)크기 (Bits)설명
10x6041:00 (Statusword)16드라이브 상태 표시
20x6064:00 (Position Actual Value)32현재 실제 위치

10.2 Drive Profile CiA 402

0x6000번대 객체들은 CiA402 드라이브 프로파일에 정의된 객체들입니다.

0x603F: 에러 코드 (Error Code)

0x603f 에러 코드란? 장치에 0x6040(제어 워드 등) 상태를 유발한 마지막 오류가 무엇인지 구체적으로 알려주는 객체입니다. 0x6041(상태 워드) 또는 0x1001(에러 레지스터)이 '전압 오류'라고 대략적으로 알려준다면, 0x603f는 '과전압'인지 '저전압'인지 정확히 명시합니다. 이 값은 비상 메시지(EMCY)에 포함되어 마스터에게 실시간으로 보고됩니다.

이 값은 펌웨어가 내부 오류를 감지했을 때 자동으로 설정하며, 사용자는 이 값을 읽어 문제 원인을 파악합니다. 값은 CiA 402 프로파일에 따라 표준화되어 있습니다.

IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x603FError CodeUINT16-0-ROYes-No
  • 주요 표준 에러 코드 테이블
Error codeMeaningDescription
0x0000No Error현재 발생한 에러가 없는 정상 상태입니다.
0x2310Over Current모터 구동 중 허용치를 초과하는 과전류가 감지되었습니다.
0x3110Over Voltage입력 전압이 허용되는 최대치(과전압)를 초과했습니다.
0x3120Under Voltage입력 전압이 시스템 동작에 필요한 최소치(저전압) 아래로 떨어졌습니다.
0x4210Over Temperature장치 내부 또는 모터 드라이버의 온도가 허용 한계를 초과했습니다.
0x5000Hardware Failure드라이버 하드웨어 결함 (nFault 핀 에러 등)이 감지되었습니다.
0x8611Following Error모터의 실제 위치와 목표 위치 간의 오차(위치 추종 오차)가 허용 범위를 초과했습니다.

0x6040: 컨트롤 워드 (Controlword)

0x6040 컨트롤 워드는 CiA 402 상태 머신(State Machine)을 제어하고 모터의 동작(활성화, 정지, 에러 리셋 등)을 지시하는 핵심 명령 객체입니다.

드라이브의 상태 및 운전 모드, 그리고 제조업체 특정 옵션을 제어하기 위한 비트들로 구성되어 있습니다. 이 객체는 드라이브의 현재 상태를 알려주는 0x6041(상태 워드, Statusword)과 항상 쌍으로 사용됩니다.

  • 0x6040 (컨트롤 워드): 마스터 \rightarrow 서보 (명령)
  • 0x6041 (상태 워드): 서보 \rightarrow 마스터 (응답/상태)
IndexDescriptionData type설정범위초기값단위접근성PDO
Mapping
변경 속성저장
0x6040컨트롤 워드
(Controlword)
0 to 0xffff
(UINT16)
0-RWYes항상No

주요 비트 기능 (상태 제어)

Bit

기능

내 용

0

Switch on

서보 상태 머신 제어 (Ready to switch on)

1

Enable voltage

주 전원 및 드라이브 전압 인가 허용

2

Quick stop

퀵 스톱(비상 정지) 명령 (0: 정지, 1: 정상 동작)

3

Enable operation

모터 운전(Torque/Control) 활성화

4 to 6

운전 모드별 설정

아래 비트 4 to 9 상세 설명 확인

7

Fault 리셋

0 ->1 알람/워닝 리셋

8

Halt

아래 비트 4 to 9 상세 설명 확인

9

-

10

-

-

11 to 15

-

-

비트 0 to 3 : 드라이브 상태 제어

명령Bit 3Bit 2Bit 1Bit 0
Shutdown-110
Switch on0111
Switch on + Enable operation1111
Disable voltage--0-
Quick stop-01-
Disable operation0111
Enable operation1111
PP Mode
비트기 능내 용
4New set-point0->1새로운 위치 명령을 드라이브에 적용 0 -> 1 상승 엣지 시 시작)
5Change set immediately0기존 동작을 완료하고 새 위치로 즉시 이동
1기존 동작을 중단하고 새 위치로 즉시 이동
6Absolute / Relative0절대 위치 지정 방식으로 위치 이동
1상대 위치 지정 방식으로 위치 이동
7Fault Reset0->1에러 발생 시 리셋 신호 0 -> 1 상승 엣지 시 에러 해제
8Halt0정상 운전
1현재 위치에서 감속 정지

0x6041: 스테이터스 워드 (Statusword)

0x6041 스테이터스 워드란? Statusword 는 드라이브의 현재 상태를 표시합니다. 드라이브와 운전 모드에 따른 상태를 표시하기 위한 비트로 구성되어 있습니다..

indexName설정범위초기값단위접근성PDO할당변경속성저장
0x6041스테이터스 워드
(Statusword)
---ROYes-No

Bit State

Bit

Description

설 명

0

Ready to switch on

아래 비트 0 to 7 상세 설명 확인

1

Switched on

2

Operation enabled

3

Fault

4

Voltage enabled

5

Quick Stop

6

Switch on disabled

7

Warning

8

-

Reserved

9

Remote

Controlword(0x60)

10

Operation mode specific

아래 비트 10,12,13 상세 설명 확인

11

Internal limit active

아래 비트 11 상세 설명 확인

12 to 13

Operation mode specific

아래 비트 10,12,13 상세 설명 확인

14

ABS position valid

미지원

15

-

Reserved

  • 비트 0 to 7
비트7비트6비트5비트4비트3비트2비트1비트0Drive State
-0--0000Not ready to switch on0x00
-1--0000Switch on disabled0x40
-01-0001Ready to switch on0x21
-01-0011Switched on0x23
-01-0111Operation enabled0x27
-00-0111Quick stop active0x07
-0--1111Fault reaction active0x0f
-0--1000Fault0x08
---1---Main Power On0x10
1------Warning is occurred0x80
  • [PP Mode](PP Mode.md) 시 Bit 10, 12 and 13

비트

상 태

내 용

10

Target
reached

0

Halt(0x6040.8) = 0 : 목표 위치에 도달하지 못했음
Halt(0x6040.8) = 1 : 감속

0x0400

1

Halt(0x6040.8) = 0 : 목표 위치에 도달
Halt(0x6040.8) = 1 : 속도가 0

12

Set-point
acknowledge

0

이전 설정 포인트를 준비하고 새로운 설정 포인트를 대기

0x1000

1

이전 설정 포인트에서 새로운 설정 포인트로 변경되었음

13

Following
error

0

No following error

1

Following error

  • 비트 11 : 내부 제한 사용

비트

상태

내 용

11

Internal Limit Active

0

소프트웨어 위치 제한 상태 아님 또는 소프트웨어 위치 제한 기능(0x607D) 사용하지 않음

1

소프트웨어 위치 제한 상태

0x605A: Quick Stop 옵션 코드 (Quick Stop Option Code)

0x605A Quick Stop 옵션 코드란? 드라이브의 정지 방법에는 여러 종류가 있으며, 'Quick Stop'은 그중 하나인 '빠른 정지'를 의미합니다. 이 객체는 '빠른 정지'를 구체적으로 어떻게 수행할지, 예를 들어 지정된 감속도로 제어하며 멈출지, 즉시 전원을 차단할지 등을 선택하는 역할을 합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x605AQuick Stop 옵션코드
(Quick Stop Option Code)
UINT0 to 62-RWNo항상Yes

설정 상세 내용

설정값정지 방식정지후 상태설명
0즉시 전원Switch On Disable
1일반 감속(0x6084 사용)Switch On Disable
2Quick Stop 감속(0x6085사용)Switch On Disable
5일반 감속(0x6084 사용)Quick Stop Active
6Quick Stop 감속(0x6085사용)Quick Stop Active

0x605B: Shutdown 옵션 코드 (Shutdown Option Code)

0x605B Shutdown 옵션 코드란? Shutdown은 드라이브를 '동작 가능(Operation Enable)' 상태에서 '스위치 ON 준비(Ready to Switch On)' 상태로 전환시키는 정상적인 절차입니다. 이 객체는 이 절차를 구체적으로 어떻게 수행할지, 예를 들어 감속 후 정지할지, 즉시 전원을 차단할지 등을 선택하는 역할을 합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x605BShutdown Option codeINT0 to 10-RWNo항상Yes

설정 상세 내용

서보 드라이브 Shutdown(Operation Enable state ->Ready to Switch On state) 시의 동작을 설정합니다

설정 값설명
0사용 안함
1감속 정지, Switch On Disable 상태로 이동, Ready 상태

가장 일반적이고 안전한 방법은 '1'번으로 설정하여, 제어된 방식으로 모터를 정지시킨 후 드라이브를 비활성화하는 것입니다.

0x605C: Disable Operation 옵션 코드 (Disable Operation Option Code)

0x605C Disable Operation 옵션 코드란? Disable Operation은 '동작 가능(Operation Enable)' 상태에서 모션 제어만 중지하고, 전원 차단 없이 '스위치 ON(Switched On)' 상태로 돌아가는 정상적인 절차입니다. 이 객체는 이 절차를 구체적으로 어떻게 수행할지, 예를 들어 감속 후 정지할지, 즉시 제어를 멈출지 등을 선택하는 역할을 합니다. ⏸️

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x605CDisable Operation Option CodeINT0 to 11-RWNo항상Yes

설정 상세 내용

Disable Operation 상태(Operation Enable state → Switched On state) 옵션코드를 설정합니다.

설정 값설명
0드라이브 기능 사용 안함
1감속 정지, Switch On Disable 상태로 이동, Ready 상태아님

0x605D: Halt 옵션 코드 (Halt Option Code)

0x605D Halt 옵션 코드란? Halt는 특정 운전 모드(예: Profile Position Mode)에서 진행 중인 동작을 중단시키고 정지 상태를 유지하라는 명령입니다. 이 객체는 이 '일시 정지'를 구체적으로 어떻게 수행할지, 예를 들어 일반 감속도로 멈출지, 빠른 감속도로 멈출지 등을 선택하는 역할을 합니다. ✋

컨트롤워드(0x6040)의 Bit 8 (Halt)을 통해 이 명령이 수행됩니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x605DHalt Option CodeINT0 to 40-RWNo항상Yes

설정 상세 내용

Operating Enable state 에서 Switched On state로 이동할 때 동작 방법을 설정합니다

설정값설 명
1감속정지, Operation Enabled 상태
2Quick stop 감속 시간으로 감속정지, Operation Enabled 상태
3토크 제한으로 감속정지, Operation Enabled 상태

0x605E: Fault Reaction 옵션 코드 (Fault Reaction Option Code)

0x605E Fault Reaction 옵션 코드란? 이 객체는 드라이브가 스스로를 보호하거나 시스템의 안전을 확보하기 위해, 예상치 못한 Fault 상황에 어떻게 반응할지를 미리 약속하는 역할을 합니다. 예를 들어, 과전류가 감지되었을 때 즉시 모터 전원을 차단할지, 아니면 제어된 감속으로 멈춘 후에 차단할지를 선택합니다. 🔥

Fault가 발생하면 드라이브는 여기에 설정된 방식에 따라 정지 동작을 수행한 후, Fault 상태로 전환됩니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x605EFault Reaction
Option Code
INT00-RWNo항상Yes

설정 상세 내용

드라이브 시스템 보호를 위한 Fault 동작 시 동작 방법을 설정합니다.

설정 값설 명
0서보 드라이브 기능 사용안함. 모터는 프리런 상태 유지 함.

0x6060: 운전 모드 (Modes of Operation)

0x6060 운전 모드란? 마스터는 동작을 시작하기 전에 이 값을 설정하여, 드라이브가 앞으로 받을 명령을 위치 명령으로 해석할지, 속도 명령으로 해석할지를 결정합니다.

어떤 모드를 선택하느냐에 따라 사용하는 파라미터와 드라이브의 동작 방식이 완전히 달라집니다. 현재 활성화된 모드는 0x6061(Modes of Operation Display)를 통해 확인할 수 있습니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6060운전 모드
Modes of Operation
SINT0 to 100-RWYes항상Yes

설정 상세 내용

마스터가 드라이브를 동작시키기 전에, 사용하려는 운전 모드에 해당하는 번호를 SDO를 통해 이 객체에 씁니다.

ValueNameDefinition
0-모드 할당 안됨
1Profile Position Mode (PP)가/감속 프로파일을 이용해 목표 위치까지 이동합니다.지원
3Profile Velocity mode (PV)가/감속 프로파일을 이용해 목표 속도를 유지합니다미지원
4Profile Torque mode (PT)목표 토크를 유지합니다.미지원
6Homing mode (HM)기계 원점을 찾는 동작을 수행합니다.미지원
8Cyclic Synchronous Position mode (CSP)통신 주기마다 새로운 목표 위치를 받아 동기적으로 추종합니다.추후 지원
9Cyclic Synchronous Velocity mode (CSV)통신 주기마다 새로운 목표 속도를 받아 동기적으로 추종합니다.미지원
10Cyclic Synchronous Torque mode (CST)통신 주기마다 새로운 목표 토크를 받아 동기적으로 추종합니다.미지원

0x6061 운전모드 표시 (Modes of Operation Display)

0x6061 운전 모드 표시란 ? 현재 드라이브의 운전 모드를 표시합니다. 마스터가 0x6060에 원하는 모드를 요청하면, 드라이브는 그 요청을 처리한 후, 현재 적용된 모드를 이 0x6061 객체에 업데이트합니다. 마스터는 이 값을 읽어 모드 변경이 성공했는지 확인할 수 있습니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6061운전 모드 표시
Modes of Operation Display
SINT---ROYes-No

0x6062 위치 요구 값 (Position Demand Value)

0x6062 위치 요구 값이란? 드라이브의 궤적 생성기(Trajectory Generator)가 출력하는 실시간 목표 위치를 나타내는 읽기 전용 객체로 위치 한계를 확인한 후 컨트롤러로 전된 위치 값을 제공 한다.

이 값과 0x6064(실제 위치)의 차이를 '추종 오차(Following Error)'라고 하며, 서보 성능의 중요한 지표가 됩니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6062위치 요구 값
Position Demand Value
INT32--umROYes-No

0x6064 실제 위치 값(Position Actual Value)

0x6064 실제 위치 값이란? 이 객체는 '모터가 지금 실제로 어디에 있는가?' 에 대한 답을 주는, 서보 시스템의 가장 기본적인 피드백 값입니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6064실제 위치 값
Position Actual Value
INT32--umROYes-No

0x6065 위치 오차 범위 (Following Error Window)

0x6065 추종 오차 윈도우란? '가야 할 위치(position demand value, 0x6062)''실제 있는 위치(실제 위치, 0x6064)' 의 차이를 의미합니다.

이 객체는 이 오차 값이 얼마까지 벌어져도 정상으로 간주할지를 정의하는 '안전 허용 범위' 입니다. 만약 실제 추종 오차가 이 객체에 설정된 값을 초과하면, 드라이브는 기구적인 문제나 제어 이상으로 판단하여 '추종 오차 과다' 오류를 발생시킵니다.

Following Error(Statusword, 0x6041.13)를 체크하기 위한 위치 오차 범위를 설정합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6065위치 오차 범위
Following Error Window
UINT320 to 3FFFFFFF6000umRWNo항상Yes

0x6066 위치 오차 초과시간 (Following Error Time Out)

0x6066 추종 오차 타임아웃이란? 0x6065가 '얼마나 큰 오차까지 봐줄 것인가'를 정한다면, 0x6066은 '그 오차가 얼마나 오래 지속되면 문제로 삼을 것인가'를 정합니다. 이를 통해 순간적인 충격이나 진동으로 인한 일시적인 오차는 무시하고, 지속적인 문제 상황만을 오류로 감지할 수 있습니다.

Following Error(Statusword, 0x6041.13)를 체크할 때의 초과시간을 설정합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6066위치 오차 초과 시간
Following Error Timeout
UINT160 to 655350msRWNo항상Yes

0x6067 위치 도달 범위 (Position Window)

0x6067 위치 윈도우란? 모터가 목표 위치에 완벽히 정확하게 멈추는 것은 물리적으로 어렵습니다. 이 객체는 목표 위치 주변에 '이 정도 범위 안에 들어오면 도착한 것으로 인정!' 하는 영역을 설정합니다.

예를 들어, 목표 위치가 10000이고 이 값을 10으로 설정하면, 실제 위치가 9990 ~ 10010 사이에 들어오는 순간 '목표 도달'로 간주합니다. 위치 도달범위(0x6067)에 위치 도달시간(0x6068) 동안 유지하게 되면 상태워드(0x6041)의 Bit10(0x6041.10)을 1로 설하여 마스터에게 동작 완료를 알립니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6067위치 도달 범위
Position Window
UINT320 to 3FFFFFFF100umRWNo항상Yes

0x6068 위치도달시간 (Position Window Time)

0x6068 위치 도달 시간이란? 이 객체는 0x6067(위치 윈도우)와 함께 동작하는 '안정화 시간(Settling Time)' ⏳ 입니다. 0x6067이 '얼마나 가까이 와야 하는가'를 정한다면, 0x6068은 '그 위치에 얼마나 머물러야 하는가'를 정합니다. 이를 통해 모터가 목표 지점을 그냥 지나쳐 가는 경우가 아닌, 완전히 안정적으로 정지했을 때만 '목표 도달' 신호를 발생시켜 시스템의 신뢰성을 높입니다.

위치 도달범위(0x6067)에 위치 도달시간(0x6068) 동안 유지하게 되면 Statusword의 Bit10(0x6041.10)을 1로 설정합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6068위치 도달 시간
Position Window Time
UINT160 to 655350msRWNo항상Yes

0x606C: 실제 속도 값 (Velocity Actual Value)

0x606C 실제 속도 값이란? 이 객체는 자동차의 '속도계' speed meter 와 같이, '모터가 지금 실제로 얼마나 빠르게 움직이는가?' 를 알려주는 최종 속도 피드백 값입니다. 펌웨어는 위치 센서의 변화량을 기반으로 이 값을 지속해서 계산합니다. 보통 PDO 매핑에 주로 사용되는 표준 객체입니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x606C실제 속도 값
Velocity Actual Value
INT32--um/sROYes-No

0x6072: 최대 토크 (Max Torque)

0x6072 최대 토크란? 이 객체는 모터나 기구부를 보호하기 위한 '힘의 상한선' 입니다. 어떤 운전 모드에서든 모터가 이 객체에 설정된 값 이상의 토크를 내지 못하도록 제한합니다. CiA 402 프로파일에서 토크 관련 오브젝트(0x6071, 0x6072, 0x6077 등)는 절대적인 물리량(Nm 또는 N)이 아니라 상대적인 값을 사용합니다.

  • 단위: 1 = 0.1\% (즉, 1000 = 100\%)
  • 기준점: Motor Rated Torque (0x6076) 값이 1000(100\%)이 됩니다.
  • Max Torque (0x6072): 예를 들어 이 값이 2000이라면, "모터 정격 토크의 2배까지 허용하겠다"는 뜻입니다.
indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6072최대 토크
Maximum Torque
UINT0 to 200010000.1%RWYes항상No

0x6073: 최대 전류 (Max Current)

0x6073 최대 전류란? 이 객체는 모터에 흘릴 수 있는 최대 전류를 제한하는 파라미터입니다. 과도한 전류로 인한 모터 소손을 방지하며, 단위는 Motor Rated Current(0x6075)에 대한 상대적 비율(0.1% 단위)을 사용합니다.

  • 단위: 1 = 0.1\% (즉, 1000 = 100\%)
  • 기준점: Motor Rated Current (0x6075) 값이 1000(100\%)이 됩니다.
IndexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6073최대 전류
Max Current
UINT0 to 200010000.1%RWYes항상Yes

0x6076: 모터 정격 토크 (Motor Rated Torque)

0x6076 모터 정격 토크란? 이 객체는 드라이브의 토크 제어에 기준이 되는 핵심 파라미터입니다. 드라이브는 이 값을 기준으로 0x6071(목표 토크), 0x6072(최대 토크) 등의 다른 토크 관련 설정값들을 해석합니다.

해당 제품에 적용된 모터의 정격 토크 값이며 펌웨어에 설정되어 있습니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6076모터 정격 토크
Motor Rated Torque
UINT32--mNmRONo항상No

0x6077: 실제 토크 값 (Torque Actual Value)

0x6077 실제 토크 값이란? 이 객체는 '모터가 지금 실제로 얼마의 힘을 내고 있는가?' 를 보여줍니다. 보통 모터의 실제 전류 값을 기반으로 계산됩니다. 마스터는 이 값을 TPDO로 전송받아 현재 모터에 걸리는 부하량을 실시간으로 모니터링할 수 있습니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6077실제 토크 값
Torque Actual Value
INT--0.1%ROYes-

0x6079 DC 링크 회로 전압이란? 이 객체는 드라이브의 주 전원부의 전압을 보여줍니다. 이 값을 통해 현재 공급되는 전압의 안정성을 확인하거나, 과전압/저전압 오류(0x3110/0x3120)의 원인을 진단하는 데 사용됩니다.

주전원 입력에 의한 DC-Link 전압을 0.1V의 단위로 표시합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6079DC-Link 전압
DC Link circuit Voltage
UINT--0.1VROYes-No

0x607A: 목표 위치 (Target Position)

0x607A 목표 위치란? 이 객체는 위치 제어의 최종 목적지 주소 입니다. 마스터는 RPDO 또는 SDO를 통해 이 객체에 가야 할 위치 값을 써넣습니다. 그러면 드라이브의 궤적 생성기는 현재 위치에서 이 목표 위치까지 어떻게 이동할지에 대한 프로파일(경로)을 생성합니다.

PP(Profile Position) 모드 및 CSP(Cyclic Synchronous Position) 모드에서의 목표 위치를 설정합니다. PP 모드에서는 Controlword의 Bit4(0x6040.4) 설정에 따라 절대좌표 혹은 상대좌표로 사용되며 CSP모드에서는 항상 절대값으로 사용됩니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x607A목표 위치
Target Position
INT32-to 21474836470umRWYes항상No

0x607D: 소프트웨어 위치 제한 (Software Position Limit)

0x607D 소프트웨어 위치 제한이란? 이 객체는 요구 위치값(0x6062)과 실제 위치값(0x6064)의 범위가 제한되며 설정값에 대해 새로운 목표 위치를 매 사이클 확인합니다.

소프트웨어 위치 제한값을 설정합니다. 요구 위치값(0x6062)과 실제 위치값(0x6064)의 범위가 제한되며 설정값에 대해 새로운 목표 위치를 매 사이클 확인합니다. 최소 소프트웨어 리미트 값은 역회전측, 최대 소프트웨어 리미트 값은 정회전측의 제한값입니다.

0x607D 소프트웨어 위치 제한 Software Position Limit

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x607D:0항목의 개수(Number of entries)USINT-2-RONo-No
0x607D:1최소 위치 제한값(Min position limit)INT320 to 개별 spec0umRWNo항상Yes
0x607D:2최대 위치 제한값(Max position limit)INT320 to 개별 spec개별 specumRWNo항상Yes

0x607F: 최대 프로파일 속도 (Max Profile Velocity)

0x607F 최대 프로파일 속도 (Max Profile Velocity)? 이 객체는 PP 모드 운전 시 최대 프로파일 속도를 설정합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x607F최대 프로파일 속도 (Max Profile Velocity)UINT320 to 0x7FFFFFFF개별 Specum/sRWYes항상Yes

0x6080: 최대 모터 속도 (Max Motor Speed)

0x6080 최대 모터 속도란?

이 객체는 모터 최대 속도를 나타냅니다. 리니어 서보 모터의 경우 로드가 낼 수 있는 최대 속도를 의미한다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6080최대 모터 속도 (Max Motor Speed)UINT32--um/sROYes항상Yes

0x6081: 프로파일 속도 (Profile Velocity)

0x6081 프로파일 속도란? 이 객체는 Profile Position 모드에서 '얼마나 빠른 속도로 이동할 것인가' 를 정의합니다. 드라이브의 궤적 생성기는 이 속도 값과 가/감속도(0x6083/0x6084) 값을 사용하여 사다리꼴 또는 S-curve 형태의 속도 프로파일을 생성합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6081프로파일 속도
(Profile Velocity)
UINT320 to 0x7FFFFFFF200000um/sRWYes항상Yes

0x6083: 프로파일 가속도 (Profile Acceleration)

0x6083 프로파일 가속도란? 이 객체는 PP Mode에서 '얼마나 빠르게 속도를 올릴 것인가' 를 정의합니다. 높은 값은 더 빠른 가속을 의미하지만, 시스템에 더 큰 부하와 진동을 유발할 수 있습니다. 기구부의 특성에 맞춰 적절한 값을 설정해야 합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6083프로파일 가속도
(Profile Acceleration)
UINT320 to 0x7FFFFFFF개별 Specum/s^2RWYes항상Yes

0x6084: 프로파일 감속도 (Profile Deceleration)

0x6084 프로파일 감속도란? 이 객체는 '얼마나 부드럽게 속도를 줄일 것인가' 를 정의합니다. 높은 값은 더 빠른 감속(급정거)을 의미합니다. 이 값은 정상적인 정지 동작에 사용됩니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6084프로파일 가속도
(Profile Deceleration)
UINT320 to 0x7FFFFFFF개별 Specum/s^2RWYes항상Yes

0x6085: 빠른 정지 감속도 (Quick Stop Deceleration)

0x6085 빠른 정지 감속도란? 이 객체는 일반적인 감속(0x6084)과 별개로, 비상 상황이나 빠른 정지가 필요할 때 사용할 더 높은 감속도 값을 정의합니다. Quick Stop 옵션 코드(0x605A)가 2로 설정된 경우, Quick Stop 명령 시 이 값이 적용됩니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6085Quick Stop 감속도
(Quick Stop Deceleration)
UINT320 to 0x7FFFFFFF개별 Specum/s^2RWYes항상Yes

0x60F4: 위치오차 실제 값 (Following Error Actual Value)

0x60F4 추종 오차 실제 값이란? 이 객체는 0x6062(위치 지령)과 0x6064(실제 위치)의 차이 값을 실시간으로 보여줍니다. 이 값을 모니터링하면 서보 제어 시스템의 성능을 직접적으로 확인할 수 있습니다. 이 값이 0x6065(위치 오차 범위)를 넘어서면 오류가 발생합니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x60F4위치오차 실제 값
Following Error Actual Value
INT32--umROYes-No

0x6502: 지원 드라이브 모드 (Supported Drive Modes)

0x6502 지원되는 운전 모드란? 이 객체는 드라이브의 '기능 설명서'와 같습니다. 마스터는 이 객체를 읽어봄으로써, 0x6060(운전 모드)에 어떤 값들을 설정할 수 있는지 미리 알 수 있습니다. 각 비트가 특정 운전 모드의 지원 여부를 나타냅니다.

indexNameType설정범위초기값단위접근성PDO할당변경속성저장
0x6502지원 드라이브 모드
Supported Drive Modes
UINT320x0000001-RONo-No

드라이브가 지원하는 모드를 표시합니다.

비트지원 모드내용
0PP(Profile Position)1: Supported
1VI(Velocity)0: Not Supported
2PV(Profile Velocity)0: Not Supported
3PT (Torque Profile)0: Not Supported
4Reserved0: Not Supported
5HM (Homing)0: Not Supported
6IP (Interpolated Position)0: Not Supported
7CSP (Cyclic Synchronous Position)0: Not Supported
8CSV (Cyclic Synchronous Velocity)0: Not Supported
9CST (Cyclic Synchronous Torque)0: Not Supported
10 to 31Reserved0

10.3 제조사 고유 파라미터 (Manufacturer Specific)

0x2000번대 객체들은 제조사 고유 파라미터로 정의된 객체들입니다.

0x2001 : Node ID

0x2001 Node ID 객체는 CANopen 네트워크 상에서 현재 장치를 고유하게 식별하는 주소입니다. 마스터가 SDO 통신이나 PDO 매핑을 수행할 때 이 ID를 기반으로 대상 서보 드라이브를 타겟팅합니다. 네트워크 내에 중복된 ID가 존재하면 통신 충돌이 발생하므로 장치마다 고유한 값으로 설정해야 합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2001NODE IDUSINT1 - 1271-RWNoStopYes

0x2002 : CAN Baudrate

0x2002 CAN 보드레이트 객체는 CANopen 네트워크에서 데이터가 전송되는 통신 속도를 설정합니다. 연결된 모든 마스터 및 슬레이브 디바이스의 보드레이트가 완벽히 일치해야 정상적인 통신이 가능합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2002CAN BaudrateUINT320 - 31-RWNoYes

0x2011 : Position Deadband

0x2011 위치 데드밴드 객체는 위치 윈도우(Position Window) 값과 함께 적용되어, 목표 위치에 도달한 상태에서 다시 벗어나 출발(재기동) 또는 상태 전환을 판단하기 위한 히스테리시스(Hysteresis) 허용 오차 범위입니다. 단순한 도착 정지 판정이 아니라, 경계 구역에서 상태 플래그가 채터링(떨림/반복 토글)되는 것을 방지하고 확실한 재출발 및 이탈 시점을 판정하는 데 사용됩니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2011Position DeadbandUINT320-10005umRWNoAlwaysYes

0x2012 : Gear Backlash Compensation

0x2012 기어 백래시 보상 객체는 기어박스나 볼스크류 구동 시스템에서 운동 방향이 바뀔 때 발생하는 기계적 유격(Backlash)을 보상하기 위한 파라미터입니다. 방향 전환 시 유격만큼의 손실 구간을 즉시 보정하여 정밀도를 높입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2012Gear Backlash CompensationUINT0-50000umRWNoStopYes

0x2013 : Stroke Calibration Min

0x2013 stroke Calibration Min 객체는 리니어 엔코더의 Raw 카운트 값 중에서 실제 위치(Actual Position) 연산의 시작점(0점)을 결정하고 유효 범위를 지정하는 하드웨어 기준 오프셋 파라미터입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2013Stroke Calibration MinUINT0-50000pulseRWNoStopYes

0x2014 : Stroke Calibration Max

0x2014 stroke Calibration Max 객체는 리니어 엔코더의 Raw 카운트 값 중에서 실제 위치(Actual Position) 연산의 시작점(0점)을 결정하고 유효 범위를 지정하는 하드웨어 기준 오프셋 파라미터입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2014Stroke Calibration MaxUINT0-50000pulseRWNoStopYes

0x2021 : Position P Gain

0x2021 위치 P 게인 객체는 위치 제어 루프의 비례(Proportional) 게인입니다. 목표 위치와 현재 위치의 오차에 비례하여 속도 명령을 생성합니다. 값이 클수록 응답성이 빨라지나 지나치면 오버슈트나 진동을 유발합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2021Position P GainUINT320 -1000001000-RWNoAlwaysYes

0x2022 : Position I Gain

0x2022 위치 I 게인이란 위치 제어 루프의 적분(Integral) 게인입니다. 미세한 정상 상태 오차를 누적하여 목표 위치에 정확하게 수렴하도록 만듭니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2022Position I GainUINT320 -1000010-RWNoAlwaysYes

0x2023 : Position D Gain

0x2023 위치 D 게인이란? 위치 제어 루프의 미분(Derivative) 게인입니다. 위치 오차의 변화율을 감쇄시켜 오버슈트를 줄이고 시스템의 동적 안정성을 향상시킵니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2023Position D GainUINT320 -1000050-RWNoAlwaysYes

0x2024 : Velocity P Gain

0x2024 속도 P 게인이란 속도 제어 루프의 비례 게인입니다. 목표 속도와 실제 속도의 오차에 비례하여 전류(토크) 지령을 생성합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2024Velocity P GainUINT320 -100000500-RWNoAlwaysYes

0x2025 : Velocity I Gain

0x2025 속도 I 게인이란? 속도 제어 루프의 적분 게인입니다. 속도 추종 오차를 누적하여 부하 변동 시에도 일정한 속도를 유지하도록 돕습니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2025Velocity I GainUINT320 -1000020-RWNoAlwaysYes

0x2026 : Velocity D Gain

0x2026 속도 D 게인이란? 속도 제어 루프의 미분 게인입니다. 급격한 속도 변동에 따른 충격을 완화하고 응답을 제어합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2026Velocity D GainUINT320 -100000-RWNoAlwaysYes

0x2027 : Current P Gain

0x2027 전류 P 게인이란? 전류(토크) 제어 루프의 비례 게인입니다. 가장 빠른 응답성이 요구되는 내부 루프에서 전류 지령을 추종합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2027Current P GainUINT320 -1000002000-RWNoAlwaysYes

0x2028 : Current I Gain

0x2028 전류 I 게인이란? 전류(토크) 제어 루프의 적분 게인입니다. 전류 제어의 정상 상태 오차를 제거합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2028Current I GainUINT320 -10000100-RWNoAlwaysYes

0x2029 : Current D Gain

0x2029 전류 D 게인이란? 전류(토크) 제어 루프의 미분 게인입니다. 고주파 전류 성분의 안정을 위해 주로 기본값으로 0을 유지합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2029Current D GainUINT320 -100000-RWNoAlwaysYes

0x2031 : Encoder Position LPF

0x2031 인코더 위치 LPF란? 인코더 위치 피드백 신호에 포함된 고주파 노이즈를 제거하기 위한 저역 통과 필터(Low Pass Filter) 설정값입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2031Encoder Position LPFUINT1 -1000100HzRWNoAlwaysYes

0x2032 : Velocity LPF Alpha

0x2032 속도 LPF 계수란? 속도 피드백 및 제어 연산 경로에 적용되는 필터 계수(Alpha)입니다. 속도 리플을 줄이는 역할을 합니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2032Velocity LPF AlphaUINT1 -1000100-RWNoAlwaysYes

0x2033 : UKF Q Noise Covariance

0x2033 UKF 프로세스 노이즈 공분산(Q)이란? 무향 칼만 필터(UKF) 알고리즘에서 시스템 모델의 불확실성과 프로세스 노이즈 수준을 정의하는 공분산 값입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2033UKF Q Noise CovarianceUINT0 -100010-RWNoAlwaysYes

0x2034 : UKF R Noise Covariance

0x2034 UKF 측정 노이즈 공분산(R)이란? 무향 칼만 필터(UKF) 알고리즘에서 센서 측정값의 신뢰도 및 노이즈 수준을 정의하는 공분산 값입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2034UKF R Noise CovarianceUINT160 -100010-RWNoAlwaysYes

0x2041 : Overload Check Base

0x2041 과부하 검사 기준이란? 모터 과부하 상태를 판정하기 위한 시간 기준 혹은 적산 기준값입니다. 일시적인 피크 부하와 지속적인 과부하를 구분하는 데 사용됩니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2041Overload Check BaseUINT320 -600001000msRWNoAlwaysYes

0x2042 : Overload Warning Level

0x2042 과부하 경고 레벨이란? 과부하 상태로 판정하여 경고 알람이나 트립을 발생시키는 전류 및 부하율 임계값입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2042Overload Warning LevelUINT320 -1000080%RWYesAlwaysYes

0x2071 - 0x207A : User Parameter 1 to 10

0x2071~0x207A 사용자 파라미터 1 ~ 10이란? 사용자 애플리케이션 및 시스템 통합 과정에서 고유한 설정값이나 데이터를 임시 또는 영구적으로 저장하기 위해 제공되는 범용 사용자 정의 레지스터 배열입니다.

indexDescriptionType설정범위초기값단위접근성PDO할당변경속성저장
0x2071 -0x207AUser Parameter 1 -10UINT32-0-RWNoAlwaysYes