SC Servo - Memory Table Explanation
1. Servo Memory Table Definition
If a function address uses two bytes of data, the high byte is at the earlier address, and the low byte is at the later address.
1.1 Version Information
| Address DEC | Address HEX | Function Name | Bytes | Initial Value | Permission | Value | Unit | Description |
|---|---|---|---|---|---|---|---|---|
| 0 | 0x00 | Firmware major version number | 1 | - | Read-only | - | - | - |
| 1 | 0x01 | Firmware minor version number | 1 | - | Read-only | - | - | - |
| 2 | 0x02 | END | 1 | 1 | Read-only | - | - | 1 indicates big-endian storage structure |
| 3 | 0x03 | Servo major version number | 1 | - | Read-only | - | - | - |
| 4 | 0x04 | Servo minor version number | 1 | - | Read-only | - | - | - |
1.2 EPROM Configuration
| Address DEC | Address HEX | Function Name | Bytes | Initial Value | Permission | Value | Unit | Description |
|---|---|---|---|---|---|---|---|---|
| 5 | 0x05 | Servo ID | 1 | 1 | Read/write | 0 - 253 | Number | Unique primary ID identifier on the bus |
| 6 | 0x06 | Baud rate | 1 | 0 | Read/write | 0 - 7 | None | 0-7 respectively represent baud rates: 1000000(0), 500000(1), 250000(2), 128000(3), 115200(4), 76800(5), 57600(6), 38400(7) |
| 7 | 0x07 | Undefined | 1 | - | Read/write | - | - | - |
| 8 | 0x08 | Response status level | 1 | 1 | Read/write | 0 - 1 | None | 0: except for read commands and the PING command, other commands do not return a response packet; 1: return a response packet for all commands |
| 9 | 0x09 | Minimum angle limit | 2 | 20 | Read/write | 0 - 1023 | Step | Set the minimum running angle limit; the value is less than the maximum angle limit; minimum angle limit = maximum angle limit = 0 enters motor mode |
| 11 | 0x0B | Maximum angle limit | 2 | 1003 | Read/write | 1 - 1023 | Step | Set the maximum running angle limit; the value is greater than the minimum angle limit; minimum angle limit = maximum angle limit = 0 enters motor mode |
| 13 | 0x0D | Maximum temperature upper limit | 1 | 70 | Read/write | 0 - 100 | °C | - |
| 14 | 0x0E | Maximum input voltage | 1 | - | Read/write | 0 - 254 | 0.1V | Maximum input voltage = minimum input voltage = 0 indicates disabling voltage feedback |
| 15 | 0x0F | Minimum input voltage | 1 | 40 | Read/write | 0 - 254 | 0.1V | Maximum input voltage = minimum input voltage = 0 indicates disabling voltage feedback |
| 16 | 0x10 | Maximum torque | 2 | 1000 | Read/write | 0 - 1000 | 0.1% | Assigned to address 48 torque limit at power-on |
| 18 | 0x12 | Phase | 1 | - | Read/write | 0 - 254 | None | Special function byte; do not modify unless specifically required |
| 19 | 0x13 | Unload condition | 1 | - | Read/write | 0 - 254 | None | Setting the corresponding bit to 1 enables the corresponding protection; setting the corresponding bit to 0 disables the corresponding protection |
| 20 | 0x14 | LED alarm condition | 1 | - | Read/write | 0 - 254 | None | Setting the corresponding bit to 1 enables the flashing light alarm; setting the corresponding bit to 0 disables the flashing light alarm |
| 21 | 0x15 | Position loop P proportional coefficient | 1 | - | Read/write | 0 - 254 | None | Proportional coefficient controlling the motor |
| 22 | 0x16 | Position loop D derivative coefficient | 1 | - | Read/write | 0 - 254 | None | Derivative coefficient controlling the motor |
| 23 | 0x17 | Undefined | 1 | - | Read/write | - | - | - |
| 24 | 0x18 | Minimum starting force | 2 | - | Read/write | 0 - 1000 | 0.1% | Set the servo's minimum output starting torque |
| 26 | 0x1A | Positive dead zone | 1 | 1 | Read/write | 0 - 16 | Step | The minimum unit is one minimum resolution angle |
| 27 | 0x1B | Negative dead zone | 1 | 1 | Read/write | 0 - 16 | Step | The minimum unit is one minimum resolution angle |
| 28 - 36 | 0x1C - 0x24 | Undefined | 1 | - | Read/write | - | - | - |
| 37 | 0x25 | Holding torque | 1 | 20 | Read/write | 0 - 254 | 1% | Output torque after entering overload protection; for example, setting 20 means 20% of the maximum torque |
| 38 | 0x26 | Protection time | 1 | 200 | Read/write | 0 - 254 | 10ms | The timing duration during which the current load output exceeds the overload torque and is maintained; for example, setting 200 means 2 seconds, with a maximum settable value of 2.5 seconds |
| 39 | 0x27 | Overload torque | 1 | 80 | Read/write | 0 - 254 | 1% | The maximum torque threshold that triggers the start of the overload protection timing; for example, setting 80 means 80% of the maximum torque |
1.3 SRAM Control
| Address DEC | Address HEX | Function Name | Bytes | Initial Value | Permission | Value | Unit | Description |
|---|---|---|---|---|---|---|---|---|
| 40 | 0x28 | Torque switch | 1 | 0 | Read/write | 0 - 2 | None | Write 0: disable torque output/free state; write 1: enable torque output; write 2: damping state |
| 41 | 0x29 | Undefined | 1 | - | Read/write | - | - | - |
| 42 | 0x2A | Target position | 2 | 0 | Read/write | 0 - 1023 | Step | Each step is one minimum resolution angle; absolute position control method; the maximum corresponds to the maximum effective angle |
| 44 | 0x2C | Running time | 2 | 0 | Read/write | 0 - 9999 / -1000 - 1000 | 1ms/0.1% | The movement time from the current position to the target position; this parameter takes effect when the running speed is 0; when the servo is in motor mode, the running time sets the motor output PWM duty cycle, and BIT10 is the direction bit |
| 46 | 0x2E | Running speed | 2 | Servo factory default maximum speed | Read/write | 0 - 1000 | Step/s | The number of steps moved per unit time (per second) |
| 48 | 0x30 | Lock flag | 1 | 1 | Read/write | 0 - 1 | None | Write 0 to disable the write lock, and values written to EPROM addresses are saved after power-off; write 1 to enable the write lock, and values written to EPROM addresses are not saved after power-off |
| 49 - 55 | 0x31 - 0x37 | Undefined | 1 | - | - | - | - | - |
1.4 SRAM Feedback
| Address DEC | Address HEX | Function Name | Bytes | Initial Value | Permission | Value | Unit | Description |
|---|---|---|---|---|---|---|---|---|
| 56 | 0x38 | Current position | 2 | - | Read-only | - | Step | Feedback of the number of steps of the current position; each step is one minimum resolution angle; absolute position control method; the maximum value corresponds to the maximum effective angle |
| 58 | 0x3A | Current speed | 2 | - | Read-only | - | Step/s | Feedback of the current motor rotation speed, in steps moved per unit time (per second) |
| 60 | 0x3C | Current load | 2 | - | Read-only | - | 0.1% | Current control output voltage duty cycle driving the motor; BIT10 is the direction bit |
| 62 | 0x3E | Current voltage | 1 | - | Read-only | - | 0.1V | Current servo operating voltage |
| 63 | 0x3F | Current temperature | 1 | - | Read-only | - | °C | Current internal operating temperature of the servo |
| 64 | 0x40 | Asynchronous write flag | 1 | 0 | Read-only | - | None | Flag bit when using asynchronous write commands |
| 65 | 0x41 | Servo status | 1 | 0 | Read-only | - | None | Setting the corresponding bit to 1 indicates that the corresponding error has occurred |
| 66 | 0x42 | Moving flag | 1 | 0 | Read-only | - | None | The flag is 1 when the servo is moving, and 0 when the servo reaches the target and stops; it remains 0 when the servo does not update the target position |
2. Special Byte Explanation
2.1 Servo Status
| Byte Bit | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Address 65 | -- | -- | Load status | -- | -- | Temperature status | -- | Voltage status |
| -- | -- | (0) Load normal | -- | -- | (0) Temperature normal | -- | (0) Voltage normal | |
| -- | -- | (1) Load overload | -- | -- | (1) Temperature overheating | -- | (1) Overvoltage/undervoltage |
If multiple statuses occur at the same time, the servo status value is the sum of the individual bit values. For example: overvoltage/undervoltage and servo overheating give a servo status value of 4+1=5.
2.2 LED Alarm Condition
| Byte Bit | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Address 20 | -- | -- | Load overload alarm | -- | -- | Overheating alarm | -- | Voltage alarm |
| -- | -- | (0) Disable load overload alarm | -- | -- | (0) Disable overheating alarm | -- | (0) Disable voltage alarm | |
| -- | -- | (1) Enable load overload alarm | -- | -- | (1) Enable overheating alarm | -- | (1) Enable voltage alarm |
If multiple bits are set at the same time, the servo's LED alarm condition value is the sum of the individual bit values. For example: enabling both the voltage alarm and the overheating alarm gives an alarm condition value of 4+1=5.
2.3 Unload Condition
| Byte Bit | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Address 19 | -- | -- | Load overload | -- | -- | Overheating protection | -- | Voltage protection |
| -- | -- | (0) Disable load overload | -- | -- | (0) Disable overheating protection | -- | (0) Disable voltage protection | |
| -- | -- | (1) Enable load overload | -- | -- | (1) Enable overheating protection | -- | (1) Enable voltage protection |
If multiple bits are set at the same time, the servo's unload condition value is the sum of the individual bit values. For example: enabling both the voltage protection and the overheating protection gives an unload condition value of 4+1=5.
2.4 Servo Phase
| Byte Bit | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| Bit Weight | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Address 18 | -- | Voltage Mode | PWM Phase | -- | Speed Mode | -- | -- | Driver direction phase |
| -- | (0) 1.5K low-voltage sampling | (0) In phase | -- | (0) Speed 0 indicates stop | -- | -- | (0) Forward | |
| -- | (1) 1K high-voltage sampling | (1) Inverted | -- | (1) Speed 0 indicates maximum speed | -- | -- | (1) Reverse |
If multiple bits are set at the same time, the servo's phase value is the sum of the individual bit values.
:::\