Servo: Power On & Jerk
I've noticed this effect with servos. Upon power on, they jerk into some undesired position.
Only after startup, when the code sends a movement pulse to the servo, will it move into a desired position.
I notice this effect at power on when using Parallax servos (Futaba) and a Basic Stamp 2, or 2px, or with a PSC servo controller. It's some condition that happens at startup.
It could be dangerous to have such a servo on a robot and have the servo randomly jerk hard out of range or out of standard position. It can be damaging to the servo, the robot, or a human not expecting the action.
Any ideas on what's happening to the servo at power on, and is there any fix to this?
Only after startup, when the code sends a movement pulse to the servo, will it move into a desired position.
I notice this effect at power on when using Parallax servos (Futaba) and a Basic Stamp 2, or 2px, or with a PSC servo controller. It's some condition that happens at startup.
It could be dangerous to have such a servo on a robot and have the servo randomly jerk hard out of range or out of standard position. It can be damaging to the servo, the robot, or a human not expecting the action.
Any ideas on what's happening to the servo at power on, and is there any fix to this?
Comments
By all means, never use an unstable system of any type where someone may be hurt. This could happen even if for some reason the servo were to fail. Use safety features no matter what type of drive system you use.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
If this is really an issue, you could work out a power scheme whereby you start sending the servo pulses, then allow servo (motor) power to flow the servos -- I've used the Sharp 2.0A regulators with the on/off pin for purposes like this; solid-state relays and the like would work as well.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
When the going gets weird, the weird turn pro. -- HST
Since it jumps to the extreme position, it would not be desirable to leave the robot in this position to minimize movement.
If I send code to immediately home the servo, according to the robots' home position, at startup, the servo will quickly go to the undesired position, then control of code takes it to the robots' home position. Also, this appears to be a random process, i.e. not every time will the servo jerk to the extreme position.
Zoot, you have a what looks like a very good solution. I wonder if that's why the Toddler robot board has a multi position switch which can turn on power to the main board, then power to the board and servos. If that doesn't work to rid the servo movement, what kind of circuit will work with one power switch? Thanks for everyones' comments.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
www.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=425-2256-5-ND
Note that the on/off pin if FLOATING or HIGH will turn the reg. ON -- so if you want the reg. powered off on startup, you'll need a pulldown resistor on the on/off pin to bring it LOW.
So you could draw servo power (at 5v) through one of these (up to 2A); tie the on/off Pin to your micro pin, and let the micro turn power on/off to the servos when you want.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
When the going gets weird, the weird turn pro. -- HST