Component: ST3215 Servo Motor (Mechatronics): Difference between revisions
Appearance
Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix TSL |- | width="20%" style="color:gray;" | Version | 2.0 |- | width="20%" style="color:gray..." |
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
||
| Line 84: | Line 84: | ||
===ChangeBaudrate=== | ===ChangeBaudrate=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 108: | Line 108: | ||
===ChangeID=== | ===ChangeID=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 132: | Line 132: | ||
===DefineMiddle=== | ===DefineMiddle=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 151: | Line 151: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 165: | Line 165: | ||
===IsMoving=== | ===IsMoving=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 184: | Line 184: | ||
===ListServos=== | ===ListServos=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 208: | Line 208: | ||
===LockEEPROM=== | ===LockEEPROM=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 227: | Line 227: | ||
===PingServo=== | ===PingServo=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 246: | Line 246: | ||
===ReadAcceleration=== | ===ReadAcceleration=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 265: | Line 265: | ||
===ReadAngle=== | ===ReadAngle=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 284: | Line 284: | ||
===ReadCorrection=== | ===ReadCorrection=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 303: | Line 303: | ||
===ReadCurrent=== | ===ReadCurrent=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 322: | Line 322: | ||
===ReadID=== | ===ReadID=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 341: | Line 341: | ||
===ReadLoad=== | ===ReadLoad=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 360: | Line 360: | ||
===ReadMode=== | ===ReadMode=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 379: | Line 379: | ||
===ReadPosition=== | ===ReadPosition=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 398: | Line 398: | ||
===ReadSpeed=== | ===ReadSpeed=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 417: | Line 417: | ||
===ReadStatus=== | ===ReadStatus=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 436: | Line 436: | ||
===ReadTemperature=== | ===ReadTemperature=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 455: | Line 455: | ||
===ReadTorqueLimit=== | ===ReadTorqueLimit=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 474: | Line 474: | ||
===ReadVoltage=== | ===ReadVoltage=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 493: | Line 493: | ||
===Rotate=== | ===Rotate=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 522: | Line 522: | ||
===SetAcceleration=== | ===SetAcceleration=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 546: | Line 546: | ||
===SetAngle=== | ===SetAngle=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 570: | Line 570: | ||
===SetCorrection=== | ===SetCorrection=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 594: | Line 594: | ||
===SetMode=== | ===SetMode=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 618: | Line 618: | ||
===SetPosition=== | ===SetPosition=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 642: | Line 642: | ||
===SetSpeed=== | ===SetSpeed=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 666: | Line 666: | ||
===SetTorqueLimit=== | ===SetTorqueLimit=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 690: | Line 690: | ||
===StartServo=== | ===StartServo=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 709: | Line 709: | ||
===StopServo=== | ===StopServo=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 728: | Line 728: | ||
===UnlockEEPROM=== | ===UnlockEEPROM=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 748: | Line 748: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | ||
Revision as of 14:15, 13 July 2026
| Author | Matrix TSL |
| Version | 2.0 |
| Category | Mechatronics |
ST3215 Servo Motor component
Control ST3215 servo motors via serial UART communication using the STS protocol.
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
ChangeBaudrate
ChangeID
DefineMiddle
| DefineMiddle | |
| Define the 2048 position by setting torque to 128. | |
| ServoID | |
| Servo ID | |
| Return | |
Initialise
| Initialise | |
| Return | |
IsMoving
| IsMoving | |
| Check if the servo is currently moving. Returns True if moving, False otherwise. | |
| ServoID | |
| Servo ID | |
| Return | |
ListServos
LockEEPROM
| LockEEPROM | |
| Lock EEPROM to prevent writes from being saved after power loss. IMPORTANT: Use the NEW servo ID after ChangeID. | |
| ServoID | |
| Servo ID (use NEW ID after ChangeID) | |
| Return | |
PingServo
| PingServo | |
| Check if a servo is responding. Returns True if successful, False otherwise. | |
| ServoID | |
| Servo ID to ping (0-253) | |
| Return | |
ReadAcceleration
| ReadAcceleration | |
| Read current acceleration value in steps per second squared. | |
| ServoID | |
| Servo ID | |
| Return | |
ReadAngle
| ReadAngle | |
| Read current position of servo. Returns position in steps (0-4095). | |
| ServoID | |
| Servo ID | |
| Return | |
ReadCorrection
| ReadCorrection | |
| Read position correction value in steps. | |
| ServoID | |
| Servo ID | |
| Return | |
ReadCurrent
| ReadCurrent | |
| Read current in milliamps (6.5mA resolution). Returns current / 6.5. | |
| ServoID | |
| Servo ID | |
| Return | |
ReadID
| ReadID | |
| Read the servo ID from EEPROM. Returns the stored ID value. | |
| ServoID | |
| Servo ID to query | |
| Return | |
ReadLoad
| ReadLoad | |
| Read motor load in percentage. Returns load percentage. | |
| ServoID | |
| Servo ID | |
| Return | |
ReadMode
| ReadMode | |
| Read current operational mode. Returns: 0=position, 1=speed, 2=PWM, 3=step | |
| ServoID | |
| Servo ID | |
| Return | |
ReadPosition
| ReadPosition | |
| Read current position of servo. Returns position in steps (0-4095). | |
| ServoID | |
| Servo ID | |
| Return | |
ReadSpeed
| ReadSpeed | |
| Read current speed of servo. Returns speed in steps per second. | |
| ServoID | |
| Servo ID | |
| Return | |
ReadStatus
| ReadStatus | |
| Read servo status flags. Returns status byte with bits: Voltage, Sensor, Temperature, Current, Angle, Overload | |
| ServoID | |
| Servo ID | |
| Return | |
ReadTemperature
| ReadTemperature | |
| Read temperature in degrees Celsius. | |
| ServoID | |
| Servo ID | |
| Return | |
ReadTorqueLimit
| ReadTorqueLimit | |
| Read torque limit value (0-1000). | |
| ServoID | |
| Servo ID | |
| Return | |
ReadVoltage
| ReadVoltage | |
| Read voltage in volts (0.1V resolution). Returns voltage * 10. | |
| ServoID | |
| Servo ID | |
| Return | |
Rotate
SetAcceleration
| SetAcceleration | |
| Set servo acceleration in steps per second squared. | |
| ServoID | |
| Servo ID | |
| Acceleration | |
| Acceleration value (0-254) | |
| Return | |
SetAngle
| SetAngle | |
| Move servo to a target angle. Angle range: -180 to 180 degrees. | |
| ServoID | |
| Servo ID | |
| Angle | |
| Angle range: -180 to 180 degrees. | |
| Return | |
SetCorrection
| SetCorrection | |
| Set position correction value in steps. Adds correction to position. | |
| ServoID | |
| Servo ID | |
| Correction | |
| Correction value in steps | |
| Return | |
SetMode
| SetMode | |
| Set operational mode. Mode: 0=position, 1=speed, 2=PWM, 3=step | |
| ServoID | |
| Servo ID | |
| Mode | |
| Mode: 0=position, 1=speed, 2=PWM, 3=step | |
| Return | |
SetPosition
| SetPosition | |
| Move servo to a target position. Position range: -30719 to 30719 steps. | |
| ServoID | |
| Servo ID | |
| Position | |
| Target position in steps (0 to 4095) | |
| Return | |
SetSpeed
| SetSpeed | |
| Set servo speed in steps per second. | |
| ServoID | |
| Servo ID | |
| Speed | |
| Speed in steps per second (0-3400) | |
| Return | |
SetTorqueLimit
| SetTorqueLimit | |
| Set torque limit value (0-1000). Controls maximum torque output. | |
| ServoID | |
| Servo ID | |
| TorqueLimit | |
| Torque limit value (0-1000) | |
| Return | |
StartServo
| StartServo | |
| Enable torque (start servo). | |
| ServoID | |
| Servo ID | |
| Return | |
StopServo
| StopServo | |
| Disable torque (stop servo). | |
| ServoID | |
| Servo ID | |
| Return | |
UnlockEEPROM
| UnlockEEPROM | |
| Unlock EEPROM to allow writes to be saved after power loss. | |
| ServoID | |
| Servo ID | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_ST3215.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_ST3215.fcfx