Shop OBEX P1 Docs P2 Docs Learn Events
Simultaneous Servo Control? — Parallax Forums

Simultaneous Servo Control?

ArchiverArchiver Posts: 46,084
edited 2002-07-26 21:37 in General Discussion
Is there a limit to how many servos you can be moving simulaneously with
the stamp? what about with a PIC? I was wondering this because I rarely
see code that moves multiples at once and I was wondering if this is
because is not capable... if you can move multiples at once, how many
could you do theoretically?

- Matt

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2002-07-15 07:17
    The main limiting factor is that the Stamp cannot multitask. This means that
    each servo control signal must be sent one after the other. Also each servo
    needs a control signal to be repeateted at a rate of between 50Hz and
    20hz(in my limited experiments with Hitec servos), you may be able to go
    lower, but useally the torque and smoothness of movement suffers. Assuming
    that all servos could be driven with a maximum signal length (2ms), you
    could fit 10 individual servo signals into a 20ms space(50hz update rate),
    or 25 servos signals into a 50ms space (20hz update rate). This doesn't take
    into account the fact that the PULSOUT command itself also takes time just
    to execute, which further slows down the process. Also, any other code in
    the program would slow down the process still further.

    The main techniques to maximise servo numbers are to use a faster Samp like
    an SX, use fast and efficient coding in between the servo controlls, and
    limit the total amount of roation of the servos so that shorter signals are
    needed.

    You can also extend the number of servos by using external circuitry.

    I don't know about the PIC microcontrollers.

    Paul Lugger








    >From: Matt Johnson <matt@m...>
    >Reply-To: basicstamps@yahoogroups.com
    >To: basicstamps@yahoogroups.com
    >Subject: [noparse][[/noparse]basicstamps] Simultaneous Servo Control?
    >Date: Sun, 14 Jul 2002 21:33:09 -0700 (PDT)
    >
    >Is there a limit to how many servos you can be moving simulaneously with
    >the stamp? what about with a PIC? I was wondering this because I rarely
    >see code that moves multiples at once and I was wondering if this is
    >because is not capable... if you can move multiples at once, how many
    >could you do theoretically?
    >
    >- Matt
    >
    >
    >
    >To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    >from the same email address that you subscribed. Text in the Subject and
    >Body of the message will be ignored.
    >
    >
    >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >




    _________________________________________________________________
    Join the world’s largest e-mail service with MSN Hotmail.
    http://www.hotmail.com
  • ArchiverArchiver Posts: 46,084
    edited 2002-07-18 05:16
    Look at the PAK devices from Al Williams (AWC). They are ideal for this type
    of application. I am using the PAK8 in an application that requires at least
    four independant frequency sources to all run at the same time! The PAK8
    parts work perfectly!
    AZEASI
  • ArchiverArchiver Posts: 46,084
    edited 2002-07-25 20:53
    Check out the following web site

    mks.niobrara.com/servo1

    He has a PIC Assy language program for running 8 at a time.
    I have not tried it yet but will in the future.
    May even try it in Mbasic Pro.

    Original Message
    From: Matt Johnson [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=9OpfC0DjhfbbtPY3rULEFm6xJL9r4wKVZMoaJ9oVLIEGkI8Q0dkd5X4Mci6opJouuBIsxofBbTQ]matt@m...[/url
    Sent: Monday, July 15, 2002 12:33 AM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] Simultaneous Servo Control?

    Is there a limit to how many servos you can be moving simulaneously with
    the stamp? what about with a PIC? I was wondering this because I rarely
    see code that moves multiples at once and I was wondering if this is
    because is not capable... if you can move multiples at once, how many
    could you do theoretically?

    - Matt



    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.


    Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/



    [noparse][[/noparse]Non-text portions of this message have been removed]
  • ArchiverArchiver Posts: 46,084
    edited 2002-07-26 21:37
    Matt,

    It depends on what you are doing. If all your stamp II is doing
    is moving servos your theoretical max (for 20ms rep. rate) is 10
    servos. Remember, you don't have to sit there twidling your bits
    waiting for the 20ms to be up! I regularly control 3 or more servos
    while running a bunch of other robot code. The secret is to break
    up your code into behaviors, then further break your behaviors into
    state machines that move to new states on subsequent routine entry
    points. In this way you can time your code and run your servos in-
    between other code execution. If you'd like some examples of this,
    check out my site http://www.techtoystoday.com and bonk on the
    "my current robots" list. Then bonk on the source code for one of
    the Stamp based robots. All my robots run using modified state
    machines to implement Brooksian subsumption behavioral programming.

    have fun,
    DLC

    --- In basicstamps@y..., Matt Johnson ?matt@m...? wrote:
    ? Is there a limit to how many servos you can be moving simulaneously
    with
    ? the stamp? what about with a PIC? I was wondering this because I
    rarely
    ? see code that moves multiples at once and I was wondering if this is
    ? because is not capable... if you can move multiples at once, how
    many
    ? could you do theoretically?
    ?
    ? - Matt
Sign In or Register to comment.