Shop OBEX P1 Docs P2 Docs Learn Events
Servo: Power On & Jerk — Parallax Forums

Servo: Power On & Jerk

HumanoidoHumanoido Posts: 5,770
edited 2007-07-25 22:54 in Robotics
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?

Comments

  • Lee HarkerLee Harker Posts: 104
    edited 2007-07-24 13:12
    The power-on jerk of a servo is "normal". Until the servo has power and has received the first pulse, it has no idea where it is headed. You can reduce that somewhat if you leave the servo in a known position when it is powered down. Then when you intend to power it up you send it the same location pulse as was used to put it there before it was shut off. It will still jerk a bit but not as bad as if the new position and the old position were very different.

    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 SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2007-07-24 21:28
    As an additional note this shouldn’t happen with the PSC since it is always sending out pulses when it is powered up.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
  • ZootZoot Posts: 2,227
    edited 2007-07-24 23:20
    An additional note to Chris' additional note -- the PSC sends a 1.5ms ("center") pulse on power up, so if the ideal "starting" position for your servo is something other than "center" you will see movement, or if the servo was not left "centered" upon power down.

    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
  • HumanoidoHumanoido Posts: 5,770
    edited 2007-07-25 10:31
    That's a very good assessment of the situation. The PSC sends a centering pulse but that's NOT the pulse required by the robot for its home position. Additionally the servo is never left at the PSCs' center position. Without the PSC, using just a basic stamp and not sending any pulses in the code, the servo goes to a random position. Most of the time, this position is extreme for the robot, though on occasion sometimes not.

    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.
  • FranklinFranklin Posts: 4,747
    edited 2007-07-25 14:45
    You can also write the program to do the power on sequence using a mosfet to control power to the servos.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • ZootZoot Posts: 2,227
    edited 2007-07-25 16:24
    I've used these regulators -- the are 4pin TO220 linear vregs. Use a good heat sink if your battery voltage is substantially higher than 5v.

    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
  • HumanoidoHumanoido Posts: 5,770
    edited 2007-07-25 22:54
    Outstanding! Thanks! I look forward to trying this.
Sign In or Register to comment.