Mini Maestro 12 Question


What are the limits of the update frequency for Get Moving State command for Mini Maestro 12 servo controller? I am using the Mini Maestro 12 with Savox SC-1251MG ( servos and I want to know the speed of the servos at max velocity based on controller based on when the servo starts and stops moving which the Get Moving State command does . I need to know this because i am using the servo motors at high speed.I am running at 115200 baudrate in USB dual port mode.

Thank you


It sounds like you are trying to use the Get Moving State command to measure the maximum velocity of your servos. If that is the case, please note that this command does return any kind of measurement of the maximum velocity. The purpose of the Get Moving State command is so you can set speed and/or acceleration limits for your servos, send them a target position, and then wait in a loop until the Maestro reports that the servos finished moving to their target positions. Please note that Get Moving State will only work correctly when the Maestro is limiting the speed and/or acceleration of the servo.


Thanks for quick reply! So what is the maximum speed the on the Maestro settings that will ensure that this command Get Moving State will work correctly? I have tried it at max speed value ‘0’ but when i measured the time of the motors moving based on the Get Moving State, i get a time of about 0.6 ms for 39 degrees which is most likely not correct since the servos cannot move that fast.

The speed and acceleration are not limited by the Maestro when they are set to 0. When set to 1, they are will be at the slowest setting they can be set to, and they will get faster as the value rises. The maximum value for acceleration (without being unlimited) would be 255, while the maximum value for speed (without being unlimited) is 3968. However, please note that if the speed and acceleration limits are set to a value so fast that they are still not effectively limiting the speed or acceleration of the servo, Get Moving State will still not work for doing what you want.

Since the servos do not make their feedback available to the Maestro, the Maestro does not know the actual position of the servo. When sending a new target position to a servo channel with a speed or acceleration limit configured, the Maestro breaks the movement up into a series of smaller movements. The way the Get Moving State command works, it will return 0 when the Maestro is sending the requested target position. Because of this, the Get Moving State command will not report accurately when the servo is being commanded faster than it can actually move.

For example, if the servo channel was sending a target position of 1000us and was changed to 2000us, the Maestro attempts to limit the speed or acceleration of the servo by increasing the target position until it reaches 2000us. If this happens faster than the servo can react, Get Moving State will return 0 before the servo actually reaches the final position.