N S K E L E C T R O N I C S

Search

Go to content

Main menu:


SERVO MOTOR

MISC

What is a Servo?
Servos are DC motors with built in gearing and feedback control loop circuitry. And no motor drivers required!

Synopsis
Servos are extremely popular with robot, RC plane, and RC boat builders. Most servo motors can rotate about 90 to 180 degrees. Some rotate through a full 360 degrees or more. However, servos are unable to continually rotate, meaning they can't be used for driving wheels (unless modified), but their precision positioning makes them ideal for robot arms and legs, rack and pinion steering, and sensor scanners to name a few. Since servos are fully self contained, the velocity and angle control loops are very easy to impliment, while prices remain very affordable. To use a servo, simply connect the black wire to ground, the red to a 4.8-6V source, and the yellow/white wire to a signal generator (such as from your microcontroller). Vary the square wave pulse width from 1-2ms and your servo is now position/velocity controlled.

Servo Wiring
All servos have three wires:
Black or Brown is for ground.
Red is for power (~4.8-6V).
Yellow, Orange, or White is the signal wire (3-5V).


Servo Voltage (Red and Black/Brown wires)
Servos can operate under a range of voltages. Typical operation is from 4.8V to 6V. There are a few micro sized servos that can operate at less, and now a few Hitec servos that operate at much more. The reason for this standard range is because most microcontrollers and RC receivers operate near this voltage. So what voltage should you operate at? Well, unless you have a battery voltage/current/power limitation, you should operate at 6V. This is simply because DC motors have higher torque at higher voltages.


Signal Wire (Yellow/Orange/White wire)
While the black and red wires provide power to the motor, the signal wire is what you use to command the servo. The general concept is to simply send an ordinary logic square wave to your servo at a specific wave length, and your servo goes to a particular angle (or velocity if your servo is modified). The wavelength directly maps to servo angle.

So how do you apply this square wave to your servo? If your robot is remote controlled, your RC receiver will apply the proper square wave for you. If however your robot is running from a microcontroller, you must:

bring high a digital port
wait between 1-2ms
bring low the same digital port
cycle a few dozen times per second

Note, if you are running multiple servos simultaneously, you can just put a few of these program blocks in sequential order. You can run as many servos as you have of digital ports.So how many milliseconds do you keep the port high? It all depends on the servo. You may have to tweak for each individual servo some several microseconds difference.

The standard time vs. angle is represented in this chart:



Square Wave for Servo Angle and Speed Control


Servo Current
Servo current operates the same as in a DC motor, except that you now also have a hard to predict feedback control system to contend with. If your DC motor is not at the specified angle, it will suddenly draw huge amounts of current to reach that angle. But there are other peculiarities as well. If you run an experiment with a servo at a fixed angle and hang precision weights from the servo horn, the measured current will not be what you expect. One would think that the current would increase at some fixed rate as the weights increased linearly. Instead you will get unpredictable curves and multiple rates.
In conclusion, servo current draw is very unpredictable.

Stall Torque, Stall Current, Current Drain
Since servos contain DC motors, please read my DC motor tutorial to learn about servo stall characteristics.

http://www.societyofrobots.com/actuators_dcmotors.shtml

Home Page | INDUSTRIAL AUTOMATION | 8051 | PIC | AVR | ARM 7 | UNIVERSAL PROGRAMMERS | VLSI - CPLD KITS | WIRELESS | SENSORS | INTERFACE BRDS | ROBOTICS | MOTORS | MOTOR DRIVES | PCB"S | EMBEDDED KITS | BUY COMPONENTS/TOOLS | CONTACT US | How To Place Order? | NSK SUPPORT | Site Map


Back to content | Back to main menu