BSIISX - Connecting Servo''s Correctly
Archiver
Posts: 46,084
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
>
>
>
>
>
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
>
>
>
>
>