You are on page 1of 22

2004 Microchip Technology Inc.

DS00907A-page 1
AN907
INTRODUCTION
Stepping motors fill a unique niche in the motor control
world. These motors are commonly used in measure-
ment and control applications. Sample applications
include ink jet printers, CNC machines and volumetric
pumps. Several features common to all stepper motors
make them ideally suited for these types of
applications. These features are as follows:
1. Brushless Stepper motors are brushless. The
commutator and brushes of conventional
motors are some of the most failure-prone
components, and they create electrical arcs that
are undesirable or dangerous in some
environments.
2. Load Independent Stepper motors will turn at
a set speed regardless of load as long as the
load does not exceed the torque rating for the
motor.
3. Open Loop Positioning Stepper motors
move in quantified increments or steps. As long
as the motor runs within its torque specification,
the position of the shaft is known at all times
without the need for a feedback mechanism.
4. Holding Torque Stepper motors are able to
hold the shaft stationary.
5. Excellent response to start-up, stopping and
reverse.
The following sections discuss the most common types
of stepper motors, what circuitry is needed to drive
these motors, and how to control stepping motors with
a microcontroller.
TYPES OF STEPPING MOTORS
There are three basic types of stepping motors:
permanent magnet, variable reluctance and hybrid.
This application note covers all three types. Permanent
magnet motors have a magnetized rotor, while variable
reluctance motors have toothed soft-iron rotors. Hybrid
stepping motors combine aspects of both permanent
magnet and variable reluctance technology.
The stator, or stationary part of the stepping motor
holds multiple windings. The arrangement of these
windings is the primary factor that distinguishes
different types of stepping motors from an electrical
point of view. From the electrical and control system
perspective, variable reluctance motors are distant
from the other types. Both permanent magnet and
hybrid motors may be wound using either unipolar
windings, bipolar windings or bifilar windings. Each of
these is described in the sections below.
Variable Reluctance Motors
Variable Reluctance Motors (also called variable
switched reluctance motors) have three to five
windings connected to a common terminal. Figure 1
shows the cross section of a three winding, 30 degree
per step variable reluctance motor. The rotor in this
motor has four teeth and the stator has six poles, with
each winding wrapped around opposing poles. The
rotor teeth marked X are attracted to winding 1 when it
is energized. This attraction is caused by the magnetic
flux path generated around the coil and the rotor. The
rotor experiences a torque and moves the rotor in line
with the energized coils, minimizing the flux path. The
motor moves clockwise when winding 1 is turned off
and winding 2 in energized. The rotor teeth marked Y
are attracted to winding 2. This results in 30 degrees of
clockwise motion as Y lines up with winding 2.
Continuous clockwise motion is achieved by sequen-
tially energizing and de-energizing windings around the
stator. The following control sequence will spin the
motor depicted in Figure 1 clockwise for 12 steps or
one revolution.
EXAMPLE 1:
Author: Reston Condit
Microchip Technology Inc.
Dr. Douglas W. Jones
University of Iowa
Winding 1: 1001001001001
Winding 2: 0100100100100
Winding 3: 0010010010010
time
Stepping Motors Fundamentals
AN907
DS00907A-page 2 2004 Microchip Technology Inc.
Figure 1 illustrates the most basic variable reluctance
stepping motor. In practice, these motors typically have
more winding poles and teeth for smaller step angles.
The number of poles can be made greater by adding
windings, for example, moving to 4 or 5 windings, but
for small step angles, the usual solution is to use
toothed pole pieces working against a toothed rotor.
Variable reluctance motors using this approach are
available with step angles close to one degree.
FIGURE 1: VARIABLE RELUCTANCE
STEPPER MOTOR
Unipolar Motors
Unipolar stepping motors are composed of two
windings, each with a center tap. The center taps are
either brought outside the motor as two separate wires
(as shown in Figure 2) or connected to each other
internally and brought outside the motor as one wire.
As a result, unipolar motors have 5 or 6 wires. Regard-
less of the number of wires, unipolar motors are driven
in the same way. The center tap wire(s) is tied to a
power supply and the ends of the coils are alternately
grounded.
Unipolar stepping motors, like all permanent magnet
and hybrid motors, operate differently from variable
reluctance motors. Rather than operating by minimiz-
ing the length of the flux path between the stator poles
and the rotor teeth, where the direction of current flow
through the stator windings is irrelevant, these motors
operate by attracting the north or south poles of the
permanently magnetized rotor to the stator poles.
Thus, in these motors, the direction of the current
through the stator windings determines which rotor
poles will be attracted to which stator poles. Current
direction in unipolar motors is dependent on which half
of a winding is energized. Physically, the halves of the
windings are wound parallel to one another. Therefore,
one winding acts as either a north or south pole
depending on which half is powered.
Figure 2 shows the cross section of a 30 degree per
step unipolar motor. Motor winding number 1 is
distributed between the top and bottom stator poles,
while motor winding number 2 is distributed between
the left and right motor poles. The rotor is a permanent
magnet with six poles, three north and three south, as
shown in Figure 2.
FIGURE 2: UNIPOLAR STEPPER
MOTOR
The difference between a permanent magnet stepping
motor and a hybrid stepping motor lies in how the multi-
pole rotor and multi-pole stator are constructed. These
differences will be discussed later.
EXAMPLE 2:
EXAMPLE 3:
Note: Only half of each winding is energized at a
time in the above sequence. As above, the
following sequence will spin the motor
clockwise 12 steps or one revolution.
Winding 1a: 100010001000
Winding 1b: 001000100010
Winding 2a: 010001000100
Winding 2b: 000100010001
time
Winding 1a: 110011001100
Winding 1b: 001100110011
Winding 2a: 011001100110
Winding 2b: 100110011001
time
2004 Microchip Technology Inc. DS00907A-page 3
AN907
Unlike in the first sequence described, two winding
halves are energized at one time in the second
sequence. This gives the motor more torque, but also
increases the power usage by the motor. Each of the
above sequences describes single stepping or
stepping the motor in its rated step size (in this case 30
degrees). Combining these two sequences allows for
half stepping the motor. The combined sequence is
shown in Example 4 (24 steps per revolution).
EXAMPLE 4:
This method moves the motor in steps that are half its
rated step size. It is important to note that the torque
generated by the motor during this sequence is not
constant, as alternating steps have one and two halves
of a winding energized respectively.
Figure 2 illustrates the most basic unipolar motor. For
higher angular resolutions, the rotor must have more
poles. Permanent magnet rotors with 100 poles have
been made, and this pole count is commonly achieved
for hybrid rotors, using toothed end-caps on a simple
bipolar permanent magnet. When the rotor has a high
pole count, the stator poles are always toothed so that
each stator winding works against a large number of
rotor poles.
Bipolar Motors
Bipolar stepping motors are composed of two windings
and have four wires. Unlike unipolar motors, bipolar
motors have no center taps. The advantage to not
having center taps is that current runs through an entire
winding at a time instead of just half of the winding. As
a result, bipolar motors produce more torque than
unipolar motors of the same size. The draw back of
bipolar motors, compared to unipolar motors, is that
more complex control circuitry is required by bipolar
motors.
Current flow in the winding of a bipolar motor is
bidirectional. This requires changing the polarity of
each end of the windings. As shown in Figure 3,
current will flow from left to right in winding 1 when 1a
is positive and 1b is negative. Current will flow in the
opposite direction when the polarity on each end is
swapped. A control circuit, known as an H-bridge, is
used to change the polarity on the ends of one wind-
ing. Every bipolar motor has two windings, therefore,
two H-bridge control circuits are needed for each
motor. The H-bridge is discussed in more detail in the
Basic Control Circuits section.
FIGURE 3: BIPOLAR STEPPER MOTOR
Figure 3 illustrates a 30 degree per step bipolar motor.
Motor winding 1 is distributed between the top and
bottom stator poles, while motor winding 2 is distributed
between the left and right stator poles. The rotor is a
permanent magnet with 6 poles, 3 south and 3 north
arranged around its circumference.
Like a unipolar motor, bipolar motors can be single
stepped with two different control sequences. Using +
and - to indicate the polarity of the power applied to
each motor terminal and 0 to indicate no power is
applied, these sequences are shown in Example 5 for
one revolutions or 12 steps. The first sequence mini-
mizes power consumption by energizing only one wind-
ing at a time, while the second sequence maximizes
torque by energizing both windings at a time.
EXAMPLE 5:
Winding 1a: 11000001110000011100000111
Winding 1b: 00011100000111000001110000
Winding 2a: 01110000011100000111000001
Winding 2b: 00000111000001110000011100
time
Terminal 1a: + 0 - 0 + 0 - 0 + 0 - 0
Terminal 1b: - 0 + 0 - 0 + 0 - 0 + 0
Terminal 2a: 0 + 0 - 0 + 0 - 0 + 0 -
Terminal 2b: 0 - 0 + 0 - 0 + 0 - 0 +
time >
Terminal 1a: + + - - + + - - + + - -
Terminal 1b: - - + + - - + + - - + +
Terminal 2a: - + + - - + + - - + + -
Terminal 2b: + - - + + - - + + - - +
time >
AN907
DS00907A-page 4 2004 Microchip Technology Inc.
Combining these two sequences into one sequence
will half step the motor so that it moves in 15 degree
increments. The sequence for half stepping the motor
is shown in Example 6 for one revolution or 24 steps.
EXAMPLE 6:
Bifilar Motors
The term bifilar literally means two threaded. Motors
with bifilar windings are identical in rotor and stator to
bipolar motors with one exception each winding is
made up of two wires wound parallel to each other. As
a result, common bifilar motors have eight wires
instead of the four wires of a comparable bipolar motor.
Bifilar motors are driven as either bipolar or unipolar
motors. To use a bifilar motor as a unipolar motor, the
two wires of each winding are connected in series and
the point of connection is used as a center-tap. Winding
1 in Figure 4 shows the unipolar winding connection
configuration. To use a bifilar motor as a bipolar motor,
the two wires of each winding are connected in either
parallel or series. Winding 2 in Figure 4 shows the
parallel connection configuration. A parallel connection
allows for high current operation, while a series
connection allows for high voltage operation.
FIGURE 4: BIFILAR STEPPER MOTOR
Interestingly, unipolar motors are wound using bifilar
windings so that the external connection, which serves
as a center tap, is actually connected as shown for
winding 1 in Figure 4. As a result, unipolar motors may
be used as a bipolar motor at the rated voltage and half
the rated current specified for the motor. This statement
is based on the temperature and power constraints of a
motor.
Hybrid Motors
Hybrid motors share the operating principles of both
permanent magnet and variable reluctance stepping
motors. The rotor for a hybrid stepping motor is multi-
toothed, like the variable reluctance motor, and
contains an axially magnetized concentric magnet
around its shaft (see Figure 5). The teeth on the rotor
provide a path which helps guide the magnetic flux to
preferred locations in the air gap. The magnetic
concentric magnet increases the detent, holding and
dynamic torque characteristics of the motor when
compared with both the variable reluctance and
permanent magnet types.
In terms of stepping the motor, hybrid motors are driven
like unipolar and bipolar motors. Refer to the previous
sections Unipolar Motors and Bipolar Motors
for a description of how to make a hybrid motor turn.
FIGURE 5: HYBRID STEPPING MOTOR
Terminal 1a:
+ + 0 - - - 0 + + + 0 - - - 0 + + + 0 - - - 0 +
Terminal 1b:
- - 0 + + + 0 - - - 0 + + + 0 - - - 0 + + + 0 -
Terminal 2a:
0 + + + 0 - - - 0 + + + 0 - - - 0 + + + 0 - - -
Terminal 2b:
0 - - - 0 + + + 0 - - - 0 + + + 0 - - - 0 + + +
time >
Note: The torque generated by the motor during
this sequence is not constant as alternat-
ing steps have one and two windings
energized respectively.
2004 Microchip Technology Inc. DS00907A-page 5
AN907
CHOOSING A MOTOR
There are several factors to take into consideration
when choosing a stepping motor for an application.
Some of these factors are what type of motor to use,
the torque requirements of the system, the complexity
of the controller, as well as the physical characteristics
of the motor. The following paragraphs discuss these
considerations.
Variable Reluctance Versus Permanent
Magnet or Hybrid
Variable Reluctance Motors (VRM) benefit from the
simplicity of their design. These motors do not require
complex permanent magnet rotors, so are generally
more robust than permanent magnet motors.
With all motors, torque falls with increased motor
speed, but the drop in torque with speed is less
pronounced with variable reluctance motors. With
appropriate motor design, speeds in excess of 10,000
steps per second are feasible with variable reluctance
motors, while few permanent magnet and hybrid
motors offer useful torque at 5000 steps per second
and most are confined to speeds below 1000 steps per
second.
The low torque drop-off with speed of variable
reluctance motors allows use of these motors, without
gearboxes, in applications where other motors require
gearing. For example, some newer washing machines
use variable reluctance motors to drive the drum, thus
allowing direct drive for both the slow oscillating wash
cycle and the fast spin cycle.
Variable reluctance motors do have a drawback. With
sinusoidal exciting currents, permanent magnet and
hybrid motors are very quiet. In contrast, variable
reluctance motors are generally noisy, no matter what
drive waveform is used. As a result, permanent magnet
or hybrid motors are generally preferred where noise or
vibration are issues.
Unlike variable reluctance motors, permanent magnet
and hybrid motors cog when they are turned by hand
while not powered. This is because the permanent
magnets in these motors attract the stator poles even
when there is no power. This magnetic detent or
residual holding torque is desirable in some
applications, but if smooth coasting is required, it can
be a source of problems.
With appropriate control systems, both permanent
magnet and hybrid motors can be microstepped,
allowing positioning to a fraction of a step, and allowing
smooth, jerk-free moves from one step to the next.
Microstepping is not generally applicable to variable
reluctance motors. These motors are typically run in
full-step increments. Complex current limiting control is
required to achieve high speeds with variable
reluctance motors.
Unipolar Versus Bipolar
Permanent magnet and hybrid stepping motors are
available with either unipolar, bipolar or bifilar windings;
the latter can be used in either unipolar or bipolar
configurations. The choice between using a unipolar or
bipolar drive system rests on issues of drive simplicity
and power to weight ratio.
Bipolar motors have approximately 30% more torque
than an equivalent unipolar motor of the same volume.
The reason for this is that only one half of a winding is
energized at any given time in a unipolar motor. A
bipolar motor utilizes the whole of a winding when
energized.
The higher torque generated by a bipolar motor does
not come without a price. Bipolar motors require more
complex control circuitry than unipolar motors (see
Basic Control Circuits). This will have an impact on
the cost of an application.
If in doubt, a unipolar motor or bifilar motor are good
choices. These motors can be configured as a unipolar
or bipolar motor and the application tested with the
motors operating in either mode.
Hybrid Versus Permanent Magnet
In selecting between hybrid and permanent magnet
motors, the two primary issues are cost and resolution.
The same drive electronics and wiring options
generally apply to both motor types.
Permanent magnet motors are, without question, some
of the least expensive motors made. They are some-
times described as can-stack motors because the
stator is constructed as a stack of two windings
enclosed in metal stampings that resemble tin cans
and are almost as inexpensive to manufacture. In
comparison, hybrid and variable reluctance motors are
made using stacked laminations with motor windings
that are significantly more difficult to wind.
Permanent magnet motors are generally made with
step sizes from 30 degrees to 3.6 degrees. The
challenge of magnetizing a permanent magnet rotor
with more than 50 poles is such that smaller step sizes
are rare! In contrast, it is easy to cut finely spaced teeth
on the end caps of a permanent magnet motor rotor, so
permanent magnet motors with step sizes of 1.8
degrees are very common, and smaller step sizes are
widely available. It is noteworthy that, while most
variable reluctance motors have fairly coarse step
sizes, such motors can also be made with very small
step sizes.
Hybrid motors suffer some of the vibration problems of
variable reluctance motors, but they are not as severe.
They generally can step at rates higher than permanent
magnet motors, although very few of them offer useful
torque above 5000 steps per second.
AN907
DS00907A-page 6 2004 Microchip Technology Inc.
Functional Characteristics
Even when the type of motor is determined, there are
still several decisions to be made before selecting one
particular motor. Torque, operating environment,
longevity, physical size, step size, maximum RPM
these are some of the factors that will influence which
motor is chosen.
STEP SIZE
One of the most crucial decisions to make is the step
size of the motor. This will be determined by the
resolution necessary for a particular application. The
most common step sizes for PM motors are 7.5 and 3.6
degrees. This corresponds to 48 and 100 steps per
revolution respectively. Hybrid motors typically have
step sizes ranging from 3.6 degrees (100 steps per
revolution) to 0.9 degrees (400 steps per revolution).
Some stepping motors are sold with gear reductions
which provide smaller step angles than are possible
with even the finest stepping motors. Gear reductions
also increase the available torque, but because torque
falls with stepping rate, they decrease the maximum
rotational speed.
For linear movement, many stepper motors are
coupled to a lead screw by a nut (these motors are also
known as linear actuators). Even coarse steps with this
arrangement translate to very fine movements of the
lead screw because of the gear reduction inherent to
this mechanism.
TORQUE
Torque is a critical consideration when choosing a
stepping motor. Stepper motors have different types of
rated torque. These are:
Holding torque The torque required to rotate the
motors shaft while the windings are energized.
Pull-in torque The torque against which a motor
can accelerate from a standing start without
missing any steps, when driven at a constant
stepping rate.
Pull-out torque The load a motor can move
when at operating speed.
Detent torque The torque required to rotate the
motors shaft while the windings are not
energized.
Stepping motor manufacturers will specify several or all
of these torques in their data sheets for their motors.
The dynamic torques, pull-in and pull-out, are a
function of step rate. These torques are important for
determining whether or not a stepping motor will slip
when operating in a particular application. A slip
refers to the motor not moving when it should or moving
when it should not (overrunning a stop). In either case,
the result is the controller will no longer know the
position of the motor. Open loop positioning fails in this
case. The motor must be adequately sized to prevent
this from happening or a closed loop feedback system
employed.
The pull-in torque offered by a stepping motor depends
strongly on the moment of inertia of any load rigidly
attached to the motor. This makes this torque figure
somewhat problematic because the moment of inertia
of the rig used to measure this torque is rarely stated in
manufacturers data sheets and is rarely equal to the
moment of inertia of the load actually driven in the
application.
Most manufacturers provide torque curves in their data
sheets. Figure 6 shows an example of a torque curve
for a stepping motor.
2004 Microchip Technology Inc. DS00907A-page 7
AN907
FIGURE 6: TORQUE VS. SPEED
LONGEVITY
Another factor to consider when choosing a motor is
the longevity of the motor. Some of the questions asked
should be:
How long does the motor need to work properly?
What environmental hazards will the motor be
subjected to?
What heat will the motor operate at?
Is the motors operation continuous or
intermittent?
Stepper motors by their very nature are more robust
than other types of motors because they do not have
brushes that will wear out over time. Typically, other
components in a particular system will wear out long
before the motor ever will. However, all stepper motors
are not created equal and even the best motors will fail
if the proper considerations are not made. The
following are some design guidelines that influence
motor longevity:
Ball bearings vs bronze bushings Ball bearings
last longer than bronze bushings and do not
generate as much heat, but they cost more.
Motors that run near their rated torque will not last
as long as those that do not. Motors should be
chosen so that they will run at 40-60% of their
torque rating.
Protect the motor from harsh environments.
Exposure, humidity, harsh chemicals, dirt and
debris will all take their toll on a motor.
Ensure adequate cooling. Motors generate heat
and this must be dissipated. For motors that
include an integral heat sink, ensure adequate
circulation of cooling air. Other motors are
designed to be cooled by conduction to the
chassis on which the motor is mounted. Hybrid
motors that sue rare-earth magnets are
particularly heat sensitive.
Finally, motors should be driven properly. This
means special care should be taken to ensure the
current rating of the windings are not exceeded.
This will be discussed in depth in the Current
Limiting section.
BASIC CONTROL CIRCUITS
This section will show the basic circuits needed to drive
the various types of stepping motors. These circuits will
be expanded on later in the Current Limiting
section to include current limiting considerations.
Variable Reluctance
Variable reluctance motors have multiple windings,
typically three to five, which are all tied together at one
end. The windings are turned on one at a time in a
particular sequence to turn the motor.
Figure 7 shows the basic circuit for driving a variable
reluctance motor. Note the diodes across the windings.
As with all inductive loads, as voltage is switched on
across a winding, the current in the winding begins
ramping up. When the switching MOSFET for the
winding is turned off a voltage spike is produced that
can damage the transistor. The diode protects the
MOSFET from the voltage spike assuming the diode is
adequately sized.
0
5
10
15
20
25
30
35
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Speed (Steps Per Second)
T
o
r
q
u
e

(
N
-
m
)
PULL-OUT
PULL-IN
AN907
DS00907A-page 8 2004 Microchip Technology Inc.
FIGURE 7: VARIABLE RELUCTANCE MOTOR CONTROL CIRCUIT.
Unipolar
The basic control circuit for a unipolar motor, shown in
Figure 8, is similar to that for a variable reluctance
motor. Note the extra diodes across each of the
MOSFETs. These are necessary because the inductor
is center tapped in unipolar motors. When one end of
the motor winding is pulled down, the other end will rise
and visa versa. These diodes prevent the voltage from
falling below ground across the MOSFETs.
Some MOSFETs have integral diodes that allow
reverse current to flow unimpeded, regardless of the
gate voltage. If such transistors are used, and if these
integral diodes have sufficient current carrying capacity
to carry the full motor current, the lower diodes shown
in Figure 8 can be omitted. All of the diodes must have
switching speeds comparable to the speed of the
transistors.
FIGURE 8: UNIPOLAR MOTOR CONTROL CIRCUIT
VSUPPLY
To
A
B
C
Controller
To
A
B
C
D
VSUPPLY
Controller
To
Controller
2004 Microchip Technology Inc. DS00907A-page 9
AN907
Bipolar
The basic circuit for driving the windings of a bipolar
motor is the H-bridge, shown in Figure 9. An H-bridge
can be configured to allow current to flow in either
direction across a winding. Referring to Figure 9,
current will flow from left to right in Winding 1 when
MOSFETs Q1 and Q4 are turned on while Q2 and Q3
are off. Current will flow from right to left when Q2 and
Q3 are on while Q1 and Q4 are off.
H-bridges have one inherent danger that should be
mentioned. Under no circumstances should the
transistors on the same side of the bridge be switched
on at the same time. This will cause a short which will
damage the control circuit. Special care should be
made to switch all MOSFETs off before turning the next
set of MOSFETs on.
The diodes in parallel with each of the MOSFETs
protect the MOSFETs from voltage spikes caused by
switching the inductor. These diodes must be
adequately sized in order to prevent damage to the
MOSFET or diode itself.
As pointed out for unipolar motors, some MOSFETs
have integral diodes; in fact, these are shown in the
schematic representation for MOSFETs used in
Figure 9; if these are able to conduct the full motor
current, the additional diodes shown in the figure can
be omitted.
FIGURE 9: BIPOLAR MOTOR CONTROL CIRCUIT
Note: Transistors Q2 and Q4 are N-channel
MOSFETs and therefore require a positive
bias on turn-on. Q1 and Q3 are P-channel
MOSFETs, requiring a negative bias to
turn-on. An alternate H-bridge design
uses identical MOSFETs for all 4 transis-
tors, and uses charge-pump and level
shifting circuitry to drive the gates of the
upper transistors shown in Figure 9.
VSUPPLY
A1
B1
C1
D1
A2
B2
C2
D2
T
o

C
o
n
t
r
o
l
l
e
r
T
o

C
o
n
t
r
o
l
l
e
r
Q7
Q8
Q5
Q6
Winding 2
Winding 1
Q1
Q2
Q3
Q4
AN907
DS00907A-page 10 2004 Microchip Technology Inc.
MICROSTEPPING
Single stepping a motor results in jerky movements of
the motor, especially at lower speeds. Microstepping is
used to achieve increased step resolution and
smoother transitions between steps. In most applica-
tions, microstepping increases system performance
while limiting noise and resonance problems.
Microstepping works on the principle of gradually
transferring current from one winding to another. This is
achieved by pulse-width modulating the voltage across
the windings of a motor. The duty cycle of the signal
charging one winding is decreased as the duty cycle of
the signal charging the next winding is increased.
In order to understand the fundamentals of microstep-
ping, its necessary to look at the torque exerted by a
stepper motor as it turns. Figure 10 shows a graph of
torque verses rotor position for an ideal two-winding
stepper motor. Note the sinusoidal shape of the wave-
forms; in real motors, these waveforms will only be
approximately sinusoidal, and the sum of the torques
from the two windings will not be the perfect arithmetic
sum of the torques with just one or the other winding
powered.
FIGURE 10: TORQUE VS. ANGULAR POSITION FOR AN IDEAL TWO WINDING MOTOR
The desired motion of a stepper motor is linear. This
means the steps should be equal in size with no notice-
able acceleration or deceleration of the shaft as the
motor turns. Good microstepping implementations
strive to get as near to this linear motion as possible.
The torque curve for one winding of the ideal two
winding stepping motor in Figure 10 can be expressed
mathematically by the following equation:
EQUATION 1:
The torque of the second winding is expressed by the
following equation.
EQUATION 2:
A technique referred to as sine-cosine microstepping
adjusts the current in each winding so the net torque is
constant. In an ideal motor, the torque produced by
each winding is proportional to the current in that
winding, and the torques add linearly. Saturation and
fringe-field effects make real motors non-ideal, but in
practice, they are close enough that we can ignore
these nonlinearities. As a result, if we want to hold the
motor rotor at the angle , we can do so by setting the
currents through the motor windings to the values given
in Equation 3 and Equation 4.
+3S +6S
Angular Position
H
o
l
d
i
n
g

T
o
r
q
u
e
1st Winding
2nd Winding
Combined
Windings
where T
1
= torque of the first winding
H = holding torque
S = step angle, in radians
= shaft angle, in radians
T
1
= Hsin(((/2)/S))
T
2
= Hcos(((/2)/S))
2004 Microchip Technology Inc. DS00907A-page 11
AN907
EQUATION 3:
EQUATION 4:
These equations assume that the current in the
windings will not exceed IMAX. The next section will talk
about current limiting considerations.
A second way to implement microstepping maximizes
torque in a bipolar stepping motor, though the torque is
not constant while the motor turns. In this method, one
winding is energized while the current flow in the other
winding is ramped down, reversed and then ramped up
again. The second winding then remains energized
while the first winding undergoes the polarity reversal.
Like the sine-cosine microstepping method, smooth
movement of the motor is achieved with this method by
changing the current in the windings in a sinusoidal
fashion. Figure 11 shows the way the current in each
winding is altered as the shaft turns.
FIGURE 11: BIPOLAR MICROSTEPPING FROM MAXIMUM TORQUE
I
1
= IMAX cos(((/2)/S)/)
I
2
= IMAX sin(((/2)/S)/)
+3S +6S +9S
Angular Position (S = rated step size)
C
u
r
r
e
n
t
1st Winding
2nd Winding
AN907
DS00907A-page 12 2004 Microchip Technology Inc.
In an ideal motor, microstepping can be used to achieve
arbitrarily fine angular resolution, but in practice friction
and departures from the ideal sinusoidal torque versus
shaft angle curve make this impractical. In practice, it is
rarely worthwhile to subdivide each motor step into
more than 32 microsteps, and even this is generous!
Using 32 microsteps per step, we can step in
increments of 0.23 degrees using an inexpensive
permanent magnet motor with 7.5 degrees per step.
We could achieve the same resolution using 1:32
reduction gearing, but this introduces backlash and it
reduces the maximum speed. Compared to microstep-
ping, gearing has the benefit of increasing the torque
and position-holding stiffness of the motor.
It is impractical to calculate the sine or cosine of the
duty cycle for the PWM signal supplying a winding
because the time to process the calculation and code
space needed. Its more practical to have a sine look-
up table with the values for the duty cycle. In practice,
only one look-up table is needed because cosine is just
an offset of sine. The look-up table pointers corre-
sponding to each winding just need to be offset by 90
degrees.
Microstepping Limitations
The previous discussion assumed an ideal two winding
stepping motor. There are several factors that affect the
linearity of microstepping in real motors. The first
limitation is static friction in the system. Figure 10
shows a graph of torque verses position of the motor
shaft. Figure 12 shows this same graph (for one
winding) with the dotted lines representing the effect
static friction has on the system. Redrawing the graph
in Figure 12 to show only the available torque for a
single winding results in the graph shown in Figure 13.
Note the resulting dead zone between the zones of
available torque. Also note that the magnitude of torque
overall is less than the ideal case.
FIGURE 12: STATIC FRICTION IMPOSED ON TORQUE VS ANGULAR POSITION
FIGURE 13: MOTOR TORQUE MINUS STATIC FRICTION
+1S +2S +3S +4S +5S +6S +7S +8S
Angular Position
H
o
l
d
i
n
g

T
o
r
q
u
e
+1S +2S +3S +4S +5S +6S +7S +8S
Angular Position
H
o
l
d
i
n
g

T
o
r
q
u
e
2004 Microchip Technology Inc. DS00907A-page 13
AN907
The dead zone has an impact on microstepping
because it limits the angular resolution of the stepping
motor. It also makes it impossible to produce perfectly
smooth transitions between steps.
Another limitation to microstepping is the fact that the
torque verses position curve is not perfectly sinusoidal
for real motors. The toothed shape of the rotor and
other physical characteristics of the motor contribute to
this. Figure 14 shows a plot of actual position vs.
expected position for a typical motor.
FIGURE 14: REAL VS ACTUAL ROTOR
POSITION
The digital nature of the motor drive circuitry poses two
additional limits on the accuracy of microstepping. If
current levels through the motor windings are produced
from digital data, either by using analog-to-digital
converters or by measuring the current using digital-to-
analog converters, the precision of these conversions
introduces problems. In addition, if the currents through
the motor windings are set by pulse-width modulation,
once the stepping rate comes anywhere near the pulse
rate used for current control, the precision of the
current control system becomes almost meaningless.
CURRENT LIMITING
Stepping motors are often run at voltages higher than
their rated voltage. Although this is not necessarily the
case for very small stepper motors, high torque stepper
motors need to run at higher voltages in order for the
motor to reach its full potential. Increasing the voltage
supplied to a motor increases the rate at which current
rises in the windings of the motor. The more responsive
current in the windings, the greater the torque and
speed characteristics of the motor. This section will
explain why performance is boosted and what role
current limiting plays in this process.
Stepper Motor Winding Model
In order to understand why running stepper motors at
high voltage is beneficial to motor performance, it is
necessary to look at the behavior of current in the
windings of a stepping motor. A winding can be
modeled as the inductive-resistive circuit shown in
Figure 15.
FIGURE 15: RESISTIVE-INDUCTIVE
WINDING MODEL
There are three components to this model: the supply
voltage, the resistance of the winding (R) and the
inductance of the winding (L).
Figure 16 shows how current behaves over time when
the supply voltage is applied.
FIGURE 16: WINDING CURRENT VS
TIME
+
-
V
R
L
Motor/Winding
t = t
1
IMAX =
V
R
Time
IMAX
dI
dt
(t = 0) =
V
L
Current
t = t
1
dI
dt
(t = t
1
)
V
L
=
AN907
DS00907A-page 14 2004 Microchip Technology Inc.
The current rises exponentially until IMAX is reached.
Current as a function of time is given by:
EQUATION 5:
The instantaneous rate that current rises when voltage
is first applied is given by:
EQUATION 6:
Ohms law governs the maximum current level.
EQUATION 7:
The current in the winding will remain at IMAX until the
supply voltage is switched off. Referring to Figure 16,
the current drops exponentially when the voltage
supply is removed. Current, as a function of time, drops
according to:
EQUATION 8:
The instantaneous rate that the current drops when
voltage is removed is given by:
EQUATION 9:
These equations show that current rises and falls for a
given winding as a function of the supply voltage and
the internal resistance of the winding. It is important to
understand this relation when applying a higher than
specified voltage to a stepping motor. The reason it is
important is that the current in the windings of a
stepping motor must never exceed the maximum
specified current (IMAX)
(1)
. Running a motor at high
voltage but not taking into consideration current
limitations can be very detrimental to motor life, the
driver circuitry, and the well being of people who come
in contact with the motor (the motor gets really hot!).
Referring to Equation 5 and Equation 6, the rate that
current rises in a winding is increased by using a higher
supply voltage. Equation 7, however, shows that IMAX
is also affected by increasing the supply voltage. So
how can the rise time be improved without the current
exceeding IMAX? The simplest way is to add resistance
in series with the motor.
In-series Resistance
The first way to increase the supply voltage without
exceeding IMAX is to connect a power resistor in series
with each winding of the motor. Figure 17 shows this
circuit. In the circuit shown, the magnitude of the supply
voltage is tripled (2V). This requires that a power
resistor equivalent to two times the internal resistance
of the winding (R) be added. This brings the total
resistance of the circuit to 2R. Notice the resistance
and voltage are increased proportionally so that
Equation 3 is still satisfied and IMAX is unchanged (i.e.,
IMAX = 2V/2R = V/R).
FIGURE 17: WINDING MODEL WITH
ADDITIONAL RESISTANCE
Figure 18 shows how current rise time is affected by
increasing the supply voltage and resistance. The rise
time is improved, therefore, the performance of motor
is improved. However, in order to achieve this perfor-
mance boost, the efficiency of the system has dropped
significantly with the introduction of a power resistor.
The power resistor limits current in a less than efficient
manner by burning it off as heat. Depending on the
magnitude of the voltage supply increase, the power
resistor may be extremely large and expensive. For
battery controlled operation, the run time of the system
is significantly reduced by the power wasted in the
power resistor.
FIGURE 18: CURRENT VS TIME
Note 1: IMAX is a specification found in the
stepper motor manufacturers data sheet.
I(t) = (V/R) (1 - e
-t R/L
)
dI/dt(t = 0) = V/L
IMAX = V/R
I(T) = (V/R) E
-(T-T1) R/L
dI/dt = -V/L
+
-
V
R
L
+
-
V
R
C
u
r
r
e
n
t
IMAX =
V
R
=
2V
2R
Time
2
1
2004 Microchip Technology Inc. DS00907A-page 15
AN907
Another drawback of using a power resistor is that it
does not optimize the rise time of the current in a
winding. Referring to Equation 5 again, increasing
resistance has an adverse affect on the rise time.
Though increasing the voltage supply and resistance
proportionally produces a better rise time than not
increasing either, it would be ideal to increase the
supply voltage without adding resistance in series with
the winding. So how can the supply voltage be
increased without the addition of resistance and the
current still not rise above the motors rated IMAX? The
answer is to use two supply voltages.
Two Power Supplies
Applying a high voltage to the winding until IMAX is
reached and then dropping the voltage to a level that
will maintain IMAX is the most efficient way to improve
the performance of a stepping motor. One way to do
this involves the use of two power supplies. Figure 19
shows what this circuit might look like.
FIGURE 19: TWO SUPPLY VOLTAGES
The circuit requires a way to switch from one power
supply to the other. The time at which power is
switched from one supply to the other can be controlled
by either a closed loop or an open loop system. In the
case of an open loop system, Equation 5 is used to
calculate the length of time that the high voltage is
applied to the winding before switching to the low
voltage supply. For closed loop control, a small current
sensing resistor provides feedback to the controller and
the voltage is switched when IMAX is reached. This will
be talked about more in the next section (chopping
circuits) and is applicable to using two power supplies.
Figure 20 shows how the current behaves for the three
situations discussed thus far:
1. Using the rated voltage
2. Using high voltage with a power resistor
3. Using high voltage during the rise time of the
current to IMAX and then switching to the rated
voltage
FIGURE 20: CURRENT VS TIME
Note that using two voltage supplies yields the best
results. The current rises rapidly and then remains at
IMAX when supply voltage is switched. This method
also has the added benefit of being power efficient
compared to adding a in-series resistor. One drawback
to the two voltage supply method, however, is that
using two separate supplies is often impractical in most
applications. Rarely are two voltage supplies available
for a given application and using two supplies is far less
cost effective than using just one. So how can one
voltage supply be used to accomplish this task? The
solution is the use of chopper control.
Chopper Control
Chopper control is a way to limit the current in the
winding of a stepping motor when using a high voltage
supply (a voltage higher than a motors rated voltage).
This method is very suitable when using a microcon-
troller for stepping motor control because limited
additional microcontroller resources are required. The
basic idea behind chopper control is to use a high
voltage source to bring the current in the winding of a
stepping motor up to IMAX very quickly. When IMAX is
reached the voltage is chopped or switched off. A
pulse-width modulated waveform is used to create an
average voltage and an average current equal to the
nominal voltage and current for the winding. The duty
cycle of this PWM waveform is shown in the following
relation:
EQUATION 10:
A comparison of current and the voltage applied to the
winding over time is shown Figure 21.
+
-
V
+
-
V
+
-
V
C
u
r
r
e
n
t
IMAX =
V
R
Time
2V
R
2 1
3
D = VNOMINAL/VSUPPLY
Where VNOMINAL = IMAX/r
AN907
DS00907A-page 16 2004 Microchip Technology Inc.
FIGURE 21: CURRENT AND SUPPLY
VOLTAGE COMPARISON
FOR CHOPPER CONTROL
As Figure 21 indicates, the voltage supply is switched
on until IMAX is reached. Thereafter, the voltage is
modulated to limit the current in the winding to IMAX.
There are many different ways to implement chopper
control using a microcontroller. The following circuit
illustrates a hardware-based design. More discussion
about chopper control as it relates to microcontrollers
will be covered in the next section (Microcontroller
Control of a Stepping Motor.)
Figure 22 shows what one possible chopper circuit
looks for in a bipolar motor. The way this circuit works
is that the voltage across the current sense resistor
(RSENSE) is compared to a control voltage (VCONTROL)
which is predetermined according to:
EQUATION 11:
In practice, the sense resistor should be as small as
possible while still allowing VCONTROL to be easily
measurable. Values of VCONTROL between 0.6 volts
(one silicon diode drop) and 5 volts are common, and
sense resistances on the other of 1/2 or 1 ohm are
common. Generally, the voltage across RSENSE should
not exceed 10% of the supply voltage! For very high
current motors, current sensing using Hall-effect
sensors and other advanced technologies can greatly
reduce losses from current sensing.
When VSENSE rises above VCONTROL, the voltage
across the winding is switched off. The passive compo-
nents connected to the comparator provide hysteresis
so that the voltage is not reapplied until:
VSENSE = VCONTROL - Vx, where Vx is a small voltage.
Hysteresis is necessary to prevent limiting the
frequency with which the comparator and MOSFETs
chop the supply voltage. Both thermal switching losses
in the MOSFETs and radio frequency dissipation from
the entire circuit rise with chopping frequency, so this
frequency should generally be held in the audio range
but well above the maximum expected stepping rate.
Current Limiting For Microstepping
Current limiting is an integral part of microstepping.
Microstepping varies the current sinusoidually between
0 and IMAX, rather than bringing the current up to IMAX
as quickly as possible. Microstepping can be combined
with the high voltage supply current limiting techniques
talked about in this section in order to improve the
responsiveness of a motor when microstepping. When
microstepping at a high voltage, the duty cycle of wave-
forms modulating each of the windings must be limited
so that the current in the windings never exceeds IMAX.
For instance, if a 5V stepping motor is being driven by
a 10V peak-to-peak waveform, the duty cycle of the
waveform should never exceed 50%.
With reference to Figure 22, microstepping could be
implemented by deriving VCONTROL from the output of
a digital-to-analog converter in the controller; some
motor driver chips even include 3-bit internal DACs
along with the comparator and final-stage drive
circuitry.
IMAX
Time
W
i
n
d
i
n
g

C
u
r
r
e
n
t
Time
S
u
p
p
l
y

V
o
l
t
a
g
e
VCONTROL = RSENSE IMAX
2004 Microchip Technology Inc. DS00907A-page 17
AN907
FIGURE 22: CHOPPER CIRCUIT
Understanding Motor Specifications
Low performance stepper motors are purposefully built
with a high internal resistance so that they can be run
on a typical voltage source, usually 5V to 12V. These
motors do not produce much torque for their size, nor
do they spin very fast. They can be run without current
limiting considerations as long as they are driven at
their rated voltage. However, higher motor perfor-
mance (speed and torque) can be achieved by running
these motors at higher voltages.
High torque stepping motors are a different story all
together. These motors have very small internal
resistances and run at high currents. An example of a
high performance motor would be a motor with the
specifications shown in Table 1. The statement of
holding torque in Table 1 is typical of many motor
manufacturers, using kilograms as a measure of force.
This must be converted to dyne-centimeters or newton-
meters before doing any physical calculations.
TABLE 1: HIGH PERFORMANCE STEPPING MOTOR SPECIFICATION
To Control
A B
VCONTROL
RSENSE
To Controller
VSUPPLY
Comparator
Step
Angle
Voltage Current Resistance Inductance
Holding
Torque
Rotor
Inertia
Number
of Leads
Weight
Deg V A/Phase Ohm/Phase mH/Phase kg-cm g-cm
2
LEAD kg
1.8 1.8 4.5 0.4 0.96 16 570 6 1.4
AN907
DS00907A-page 18 2004 Microchip Technology Inc.
Notice the voltage specification 1.8V. Running the
motor at this voltage will yield terrible performance in
terms of speed and torque. High performance
stepping motors are intended to be driven at higher
voltages with current limiting considerations.
As discussed earlier, motor windings have some
internal resistance (R). This resistance is a function of
wire diameter, the number of turns and the resistivity of
the winding material. This resistance is ultimately what
determines the maximum current that a winding should
be subjected to. The power loss of a winding is given
by:
EQUATION 12:
The maximum current allowed in a motor winding must
not overheat the motor, it must not drive the magnetic
circuits into saturation and it must not produce motor
fields that are sufficient to demagnetize the motor rotor.
In a well designed permanent magnet motor, when
both motor windings are run at IMAX and the motor is
properly mounted and ventilated, it will be very close to
both its thermal and magnetic limits. This is why it is so
critical that the drive circuitry should never permit
currents exceeding IMAX.
The voltage specification given on motor data sheets is
simply the maximum voltage across a motor winding
that will produce a current equal to IMAX given the
internal resistance of the winding. As stated earlier,
IMAX is the critical specification for a motor that should
not be exceeded. The voltage specification for a motor
is simply the voltage that will produce a current equal to
IMAX given the internal resistance of the winding.
Equation 7 shows this relation. Referring to Table 1,
multiplying current per phase by the ohms per phase
results in the rated voltage.
BASIC MICROCONTROLLER
STEPPING MOTOR CONTROL
This section discusses using PIC

microcontrollers for
stepper motor control. There are several peripherals
available on Microchip parts that make controlling a
stepping motor more precise. Any PIC microcontroller
can be used to control a stepper motor. However,
depending on the complexity of the control desired (i.e.,
microstepping and current limiting), it can be very
advantageous to choose a microcontroller with select
peripherals that will take care of most of the stepper
motor overhead.
Capture Compare PWM module
The Capture Compare PWM (CCP) module is available
on many PIC microcontrollers. This peripheral is useful
in stepping motor applications for its pulse-width
modulation capabilities. In PWM mode, the CCP
module will provide a PWM waveform on the CCP1 pin.
The 10-bit duty cycle of the waveform is set by the
CCPR1L and CCP1CON registers. Frequency is
determined by the Timer2 prescaler value, the PR2
register and the clock speed of the device.
The CCP module is very useful when microstepping.
Figure 23 shows a circuit in which the PIC16F73 is
interfaced to a unipolar motor. The PIC16F73 has two
CCP modules. This implementation allows for sine-
cosine microstepping in which two windings are
modulated simultaneously (refer to the microstepping
section for a definition).
In this example, CCP1 modulates the voltage across
alternating sides of winding 1 based on the input from
pin RB1. Winding 2 is configured in the same manner
using CCP2 and pin RB2.
If the circuit in Figure 23 is used with VSUPPLY equal to
VNOMINAL for the motor, duty cycles for the choppers
can be run from 0 to 100% for microstepping. If the
VSUPPLY is above VNOMINAL, the maximum duty cycle
for each chopper must be reduced proportionally.
ENHANCED CCP PWM MODULE
The Enhanced Capture Compare module available on
many PIC microcontrollers offers the same functionality
as the CCP module, plus several additional features.
The enhanced PWM mode has full-bridge and half-
bridge support, programmable dead band delay and
auto shutdown. Full-bridge mode is useful for imple-
menting microstepping control for a bipolar motor.
Figure 24 shows how the output pins of one ECCP
module can be multiplexed to the windings of a bipolar
motor using added external AND-invert logic gates.
The microstepping technique used here is high-torque
microstepping in which the voltage applied to only one
winding is modulated at any given time (see the
Microstepping Section for a definition of high-torque
microstepping).
The TC4469 dual H-bridge shown in Figure 24 is a
logic-input CMOS quad driver developed by Microchip.
This IC is a MOSFET driver but can be used to drive
small stepper motors that require very little current
(under 200 mA). The output stage of each gate on the
TC4469 is a half-bridge.
PLOSS = R IMAX
2
Note: The PWM waveform is inverted from one
side of the winding to the other.
2004 Microchip Technology Inc. DS00907A-page 19
AN907
FIGURE 23: UNIPOLAR MICRO STEPPING
FIGURE 24: BIPOLAR MICROSTEPPING USING THE ECCP MODULE
VDD
20
8
19
13
22
12
23
PIC16F73
VDD
VSS
VSS
CCP1
RB1
CCP2
RB2
Winding2
VSUPPLY
Winding1
VDD
VDD
VSS
RA1
RC7
RB1
1
7
5
8
6
PIC16F684
14
U1
RC3
VDD
VSUPPLY
U2
VDD
1A
1B
2B
3A
14
3B
4A
4B
2A
1
2
3
4
5
6
8
9
GND
7
TC4469
1Y
2Y
3Y
4Y
13
12
11
10
W
i
n
d
i
n
g
2
W
i
n
d
i
n
g
1
AN907
DS00907A-page 20 2004 Microchip Technology Inc.
COMPARATORS
The current limiting section discussed how compara-
tors can be used in chopper circuits. Several PIC
microcontrollers have on-chip comparators that can be
used to accomplish this task. The comparators can be
used to chop the input directly in hardware or can
generate a software interrupt in the microcontroller
indicating IMAX has been reached. When an interrupt is
generated, the PIC microcontroller can modulate the
voltage across the winding so that the average voltage
equals the nominal voltage for the phases of the
stepping motor. This functionality can be accomplished
by a CCP or ECCP module.
A/D CONVERTERS
The same functionality just discussed can also be
accomplished by feeding the output of the sense resis-
tor into a PIC A/D converter by way of an operational
amplifier. The way this works is the A/D converter is
read continually by the microcontroller. When the value
generated by the A/D converter indicates IMAX is
reached, the microcontroller will modulate the voltage
across the winding so that Vnominal is maintained.
CONCLUSION
Stepper motors are ideally suited for measurement and
control applications. The step resolution and
performance of these motors can be improved through
a technique called microstepping. Stepping motor per-
formance can also be improved by driving these motors
at a voltage greater than what they are rated for. If
higher voltage is used to boost performance, then
current limiting considerations must be taken into
account.
PIC

microcontrollers are able to drive all the different


types of stepping motors: variable reluctance,
permanent magnet and hybrid. Single-stepping, half-
stepping, microstepping and current limiting are all
stepper motor drive techniques that are well within the
utility of PIC microcontrollers. The CCP, ECCP and
comparator modules available in Microchips microcon-
troller line allow for the implementation of the more
advanced stepping motor control techniques, namely
microsteppng and current limiting. In summary, PIC
microcontrollers are an ideal choice for stepping motor
control.
REFERENCES
Stepping Motor Tutorial by Dr. Douglas W. Jones
(http://www.cs.uiowa.edu/~jones/step/#introduction),
Copyright 1995
Stepper Motor Tutorial by Rustie Laidman
(http://209.41.165.153/stepper/), Copyright 2000
Article: The Rise of VSR Motor, Greg Paula,
Mechanical Engineering Magazine; Copyright 1998 by
The American Society of Mechanical Engineers
Drive Circuit Basics, Industrial Circuits Application
Notes, (http://library.solarbotics.net/pdflib/pdf/drive.pdf)
AN822, Stepper Motor Microstepping with PIC18C452,
Microchip Technology Inc.
The Handbook of Small Electric Motors, Yeadon and
Yeadon, Eds, McGraw Hill, 2001
HTTP://www.cs.uiowa.edu/~jones/step/
Shinano Kenshi Corporation, (http://www.shinano.com/
stepper.htm)
Note: In practice, the comparator implementa-
tion uses less processor resources than
the ADC implementation. The comparator
implementation also yields a faster
response.
2004 Microchip Technology Inc. DS00907A-page 21
Information contained in this publication regarding device
applications and the like is intended through suggestion only
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
No representation or warranty is given and no liability is
assumed by Microchip Technology Incorporated with respect
to the accuracy or use of such information, or infringement of
patents or other intellectual property rights arising from such
use or otherwise. Use of Microchips products as critical
components in life support systems is not authorized except
with express written approval by Microchip. No licenses are
conveyed, implicitly or otherwise, under any intellectual
property rights.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, KEELOQ, MPLAB, PIC, PICmicro, PICSTART,
PRO MATE, PowerSmart and rfPIC are registered
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
AmpLab, FilterLab, microID, MXDEV, MXLAB, PICMASTER,
SEEVAL, SmartShunt and The Embedded Control Solutions
Company are registered trademarks of Microchip Technology
Incorporated in the U.S.A.
Application Maestro, dsPICDEM, dsPICDEM.net,
dsPICworks, ECAN, ECONOMONITOR, FanSense,
FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP,
ICEPIC, Migratable Memory, MPASM, MPLIB, MPLINK,
MPSIM, PICkit, PICDEM, PICDEM.net, PICtail, PowerCal,
PowerInfo, PowerMate, PowerTool, rfLAB, Select Mode,
SmartSensor, SmartTel and Total Endurance are trademarks
of Microchip Technology Incorporated in the U.S.A. and other
countries.
Serialized Quick Turn Programming (SQTP) is a service mark
of Microchip Technology Incorporated in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
2004, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
Note the following details of the code protection feature on Microchip devices:
Microchip products meet the specification contained in their particular Microchip Data Sheet.
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip's Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
Microchip is willing to work with the customer who is concerned about the integrity of their code.
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as unbreakable.
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchips code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Microchip received ISO/TS-16949:2002 quality system certification for
its worldwide headquarters, design and wafer fabrication facilities in
Chandler and Tempe, Arizona and Mountain View, California in October
2003. The Companys quality system processes and procedures are for
its PICmicro

8-bit MCUs, KEELOQ

code hopping devices, Serial
EEPROMs, microperipherals, nonvolatile memory and analog
products. In addition, Microchips quality system for the design and
manufacture of development systems is ISO 9001:2000 certified.
DS00907A-page 22 2004 Microchip Technology Inc.
AMERICAS
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support: 480-792-7627
Web Address: http://www.microchip.com
Atlanta
3780 Mansell Road, Suite 130
Alpharetta, GA 30022
Tel: 770-640-0034
Fax: 770-640-0307
Boston
2 Lan Drive, Suite 120
Westford, MA 01886
Tel: 978-692-3848
Fax: 978-692-3821
Chicago
333 Pierce Road, Suite 180
Itasca, IL 60143
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
4570 Westgrove Drive, Suite 160
Addison, TX 75001
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Tri-Atria Office Building
32255 Northwestern Highway, Suite 190
Farmington Hills, MI 48334
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
2767 S. Albright Road
Kokomo, IN 46902
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
18201 Von Karman, Suite 1090
Irvine, CA 92612
Tel: 949-263-1888
Fax: 949-263-1338
San Jose
1300 Terra Bella Avenue
Mountain View, CA 94043
Tel: 650-215-1444
Fax: 650-961-0286
Toronto
6285 Northam Drive, Suite 108
Mississauga, Ontario L4V 1X5, Canada
Tel: 905-673-0699
Fax: 905-673-6509
ASIA/PACIFIC
Australia
Suite 22, 41 Rawson Street
Epping 2121, NSW
Australia
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Unit 706B
Wan Tai Bei Hai Bldg.
No. 6 Chaoyangmen Bei Str.
Beijing, 100027, China
Tel: 86-10-85282100
Fax: 86-10-85282104
China - Chengdu
Rm. 2401-2402, 24th Floor,
Ming Xing Financial Tower
No. 88 TIDU Street
Chengdu 610016, China
Tel: 86-28-86766200
Fax: 86-28-86766599
China - Fuzhou
Unit 28F, World Trade Plaza
No. 71 Wusi Road
Fuzhou 350001, China
Tel: 86-591-7503506
Fax: 86-591-7503521
China - Hong Kong SAR
Unit 901-6, Tower 2, Metroplaza
223 Hing Fong Road
Kwai Fong, N.T., Hong Kong
Tel: 852-2401-1200
Fax: 852-2401-3431
China - Shanghai
Room 701, Bldg. B
Far East International Plaza
No. 317 Xian Xia Road
Shanghai, 200051
Tel: 86-21-6275-5700
Fax: 86-21-6275-5060
China - Shenzhen
Rm. 1812, 18/F, Building A, United Plaza
No. 5022 Binhe Road, Futian District
Shenzhen 518033, China
Tel: 86-755-82901380
Fax: 86-755-8295-1393
China - Shunde
Room 401, Hongjian Building, No. 2
Fengxiangnan Road, Ronggui Town, Shunde
District, Foshan City, Guangdong 528303, China
Tel: 86-757-28395507 Fax: 86-757-28395571
China - Qingdao
Rm. B505A, Fullhope Plaza,
No. 12 Hong Kong Central Rd.
Qingdao 266071, China
Tel: 86-532-5027355 Fax: 86-532-5027205
India
Divyasree Chambers
1 Floor, Wing A (A3/A4)
No. 11, OShaugnessey Road
Bangalore, 560 025, India
Tel: 91-80-2290061 Fax: 91-80-2290062
Japan
Benex S-1 6F
3-18-20, Shinyokohama
Kohoku-Ku, Yokohama-shi
Kanagawa, 222-0033, Japan
Tel: 81-45-471- 6166 Fax: 81-45-471-6122
Korea
168-1, Youngbo Bldg. 3 Floor
Samsung-Dong, Kangnam-Ku
Seoul, Korea 135-882
Tel: 82-2-554-7200 Fax: 82-2-558-5932 or
82-2-558-5934
Singapore
200 Middle Road
#07-02 Prime Centre
Singapore, 188980
Tel: 65-6334-8870 Fax: 65-6334-8850
Taiwan
Kaohsiung Branch
30F - 1 No. 8
Min Chuan 2nd Road
Kaohsiung 806, Taiwan
Tel: 886-7-536-4818
Fax: 886-7-536-4803
Taiwan
Taiwan Branch
11F-3, No. 207
Tung Hua North Road
Taipei, 105, Taiwan
Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
EUROPE
Austria
Durisolstrasse 2
A-4600 Wels
Austria
Tel: 43-7242-2244-399
Fax: 43-7242-2244-393
Denmark
Regus Business Centre
Lautrup hoj 1-3
Ballerup DK-2750 Denmark
Tel: 45-4420-9895 Fax: 45-4420-9910
France
Parc dActivite du Moulin de Massy
43 Rue du Saule Trapu
Batiment A - ler Etage
91300 Massy, France
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany
Steinheilstrasse 10
D-85737 Ismaning, Germany
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Italy
Via Quasimodo, 12
20025 Legnano (MI)
Milan, Italy
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands
P. A. De Biesbosch 14
NL-5152 SC Drunen, Netherlands
Tel: 31-416-690399
Fax: 31-416-690340
United Kingdom
505 Eskdale Road
Winnersh Triangle
Wokingham
Berkshire, England RG41 5TU
Tel: 44-118-921-5869
Fax: 44-118-921-5820
01/26/04
WORLDWIDE SALES AND SERVICE

You might also like