DM-J8006-2EC Motor Instruction Manual
DM-J8006-2EC Motor User Guide
Safety Precautions
- Operate the motor strictly within the specified environmental conditions and maximum winding temperature limits. Failure to do so may result in permanent damage.
- Prevent foreign objects from entering the rotor. Otherwise, abnormal operation may occur.
- Inspect all components before use. Do not operate the motor if any components are missing, wom, or damaged.
- Ensure correct wiring and proper, secure motor installation.
- Do not touch the rotating or energized parts during operation to avoid injury. High torque operation may generate heat. Avoid contact to prevent burns.
- Do not disassemble the motor. Unauthorized disassembly may affect control accuracy or cause malfunction.
Motor Features
- Dual encoders provide single-turn absolute position feedback at the output shaft, ensuring position information is retained even after power loss.
- Integrated motor and driver design offers compact structure with high integration.
- Supports PC-based configuration, monitoring, and firmware upgrades.
- Provides real-time feedback of motor Velocity, position, torque, and temperature via CAN bus.
- Features dual temperature protection mechanisms.
- Supports trapezoidal acceleration and deceleration profiles in position mode.
Naming Conventions
For example:DM - J8006 X - 2EC VX.X (48V)
DM | (Brand)DAMIAO Technology |
J | J:Joint Motor Series
S:Separable Motor Series |
80 | Stator Diameter 35、43、60、62、80、100(mm) |
06 | Reduction Ratio 06、07、09、10、19、40、48 |
X - | Output Bearing Version
-By default:Deep Groove Ball Bearing.
-P:Crossed Roller Bearing.
-L:Lite version (not related to bearing type). |
2EC | Encoder
-By default:single encoder.
-1EC:Single encoder, CAN communication.
-2EC:Dual encoders (single-turn absolute, output shaft),CAN communication.
-1EE:Single encoder, EtherCAT communication.
-2EE:Dual encoder (single-turn absolute, output shaft), EtherCAT communication. |
VX.X | Motor Version |
(48V) | Driver Rated Voltage
-By default:24V drive voltage
-48V :48V drive voltage |
Torque–Speed (T–N) Curve
For the 24V version, at a constant speed of 120 rpm and room temperature of 25°C, the measured performance curve is shown below:

For the 48V version, at a constant speed of 120 rpm and room temperature of 25°C, the measured performance curve is shown below:

Packing List
- Motor (with integrated driver) ×1
- Power cable: XT30 male-to-female cable (200 mm) × 1
- CAN interface: GH1.25 2-Pin Cable (300mm) × 1
- Debug serial cable: GH1.25 3-pin cable (300mm) × 1
Interface & Pin Description
Specific Name - No. | Description |
Power Interface-1 | Connect the power supply using the XT30 male-to-female cable. The rated voltage is 24V(supports 24–48 V) |
Specific Name - No. | Description |
CAN interface-2 | Connect external controller via the CAN communication interface to receive CAN control commands and transmit motor status feedback. |
Specific Name - No. | Description |
Debug Serial Interface(Port3) | Connect to a PC via the GH1.25 3-pin cable using a USB-to-CAN adapter (or USB-to-serial module) for parameters configuration and firmware upgrades. |
Motor Dimensions and Installation
Please install the motor onto the target equipment according to the motor mounting hole dimensions and layout.


LED Status
Normal Status | Solid Green | Enable Mode (ERR = 1), normal operation |
Solid Red | Disable Mode (ERR = 0)(Default state after power-on) | |
Fault Status | Flashing Red | Fault codes and fault conditions:
3 – Output shaft calibration error;
4 – Sensor output error;
5 – Motor encoder calibration error;
8 – Over-voltage;
9 – Under-voltage;
A – Over-current;
B – MOS over-temperature;
C – Motor winding over-temperature;
D – Communication loss;
E – Overload;
Fault conditions can be identified via the feedback frames or
displayed in the the Damiao configuration software. |
Operating Modes
MIT Mode
The MIT mode is compatible with the standard MIT control method, enabling seamless switching while allowing flexible configuration of control limits (P_MAX, V_MAX, T_MAX).
CAN commands are converted into torque values. The torque is then used as the reference for current control. See block diagram below.
Based on the MIT model, various control strategies can be derived. For instance, when kp = 0 and kd ≠ 0, a constant rotational speed can be achieved by setting v_des. When kp = 0 and kd = 0, a torque output is applied directly by setting t_ff (feedforward torque).
Note: When controlling position, kd must not be set to zero, as this may cause motor oscillation or even loss of control.
Position-Velocity Mode
This mode uses three control loops: position, velocity, and current(torque). The position loop sets the target for the velocity loop. The velocity loop then sets the target for the current loop. See block diagram below.
p_des represents the target position, while v_des limits the maximum absolute velocity during motion.
When tuned using recommended parameters from the configuration tool, this mode provides high accuracy and smooth motion, at the cost of slower response time.
In addition to v_des, acceleration and deceleration can also be configured. If additional oscillations occur, increasing acceleration/deceleration may help stabilize the system.
Note: The units of p_des and v_des are rad and rad/s respectively, and both are of type float. The damping factor must be set to a non-zero positive value. Refer to the notes for velocity mode.
Velocity Mode
This mode keeps the motor running at the target velocity. See block diagram below.
Note: The unit of v_des is rad/s and its data type is float. To use the automatic parameter calculation function of the debugging assistant, the damping factor must be set to a positive non-zero number. Typically, its value ranges from 2.0 to 10.0. A damping factor that is too small will cause velocity oscillations and large overshoot, while a damping factor that is too large will result in a long rise time. The recommended setting value is 4.0.
Force-Position Hybrid Control Mode
The force-position hybrid control mode is based on position-velocity control, with additional torque adjustment. Allows control of both position and output torque at the same time. See block diagram below.
A current command saturation stage is added after the velocity loop output command. This limits the current loop reference within the specified range.
Mode modification
Mode switching can be configured via the host computer using the serial port. Simply select the desired mode and click "Write Parameters". After successful configuration using this method, the motor will automatically reset, and the mode will be stored inside the motor driver without being lost after power cycling.
Additionally, mode switching can also be performed via the CAN interface by modifying the content of the mode register. For details, refer to the "Mode Switching" section in the next chapter.
When using the CAN method, the motor will not reset, but the following five variables will be cleared to zero:
- Position command value
- Velocity command value
- Torque command value (MIT mode)
- kp (MIT mode)
- kd (MIT mode)
Note:If the"Save Parameters" command is not issued, the mode will not be stored. It will be lost after power loss and will load the last saved mode upon power-up.
CAN communication
The motor can be used after completing calibration, parameter setting, and configuration. Control uses the CAN standard frame (STD) format, with a default baud rate of 1 Mbps. The baud rate can be changed using commands; see the CAN baud rate modification section for details. Functionally, frames can be divided into receive frames and feedback frames. Receive frames are the control data received, used to send commands to the motor. Feedback frames are the status data sent by the motor to the upper controller. The feedback mechanism is query-based: whenever a received frame ID matches the motor's configured CAN ID (the lower 8 bits are checked, the upper 3 bits are ignored), the driver sends the current status data to the bus. The receive frame format and frame ID vary depending on the selected motor mode, but the feedback frame is the same across all modes.
Modify baud rate
The baud rate can be modified via the host computer using the serial port. Simply select the desired baud rate and click "Write Parameters". After successful configuration using this method, the motor will automatically reset, and the baud rate will be stored inside the motor driver without being lost after power cycling.
Another method is to modify the baud rate via the CAN interface by writing to the baud rate register. For details, see the "CAN Baud Rate Modification" subsection in this chapter.
Note: Modifying the baud rate via CAN will fail if there are multiple devices on the bus. Therefore, proceed with caution. It is strongly recommended to configure the baud rate before use.
Feedback Frame
The feedback frame ID is set via the configuration tool (Master ID), with a default value of 0. It primarily reports the motor position, velocity, and torque with the frame format defined as follows:
Feedback Message | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
MST_ID | ID|ERR<<4 | POS[15:8] | POS[7:0] | VEL[11:4] | VEL[3:0] | T[11:8] | T[7:0] | T_MOS | T_Rotor |
Where:
- ID: Controller ID, using the lower 8 bits of CAN_ID
- ERR : Status code, with the following meanings
0 – Disabled(Default state after power-on)
1 – Enabled
8 — Over-voltage
9 — Under-voltage
A — Over-current
B — MOSFET over-temperature
C — Motor coil over-temperature
D — Communication loss
E — Overload
- POS : Motor position
- VEL : Motor velocity
- T : Motor torque
- T_MOS : Average MOSFET temperature on the driver (℃ )
- T_Rotor : Average motor coil temperature (℃ )
Position, velocity, and torque use a linear mapping relationship to convert floating-point data into signed fixed-point data. Position uses 16-bit data, while velocity and torque both use 12-bit data.
Control Frame in MIT Mode
Control Message | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
ID | p_des [15:8] | p_des [7:0] | v_des [11:4] | v_des[3:0] | Kp[11:8] | Kp [7:0] | Kd [11:4] | Kd[3:0] | t_ff[11:8] | t_ff[7:0] |
- Frame ID: Equals the configured CAN ID
- p_des: Desired position
- v_des: Desired velocity
- Kp: Position proportional gain
- Kd: Position derivative gain
- T_ff: Feedforward torque
All parameter follows the mapping rules described in the previous section. The ranges for p_des, v_des, and t_ff can be configured via the configuration tool. Kp range: [0,500], Kd range: [0,5].
A standard CAN frame contains 8 bytes. In MIT mode, the control command packs Position, Velocity,Kp, Kd, and Torque into these 8 bytes:
- Position: 16 bits (2 bytes)
- Velocity: 12 bits
- Kp: 12 bits
- Kd: 12 bits
Control Frame in Position-Velocity Mode
Control Message | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0x100+ID | p_des | p_des | p_des | p_des | v_des | v_des | v_des | v_des |
- Frame ID: equals the configured CAN ID plus an offset of 0x100.
- p_des: Position command, float, little-endian (low byte first, high byte last)
- v_des: Velocity command, float, little-endian (low byte first, high byte last)
In this mode, the CAN ID used to send commands is 0x100 + ID. The velocity command (v_des) defines the maximum speed during the movement to the target position—i.e., the speed during the constant-velocity phase.
Control Frame in Velocity Mode
Control Message | D[0] | D[1] | D[2] | D[3] |
0x200+ID | v_des | v_des | v_des | v_des |
- Frame ID: equals the configured CAN ID plus an offset of 0x200.
- v_des: Velocity reference value, floating point, little-endian (low byte first, high byte last).
The CAN ID for sending the command here is 0x200 + ID.
Control Frame in Force-Position Hybrid Control Mode
Control Message | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0x300+ID | p_de | p_de | p_de | p_de | v_des | v_des | i_des | i_des |
- P_des: Desired position, in radians, float type, little-endian (low byte first, high byte last).
- V_des: Velocity limit, in rad/s, scaled by 100, unsigned 16-bit, little-endian (low byte first, high byte last). Valid range: 0-10000. Values exceeding 10000 are capped at 10000, corresponding to an actual velocity limit range of 0-100 rad/s.
- I_des: Torque current limit (per-unit), scaled by 10000, unsigned 16-bit type, little-endian (low byte first, high byte last). Valid range: 0-10000. Values exceeding 10000 are capped at 10000, corresponding to an actual current limit amplitude of 0-1.0.
- Per-unit current: Actual current divided by the maximum phase current.
Enable
After the power-on self-test is completed, the "Enable" command must be sent before control can be performed. The "Enable" frame is a control frame, with the frame ID as described previously. The difference lies in the data field. Regardless of which mode the motor is in, the data definition for "Enable" is the same, as follows:
D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFC |
Disable
The default power-on state of the motor is "Disable." In this state, the three-phase terminal voltages are identical, each being a 50% modulation of the power supply voltage. The "Disable" frame is a control frame, with the frame ID as described above. The data payload is defined as follows:
D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFD |
Set Zero Position
The "Set Zero Position" frame is a control frame. This command sets the current output shaft position as the zero reference and resets the position command value to 0. The frame ID follows the definition above, and the data payload is defined as follows:
D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFE |
Clear Faults
When faults such as overheating, sending a "Clear" can be sent to reset the fault state. The "Clear" frame is a control frame. The frame ID follows the definition above, and the data payload is defined as follows:
D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFF | 0xFB |
Read parameters
Message ID | Attribute | D[0] | D[1] | D[2] | D[3] |
0x7FF | STD | CANID_L | CANID_H | 0x33 | RID |
RID represents the register address; refer to the "Register Map" section for details in this manual.
Upon successful read, the value of the register is returned. The frame format is as follows:
Message ID | Attribute | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
MST_ID | STD | CANID_L | CANID_H | 0x33 | RID | data | data | data | data |
The data is either a floating-point value or an unsigned integer, occupying 32 bits (4 bytes) in total.
The least significant bit is D4, and the most significant bit is D7. The same convention applies below.
Write parameters
Message ID | Attribute | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
0x7FF | STD | CANID_L | CANID_H | 0x55 | RID | data | data | data | data |
RID is defined as above. Upon successful write, the written value is returned. The frame format is identical to the transmitted frame.
Message ID | Attribute | D[0] | D[1] | D[2] | D[3] | D[4] | D[5] | D[6] | D[7] |
MST_ID | STD | CANID_L | CANID_H | 0x33 | RID | data | data | data | data |
Writing register data takes effect immediately but are not stored; They will be lost upon power-off unless a "Save Parameters" command is issued to store them in internal memory
Save parameters
Message ID | Attribute | D[0] | D[1] | D[2] | D[3] |
0x7FF | STD | CANID_L | CANID_H | 0xAA | 0x01 |
After a successful write, the return format is:
Message ID | Attribute | D[0] | D[1] | D[2] | D[3] |
MST_ID | STD | CANID_L | CANID_H | 0xAA | 0x01 |
【Note】:
- The "Save Parameters" command is only effective in Disabled Mode.
- All parameters are stored simultaneously during this operation.
- This operation writes parameters to the on-chip flash memory. The maximum execution time is 30ms; please allow sufficient time.
- The flash memory supports approximately 10,000 erase/write cycles. Avoid frequent execution of the "Save Parameters" command.
Mode Switching
Multiple control modes are supported and can be switched as follows:
Encoding | Mode |
1 | MIT |
2 | Position-Velocity Mode |
3 | Velocity Mode |
4 | Force-Position Hybrid Control Mode |
The mode can be changed by modifying the mode register (0x0A). During switching, the motor resets all command values to zero, including position, velocity, and torque feed-forward, KP, and KD in MIT mode.
When switching to a position control mode, to avoid impact, it is recommended to first read the precise position (value in register 0x50) and perform the switch when the motor is at zero speed whenever possible.
Mode changes are not saved to flash memory and will be lost after power-off. Upon restart, the motor loads the last mode stored in flash.
CAN Baud Rate Modification
By writing specific value to the baud rate register (address 0x23), the current CAN communication baud rate can be modified. Supported baud rates are listed below:
Encoding | Baud Rate |
0 | 125K |
1 | 200K |
2 | 250K |
3 | 500K |
4 | 1M |
5 | 2M |
6 | 2.5M |
7 | 3.2M |
8 | 4M |
9 | 5M |
Baud Rate Switching Behavior:
After a successful update, the driver first transmits feedback using the original baud rate and then switch to communication using the new baud rate.
Baud Rate Handling at Power-Up:
At power-up, the driver determines the communication mode based on the stored baud rate.
- If the stored baud rate exceeds 5Mbps, the baud rate is reset to 1Mbps by default.
- If the baud rate is greater than 1 Mbps (excluding 1 Mbps), the driver operates in CAN FD mode.
- If the baud rate is ≤ 1 Mbps, the driver operates in CAN 2.0B mode.
CAN FD Compatibility Note: A motor configured in CAN FD mode can still receive CAN 2.0B data frames. However, feedback frames are transmitted using CAN FD. As a result, if the upper-level controller only supports CAN 2.0B, it will not receive feedback data, the driver may continuously report communication errors.
Recovery Note: For controllers operating in CAN 2.0B mode, even if the CAN ID is incorrectly configured, the baud rate can still be restored by sending a baud rate configuration command.
Specifications
Please use the motor properly according to the following parameters.
Type | Characteristic Parameters | Description |
Motor parameters | Rated Voltage | 24V-48V |
Rated Phase / Supply Current | 6.5A | |
Peak Phase / Supply Current | 18A | |
Rated Torque | 8NM | |
Peak Torque | 20NM | |
Rated speed | 120rpm | |
Maximum No-Load Speed | 200rpm | |
Motor Characteristic Values | Reduction Ratio | 6: 1 |
Number of Pole Pairs | 21 | |
Phase Inductance | 230uH(@25℃) | |
Phase Resistance | 0.36Ω(@25℃) | |
Structure and Weight | Outer Diameter | 96mm |
Height | 40mm | |
Motor Weight | 550g | |
Encoder | Encoder Resolution | 14bit |
Number of Encoders | 2 | |
Encoder Type | Magnetic Encoder (Single-Turn) | |
Communication Method | Control interface type | CAN@1Mbps |
Parameter Tuning Interface | UART@921600bps | |
Control and Protection | Control Mode | MIT Mode |
Velocity Mode | ||
Position Mode | ||
Force-Position Hybrid Control Mode | ||
Protection | Driver over-temperature protection: Protection temperature: 120°C. If over-temperature occurs, the motor will exit the "Enable Mode". | |
Motor over-temperature protection: set according to usage requirements. It is recommended not to exceed 100°C. If over-temperature occurs, the motor will exit the "Enable Mode". | ||
Motor overvoltage protection: set according to usage requirements. It is recommended not to exceed 32 V. If overvoltage occurs, the motor will exit the "Enable Mode". | ||
Communication loss protection: If no CAN command is received within the set period, the motor will automatically exit the "Enable Mode". | ||
Motor overcurrent protection: set according to usage requirements. It is recommended not to exceed 9.8 A. If overcurrent occurs, the motor will exit the "Enable Mode". | ||
Motor undervoltage protection: If the power supply voltage falls below the set value, the motor will exit the "Enable Mode". It is recommended that the power supply voltage not fall below 15 V. |
Host Computer Guide
DAMIAO Host Computer User Manual
On this page
- DM-J8006-2EC Motor Instruction Manual
- Safety Precautions
- Motor Features
- Naming Conventions
- Torque–Speed (T–N) Curve
- Packing List
- Interface & Pin Description
- Motor Dimensions and Installation
- LED Status
- Operating Modes
- MIT Mode
- Position-Velocity Mode
- Velocity Mode
- Force-Position Hybrid Control Mode
- Mode modification
- CAN communication
- Modify baud rate
- Feedback Frame
- Control Frame in MIT Mode
- Control Frame in Position-Velocity Mode
- Control Frame in Velocity Mode
- Control Frame in Force-Position Hybrid Control Mode
- Enable
- Disable
- Set Zero Position
- Clear Faults
- Read parameters
- Write parameters
- Save parameters
- Mode Switching
- CAN Baud Rate Modification
- Specifications
- Host Computer Guide

