T.R | Title | User | Personal Name | Date | Lines |
---|
644.1 | This may be some help | LEDS::WATT | | Fri Aug 05 1988 17:58 | 15 |
| I can help a little bit. The servo requires a pwm signal with the
width of the pulse determining the position and the rep rate could
probably be as low as 10 Hz. Some micros have such an output or
you can generate one with timing loops. Another way to do it would
be to add a little hardware to generate the pulse and have the micro
send a word to the hardware to change the width. Then the micro
would only have to update the hardware when a change in position
is required. Most standard servos can generate about 42 in-oz of
torque. This could be gained up to work a friction brake with the
right sort of linkage. Friction brakes are available for airplanes
that are servo actuated. The servo will require about 50-100 ma
at 4.6 volts to generate near full torque.
Charlie
|
644.2 | Why worry ? | LEDS::COHEN | | Mon Aug 08 1988 13:24 | 22 |
|
Re. question about processor being tied up driving servo.
Servos use a PWM signal, as Charlie stated in -.1. The signals
duration should not be a factor for you, since it only takes a
little time to turn the output on, and a little time to turn the
output off, and the relatvely long period of time in between is
available for you to do other things. You don't need to hang
around in a loop for the duration of the pulse, perform your other
processing during the "on" or "off" time, and only come back to
the servo when the pulse actually needs to change state. If your
processor has an on board timer/counter, or there is CTC chip in
the design, you only need to look occasionally to see if the timer
has hit zero. You might also be able to service the Output with a
timer interrupt, in which case the processing overhead will be
negligable (unless your Micro runs at a REALLY slow clock rate).
I have done a number of real time control designs with Micros,
that involve precise timing pulses, usually servicing multiple
outputs, not just one, and have never had a problem with
insufficient processor "bandwidth", there is always some "time"
left over for other things, like dealing with user IO, data
logging, etc.
|
644.3 | Servo pulses | CLOSUS::TAVARES | John -- Stay low, keep moving | Mon Aug 08 1988 17:21 | 24 |
| The servo requires a pulse of 1.5 milliseconds nominal duration,
spaced at a nominal 15 to 20 milliseconds total frame duration.
The pulse will be 1.0 milliseconds for one extreme limit of
travel and 2.0 milliseconds for the other limit; 1.5 milliseconds
is center. Be sure to observe the 15-20 milliseconds frame
duration; the servo will barf if it gets pulses spaced any
closer, and you'll go crazy trying to figure out why -- at least
I did!
I should mention, lest I lead you down a blind alley, that this
pulse is not what is transmitted by the RC gear; this is just
what is decoded for each channel.
There is a fine discussion of the control signals in the
Signetics Analog Data Manual, under the chips NE5044 the
"standard" RC encoder, and NE5045 the "standard" RC decoder. I
put standard in quotes because while it is frequently used in RC
equipment (my Futaba 5LK uses the 5044), there are other chips
that are also used. Another source of information is Fred Marks'
book Getting The Most From Your RC Equipment, or some such,
available in fine hobby shops everywhere.
Send me mail offline if you can't find a copy of the Signetics
manual.
|
644.4 | Great info so far; pls keep it up. | VIDEO::PAYSON | | Tue Aug 09 1988 09:24 | 19 |
|
Thanks for the replies !!!
RE .3: Yes, I have found that the servo goes crazy when feeding
it pulses too fast, and I have also found that sending it just
one pulse ( then leaving the signal low ) also works - the motor
remains where it is positioned until a new pulse arrives. I
hope this is not "damaging" the motor, because I plan to use
it this way to conserve power on the car.
By the way, the servo is an "Aristo-Craft, Hitec, HS-402X"
I still have battery problems, though. We need something that
is lightweight, inexpensive, but provides as much power as
possible up to 500 mA. Hopefully, it will be rechargeable,
so we don't have to buy many of them as we test the project.
Chris
|
644.5 | Use Sanyo, them's the best | LEDS::COHEN | | Tue Aug 09 1988 11:23 | 50 |
|
> I still have battery problems, though. We need something that
> is lightweight, inexpensive, but provides as much power as
> possible up to 500 mA. Hopefully, it will be rechargeable,
> so we don't have to buy many of them as we test the project.
Sanyo N-600AE
Nominal Capacity 600 MaH
Standard Charge 60 Ma
Charge Time 14-16 Hrs.
Internal Impedance 8.5 MilliOhms
Weight 22 Grams / 0.77 Oz.
Dimensions D x H 17.0 mm X 28.0 mm
Sanyo N-700AAE
Nominal Capacity 700 MaH
Standard Charge 70 Ma
Charge Time 14-16 Hrs.
Internal Impedance 8.0 MilliOhms
Weight 27 Grams / 0.95 Oz.
Dimensions D x H 14.2 mm X 50.0 mm
Sanyo N-225AE
Nominal Capacity 225 MaH
Standard Charge 23 Ma
Charge Time 14-16 Hrs.
Internal Impedance 20.0 MilliOhms
weight 12 Grams / 0.42 Oz.
Dimensions D x H 17.0 mm X 17.0 mm
These cells are part of Sanyos new SCE series of batteries. They
have higher capacities in smaller packages than their other line
of Fast-Charge cells, the SCR series.
For comparision :
Sanyo N-450AR Sanyo N-600SCR
450 MaH 600 MaH
19 Grams 29 Grams
17 mm X 28 mm 23 mm X 26 mm
Sanyo N-700AR
700 Mah
30 Grams
17 mm X 43 mm
I have info on other Sanyo Cells, as well as where to find
distributors, send me mail if you need anything more.
Randy
|
644.6 | Gates Cyclon Monobloc at radio shack... | SNDBOX::SMITH | Macrotechnology! | Tue Aug 09 1988 13:46 | 14 |
| Yup, most servos have a 'missing pulse detector' so they will stay
in the last known position if the input signal is lost. They will
not, however (least as far as I know) hold that position very well
against an external force. If you keep sending the positioning
signal continuously the servo will 'lock' into that position, whereas
if you just remove the signal you are depending on friction to keep
it in place (which may be fine for your application).
What kind of battery voltage do you need, and what kind of weight
limitations do you need. Radio Shack has (well, is out of stock
on, but...) a 2.5 amp-hour 6 volt rechargable lead-acid battery
ubt it might be a little large for your application....
Willie
|
644.7 | Project well on its way... | VIDEO::PAYSON | | Tue Aug 16 1988 09:35 | 14 |
|
I have tried the PWM input signal between 1.0 and 2.0 ms, with a
nominal priod of 20 ms, and the servo gives a full 180 degree range
of travel !!! The holding power is sufficient for our steering,
and with a lever-arm actuator, another one will easily control
the brakes.
This project started as a class requirement, but I'm starting to
get "hooked." After this project is done, I plan to experiment
further with our car to see what it can do. I am indebted to those
who responded with valuable information - thank you very much.
Chris Payson
|
644.8 | Try a tricycle with brake steering | LEDS::ZAYAS | | Tue Aug 16 1988 15:47 | 6 |
|
Here's an idea... Instead of worrying about steering, why not
simplify stuff and just steer with independent brakes on two rear
wheels and have a free steering single nose gear?
Good luck, sounds like a fun project.
|
644.9 | You have a friend, on the usenet | HIBOB::TAPPAN | Kelly Tappan | Tue Aug 16 1988 16:53 | 85 |
| Chris,
This may be a little late for your current design, but it may
interest you (or others) for future reference. It seems others, in the
usenet world, have connected micros and servos...
From: rec.models.rc
To: @SUBSCRIBERS.DIS
Subj: Computer controlled servos
Posted by: decwrl!pyramid!prls!mips!freeptos
Organization:
Thanks to all that responded with info on servo theory. With that info,
I successfully interfaced a little 8-bit micro to some Airtronics 631
servos.
The following are some details for those that might be interested:
The servos operate on a simple pulse train. The position of the servo is
determined by the width of the high portion of the pulse:
_________ ________
| | | |
| | | |
| | | |
| | | |
------- ----------------------------------- -----
<----->
1.0-2.0ms
<---------------------------------------->
~16ms
The Airtronics servo is centered with a 1.5ms pulse. 1.0ms gets you
about 45 degrees counter-clockwise. 2.0ms gets you to about 45 degrees
clockwise.
The interface was really simple with the use of an Intel 8253 counter/timer.
The 8253 sits right on the micro's data-bus. It has a programmable one-shot
mode where it will assert it's output, then count down from a value you load
into a count register. Once the count = 0, the output is de-asserted. Each
8253 has 3 counters. I used one of the counters in "square-wave mode" (just
cranks out a repeating 50% duty cycle square wave at a programmed frequency)
to generate a 16ms trigger clock. This trigger clock was fed to all the other
counters (one per servo) to generate the 1-2ms pulse (one-shot) every 16ms.
To move one/any/all the servos, I simply have the processor write a new
count word to the target counter.
As an example, this is a piece of PLM code to move 2 servos to some start
position, wait for a second, then move one of the servos to a new postion:
.
.
.
count$servo1 = start-count; /*moves servo1 to start position*/
count$servo2 = start-count; /*moves servo2 to start position*/
call wait(1); /*wait for a second*/
count$servo1 = new-count; /*moves servo1 to new position */
.
.
.
By the way, Zilog also has a counter/timer chip that looks pretty much like
the Intel part. It's part number is Z8536.
Hum, now that I've spent the usual 50 hours to gather data/build the hardware,
I get to spend the next 5000 hours programming the beast... :-)
Dan
--
UUCP : {decvax,ucbvax,ihnp4,hplabs}!decwrl!mips!freeptos
USPS : Mips Computer Systems; 930 Arques Ave; Sunnyvale, Ca 94086
PHONE: 408-991-0217
|
644.10 | Project results... | VIDEO::PAYSON | | Tue Nov 29 1988 11:00 | 13 |
|
I have successfully completed the project:
I used rechargeable "C" size batteries and two PWM servos, one
for steering and one for pulling on a "band" against a "drum" for
braking. Thanks again for your help, it made the programming of
PWM control signals very easy.
Chris Payson.
PS: The project got an "A" !!!!
|