I am a beginner on servo motor control, and I just get a servo motor
from R/C model. When I apply the pulses to it, I found that it just turn
90 degree to the start point and stop. I had the following questions :
1/ Does all servo motor turn 90 degree only ?
2/ Can it turn reverse ?
3/ How to control it to a the position that I wanted ?
4/ Any information/ WWW page about it in the internet ?
Rgds
Francis
[10.2.1] RC-Servos
R/C servos for model airplanes, cars and other vehicles are light,
rugged, cheap and fairly easy to interface. Some of the units can
provide very high
torques speed. For prices and specs see one of the many Radio Control
magazines on the market.
What is the wiring for R/C servos?
Three wire connector for RC-servos:
Pin 1 = White = Signal
Pin 2 = Red = +5
Pin 3 = Black = Signal and Power Ground
[Tang = pin 1]
The signal is a variable width pulse ranging from 1-2ms in duration
and repeating every 12-20 ms. The output shaft rotates to a position
porportional to
the input pulse width. Input pulse width is compared to an internal
timer pulse. The timer period is controlled by a pot coupled to the
servo's output
shaft. The difference between the two pulse widths is an error signal.
The servo attempts to reduce or eliminate the error signal by driving
the output
shaft in the appropriate direction. When the error signal is within
about 5 micro-seconds the drivers are turned off to preventing
oscillation or 'hunting'.
___ ... ___
| | . | |
__| |__._____________________________________________| |____
1 to 2 ms width pulse goes from full CCW to full CW rotation
20 ms pulse to pulse.
How can you reverse a servo?
The easiest way to do this is to hit your R/C hobby shop and buy a
servo reverser. This is a dedicated electronic module that plugs
between the servo and
the controller (usually the R/C receiver) and processes the pulse to
"reverse" it. Basically, the device uses a 3 msec one-shot and an XOR
gate. If your
local hobby shop doesn't have them, check Ace R/C catalog. See ads in
any R/C magazine.
A harder way is as follows: You have to reverse both the motor and the
potentiometer leads.
It would be much easier to reverse the control input. All modern
radios have "reverse" switches for all channels. In the past you could
have one of 3
solutions:
1.Live with the servo as-is. Design your model with the servo
direction in mind.
2.Some companies had "reversed" servos. Probably no longer
available.
3.Use a gadget between the receiver and radio that reverses the
servo. Possibly a single 4538 (Motorola MC14538) with 2 resistors, 3
capacitors
and a trimmer pot.
4.Modify the servo. This is the most difficult and least desired
solution. Impossible if the motor is soldered directly to the PCB
(seen in some servos).
[from Itai Nashon]
The following article is an excellent source on servo facts and a
PIC-based circuit to control R/C Servos. (See the Microcontrollers
Section for more info
on the PIC)
The Juggler's Delight: PIC-based Controller For Up To Eight Servos by
Scott Edward. The Computer Applications Journal, October 1994 p14 [A
kit is
available as well for the circuit, including PC board, IC's etc]
How can you control a servo from a parallel port?
From Stew Bailey (sba...@sensemedia.net):
With one of the PC's internal timers cranked up, it is possible to
control eight servos from a common parallel port with nothing but a
simple TSR
interrupt service routine and a cable. In fact, power can be pulled
from the disk drive power connector and the PC can run all servos
directly with no
additional hardware. The only down side is that the PC wastes some
processing power servicing the interrupt handler.
How can you implement force servoing with RC servos?
From Dave Hershberger, he...@nmt.edu
I successfully built a force-feedback circuit for my Futaba hobby
servos. I took the back off the servo case to expose the solder side
of the
control PC board, and using my scope with the servo active, I
looked for contacts whose signal looked like it varied with how much
work
the motor was doing. I found 2 pulse-width modulated signals
which correspond to the difference between the command signal and the
current shaft angle, one for each rotation direction.
The signals are not logic-level, but vary between, say, 1 and 2
volts, so I built a simple comparator circuit to convert these to
logic level. I
fed these into my 68HC11 and used the Input Compare feature to
measure the timing.
To connect to these points, I used some thin stranded wire and
soldered directly to the PC board in the servo. Obviously you need to
be
careful when doing this to avoid damaging the servo. Then I
threaded the pair out through the same hole that the control and power
wires
use.
One thing to keep in mind with this setup is that it measures the
error signal, not the force. Therefore when you tell your servo to
move to a
different angle, you'll get an error signal for a few wavelengths
until it is able to turn the shaft to the new position, even if there
is no
resistance to the movement. If your software can take this into
account, it works fairly well.
There's also the problem of saturation - if the external torque
on the servo shaft is actually turning the shaft against the motor,
the error
signal will be saturated, and you won't know how much past
saturation you are.
How to implement RC servo control from a Microcontroller like the
HC11?
This is commonly done with the HC11. The simplist method uses a 32mS
pulse, which works with all RC servos I (Tom) have tried. This is the
natural
roll-over time of the free-running clock (FRC) (assuming an 8MHz
XTAL). The output-compare IO lines can be configured to go high on the
FRC
roll-over, and then to go low when their set value matches the FRC.
With this set up, just place the correct value in the timer's compare
register and the
PWM signal is generated; no interrupts required!
If you want to generate PWM with 20mS, you can set up an interrupt to
go off after 20mS, set the output line(s) high, and set the output
compare(s) to
the current time plus the desired offset. Then set the next interrupt
to occur after another 20mS. Still pretty easy.
For code examples, check out the TRP2 and TRP3 files in:
ftp://cherupakha.media.mit.edu/pub/incoming/dickens This is the code
for 2 articles Tom
Dickens wrote in The Robot Practitioner.
Commercial controller for RC servos:
Pontech
401 E 17th St Suite B
Costa Mesa, CA 92627
tel: 714.642.8458
Pontech has a SV100 Servo Motor Controller which is based on the PIC
16C84 microcontroller. It accepts RS232 serial data signal from a host
computer and poutput PWM to control up to four RC servo motors.
Multiple boards can be parallel together to allow more servos. They
also sell
FUTABA FP-S148 servos. boards: $49.95, servos: $16.95, + $5.00
shipping and handling Vantec
460 Casa Real Pl.
Nipomo, CA 93444
tel: 805.929.5055
Design and manufacture of Electronic Systems for remote control mobile
robots and vehicles. Vantec makes a servo control that has been used
successfully in this type of application and can be used for velocity
or position closed loop control. We can also modify R/C transmitters
for operation on
special frequencies. contact: Rich Howe
=========================================================
Introducing the Mini SSC (Serial Servo Controller) from Scott Edwards
Electronics.
In the October 94 issue of Circuit Cellar Ink. we showed you how
to put your hobby servos to serious automation work with a
microcontroller based
Serial Servo Controller. The response was fantastic. Here is the
next generation in servo control. The Mini SSC features;
1.Controls eight hobby (R/C) servos.
2.Opto input takes RS-232, -422,-485, CMOS and TTL.
3.Baud rate configurable for 2400 or 9600.
4.Addressable up to 32 controllers on one port.
5.Compatible with PC's SBC and BASIC Stamp.
6.Steady, glitch free servo outputs.
7.4uS PWM resolution for precise positioning.
8.Compact size, only 1.4 x 1.5 inches.
Want to know more give us a call.
Scott Edwards Electronics
964 Cactus Wren Lane
Sierra Vista, AZ 85635
Tel: 520-459-4802
Fax: 520-459-0623
"I have seen the Lynxmotion robotic arm in action. I am very
impressed, it is as precise and repeatable as Jim describes. Good
work!"
Scott Edwards
If you have any comments or suggestions E-MAIL Scott Edwards
Electronics at: 72037...@compuserve.com
Back to main page
========================================
This is some stuff that I found on the web
Enjoy!
-Anansi-
In Francis Lee's opinion;
: Dear every body,
:
: I am a beginner on servo motor control, and I just get a servo motor
: from R/C model. When I apply the pulses to it, I found that it just turn
: 90 degree to the start point and stop. I had the following questions :
: 1/ Does all servo motor turn 90 degree only ?
: 2/ Can it turn reverse ?
: 3/ How to control it to a the position that I wanted ?
: 4/ Any information/ WWW page about it in the internet ?
:
: Francis
Hi;
Check my page with info about RC servos and info on building
a simple&cheap analog RC servo driver circuit.
turbine.kuee.kyoto-u.ac.jp/staff/onat/servobasics.html
"Gokiburi" the walking robot with RC servos is also on the same
site.
Hope this helps.
| Ahmet ONAT Kyoto Univ. Japan |
| E-mail : on...@kuee.kyoto-u.ac.jp |
| WWW page : http://turbine.kuee.kyoto-u.ac.jp/staff/onat.html |
| My 6 leg walker, RC airplanes & more in home page |