0% found this document useful (0 votes)
5 views20 pages

Motor Protocol

The document outlines various motor control commands with their corresponding hexadecimal and decimal values, detailing functions such as getting and setting motor parameters, error status, and configuration settings. It includes information on return values, conversion formulas for speed and position, and specific instructions for setting limits and modes. Additionally, it mentions firmware versioning and the support status for different features and units of measurement.

Uploaded by

tuannp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views20 pages

Motor Protocol

The document outlines various motor control commands with their corresponding hexadecimal and decimal values, detailing functions such as getting and setting motor parameters, error status, and configuration settings. It includes information on return values, conversion formulas for speed and position, and specific instructions for setting limits and modes. Additionally, it mentions firmware versioning and the support status for different features and units of measurement.

Uploaded by

tuannp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Unit Conversion Page 2

Hexadec Send or return


Decimal Function
imal value
03 3 Get the motor operation mode int32_t
02 2 Set the motor to stop mode No return value
04 4 Get the motor current int32_t
05 5 Get the motor target current int32_t
06 6 Get motor speed int32_t

07 7 Get the motor target speed int32_t

08 8 Get the current position of the motor int32_t


Get the target position of the motor.
09 9 This parameter will not work in non- int32_t
position mode.

0A 10 Get motor error status int32_t

0B 11 Clear Motor Error No return value

10 16 Get the speed loop ratio int32_t

11 17 Get speed loop integral int32_t

33 51 Get the speed loop differential int32_t


12 18 Get the position ring ratio int32_t
34 52 Get the position loop integral int32_t
13 19 Get the position loop differential int32_t
14 20 Get bus voltage int32_t
Get the absolute value of the maximum
37 55 int32_t
current of the motor
35 53 Get the maximum positive current int32_t
36 54 Get the minimum negative current int32_t
16 22 Get the maximum positive acceleration int32_t

17 23 Get the minimum negative acceleration int32_t


Get the maximum forward allowed
1 byte instruction 18 24 int32_t
speed
Get the minimum negative allowed
19 25 int32_t
speed
1A 26 Get the maximum positive position int32_t
1B 27 Get the minimum negative position int32_t
0D 13 Restore parameters from Flash No return value
0E 14 Store parameters to Flash No return value
0F 15 Restore factory settings No return value

1F 31 Save parameters to factory settings No return value


31 49 Get the motor temperature int32_t
32 50 Get the circuit board temperature int32_t
61 97 Get current P int32_t
62 98 Get current I int32_t
63 99 Get current D int32_t

64 100 Motor Model int32_t

65 101 Motor version number int33_t


66 102 Motor software version number int33_t
Encoder parameters int32_t
54 84 Get the current position offset int32_t
Return 8 bytes
41 65 Get CSP
of data
78 120 Get encoder battery voltage int32_t

79 121 Get encoder status int32_t

8a 138 Get overvoltage threshold int32_t

8c 140 Get low voltage threshold int32_t


Get the maximum over-temperature
8f 143 int32_t
threshold of the motor coil
Get the maximum over-temperature
93 147 int32_t
threshold of the driver board

1C 28 Set the motor operation mode to No return value


current mode and set the target current
Set current and get current speed Return 8 bytes
42 66
position of data
Set the motor operation mode to speed
1D 29 int32_t
mode and set the target speed
Set speed and get current speed Return 8 bytes
43 67
position of data
Set the motor operation mode to
1E 30 position mode and set the target int32_t
position
Set position and get current speed Return 8 bytes
44 68
position of data
55 85 Dual encoder No return value
20 32 Set the maximum positive current int32_t
twenty
33 int32_t
one Set the minimum negative current
twenty Set the maximum positive acceleration
34 int32_t
two of the motor
twenty Set the minimum negative acceleration
35 int32_t
three of the motor
twenty Set the maximum allowed forward
36 int32_t
four speed
Set the minimum negative speed
25 37 int32_t
allowed

26 38 int32_t
Set the maximum positive position

27 39 int32_t
Set the minimum negative position

29 41 Set the speed loop ratio int32_t

5-byte instruction 2A 42 Set the speed loop integral int32_t


5-byte instruction

Set the speed loop differential


2B 43 Set the position loop ratio int32_t
2C 44 int32_t
Setting the position loop integral
2D 45 Setting the position loop differential int32_t
2E 46 Setting CAN ID int32_t
50 80 Encoder zeroing int32_t
02 2 Stop the motor int32_t

53 83 Set position offset int32_t


3F 63 Baud rate int32_t

Set the current loop, speed loop and


55 85 int32_t
position limit to on

Set (message upload, communication uint16_t+uint16


59 89
disconnection protection) time _t

Set the overvoltage threshold (restart


87 135 int32_t
to take effect)
Set low voltage threshold (restart to
89 137 int32_t
take effect)
8D 141 Set the maximum coil voltage int32_t
Set the maximum voltage of the driver
91 145 int32_t
board
Set the position loop feedforward
47 71 int32_t
current

56 86 Interpolated position mode int32_t+uint8_t

Reduction ratio (force-position mixed


41 65 int32_t
mode) (test)
42 66 KP (force-position hybrid mode) (test) float
6-byte instructions
43 67 KD (force-position hybrid mode) (test) float

44 68 KT (force-position hybrid mode) (test) float


45 69 KV (force-position mixed mode) (test) float

7-byte instructions
int32_t+uint8_t
00
Force-position mixed mode (test) (Du
02 2
Yuqing PT mode)
10 16 Position Mode - Feed Forward Torque
11 17 Position Mode - Feedforward Speed
12 18 //Position mode - feedforward position

56 86 Position average interpolation int32_t+uint8_t


Speed and position simultaneous
58 88
control

Force-position hybrid mode (humanoid


8-byte instructions
robot)

Return value description: The first byte is the received code, and the other bytes are the returned tar
high bit last. If the return value contains multiple groups of data, each group of data follows the low b
return value contains: code + speed (two bytes) + position (4 bytes) POS = RxData[1] + (RxData[2] <<
(RxData[5] << 16) + (RxData[6] << 24).
Segmented PID: 4-segment PID intervals: zero speed, zero speed-low speed, low speed-high speed, h
LSpeed_KpSpeed; int16_t ZSpeed_KpSpeed; int16_t HSpeed_Kp; int16_t LSpeed_Kp; int16_t ZSpeed_
LSpeed_KiSpeed; int16_t ZSpeed_KiSpeed; int16_t HSpeed_Ki; int16_t LSpeed_Ki; int16_t ZSpeed_Ki;
situation) bit0-bit13-kp value max bit16-bit29: speed value (0 when compatible with the old PID setti
low speed 1, high speed 2, reserved 3

Get CSP: Current = RxData[0] + (RxData[1] << 8) Speed = RxData[2] + (RxData[3] << 8) Position = RxDa
(RxData[7] << 24) Get TSP: Torque = RxData[0] + (RxData[1] << 8) Speed = RxData[2] + (RxData[3] << 8
(RxData[6] << 16) + (RxData[7] << 24)

Parameter description: The first byte is the code to be sent, the second to fifth bytes are the data to
is the low eight bits of the data to be sent.
Software version
Unit Conversion Page 2 number: 5.8.2.0
Hardware version
Updated
Return value (usually 5 bytes) or parameter description 8/9/2024
Date
(-1: Fault: The mode does not exist) 0: Stop mode 1: Current mode 2:
0 support
Speed mode 3: Position mode
support
The unit is mA support
The unit is mA support
The formula for conversion to degrees per second is: (return
support
value/100/reduction ratio)*360
The formula for conversion to degrees per second is: (return
support
value/100/reduction ratio)*360
Convert to reducer angle formula: (return value/65536/reduction
support
ratio)*360
Convert to reducer angle formula: (return value/65536/reduction
support
ratio)*360
The corresponding bit is 0 for no error, 1 for an error bit0 represents an
internal software error in the motor, such as writing to FLASH while the
motor is running, etc. bit1 represents overvoltage bit2 represents
undervoltage bit4 represents startup error bit5 represents speed feedback
error bit6 represents overcurrent bit7 represents software error, such as support
writing to FLASH while the motor is running, etc. bit16 represents encoder
communication error bit17 represents motor overtemperature bit18
represents circuit board overtemperature bit19 represents driver chip
error
support
Firmware version (trial - change according to the situation) (compatible
with the previous old bit16-bit31 setting is 0) bit0-bit13-kp value max bit16-
support
bit29: speed value (absolute value) bit30-bit31: high and low speed: zero
speed 0, low speed 1, high speed 2, reserved 3
Firmware version (trial - change according to the situation) (compatible
with the previous old bit16-bit31 setting is 0) bit0-bit13-ki value max bit16-
support
bit29: speed value (absolute value) bit30-bit31: high and low speed: zero
speed 0, low speed 1, high speed 2, reserved 3
support
support
support
support
support
The maximum and minimum current values of the motor settings, in mA support
The unit is mA support
The unit is mA support
support

support
The formula for conversion to degrees per second is: (return
support
value/100/reduction ratio)*360
The formula for conversion to degrees per second is: (return
support
value/100/reduction ratio)*360
The reducer angle is: (return value/65536/reduction ratio)*360 support
The reducer angle is: (return value/65536/reduction ratio)*360 support
support
support
After recovery, you need to save it and then power on again.Flash restore
support
to factory settings
Not supported
Unit: Celsius support
Unit: Celsius support
support
support
support
int32_t=(BRAKE<<24)+(OTHER<<16) + (ACTUATOR_TYPE<<8) + OTHER
BRAKE 1 ACTUATOR_TYPE 13 //CRA-RI30-40-PRO ACTUATOR_TYPE 11
//CRA-RI40-52-PRO ACTUATOR_TYPE 9 //CRA-RI50-60-PRO
ACTUATOR_TYPE 19//CRA-RI50-70-PRO ACTUATOR_TYPE 5 //CRA-RI60-70-
PRO ACTUATOR_TYPE 25//CRA-RI60-80-PRO ACTUATOR_TYPE 6 //CRA- support
RI70-90-PRO ACTUATOR_TYPE 20//CRA-RI70-80-PRO ACTUATOR_TYPE
21//CRA-RI70-90-PRO ACTUATOR_TYPE 7 //CRA-RI80-110-PRO
ACTUATOR_TYPE 17//CRA-RI80-97-PRO ACTUATOR_TYPE 8 //CRA-RI100-
142-PRO ACTUATOR_TYPE 14//CRA-RI132-170-PRO
Record the version in hexadecimal (software+Hardware) support
Record the version in hexadecimal (software) Added
Not supported
Current position = encoder position - current offset value support
support
Need new version (updated in May 2023) of the circuit board hardware
support
support section
The dual encoder version is for outer ring position, the single encoder is
support
for status
Unit: V Added

Unit: V Added
Unit: Celsius Added

Unit: Celsius Added

The unit is mA support

Get CSP support


The parameters sent are: (target speed (degrees per second) * reduction
support
ratio * 100) / 360
Get CSP support

The parameters sent are: (reducer target angle/360)*reduction


support
ratio*65536

Get CSP support

Reference position mode, only 1 byte is sent to obtain the position Not supported
The unit is mA support
The unit is mA support

The value represents the allowed speed increase per millisecond. support

The value represents the allowed speed reduction per millisecond. support
The parameters sent are: (target speed (degrees per second) * reduction
support
ratio * 100) / 360
The parameters sent are: (target speed (degrees per second) * reduction
support
ratio * 100) / 360
The parameters sent are: (reducer target angle/360)*reduction
support
ratio*65536,
The parameters sent are: (reducer target angle/360)*reduction
support
ratio*65536,
Firmware version (trial - change according to the situation) (compatible
with the previous old bit16-bit31 setting is 0) bit0-bit13-kp value max bit16-
support
bit29: speed value (absolute value) bit30-bit31: high and low speed: zero
speed 0, low speed 1, high speed 2, reserved 3
Firmware version (trial - change according to the situation) (compatible
with the previous old bit16-bit31 setting is 0) bit0-bit13-kp value max bit16-
support
bit29: speed value (absolute value) bit30-bit31: high and low speed: zero
speed 0, low speed 1, high speed 2, reserved 3
Not supported
Position loop commonly used PD control support
/ Not supported
Position loop commonly used PD control support
1 to 127 support
Send 0, set the encoder position to 0, the position offset to 0, the encoder
Not supported
reports an error, and the error needs to be cleared
The parameters sent are: Stop time (MS) Motor deceleration stop support
Set the offset value and target position (target position = encoder position -
support
offset value)
1000, 500, 250, 125, 100, 50 support
bit0: Set to 1 to enable speed loop position limit, bit1: Set to 1 to enable
current loop position limit, (reserved) bit2: Set to 1 to enable (reserved)
support
bit3: Set to 1 to enable CSP replacement to obtain TSP; (reserved) bit4: Set
to 1 to enable, 0 bit5: Set to 1 to enable, 0 bit6: Set to 1 to enable, 0
Upload CSP message time: RxData[1] + (RxData[2] << 8) Communication
protection time RxData[3] + (RxData[4] << 8) Note: All units are in ms, and
are turned off when 0; CSP minimum setting time > (1000/current baud
support
rate * 250us) (otherwise it fails and returns 0) There is no CAN
communication within the communication protection time, and the motor
stops;
No return value Added

No return value Added

No return value Added

No return value Added


No return value, pre-start configuration, bias current before the motor is
enabled

Target position (4 bytes) + cycle (1 byte, 1ms difference is supplemented


Not supported
once, unit is 5ms)

Added

Added

Added

Added
Added

support
Position mode: target position (4 bytes) + cycle (1 byte, 1ms difference is
Support (modified)
supplemented once, unit is 5ms) (not used)

test
Position mode: target position (4 bytes) + feedforward (2 bytes,
feedforward current unit: 0.1A)
Position mode: target position (4 bytes) + feedforward (2 bytes, speed)

Position mode: target position (4 bytes) + cycle (1 byte, 1ms difference is


supplemented once, unit is 5ms) (not used)
Position mode: target position (4 bytes) + speed limit (2 bytes, forward
and reverse speed)

Delete contour
position, add force
Please see the chapter on humanoid robots (ETHERCAT is being tested) position mixing
(supported by some
motors)

he other bytes are the returned target data. All data follow the low bit first and the
each group of data follows the low bit first and the high bit last. For example, the
s) POS = RxData[1] + (RxData[2] << 8). SPEED=RxData[3] + (RxData[4] << 8) +
ow speed, low speed-high speed, high speed int16_t HSpeed_KpSpeed; int16_t
nt16_t LSpeed_Kp; int16_t ZSpeed_Kp; int16_t HSpeed_KiSpeed; int16_t
16_t LSpeed_Ki; int16_t ZSpeed_Ki; Firmware version (trial-change according to
en compatible with the old PID setting) bit30-bit31: high and low speed: zero speed 0,

] + (RxData[3] << 8) Position = RxData[4] + (RxData[5] << 8) + (RxData[6] << 16) +


Speed = RxData[2] + (RxData[3] << 8) Position = RxData[4] + (RxData[5] << 8) +

econd to fifth bytes are the data to be sent, the low bit is in front, and the second byte
Software
version
number 5.7
5/27/2024 Modify Project

support
support
support
support
support

support

support

support

Originally, bit 0
actually
represents FOC
support
rate to high, bit
7 represents
Software Error

support

Get three
frames

Get three
frames

support
support
support
support
support
support
support
support
support

support

support

support
support
support
support
support
support
Not
supported
support
support
support
support
support

support

support
support
Not
supported
support
support

support

support
Not
supported
Not
supported
Not
supported
Not
supported

support

support

support

support

support

support
Not
supported
support
support

support

support

support

support

support

support

Speed loop
support commonly used
PI control

Speed loop
support commonly used
PI control
Not
supported
support
Not
supported
support
support
Not
supported
support
support
support
Original bit0: set
to 1 to enable
support
speed loop
position limit

New (version
support
update lost)

Not
supported
Not
supported
Not
supported
Not
supported

support

Not
supported
Not
supported
Not
supported
Not
supported
Not
supported

support
support

support

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy