Integration / CANopen

CANopen object dictionary and PDO mapping.

TK actuators implement CiA 402 over CAN. This guide covers NMT state machine transitions, PDO mapping, node ID assignment, and baud rate configuration.

CiA 402
DS402 motion drive profile
1 Mbit/s
Max supported baud rate
1–63
Configurable node ID range
Integration / CANopen

CANopen Integration

Node ID and Baud Rate

The default node ID is 1. To change it, write to EEPROM[0x2001] via SDO before NMT boot:

cansend can0 601#2F200120[new_node_id]00

Supported baud rates:

Baud RateMax NodesRecommended
1 Mbit/s16Short stub topology
500 kbit/s32Standard actuator chain
250 kbit/s63Long cable runs >10 m

NMT State Machine

On power-up, each TK actuator enters the Initialization state and automatically transitions to Pre-Operational. To transition to Operational:

cansend can0 000#0101

This sends the NMT Start-node command to node ID 1. Use 0100 to broadcast to all nodes.

PDO Mapping

Default RPDO1 (receive from master → actuator, 0x1600):

  • Bytes 0–3: Target position (INT32, 0x607A)
  • Bytes 4–5: Control word (UINT16, 0x6040)

Default TPDO1 (transmit from actuator → master, 0x1A00):

  • Bytes 0–3: Position actual value (INT32, 0x6064)
  • Bytes 4–5: Status word (UINT16, 0x6041)
  • Bytes 6–7: Actual torque (INT16, 0x6077)

Key Object Dictionary Entries

IndexNameDefault
0x6060Modes of operation8 (pos)
0x6081Profile velocity1000 rpm
0x6083Profile acceleration500 rpm/s
0x607EPolarity0x00
0x2010Impedance Kp20.0
0x2011Impedance Kd1.5

SocketCAN Command Example

sudo ip link set can0 up type can bitrate 500000
sudo ip link set can0 up

cansend can0 601#2B606000[mode]0000

cansend can0 601#2B607A00[target_pos_bytes]

Replace [mode] with 08 for profile position, 09 for profile velocity, or 0A for torque mode. Target position uses little-endian INT32 in brackets.

Related guides

ROS 2 Integration EtherCAT Setup API Reference
Request Engineering Sample