Click the image to enlarge
Introduction
This Stepper motor controller
uses the
L297 and
L298N driver combination; it can
be used as stand alone or controlled by microcontroller. It is designed to
accept step pulses at up to 25,000 per second. An on-board step pulse generator
can be used if desired (40-650 pps range). Single supply operation is standard
All eight inputs are pulled up to +5V by RP1 (4.7K) and are buffered by
74HC244. The output driver is capable of driving up to 2Amp into each phase of a
two-phase bipolar step motor. The motor winding current is limited by means of a
35KHZ-chopper scheme. The potentiometer (R6) is for varying the winding
currents. The nature of the chopping scheme eliminates the need for external
current limiting resistors on the motor windings; this simplifies connections
and increases efficiency.
A useful of this design is the "idle" current reduction mode. The amount of
reduction is fixed at approximately 50% from whatever the running current is set
at. Similarly, the motor current can be commanded to shut entirely off.
The internal +5V voltages required for operation are derived from the stepper
motor supply. The motor supply voltages should be at least 9V, but must never
exceed 32V.
J3 Pin Functions
Step pulse (J3-2) |
Increments
the motor step counts in the selected direction by one step or haft
step. The increment is triggered on the negative edge of the input
pulse. |
CW/CCW (J3-3) |
A logic
high on the input selects step advances to be made in the clockwise
direction, If it is logic low, step advances will be make in counter
clockwise direction |
Half/Full (J3-4) |
The input
can select between 3 operation modes. When left disconnected or driven
high, the half step mode is selected. When brought low, this line select
the full step or wavedrive modes. The selection between these modes is
determined by the time of the transition (more detail later) |
Home (J3-5) |
When this
line is low, the controller is reset to a know "Home" state |
Run/Idle (J3-6) |
A logic
high on this input allow full current operation (As set by R6 control),
A logic low reduces the winding current to approximately 50% of the
normal "Run" setpoint current. This ratio is fixed by R4 & R5 |
On/Off (J3-7) |
A logic
high on this input allows current to be applied to the motor windings, A
logic low disables the output driver |
Clock out (J3-8) |
The output
clock pulse, It is variable from 40-650pps. |
Home output (J3-9) |
A high on
this pin indicates the controller is in the "Home" state |
Step Pulse Specification
The minimum Step pulse width is 1usec, and can remain low indefinitely if
needed. It must be high for at least 1usec between pulses, and may not repeat
more than 25,000 times per second.
Current Reduction
This Stepper motor driver design has the ability to reduce the current supplied to the
stepper motor
windings by about 50% upon command. When the J3-6 line is brought low, the
current regulating chopper logic is set to 50% of the normally set current
level. It is not recommended to run the stepping motions at this low current.
Further it is advisable to allow the stepper motor to remain at full current for at
least 0.2 sec past the completion of a motion. The reason for this is that the
mechanical system attached to the motor will have some amount of inertia, If the
current is reduced too soon, the motor may overrun the position it was commanded
to go.
Stepper Motor Drive Mode
To select the three available motor drive modes, the following sequences are
used:
Half Step Drive J3-4 to a TTL high, no further action is required.
Full Step Pulse the J3-5 low for at least 5usec and the bring J3-4 low
Wavedrive Pulse the J3-5 low for at least 5usec, then with J3-4 High, pulse
J3-2 low for at least 5usec then bring J3-4 low.
FullStep Mode
The fullstep mode sequences the motor phase in the following manner:
The full step mode provides the maximum low speed torque because two
windings are always energized. It is also provides the largest amount of
rotation per step pulse. It will always be the noisiest acoustically, and
has the highest mechanical torque ripple.
HalfStep Mode
The halfstep mode sequences the motor phases in the following manner:
A |
B |
- |
+ |
off |
+ |
+ |
+ |
+ |
off |
+ |
- |
off |
- |
- |
- |
- |
off |
The half step mode normally provides the smoothest mode of operation. It is
also provides the smallest amount of rotation per step pulse. Its principle
advantage is a much higher resistance to mechanical motor and system resonance.
Mostly for this reason, higher motor angular rotation speeds are usually
possible with the halfstep mode.
Wavedrive Mode
The wavedrive mode is a variation on the full step mode which exhibits the
following phase pattern:
A |
B |
- |
off |
+ |
off |
off |
- |
off |
- |
The wavedrive provides the lowest power consumption of any of the three
modes. One phase is always on, but never more than one. The step angle per step
pulse is the same as the full step mode, but less low-speed torque available.
There is an important advantage to this mode concerning step angle accuracy.
Here is a good information on
Stepper Motor Basic you
might want to read.
Stepper Motor driver data
sheets:
L298 Dual full bridge drive
data sheet
L297 Stepper motor controller data sheet
For additional
information and resources on stepper motor drivers see the