Shop OBEX P1 Docs P2 Docs Learn Events
BSIISX - Connecting Servo''s Correctly — Parallax Forums

BSIISX - Connecting Servo''s Correctly

ArchiverArchiver Posts: 46,084
edited 2000-10-20 23:16 in General Discussion

Original Message
From: Ray McArthur <rjmca@u...>
To: <basicstamps@egroups.com>
Sent: Friday, October 20, 2000 12:14 AM
Subject: Re: [noparse][[/noparse]basicstamps] BSIISX - Connecting Servo's Correctly


> You are right, you probably could wear out a servo running it for long
> periods with my simple program. But a few minutes shouldn't matter for
> testing. I suspect that our local RC car racers put more wear on their
> servos in two races than this tester would in two minutes.
>
> Regards,
> Ray McArthur
>
> > Just a note of caution, I was told that driving a servo one way and
> > then another at high speed will wear out the servo quite fast. I drive
> > my servo's using an acceleration variable instead of just a simple
> > position statement. By controlling acceleration you can softly
> > accelerate and decelerate the servo from start to stop thus prolonging
> > the servo life. Although it makes the coding more compicated.
> >
> > The acceleration rate thus looks like this: 0,1,2,3,4,5,6,7,8,9,
> > instead of 0 to top speed.
> >
> > Here is the program for 'organic' servo motion, it is by no means
> > elegant at this stage:
> >
> >
> >
> > 'THIS CODE MOVES A SERVO LEFT TO RIGHT
> > 'WITH AN ORGANIC MOTION
> >
> > a var word
> > mo var word ' servo position
> > x var byte ' accelleration rate
> >
> > servo:
> >
> > x=0
> > mo= 600
> > for a = 1 to 10 '******HOLD INITIAL POSITION FOR A WHILE
> > pulsout 0, mo
> > pause 15
> > next
> >
> >
> > '************begin
> >
> > 'rev up
> > for a = 1 to 20
> > pulsout 0, mo
> > pause 15
> > mo=mo+x '
> > x=x+1 '0,1,2,3,4,5,6,7,8,9
> > next
> >
> >
> > 'slow down
> > for a = 1 to 20
> > pulsout 0, mo
> > pause 15
> > mo=mo+x '
> > x=x-1 '9,8,7,6,5,4,3,2,1,0
> > next
> >
> >
> >
> >
> > for a = 1 to 10 '******HOLD FINAL POSITION FOR A WHILE
> > pulsout 0, mo
> > pause 15
> > next
> >
> >
> >
> > 'rev up in opposite direction
> >
> > for a = 1 to 20
> > pulsout 0, mo
> > pause 15
> > mo=mo-x ' negative value of below
> > x=x+1 '0,1,2,3,4,5,6,7,8,9
> > next
> >
> >
> > 'slow down in opposite direction
> >
> > for a = 1 to 20
> > pulsout 0, mo
> > pause 15
> > mo=mo-x ' negative value of below
> > x=x-1 '9,8,7,6,5,4,3,2,1,0
> > next
> >
> >
> > '*************
> >
> > goto servo 'repeat
> >
> >
> >
> >
> >
> > Jason
> >
> >
> >
> >
> >
> > __________________________________________________________________
> > Get your free Australian email account at http://www.start.com.au
> >
> >
> >
> >
> >
>
Sign In or Register to comment.