Shop OBEX P1 Docs P2 Docs Learn Events
servo doesn't reacts for small increment — Parallax Forums

servo doesn't reacts for small increment

exskoolexskool Posts: 24
edited 2006-01-04 00:21 in Robotics
Hi...i like to ask about my problem regarding to the servo..i used PSC to position the servo, however the servo doen't move·if i changed the value a little bit (i.e. from 760 to 766)..since i need high precision, a small change will be significant...

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-01-02 14:55
    This is due to the hysteresis within the servo. Usually a combination of mechanical lag and electronic component tolerance
    is what causes this. In other words an acceptable margin of error from servo to servo. Sometimes this can be minimized
    by over shooting the desired position and then backing up, but with this method you should be aware that consistency is very
    important. What I mean is that through out the full travel of the servo, you should always overshoot in the same direction
    by the same amount, and then backtrack by the same amount as well. This effectively takes up any slack that might be
    mechanically linked with the servo. There are "high(er) precision" servos that will give you what you want, but first you must
    define how much precision will meet your needs.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • exskoolexskool Posts: 24
    edited 2006-01-02 15:34
    Thank q for your reply...still i can't get it...how i'm going to do that (overshoot)...can you provide an example...

    For your information, i use GWS servos (SO4 BBM)...in my project, i built a custom-made pan-tilt mechanism with a camera on top of it...this camera will be used to tracked a desired object...the program that i built will command to servo to pan the camera step-by-step until the centroid of the object is at the center of the field of view of the camera (with tolerence up to two pixels)...due to limited budget, i don't think that i can afford for more sophisticated and accurate servo...
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-01-02 16:47
    If precision is required a Stepper Motor might have been a better choice.· Repeatability is better with them as well.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-01-02 16:52
    In "some" applications, you do not want to overshoot which is what your situation sounds like. Actually, I'm not sure that a servo is best suited for what you are
    trying to do. It might be better to use a stepper motor with a gear reduction to get your desired resolution OR a continuous rotation servo with a gear reduction.
    Either way you will need an external mechanism such as a wheel encoder for determining position.

    As something to compare to... With this project, the best resolution that I could get with a beam distance of only 9ft on the opposite wall is about 1cm
    http://forums.parallax.com/showthread.php?p=549166

    To obtain a two pixel resolution at any distance with a hobby servo without any kind of gear reduction would be next to impossible.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-01-03 18:10
    An alternative is to use digital servos whose deadband can be programmed, you would have to experiment with deadband values to provide the accuracy required without producing chatter (what happens when the deadband is too small, the servo keeps overshooting its intended position and constantly tries to compensate, ending up overshooting again and again) The nice thing about digital servos is they oversample the position of the servo (comparing the position several times per 20ms pulse, whereas an analog servo only compares once per 20ms), this means a much tigher deadband is possible with a digital servo compared to an analog servo. The downside? Digital servos are expensive, typically costing around $50 apeice, but this may be acceptable to you since they are drop in replaceable with analog servos. Also digital servos frequently require a seperate programmer to program the deadband value, stop values etc. As a last note, digital servos outperform analog servos in other aspects such as holding torque.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • exskoolexskool Posts: 24
    edited 2006-01-04 00:21
    thank q to all...for the time being, i will proceed with all the stuff i've now since i bought them already...


    thinking ahead, what will happen next
Sign In or Register to comment.