Little Step-U
Unipolar Stepper motor controller
Description
CON 1
CON 2
COIL A
COIL B
COIL C
COIL D
CT - AC
CT - BD
CON 3
2.0 in
/IP1
/IP2
BUSY
SERIAL OUT
SERIAL IN
Vcc (+)
GND (-)
The
Little Step-U
is a complete, serially
controlled, drive system for unipolar stepper
motors. Using an intelligent module allows the
host system to concentrate on the task at hand
while the
Little Step-U
performs all calculations
and operation of the motor.
The desired operating speed, ramp time and
drive mode can be configured once and then a
single command used as required, to move to
fixed or relative positions. While the motor is in
motion, a BUSY output is active and the
movement can be optionally interrupted by one
of the two external inputs. The position of the
motor is maintained in a readable register which
can be set to zero (Home) by a command or
when an input is activated. A similar register is
available to save a second position (Mark) either
by command or from an input. These points
can then be referenced directly with a 'Move to
home' or 'Move to mark' command.
A built-in ramping function accelerates the
motor from a standstill to the desired speed over
a specified time period, allowing faster final
speeds to be achieved, and also to decelerate
the motor to give maximum load braking. When
the motor is stopped, a command specifies
whether the windings are left energized (for
maximum holding torque) or turned off (for lower
power consumption / dissipation).
A remote function is included for use in more
complex systems. Once activated, the two
external inputs become STEP and DIR, with the
motor stepping in the indicated direction with
every pulse applied to the step input.
Vom (-)
Vm (+)
LK
1.0 in
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Unipolar motors to 35V, 3.0A
Full step, half step and wave drive modes
1-5,000 steps per second
Inbuilt speed ramp (0.1-20.0 seconds)
Simple serial commands (TTL interface)
Separate power input for motor and logic
Suitable for direct and L/R operation in all
modes
On board clamping diodes
Current position register (+/-100,000,000)
Zero position and user marker registers
Absolute & Relative movement commands
Busy output
Two inputs suitable for optical stops
Slave mode using inputs for STEP & DIR
Stop with motor coils on or off
CT-AC
LK
CT-BD
Vcc
Logic Signals
Microcontroller
A
B
C
D
GND
Vom
TLA Microsystems Ltd
http://www.tla.co.nz
1
DC Characteristics
Characteristic
Logic Supply Voltage
Vcc risetime
Logic supply current
Input Low Voltage
Input High Voltage
Output Low Voltage
Output High Voltage
IP1/2 Source Current
Motor Voltage
Motor current
Motor resistance
Clamp diode current
Step rate
Speed Error
Comms bit rate
BUSY rise/fall time
Response time to IP1/2
DIR hold time
Max Slave step rate
Operating temp
Storage temp
[1]
[2]
[3]
[4]
[5]
Symbol
V
CC
t
VCC
I
CC
V
IL
V
IH
V
OL
V
OH
I
OL
V
M
I
M
R
M
I
CL
F
STEP
F
ERR
F
BIT
T
RF
T
INP
T
DIR
F
EXT
t
OP
t
ST
Min
4.5
0.05
0.0
4.3
4.3
1.0
50
3.0
2.8
1
2400
10
8
0
-40
10000
70
100
250
5000
+/- 0.5
25
1
Typ
5.0
1.5
Max
5.5
3.0
1.0
Vcc
0.6
Unit
V
V/ms
mA
V
V
V
V
mA
V
A
Ω
mA
steps/sec
%
bps
ns
ms
us
steps/sec
°C
°C
Notes
1
2
3
4
5
Required to ensure reliable startup.
As a percentage of requested speed
Response to IP is lesser of 1ms or 1 step
If no comms while stepping. Max = 6000 steps/sec with comms
Refer loading derating graph
Pin functions
Connector 1
Pin
/IP1
/IP2
BUSY
SERIAL OUT
SERIAL IN
Vcc
GND
Pin
A
B
C
D
CT-AC
CT-BD
Pin
V
OM
V
M
Function
Optional input 1. Set home. Emergency stop.
Optional input 2. Set mark. Emergency stop.
Output - High when motor moving
Data from
Little step-U
to controller. TTL
Data from controller to
Little Step-U.
TTL
Supply to logic circuits
Supply ground. Common with motor circuits.
Function
Winding A output
Winding B output
Winding C output
Winding D output
Common for windings A & C
Common for windings B & D
Function
Motor supply ground. Common with logic circuits
Motor Supply +
Connector 2
Connector 3
2
Little Step-U
Hardware Connection
Power Supply
The
Little Step-U
divides the circuitry into two distinct sections with separate power supplies
required for the motor drive and the logic. The logic/control section must be powered by a
regulated 5V supply applied to the VCC and GND pins. The motor power supply voltage is
dictated by the motor characteristics and is connected to the VM(+) and VOM(-) pins. The
GND and VOM pins are connected on the circuit board as a common reference. The motor
power supply must have sufficient capacity for the motor and if the power supply is not
physically close to the motor/controller, a capacitor (eg. 4700uF) may be required at the
controller to ensure smooth operation of the motor.
Motor Connection
The motor connector has 4 connections (A, B, C & D) that are switched to ground in the
sequence required to cause the motor to step. Note that stepper motor manufacturers have
several methods of labelling the connections to the motor. The
Little Step-U
labels the pins in
the sequence they are switched when operating the motor with one coil on at a time and driving
in a clockwise direction. ie. A, then B, then C, then D and back to A. The centre taps of the
two coils are connected to CT-AC and CT-BD, corresponding to the common connection of coils
A & C and coils B & D respectively. These two connections provide the freewheel diodes for
each of the motor coils and are connected on the circuit board.
IMPORTANT: A poor or intermittent connection to any of the stepper motor terminals can result
in destructive voltages being generated and causing permanent damage to the Little Step-U.
Similarly, do not connect or disconnect any stepper motor connections while power is applied.
The connection point between CT-AC and CT-BD is indicated on the circuit board by the
designator "LK". This track can be cut and rejoined by soldering a wire between two pads if
needed. In most cases this isn't required but is provided for applications using and L/xR
configuration in half step mode.
Interface connections
The Little Step-U acts on commands received serially from a host controller via the SERIAL IN
pin. This is an asynchronous interface operating at 2400 bits per second, 8 data bits (LSB
first), 1 stop bit and no parity. The signal levels are TTL. Some commands illicit a response
and these are sent via the SERIAL OUT pin using the same protocol and signal levels as the
SERIAL IN pin.
When a command has been sent to the Little Step-U that causes the motor to move, the BUSY
pin will be high while the motor is in motion.
Two input pins are provided for use with stepper operation in the form of limit or home switches
or can be used as general inputs which can be read by software. These pins accept logic level
inputs and will source 1mA when pulled low, making them suitable for direct connection to the
output of opto-couplers.
TLA Microsystems Ltd
http://www.tla.co.nz
3
Software commands
Communication with the Little Step-U is by a TTL level serial interface at 2400bps. All
commands must begin with a "{" character and end with a "}" Characters outside of the braces
(including carriage return and line feeds) are ignored. Responses are enclosed by "[" and "]"
characters.
A
- SET SPEED
Syntax
{Axxxxx}
Default value
100 steps/sec
The
Sets the maximum speed in steps per second for any commands that follow.
numeric value can be any number from 1 to 5000.
B
- SET RAMP TIME
Syntax
{Bxxx}
Default value
0 seconds
The Little Step-U has a built in function to accelerate and decelerate the stepper motor
to/from the speed specified by the command above. This command sets the amount of
time in tenths of a second that the motor will accelerate to that speed. Valid numbers
are 0 to 200 being 0.0 to 20.0 seconds in 0.1 second increments.
Any move function that utilises the ramping facility will accelerate and decelerate at the
rate defined by this command. The distance moved includes the steps used to ramp up
and ramp down so a move of 1000 steps will move exactly that amount. If the number of
steps requested is less than the number required to ramp to full speed and ramp down
again, the Little Step-U will accelerate at the same rate until it is half way to its
destination and then ramp down again to stop at the commanded position.
See the discussion on ramping after the command descriptions.
C
- SET STEP MODE
Syntax
{Cx}
Default value
0 (Full step drive)
Stepper motors can be driven by powering the windings sequentially using three different
techniques. The method used is specified by this command with x being 0, 1 or 2.
{C0}
Full step
For every step, two windings are energised.
Step
1
2
3
4
{C1}
Coil A
ON
Off
Off
Coil B
ON
ON
Off
Off
Coil C
Off
Coil D
Off
Off
ON
ON
Off
ON
ON
ON
Wave
Each step has only one winding energised.
Step
1
2
3
4
Coil A
ON
Off
Off
Off
Coil B
Off
Coil C
Off
Off
Coil D
Off
Off
Off
ON
Off
Off
ON
Off
ON
4
Little Step-U
{C2}
Half step
Each alternate step has one or two windings energised giving the motor twice
the number of steps per revolution.
Step
1
2
3
4
5
6
7
8
Coil A
ON
ON
Off
Off
Off
Off
Off
Coil B
Off
Coil C
Off
Off
Off
Coil D
Off
Off
Off
Off
Off
ON
ON
ON
Off
Off
Off
Off
ON
ON
ON
Off
Off
ON
ON
ON
ON
When the mode is changed to or from Half step, the position, mark and speed values are
adjusted accordingly so that the motor will turn at the same rotational speed and the
mechanical positions remain unchanged.
Example: A 200 step/rev motor is being used. The current position is 3600, speed is set
at 200 steps per second and there is a mark at 1200. When the mode is changed from
full-step to half step, the speed value will be 400 (giving the same number of revolutions of
the motor per second). The current position register and the mark register will contain
the values 7200 and 2400 respectively.
D
- GO TO ABSOLUTE POSITION
Syntax
{Dxxxxxxxx}
At anytime after powerup, the Little Step-U keeps track of its current position in steps.
This command instructs the Little Step-U to calculate the direction and number of steps
required to move to another position and then it performs the move. At the end of the
move, the position will be the number specified in this command. The value can be any
number from -10000000 to +10000000, including 0. The number may be preceded by a
"+" or "-" as required, but must not include a comma or decimal point.
Example: If the current position is 2500, a command of {D-1000} will cause the motor to
run counter-clockwise for 1500 steps, stopping at position 1000.
E
- GO TO RELATIVE POSITION
Syntax
{Exxxxxx}
This command is similar to the "D" command in respect to the numeric parameter, but
commands the motor to move to a position relative to its current position. Positive
numbers are clockwise and negative numbers are counter-clockwise.
Example: If the current position is 2500, a command of {E1000} will cause the motor to
run 1000 steps clockwise to end at position 3500.
F
- GO TO ABSOLUTE POSITION WITH INPUTS 1 & 2 AS STOPS
Syntax
{Fxxxxxx}
This command is the same as the "D" command except that the two input pins are
monitored. If either of them is pulled low during the move, the motor will be decelerated
to a stop at the rate defined in the RAMP command (B). The position register will reflect
the current position when the motor has stopped. These inputs are level sensitive so if a
“F” command is used when one of the inputs is low, the motor will stop immediately.
Note: Allowing the motor to continue to running past a stop indicator is done for two
reasons; This method allows the motor to provide maximum braking torque during
deceleration and the position register integrity is maintained.
TLA Microsystems Ltd
http://www.tla.co.nz
5