|
Programming Servos For AndyMark Transmission
We just received our new AndyMark transmissions and have yet to find any posts on the following question.
Will we risk burning out the servos if we request the servos to shift but the motors are not turning and the transmission dogs are in a position where they cannot engage and hence the servos go to full stall torque and current perhaps for an extended period. My experience with servos is you are asking for a broken gear case or burnt out servo motor if the servo is left in a stall state for very long (never mind drained batteries)
Should the code say something like ...
Initialization code
{
// set shift servos to 1/2 way as you don't know what gear you are in and
// the failsafe action is to go to 1/2 way (ie neither slow nor fast)
transServo = notHighNotSlowSpeedValue;
}
Main Loop code
{
// only attempt to shift if the transmission is moving. The simplest
// estimate of this is if the motors have been requested to turn (don't
// care what direction) ie value sent to motor pwms is != 128
// The only flaw is if the robot is not moving even though power is being
// applied (ie robot is stalled against an obstacle or a blocking robot).
if (motors are not off)
{
if (user requested high speed)
transServo = highSpeedValue;
else
transServo = lowLowSpeedValue;
{
}
or do we know the servos are rugged enough so we don't have to worry about it ?
Also, is it true that the servos are actually powered via the backup battery (via the RC somehow) ? If thats true, running the servos at stall currents might lead to prematurely drained backup batterys.
Anyone know what the stall currents of the servo might be ?
|