Programming Servo Motors

We are using a servo with our latch system. Each time to restart the robot, the servo motor flinches abruptly while it resets. Is there a way to prevent this? Thanks from team 2534.

Assuming you are using the Jaguar speed controller in servo mode, I have seen this happen if it senses an over current condition. Over current can easily happen if you start the servo in the wrong direction and you hit a hard stop. I highly recommend adding limit switches to help prevent this condition (and prevent damage to your hardware).

We found hardware debug using the BDC-Comm-92 PC application extremely useful. Lots of information at the bottom as to the condition of the servo. Also, we found that some of the KOP motors just have too much power for use as servos. There is a parameter on the second tab for max percent voltage. We found setting the max voltage to 60% (7.2V) help to dampen the servo loop.

kellermana - we noticed the same thing last year. We used a servo to power a latch holding down our spring-loaded lifting mechanism, and it would always flinch when we enabled the robot. No idea why.

To get around it, we used a combination of things. First, we increased the amount of travel needed to open the latch - the servo had to turn further before it would release the mechanism. Next, we added some rubber bands to help hold the latch closed. It wasn’t anything the servo couldn’t overpower, but it was enough so the flinching didn’t have much of an affect.

It would be awesome if someone on here knew how to fix it so the servo didn’t do this… We aren’t using any yet this year (but likely will with the minibot deployment), but know it will come up again in the future.

I believe they are referring to a servo as in the servo’s that are provided in the KOP, not the more general term for a servo which encompasses a motor with a feedback system.

Just to clarify, make sure you are NOT using a servo with a speed controller.

The reason that this happens is a servo is a closed-loop feedback system, such that when a properly formatted PWM signal is sent to the servo along with the correct power connections it will attempt to move to that command. In other words, the reason it is moving when you restart the robot (and I assume you have to wait for it have “Robot Code” and then Enable the Robot before it moves) is that it receives a command of “0”.

If it is moving immediately after powering the robot, this is another issue. I have worked with servo’s with this system and haven’t seen this happen before being able to Enable the robot, no matter the initial position of the servo. They should not move until you Enable the robot.