Shop OBEX P1 Docs P2 Docs Learn Events
Jittery servos. 360 deg servos — Parallax Forums

Jittery servos. 360 deg servos

fltcmdrfltcmdr Posts: 14
edited 2010-08-08 09:15 in BASIC Stamp
Hi all
Im going through the BS course "whats a microcontroller" and have succesfully completed all the projects up to chapter 4.
This one uses pushbuttons to operate the servo. It works fine but at the end of the range of motion the servo "shakes" or vibrates. This is not acceptable for my robot project. How can I stop this???
· In addition the book says not to use 360 degree servos.· Why is this cuz I need servos that can rotate through 360 degrees and beyond to operate the gun turrets. My goal is to operate multiple turrets from one director so that the turrets follow the directors bearing. this is all probably easy for all of you, but Im just beginning.
Thanx
MC
·

Comments

  • allanlane5allanlane5 Posts: 3,815
    edited 2010-08-05 17:24
    The Servo you're using was designed to control model airplanes or model cars by Radio Control. As such, 360 degrees of rotation wasn't really needed.

    There's "Modified Servos" that will spin continuously, making them useful for small cheap electric wheel motors, but then you lose the positioning control. I think that's what the book was talking about.

    Most model gun-turrets only have to rotate about 270 degrees -- shooting up your own super-structure is generally frowned upon.

    Having said all that, they DO have servo's for use with model sail-boats, that will rotate twice or three times -- you might try those if you're really serious about that 360 degree use.
  • allanlane5allanlane5 Posts: 3,815
    edited 2010-08-05 17:28
    Oh, and each servo is slightly different, so you need to figure out where each one's limits are, and make sure not to bang up against them, that's really hard on the gears. And it takes a lot of power.
  • ercoerco Posts: 20,256
    edited 2010-08-05 17:34
    I find that almost all regular servos can rotate nearly 180 degrees if you CAREFULLY find the right pulsewidths to just drive them to their mechanical limits. Yes, I mean somewhat less than 1 ms and somewhat longer than 2 ms. Each servo is different, so software-wise, sneak up on the mechancal limits carefully to avoid damaging the servo. If your turrets don't require much force to rotate, you could mechanically gear up the servos 2:1 to achieve a full 360 turret rotation.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·"If you build it, they will come."
  • Spiral_72Spiral_72 Posts: 791
    edited 2010-08-05 21:25
    fltcmdr said...
    Hi all
    ........ at the end of the range of motion the servo "shakes" or vibrates. This is not acceptable for my robot project. How can I stop this???

    MC

    Servos can do this for several reasons I know of: The servo is on it's mechanical limit and your trying to drive it further, OR the servo / turret is binding at that point for whatever reason and the servo is stalling OR I had em' do this after I've stripped one of the gears inside a servo. I'd wager #2.

    The cause in my experience is determined by the quality of the servo. The really cheap ones do weird stuff when you drive them to an extreme.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "puff"...... Smile, there went another one.
  • fltcmdrfltcmdr Posts: 14
    edited 2010-08-07 12:32
    I changed the range to 450 and 950. that cleared it up. In the meantime Ive decided to go to stepper motors. just ordered one from store. also got the continuous servo. The course manual says dont use this servo?? The store description says it can be easily run with the pulsout command? Is there a reason why I cant just plug this servo into the homework board and fiddle with the software to run it???
    MC
  • W9GFOW9GFO Posts: 4,010
    edited 2010-08-07 13:50
    fltcmdr wrote: »
    Is there a reason why I cant just plug this servo into the homework board and fiddle with the software to run it???
    MC

    You can use that servo but just understand that since it is a continuous rotation servo you will not be able to program it to rotate to a certain position.

    A standard servo has it's output shaft connected to a potentiometer so that it has constant feedback as to what it's position is. The servo will constantly adjust itself to maintain the commanded position.

    A continuous rotation servo has the potentiometer disconnected. The potentiometer is left in the center position so that the servo always believes that it is centered. When commanded to go to a different position it will run it's motor forever trying to reach the new position. Depending upon how far away from center the command is will determine how fast the motor runs to try to reach the new position. If you tell it to center itself the motor will stop because the potentiometer is permanently in the center position.

    So with a continuous rotation servo you have no way to accurately control it's position, but you can control speed and direction.

    Rich H
  • fltcmdrfltcmdr Posts: 14
    edited 2010-08-07 18:29
    so then it would be better to use the stepper motor for accurate positioning.??
    Thanx.
  • W9GFOW9GFO Posts: 4,010
    edited 2010-08-07 18:39
    Probably, if the stepper starts from a known position (homed) each time it is powered up. A simple switch like this can give an indication of position, for a turret that is stepper controlled you would need only one notch.

    attachment.php?attachmentid=70420&d=1274176964

    Rich H

    Just for nostalgia's sake: It's going to be a while before my post count becomes a binary value again...

    attachment.php?attachmentid=72270&stc=1&d=1281232565
  • ercoerco Posts: 20,256
    edited 2010-08-08 09:15
    Rich's indexing disk & switch could also be used with a continously rotating servo with a lot fewer wires & headaches than a schlepper motor. Turn the servo while monitoring the switch, and stop the servo when the switch clicks.
Sign In or Register to comment.