DDSM400
| ||
Overview
Introduction
The DDSM400 direct drive servo motor is based on an integrated development concept, combining an outer rotor brushless motor, encoder, and servo drive into a highly reliable permanent magnet synchronous motor. It features a compact design, easy installation, and stable operation. Its small size and high speed are particularly suitable for the following direct drive applications: driving wheels for small AGVs, driving wheels for balance vehicles, and high-end robotics projects for developing vehicle platforms.
Through the optimization of the number of pole slots, geometry, air gap, permanent magnet materials, etc., the motor is guaranteed to have a speed of up to 400±20RPM in the no-load state, and can rotate at a rated speed of 100RPM combined with a rated torque of 0.15Nm, which can be used for robot projects that require high-speed rotation and low torque requirements, providing users with high-performance direct drive application solutions.
The motor is compatible with a driver that utilizes the Field Oriented Control (FOC) algorithm, combined with high-precision sensors integrated into the motor, achieving precise control over the motor and better noise reduction. The driver has a complete and reliable motor OBD (On-board diagnostics) monitoring mechanism and protection function to ensure the safe and reliable operation of the motor.
At the same time, we provide an open source four-wheel drive off-road vehicle structure model for this model of direct drive servo motor, you can download the model and engineering files of the open source structure in the bottom "Resources" - "Open source structure".
Features
- Ultra-low noise
- High precision and zero-backlash
- Fast response, direct drive without delay
- Integrated motor and driver, compact structure and high integration
- Supports LIN bus communication method
- Motor feedback information such as position, speed, current, error code can be obtained through communication
- Supports Hall position detection, over-current protection and other functions
- Supports electric brakes
- No drive mechanical friction, drive efficiency close to 99.99%
Specifications
- No-load speed: 400±20 rpm
- No-load current: 0.25A
- Rated speed: 100rpm
- Rated torque: 0.15Nm
- Rated current: 0.24±0.07A
- Stall torque: 0.3Nm
- Stall current: 1.0±0.2A
- Rated voltage: 25.2V DC
- Ambient temperature: -5°C~40°C
- Total weight: 236g
- Encoder resolution: 4096
- Relative accuracy: 1024
- Noise level: ≤45dB(A)
- Single wheel load: 4Kg
Precautions
1. Confirm whether the operating voltage is within the specified voltage range as listed in Specifications.
2. Ensure that the motor is used within the specified ambient temperature range (-5°C~40°C).
3. Please avoid soaking the motor in water, otherwise it may cause abnormal operation or damage to the motor.
4. Please ensure that the connections are correct and secure before use, to avoid any issues with poor contact.
5. Please refer to the installation instructions before using the motor to ensure that the motor is installed correctly and steadily.
6. Please refer to the installation instructions before using the motor to ensure that the external output part of the motor is installed correctly and steadily.
7. Please avoid damaging the cables when using, as this may lead to abnormal operation or damage to the motor.
8. Do not touch the rotating part of the motor when using to avoid injury.
9. When the motor produces a large torque output, it may become hot. Do not touch the motor to avoid burns.
10. Do not disassemble the motor without permission, otherwise it may cause abnormal operation or damage to the motor, and may bring potential safety hazards.
Motor interface and wiring description
- Interface type: PH2.0*4P
- Wiring harness number: red and black power cable – 26AWG; white and yellow signal cable – 28AWG
Cable number | Name | Color | Type | Description |
---|---|---|---|---|
1 | Reserved | Yellow | Signal cable | Reserved |
2 | LIN | White | Signal cable | Single-cable, half-duplex serial port |
3 | GND | Black | Power Negative | - |
4 | VCC | Red | Power Positive | - |
Communication protocols
- Baud rate: 38400
- Data bits: 8-bit
- Stop bit: 1-bit
- Parity bit: None
- Data length: 10 bytes
- Response format: one question, one answer
- Rate: up to 250Hz
- In current loop mode: -32767~32767 corresponds to -4A~4A, the data type is signed 16-bit
- In speed loop mode: -3800~3800 corresponds to -380rpm~380rpm, with a unit of 0.1rpm and the data type is signed 16-bit
- In position loop mode: 0~32767 corresponds to 0 °~360 °, the data type is unsigned 16-bit
- Operation steps:
①Set the motor ID (power-off save)
②Send the enable command, default current loop when enabled
③Send the given value
- CRC8 value:
The value after performing CRC8 checksum on the values DATA[0] to DATA[8].
CRC algorithm: CRC-8/MAXIM
Polynomial: x8 + x5 + x4 +1
In the verification product stage, the check digit can be calculated through this website: https://crccalc.com/
Protocol 1: Drive motor to rotate
Send to the motor:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x64 | Given high 8 bits of speed/position/current | Given low 8 bits of speed/position/current | 0 | 0 | Acceleration time | Brake | 0 | CRC8 |
Motor feedback:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x65 | High 8 bits of speed | Low 8 bits of speed | High 8 bits of current | Low 8 bits of current | Acceleration time | Temperature | Fault code | CRC8 |
- Acceleration time: Valid in speed loop mode, the acceleration time per 1rpm is 1ms. When set to 1, the acceleration time per 1rpm is 1ms. When set to 10, the acceleration time per 1rpm is 10*1ms=10ms. When set to 0, the default value is 1, and the acceleration time per 1rpm is 1ms.
- Brake: Other values of 0XFF do not brake, and are valid in speed loop mode.
Protocol 2: Obtain other feedback
Send to the motor:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x74 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CRC8 |
Motor feedback:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x75 | High 8 bits of mileage laps | Next high 8 digits of mileage laps | Next low 8 digits of mileage laps | Low 8 bits of mileage laps | High 8 bits of position | Low 8 bits of position | Fault code | CRC8 |
- Mileage laps: Lap range -2147483467 to 2147483467, will be cleared to 0 when re-powered
- Position value: 0~32767 corresponds to 0~360°
- Fault codes:
Fault value | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
---|---|---|---|---|---|---|---|---|
Content | Reserved | Overvoltage and undervoltage faults | Disconnection fault | Overtemperature fault | Stall fault | Reserved | Overcurrent fault | Hall fault |
For example, the fault code is 0x02, which means 0b 0000010, indicating an overcurrent fault has occurred.
Protocol 3: Motor mode switch transmission protocol
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0xA0 | Mode value | 0 | 0 | 0 | 0 | 0 | 0 | CRC8 |
Motor feedback:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0xA1 | Mode value | 0 | 0 | 0 | 0 | 0 | 0 | CRC8 |
Mode value:
0x00: Set to open loop
0x01: Set to the current loop
0x02: Set to the speed loop
0x03: Set to the position loop
Protocol 4: Motor ID set transmission protocol
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | 0xAA | 0x55 | 0x53 | ID | 0 | 0 | 0 | 0 | 0 | CRC8 |
Motor feedback:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x64 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CRC8 |
Note: When setting the ID, please ensure that there is only one motor on the bus. It is only allowed to be set once each time it is powered on. The motor is set after receiving 5 ID setting instructions.
Protocol 5: Obtain mode feedback
Send to the motor:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x75 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CRC8 |
Motor feedback:
Data domain | DATA[0] | DATA[1] | DATA[2] | DATA[3] | DATA[4] | DATA[5] | DATA[6] | DATA[7] | DATA[8] | DATA[9] |
---|---|---|---|---|---|---|---|---|---|---|
Content | ID | 0x76 | Mode value | 0 | 0 | 0 | 0 | 0 | 0 | CRC8 |
Mode value:
- 0x00: Open loop
- 0x02: Speed loop
- 0x03: Position loop
Installation guide
- Please refer to the size and location of the motor mounting hole to install the motor to the corresponding device. Unit: mm
- The size of the mounting hole at the mounting end of the motor is M2.5, the depth is 6mm, and the centers of the mounting holes are evenly distributed on a circle with a diameter of 18mm, please select the appropriate screw for installation during the installation process.
- The mounting end of the motor is made of plastic, so it can be directly screwed in with screws.
Resources
3D model
Open source structure
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)