To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 9074
9073  |  9075
Subject: 
Re: SRS: Re: Servo Motor program: speed is fixed (unless close to stop value)
Newsgroups: 
lugnet.robotics
Date: 
Wed, 15 Dec 1999 20:14:47 GMT
Viewed: 
578 times
  
Bryan ... of course the servo's pot is removed, but it's replaced with
either two fixed resistors or a pot which is not driven by the servo.
This allows you to adjust multiple servos to have exactly the same null
pulse width.  I think (but don't know from experience) that some makes
of servos can be modified for motor use without removing the original
pot ... just disengaging it from the motor drive.

I guess that my explanation of slowing a modified servo wasn't very
clear.  Here's another try:  Let's say you have a servo that has had
it's pot removed and replaced with two fixed resistors of equal value.
When you send a pulse train of 1.8ms pulses to the servo it will turn
CW and when you send 1.3ms pulses the servo will turn CCW.  At a pulse
width of around 1.5ms (1500us) the servo will think that it has found
the commanded position and will not drive its motor.  Let's say that
for your servo that PW is exactly 1500us.  If you send 1550us pulses
to the servo it will think that it is only slightly mispositioned, and
will turn its motor slowly.  The same for 1450us pulses.  The exact PW
values for the "fake" null position and the "fake" close to null
positions
has to be determined empirically.  Each servo will be different.  When
you send pulses that are much wider or narrower that the null value,
then
the servo's logic think, "Wow, I've got a long way to go so I'll go at
my fastest speed until I get close to the target position, and then I'll
start to slow down so that I don't overshoot and start oscillating."  Of
course it never finds that "close to target" position since it only sees
the fixed resistors, so it never slows down.  By sending a PW command
that is only slightly different than the null value we trick the servo
into thinking, "I'd better slow down, I'm almost there."

I hope this clears up any confusion I may have caused.

Play well,
- Nick -

Bryan Minugh wrote:

The pot that could be driven close to the null position is extracted when
the servo is modified for continuous rotation.

----- Original Message -----
From: "Nick Taylor" <ntaylor@iname.com>
To: "Bryan Minugh" <bminugh@uswest.net>
Cc: <srs@seattlerobotics.org>
Sent: Tuesday, December 14, 1999 11:46 PM
Subject: Re: SRS: Re: Servo Motor program: speed is fixed (unless close to
stop value)

Most servos automatically slow as the pot is driven to close to the
null position to prevent overshooting and hunting ... no need to do
it prgrammatically.
- Nick -

Bryan Minugh wrote:

Nick: Thanks for that hands-on-experience addendum to my post. The speed
reduction you've seen for pulses close to the servo's stop value could • be
exploited as the servo nears the target position, to avoid over-shooting • the
mark. Likewise to get the faster wheel to wait for the slower one, • without
stopping it completely.

-Bryan Minugh

----- Original Message -----
From: "Nick Taylor" <ntaylor@iname.com>
To: <srs@seattlerobotics.org>
Sent: Tuesday, December 14, 1999 5:16 PM
Subject: Re: SRS: Re: Servo Motor program: speed is fixed

Many (most? all?) RC servos slow down as they approach the null
point.  You can take advantage of this to roughly control their
speed.  Say that you've chosen exactly correct resistor values
(or used a pot), and that the servo is exactly on specification
(it won't be), then a 1.5ms (1500us) pulse will be the null pulse
width.  For fast speed use a large change in PW, say 1.2ms for
one direction and 1.8ms for the other direction.  You'll have
to determine the slow speed pulse width empirically ... try
1550us, then adjust from there.  The values for each servo will
almost certainly be different.  Also, after you've found the
values that give the 'bot a straight line of travel when it is
first driven ... after it's been run for awhile it'll start to
curve in one direction of the other because of the heat generated
by the servo.  The only way to get accurate speed and directional
control is to do what Bryan suggested ... and even then you'll
have failures caused by wheel slipage, so now you'll be in the
market for a Precision Navigation Vector compass.  The process
of building and perfecting your robot never ends!

Have fun and play well,
- Nick -



Bryan Minugh wrote:

The last four words of your post:
"...at the same speed?"
is something that can't be achieved with modified hobby servos. The • motor
runs at only one speed, and that speed varies from sample to sample. • Only
the direction and how long it turns can be controlled externally. • Encoders can
be added to count how many degrees each wheel has actually turned. • When
the
encoders show one wheel has turned more than the other the software • stops it
until the slow one has "caught-up" (for traveling in a straight line • with no
wheel slippage).

-Bryan Minugh



1 Message in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR