Is it possible to switch off individual servos with python?
If not, is it possible to switch off all servos?
For example, if the amperage rises abrupt, I would like to switch off the servos to avoid damages.
Another reason is to save energy when the robot is not moving for a while.
Kind wishes, Marcus
It should be possible to send serial commands from a python program to tell the Maestro to stop sending signals to individual servos. This post details a couple ways you might try turning off a servo to avoid damaging it. Please note that not all servos will turn off when you stop sending them a signal. More information about this can be found in the “Servo control interface in detail” post on our “Engage Your Brain” blog. If your servos continue to hold their position when no longer receiving a signal, you might try adding an external circuit to control the servo power rails, as Jon suggests in that post.
Ok, thanks - I see, this is a problem with the servos which can’t be solved without great efforts…
You can try simply sending a Set Target command with a target of “0”, and that will stop sending pulses to the servo, which will usually turn it off. If that does not work for your specific servo, then you would need to try a more complicated solution.
No, unfortunately the servos remember the last position. The big ones (hitecrc.de/store/product.php … 312&page=1) should switch off automatically in case of a stall situation. Some smaller servos just boil away after one second…
I will try to avoid these situations by the script. For more electronic parts there is not enough space in the robot.
Ok… both types of servos are programmable. The big ones switch off now, after sending 0 as position. The small ones will do the same, after I get the ordered programmer
To clarify this needs to use the Pololu Protocol ( 0x84, 0x00, 0x00, 0x00 ) not the Mini SSC Protocol ( 0xFF, 0x00, 0x00 ) as the latter is valid position and it will NOT turn off the servo.
Thank you for pointing that out. Given the way that the Mini SSC Protocol works, sending a target of “0” would not stop the Maestro from sending pulses to that servo channel as it does with the Pololu protocol or from within a script.